Information processing device, control method, and program
By enabling communication through alternative communication lines and disabling satellite communication upon errors, the usability of application programs is improved, addressing connectivity issues in communication with communication devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2024-10-08
- Publication Date
- 2026-04-20
AI Technical Summary
There is a demand for improving the usability of application programs for executing communication with communication devices, particularly in scenarios where satellite communication lines are used, as errors in communication can hinder effective connectivity.
A predetermined application program on an information processing device enables communication using a different communication line and disables the satellite communication function upon detecting errors, ensuring reliable connectivity through specific control mechanisms.
This approach enhances the usability of application programs by ensuring stable communication with communication devices, even in the presence of errors, by leveraging alternative communication lines.
Smart Images

Figure 2026067314000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a control method, and a program.
Background Art
[0002] A form is known in which an information processing apparatus such as a smartphone transmits information for connecting to an access point to a communication apparatus such as a printer, and the communication apparatus uses the information to connect to the access point. Patent Document 1 describes that an information processing apparatus transmits information to a communication apparatus to set a connection mode for determining a connection form between the information processing apparatus and the communication apparatus in the communication apparatus.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] By the way, as the form of executing communication with a communication apparatus becomes widespread, there is a demand for improving the usability of an application program for executing communication with the communication apparatus.
[0005] Therefore, an object of the present invention is to improve the usability of an application program for executing communication with a communication apparatus.
Means for Solving the Problems
[0006] The present invention is characterized in that a predetermined application program causes a computer of an information processing device, which is capable of performing communication using a satellite communication line and communication using a predetermined communication line different from the satellite communication line, to perform an execution step of performing processing for communication with a communication device using the predetermined communication line, and a first control step of performing specific control to disable the satellite communication function for performing communication using the satellite communication line in the information processing device, based on the occurrence of an error in communication with the communication device using the predetermined communication line that is initiated by the execution of the processing by the predetermined application program. [Effects of the Invention]
[0007] According to the present invention, the usability of an application program for performing communication with a communication device can be improved. [Brief explanation of the drawing]
[0008] [Figure 1] This is a diagram showing an example of a communication system. [Figure 2] This is an example of a configuration diagram for an information processing device and a communication device. [Figure 3] This is an example flowchart illustrating an example of the process performed by an information processing device using a first application. [Figure 4] This is an example of a screen for direct connection. [Figure 5] This is an example of a password entry screen. [Figure 6] This is an example of a password confirmation screen. [Figure 7] This is an example flowchart illustrating an example of the process performed by an information processing device using a first application. [Figure 8] This is an example flowchart illustrating an example of the process performed by an information processing device using a first application. [Figure 9] This is an example of a dialog or screen displayed by the first application. [Modes for carrying out the invention]
[0009] <First Embodiment> This embodiment describes the information processing device and communication device included in the communication system of this embodiment. The information processing device is also called a terminal device. In this embodiment, a smartphone is used as an example of the information processing device, but it is not limited to this. Various devices can be used as the information processing device, such as a personal computer (PC), tablet terminal, PDA (Personal Digital Assistant), digital camera, etc. In this embodiment, a printer is used as an example of the communication device. The printer may be an inkjet printer that prints using ink, or a laser beam printer that prints using toner. The printer may also be a full-color printer capable of color printing, or a monochrome printer that is not capable of color printing but is capable of monochrome printing. In this embodiment, the communication device is not limited to a printer; any device capable of wireless communication with the information processing device can be used as the communication device. Examples of communication devices that can be used include photocopiers, facsimile machines, scanners, smartphones, PCs, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, robot vacuum cleaners, automatic cooking pots, refrigerators, etc. In addition, it can be used with multifunction devices that have multiple functions such as photocopying, faxing, and printing.
[0010] First, the system configuration for realizing this embodiment will be described. Figure 1 is a diagram showing an example of the configuration of the communication system of this embodiment. This system includes a communication device 151, an information processing device 101, an access point (AP) 131, and an external server 171.
[0011] Information processing device 101 is the information processing device of this embodiment. Communication device 151 is the communication device of this embodiment. AP131 is an access point activated by an external device located outside the information processing device 101 and outside the communication device 151. The external device is, for example, a wireless LAN (Local Area Network) router. External server 171 is a server that can provide services to devices connected to AP131 via the Internet.
[0012] In a configuration where AP131 is connected to communication device 151 and information processing device 101, the LAN formed by AP131 includes AP131, communication device 151, and information processing device 101. On the other hand, the WAN (Wide Area Network) includes AP131 and external server 171.
[0013] In this embodiment, the information processing device 101 can communicate with the communication device 151 via the AP 131 if the infrastructure connection described later is established. Furthermore, if the direct connection described later is established, the information processing device 101 can communicate directly with the communication device 151 without going through the AP 131. In the following, connection to the AP refers to connection to the network formed by the AP. Note that one external device may activate multiple APs, and one external device may be able to form multiple networks simultaneously.
[0014] In this embodiment, it is assumed that the connection 141 between the information processing apparatus 101 and the AP 131 and the connection 142 between the communication apparatus 151 and the AP 131 are connections based on a communication method conforming to the IEEE802.11 series of standards. Specifically, the communication method conforming to the IEEE802.11 series of standards is Wi-Fi (Wireless Fidelity) (registered trademark). Also, it is assumed that the connection 143 between the information processing apparatus 101 and the communication apparatus 151 is also a connection based on a communication method conforming to the IEEE802.11 series of standards. However, the communication method used for the connection 143 is not limited to this form. For example, it may be Bluetooth (registered trademark) Low Energy (BLE), Bluetooth Classic, Wi-Fi Aware, Near Field Communication (NFC), or the like. The AP 131 and the external server 171 can communicate via the Internet. When the AP 131 is connected to the Internet, the apparatuses (information processing apparatus 101 and communication apparatus 151) connected to the AP 131 can also use the Internet. Note that the connection 141 between the information processing apparatus 101 and the AP 131 and the connection 142 between the communication apparatus 151 and the AP 131 may be connections via a wired LAN.
[0015] Next, the configuration of the information processing apparatus of this embodiment and a communication apparatus capable of communicating with the information processing apparatus of this embodiment will be described with reference to the block diagram of FIG. 2. Also, in this embodiment, the following configuration will be described as an example, but this embodiment is applicable to apparatuses capable of communicating with a communication apparatus, and the functions are not particularly limited as shown in this figure.
[0016] The information processing apparatus 101 includes an input interface 102, a CPU 103, a ROM 104, a RAM 105, an external storage device 106, an output interface 107, a display unit 108, a wireless communication unit 109, a short-range wireless communication unit 110, a photographing device 111, a wired communication unit 112, a mobile data communication unit 113, a satellite communication unit 114, and the like. A computer of the information processing apparatus 101 is formed by the CPU 103, the ROM 104, the RAM 105, and the like.
[0017] The input interface 102 is an interface for receiving data input and operation instructions from the user, and is composed of a physical keyboard, buttons, a touch panel, etc. Note that the output interface 107 described later and the input interface 102 may have the same configuration, and the output on the screen and the reception of operations from the user may be performed in the same configuration.
[0018] The CPU 103 is a system control unit that controls the entire information processing apparatus 101. In the present embodiment, the CPU 103 executes control of display contents (display control) on the display unit 108, etc.
[0019] ROM 104 stores fixed data such as control programs executed by CPU 103, data tables, and operating system (hereinafter referred to as OS) programs. In this embodiment, each control program stored in ROM 104 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in ROM 104. In this embodiment, ROM 104 stores a predetermined application program (app) for controlling the communication device 151. An application program is, in other words, application software. The predetermined app is installed on the information processing device 101 from the outside, for example, by a store app for installing various apps. The predetermined app is an app provided by the vendor of the communication device 151, and is an app for communicating with the communication device 151 and configuring the connection settings for the communication device 151. The predetermined app may have other functions other than the function for configuring the connection settings for the communication device 151. Specifically, other functions include, for example, a function to send a print job to the communication device 151 to perform printing (print job sending function), and a function to send a scan job to the communication device 151 to perform scanning (scan job sending function). In this embodiment, the processes described as being executed by the OS are, more precisely, processes executed by the CPU 103 according to a program within the OS. Similarly, the processes described as being executed by the application are, more precisely, processes executed by the CPU 103 according to a program within the application.
[0020] RAM 105 consists of SRAM (Static Random Access Memory) and other components that require a backup power supply. Since RAM 105's data is held by a primary battery (not shown) for data backup, important data such as program control variables can be stored without being lost. RAM 105 also includes a memory area for storing configuration information and management data for the information processing device 101. Furthermore, RAM 105 is used as both the main memory and work memory for the CPU 103.
[0021] The external storage device 106 contains various programs, such as a print information generation program that generates print information that can be interpreted by the communication device 151, and an information transmission and reception control program that transmits and receives information with the communication device 151 connected via the wireless communication unit 109. The external storage device 106 also stores various information used by these programs, as well as image data obtained from other information processing devices and the Internet.
[0022] The output interface 107 is an interface that controls the display unit 108 to display data and notify the status of the information processing device 101.
[0023] The display unit 108 is composed of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and displays data and notifies the status of the information processing device 101. Alternatively, a soft keyboard with keys such as numerical input keys, mode setting keys, confirm keys, cancel keys, and power keys may be installed on the display unit 108 to accept user input via the display unit 108. In this embodiment, the display unit 108 is a touch panel and can accept user input using a finger, pen, or other control device.
[0024] The wireless communication unit 109 is configured to wirelessly connect to devices such as the communication device 151 and AP 131 to perform data communication. For example, the wireless communication unit 109 may communicate directly with the communication device 151 wirelessly, or it may communicate via AP 131 located outside the information processing device 101 and the communication device 151. In this embodiment, the wireless communication method used by the wireless communication unit 109 is Wi-Fi, which is a communication method based on the IEEE 802.11 standard, but Bluetooth Classic or the like may also be used. In this embodiment, the wireless LAN is defined as a Wi-Fi network. In this embodiment, the method by which the information processing device 101 and the communication device 151 are connected directly without going through an external AP is called a direct connection. The method by which the information processing device 101 and the communication device 151 are connected via an external AP is called an infrastructure connection. The wireless communication unit 109 can perform Wi-Fi communication when the Wi-Fi communication function is enabled in the information processing device 101, and does not perform Wi-Fi communication when the Wi-Fi communication function is disabled in the information processing device 101.
[0025] The short-range wireless communication unit 110 is configured to perform data communication with devices such as the communication device 151 using a short-range wireless communication method, and communicates using a different communication method than the wireless communication unit 109. The short-range wireless communication unit 110 can connect to the short-range wireless communication unit 157 within the communication device 151. Examples of communication methods for the short-range wireless communication unit 110 include BLE, Bluetooth Classic, Wi-Fi Aware, and NFC. The short-range wireless communication unit 110 can perform short-range wireless communication when the short-range wireless communication function is enabled in the information processing device 101, and does not perform short-range wireless communication when the short-range wireless communication function is disabled in the information processing device 101.
[0026] The imaging device 111 is a device that converts images captured by the image sensor into digital data. The digital data is first stored in the RAM 105. Then, a program executed by the CPU 103 converts it into a predetermined image format and saves it as image data to the external storage device 106.
[0027] The wired communication unit 112 is configured to connect via a wire to devices such as the communication device 151 and AP131 to perform data communication. For example, the wired communication unit 112 communicates via a wired LAN. In this embodiment, the wired LAN communicates according to the Ethernet standard. However, it is not limited to this configuration, and the wired communication unit 112 may communicate via, for example, a USB (Universal Serial Bus) cable. Also, for example, if the information processing device 101 is a smartphone, the information processing device 101 does not need to have a wired communication unit 112.
[0028] The mobile data communication unit 113 is configured to perform mobile data communication. Mobile data communication is internet communication using telephone lines, and is also called mobile communication. Specifically, mobile communication standards such as 3G, 4G, 5G, 6G, and LTE are used in mobile data communication. The mobile data communication unit 113 can perform mobile data communication when the mobile data communication function is enabled in the information processing device 101, and does not perform mobile data communication when the mobile data communication function is disabled in the information processing device 101.
[0029] The satellite communication unit 114 is configured for performing satellite communication. Satellite communication by the satellite communication unit 114 is mainly used for sending and receiving messages using the message communication application and the Rich Communication Services (RCS) function of the information processing device 101. The satellite communication unit 114 can perform satellite communication when the satellite communication function is enabled in the information processing device 101, and does not perform satellite communication when the satellite communication function is disabled in the information processing device 101. Note that the information processing device 101 does not necessarily have a satellite communication unit 114. Whether or not the information processing device 101 has a satellite communication unit 114 depends on the model and specifications of the information processing device 101 and the version of the OS of the information processing device 101. Specifically, for example, an information processing device 101 with an Android OS version of Android® 15 or later is assumed to have a satellite communication unit 114. Conversely, an information processing device 101 with an Android OS version earlier than Android 15 is assumed not to have a satellite communication unit 114. Furthermore, even if the information processing device 101 has an OS version of Android 15 or later, it does not need to have a satellite communication unit 114 depending on the model and specifications of the information processing device 101. Also, even if the information processing device 101 has a satellite communication unit 114, it may be controlled in a way that prevents it from performing satellite communication using the satellite communication unit 114, depending on the model and specifications of the information processing device 101. In addition, an information processing device 101 with an OS other than Android OS may have a satellite communication unit 114.
[0030] The communication device 151 includes a ROM 152, RAM 153, CPU 154, print engine 155, wireless communication unit 156, short-range wireless communication unit 157, input interface 158, output interface 159, function control unit 160, display unit 161, wired communication unit 162, etc. The computer of the communication device 151 is formed by the ROM 152, RAM 153, CPU 154, etc.
[0031] The wireless communication unit 156 is configured to wirelessly connect to devices such as the information processing device 101 and AP131 to perform data communication. In this embodiment, the wireless communication method used by the wireless communication unit 156 is Wi-Fi, which is a communication method based on the IEEE 802.11 standard, but Bluetooth Classic or the like may also be used. The wireless communication unit 156 has AP156-a as an AP inside the communication device 151 for connecting to devices such as the information processing device 101. This AP can be connected to the wireless communication unit 109 of the information processing device 101. The wireless communication unit 156 may communicate directly with the information processing device 101 via AP156-a, or it may communicate with the information processing device 101 via AP131. Furthermore, AP156-a may be hardware that functions as an AP, or the wireless communication unit 156 may operate as AP156-a through software that functions as an AP. In addition, the communication device 151 may be able to start up multiple APs internally with different SSIDs (Service Set Identifiers) and passwords.
[0032] RAM153 consists of DRAM and other components that require a backup power supply. Since RAM153 retains data through a data backup power supply (not shown), it can store important data such as program control variables without losing them. RAM153 is also used as the main memory and work memory of the CPU154, and stores various types of information as a receive buffer for temporarily storing print information received from the information processing device 101, etc.
[0033] ROM 152 stores fixed data such as control programs, data tables, and OS programs executed by the CPU 154. In this embodiment, each control program stored in ROM 152 performs software execution control such as scheduling, task switching, and interrupt handling under the management of the embedded OS stored in ROM 152. ROM 152 also includes a memory area for storing data that needs to be retained even when power is not supplied, such as configuration information and management data for the communication device 151.
[0034] The CPU 154 is the system control unit and controls the entire communication device 151.
[0035] The print engine 155 forms an image on a recording medium such as paper using a recording material such as ink, based on the information stored in the RAM 153 and the print job received from the information processing device 101, etc., and outputs the print result. At this time, the print job transmitted from the information processing device 101, etc. has a large amount of data to transmit and requires high-speed communication, so it is received via the wireless communication unit 156, which can communicate at a higher speed than the short-range wireless communication unit 157.
[0036] The short-range wireless communication unit 157 is configured to communicate with devices such as the information processing device 101 using a short-range wireless communication method. Examples of communication methods for the short-range wireless communication unit 157 include BLE, Bluetooth Classic, and Wi-Fi Aware.
[0037] The input interface 158 is an interface for receiving data input and operation instructions from the user, and consists of a physical keyboard, buttons, touch panel, etc. Alternatively, the output interface 159 (described later) and the input interface 158 may have the same configuration, allowing for screen output and acceptance of user operations using the same configuration. The output interface 159 is an interface that controls the display unit 161 for displaying data and notifying the status of the communication device 151.
[0038] The function control unit 160 manages the operation of the functions of the communication device 151, determining whether or not to operate them simultaneously.
[0039] The display unit 161 consists of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and displays data and notifies the status of the communication device 151. Alternatively, a soft keyboard with keys such as numerical input keys, mode setting keys, confirm keys, cancel keys, and power keys may be installed on the display unit 161 to accept user input via the display unit 161.
[0040] The wired communication unit 162 is configured to connect via wire to devices such as the information processing device 101 and AP131 to perform data communication. For example, the wired communication unit 162 communicates via a wired LAN. However, it is not limited to this configuration; for example, it may communicate via a USB cable.
[0041] <About the direct connection method> Direct connection refers to a configuration in which devices connect wirelessly directly (i.e., peer-to-peer) without the need for external devices such as AP131. Direct connection is also called peer-to-peer connection (P2P connection). The communication device 151 can operate in a mode for communication via direct connection (direct connection mode) as one of its connection modes. In Wi-Fi communication, there are multiple modes for communication via direct connection, such as software AP mode and Wi-Fi Direct (WFD) mode.
[0042] The mode in which a direct connection is performed using WFD is called WFD mode. WFD is a standard developed by the Wi-Fi Alliance and is included in the IEEE 802.11 series of communication standards. In WFD mode, after the device to be communicated with is discovered using a device discovery command, the roles of the P2P group owner (GO) and the P2P client are determined, and then the remaining wireless connection processing is performed. The group owner corresponds to the Wi-Fi base station (access point), and the client corresponds to the Wi-Fi slave station (slave device). This role determination corresponds to GO Negotiation in P2P, for example. In WFD mode, before the role determination is performed, the communication device 151 is neither a base station nor a slave station. Specifically, first, one device issues a device discovery command to the other device to search for a device to connect to in WFD mode. Once the other device to be communicated with is discovered, the two devices confirm information about the services and functions that can be supplied by each other. This confirmation of device supply information is optional and not mandatory. This equipment supply information confirmation phase corresponds, for example, to P2P Provision Discovery. Next, by confirming this equipment supply information with each other, it is determined which will be the P2P client and which will be the P2P group owner. Once the client and group owner are determined, they exchange parameters for communication using WFD. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are carried out between the P2P client and group owner. In WFD mode, the communication device 151 may always operate as GO without performing the GO Negotiation described above. That is, the communication device 151 may operate in WFD mode, which is Autonomous GO mode. Furthermore, the state in which the communication device 151 is operating in WFD mode means, for example, a state in which the WFD connection has not been established but the communication device 151 is operating as GO, or a state in which the WFD connection has been established and the communication device 151 is operating as GO.
[0043] In software AP mode, one device (e.g., information processing device 101) acts as a client, requesting various services from the communicating devices (e.g., information processing device 101 and communication device 151). The other device then implements the functions of an AP in Wi-Fi through software configuration. The software AP corresponds to a Wi-Fi base station, and the client corresponds to a Wi-Fi slave station. In software AP mode, the client searches for a device that will become a software AP using a device discovery command. Once a software AP is found, the remaining wireless connection processing (such as establishing a wireless connection) takes place between the client and the software AP, followed by IP connection processing (such as assigning an IP address). The commands and parameters sent and received when establishing a wireless connection between the client and the software AP can be those specified in the Wi-Fi standard, and are therefore omitted from this explanation.
[0044] In this embodiment, when the communication device 151 establishes and maintains a direct connection, it operates as a master station within the network to which it belongs. A master station is a device that constructs a wireless network and provides slave stations with parameters used to connect to the wireless network. Parameters used to connect to the wireless network include, for example, parameters related to the channel used by the master station. By receiving these parameters, the slave station connects to the wireless network constructed by the master station using the channel used by the master station. In direct connection mode, since the communication device 151 operates as a master station, it is possible for the communication device 151 to determine which frequency band and which channel to use for communication in direct connection mode. In this embodiment, the communication device 151 is capable of using channels corresponding to the 2.4 GHz frequency band and channels corresponding to the 5 GHz frequency band for communication in direct connection mode.
[0045] <About infrastructure connection methods> Infrastructure connection is a connection configuration in which communication devices (for example, an information processing device 101 and a communication device 151) are connected to an AP (for example, AP131) that manages the network, allowing the devices to communicate with each other via the AP. The communication device 151 can also operate in an infrastructure connection mode (infrastructure connection mode) as one of its connection modes.
[0046] In infrastructure connectivity, each device searches for an access point (AP) using an AP discovery command. Once an AP is found, the remaining wireless connection processing (establishing the wireless connection, etc.) takes place between the device and the AP, followed by IP connection processing (assigning an IP address, etc.). The commands and parameters sent and received when establishing a wireless connection between the device and the AP should be those specified in the Wi-Fi standard, and will not be explained here.
[0047] In this embodiment, when the communication device 151 operates via an infrastructure connection, the AP 131 operates as the master station and the communication device 151 operates as the slave station. That is, in this embodiment, the infrastructure connection refers to the connection between the communication device 151 operating as a slave station and the device operating as the master station. If the communication device 151 has established an infrastructure connection and the information processing device 101 has also established an infrastructure connection with the AP 131, then communication between the communication device 151 and the information processing device 101 via the AP 131 becomes possible. Since the channel used for communication in the infrastructure connection is determined by the AP 131, the communication device 151 performs communication in the infrastructure connection using the channel determined by the AP 131. In this embodiment, the communication device 151 is capable of using channels corresponding to the 2.4 GHz frequency band and channels corresponding to the 5 GHz frequency band for communication in the infrastructure connection. The communication device 151 can also use channels corresponding to the DFS band within the 5 GHz frequency band for communication in the infrastructure connection. Furthermore, the information processing device 101 communicates with the communication device 151 via the AP131, and recognizes and identifies that the communication device 151 belongs to the network formed by the AP131, to which the information processing device 101 belongs.
[0048] <About connection setup process> In this embodiment, the information processing device 101 performs connection settings (network settings), which are settings for operating the communication device 151 using at least one communication method from infrastructure connection and direct connection, using wireless communication with the communication device 151. The connection setting process in this embodiment is also called cableless setup (CLS) because it is performed by wireless communication. Note that the connection setting process may also be performed by wired communication. The information processing device 101 performs the connection setting process on the communication device 151 when a predetermined application stored in the external storage device 103 or the like is running. The communication device 151 can operate in connection setting mode (connection setting state), which is a mode for executing connection setting processing, and performs connection setting processing while operating in connection setting mode, which will be described later. Details of the connection setting mode will be described later.
[0049] When the information processing device 101 operates the communication device 151 in infrastructure connection mode, it wirelessly transmits infrastructure configuration information, which is the configuration information for operating in infrastructure connection mode, to the communication device 151. The infrastructure configuration information includes information about AP131. This information about AP131 includes, for example, the SSID (Service Set Identifier), password, and frequency band information.
[0050] On the other hand, when the information processing device 101 operates the communication device 151 in direct connection mode, it wirelessly transmits direct configuration information, which is the configuration information for operating in direct connection mode, to the communication device 151. The direct configuration information includes instructions for enabling the WFD function and operating as a Group Owner, and for enabling the access point settings of the communication device 151. The information processing device 101 also obtains connection information necessary to directly connect with the communication device 151 from the communication device 151. The connection information for directly connecting with the communication device 151 includes, for example, information such as the SSID and password of the communication device 151 operating in direct connection mode.
[0051] In this embodiment, a direct connection for connection setup is used between the information processing device 101 and the communication device 151 for transmitting infrastructure setting information and direct setting information, and for obtaining information for direct connection with the communication device 151 during the connection setup process. In this embodiment, a connection setup process using Wi-Fi is performed as the direct connection for connection setup, but other wireless communication standards such as Bluetooth may be used. Alternatively, wired communication standards such as wired LAN or USB (Universal Serial Bus) may be used as the direct connection for connection setup.
[0052] After the connection setup process establishes an infrastructure connection or direct connection between the information processing device 101 and the communication device 151 via Wi-Fi, communication becomes possible between the information processing device 101 and the communication device 151 via the established connection. Specifically, for example, the information processing device 101 can send a print job to the communication device 151 to perform printing, or a scan job to perform scanning, via the established connection. In this embodiment, the connection setup process can operate the communication device 151 in either infrastructure connection mode or direct connection mode, but the system is not limited to this configuration. For example, the connection setup process may only allow the communication device 151 to operate in infrastructure connection mode (i.e., it may not be possible to operate the communication device 151 in direct connection mode).
[0053] <About connection settings mode> The communication device 151 can operate in connection setting mode. The trigger for the communication device 151 to start operating in connection setting mode may be, for example, the user pressing a button for connection setting mode, or the communication device 151 may be started (powered on) for the first time after arrival. The button for connection setting mode may be a hard button on the communication device 151, or a soft button displayed on the display unit 132 by the communication device 151.
[0054] When the communication device 151 starts operating in connection setting mode, it enables both Wi-Fi communication and BLE communication. Specifically, as part of the Wi-Fi communication activation process, the communication device 151 activates an internal AP (connection setting AP) dedicated to connection setting mode. This makes the communication device 151 capable of establishing a direct Wi-Fi connection with the information processing device 101. Connection information (SSID and password) for connecting to the connection setting AP is pre-stored in a predetermined application installed on the information processing device 101. In other words, the information processing device 101 is assumed to have prior knowledge of the connection information for connecting to the connection setting AP. Therefore, unlike the connection information for the AP enabled in direct connection mode, the connection information for connecting to the connection setting AP cannot be arbitrarily changed by the user. Note that the connection setting AP may not have an encryption method set, and a password may not be required to connect to it. Note that in connection setting mode, the communication device 151 may connect to the information processing device 101 using Wi-Fi Direct (WFD) instead of normal Wi-Fi. In other words, the communication device 151 may operate as a Group Owner and receive setting commands from the information processing device 101 via WFD communication. Furthermore, if the communication device 151 does not have BLE communication capabilities, it may enable only Wi-Fi communication when operating in connection setting mode.
[0055] <Regarding registration of communication devices to the app> In this embodiment, a predetermined application can register the communication device 151 with the predetermined application by obtaining information about the communication device 151 from the communication device 151. Information about the communication device 151 includes, for example, the capability information of the communication device 151, the identification information of the communication device 151 (MAC address, etc.), and the model information of the communication device 151. Specifically, the capability information of the communication device 151 includes a list of information about the functions that the communication device 151 supports, information about consumables (ink, paper) that can be used with the communication device 151, and information indicating the printing method of the communication device 151. The predetermined application then selects one device from among the one or more communication devices 151 registered with the predetermined application to be the communication partner of the predetermined application. Hereinafter, the communication device 151 currently selected as the communication partner of the predetermined application will be referred to as the selected communication device 151. The selection of the device to communicate with by the specified application may be performed by accepting a selection from the user from one or more communication devices 151 registered in the specified application, or it may be performed automatically by the specified application according to predetermined criteria. Furthermore, the change of the device to communicate with by the specified application may be performed, for example, by accepting a selection from the user from one or more communication devices 151 registered in the specified application. In this embodiment, the specified application sends various jobs, such as print jobs and scan jobs, to the selected communication device 151. In other words, the selected communication device 151 is the device to which various jobs are sent. In this embodiment, communication by the application refers to communication initiated by an instruction executed by the application to the OS.
[0056] <Problems to be solved by this embodiment> In this embodiment, the information processing device 101 may perform predetermined communications controlled by a predetermined application via a Wi-Fi connection that is not connected to the internet. Specifically, a Wi-Fi connection that is not connected to the internet is, for example, a direct Wi-Fi connection between the information processing device 101 and the communication device 151 that does not go through the access point 131. Alternatively, it could be an infrastructure Wi-Fi connection between the information processing device 101 and the communication device 151 that goes through the access point 131 which is not connected to the internet. A Wi-Fi connection that is connected to the internet is, for example, an infrastructure Wi-Fi connection between the information processing device 101 and the communication device 151 that goes through the access point 131 which is connected to the internet. The predetermined communications are, for example, communications for setting up the connection of the communication device 151, performed via a direct Wi-Fi connection between the information processing device 101 and the communication device 151 operating in connection setting mode. The predetermined communications are, for example, communications for sending various jobs to the communication device 151.
[0057] In this embodiment, the information processing device 101 supports multi-network functionality. Multi-network functionality is the ability to establish multiple communication lines in parallel. With multi-network functionality, for example, the information processing device 101 can establish a Wi-Fi communication line using the wireless communication unit 109, a mobile data communication line using the mobile data communication unit 113, and a satellite communication line using the satellite communication unit 114 in parallel. In other words, a communication line is a communication path, a connection for communication. The information processing device 101 also has a function to determine whether each communication line is connected to the internet. In other words, this function determines whether each network to which the information processing device 101 is connected is connected to the internet. The OS of the information processing device 101 controls which communication line is used for communication using each application. In other words, the OS of the information processing device 101 identifies the communication line used for communication using each application. Furthermore, if the OS of the information processing device 101 has established multiple communication lines in parallel using the multi-network function, it will control the system to prioritize the use of the communication line connected to the internet for communication using a particular application. In other words, the OS of the information processing device 101 will prioritize the use of the communication line connected to the internet for communication using a particular application. That is, even if the information processing device 101 has established multiple communication lines in parallel using the multi-network function, it will not use multiple communication lines in parallel for communication using a particular application. When multiple connections are established using multiple communication lines, the state of the information processing device 101 will be that multiple connections are established using multiple communication lines, and communication using the communication line connected to the internet for communication using a particular application is possible, but communication using communication lines other than the communication line connected to the internet for communication using a specific application is not possible.
[0058] In this embodiment, since the communication device 151 cannot connect to the internet on its own, when the information processing device 101 is directly connected to the communication device 151, the Wi-Fi communication line using the wireless communication unit 109 becomes a communication line that is not connected to the internet. Similarly, when the information processing device 101 is connected to the communication device 151 via an access point 131 that is not connected to the internet, the Wi-Fi communication line using the wireless communication unit 109 becomes a communication line that is not connected to the internet. Generally speaking, the satellite communication line using the satellite communication unit 114 also becomes a communication line that is not connected to the internet. Generally speaking, the mobile data communication line using the mobile data communication unit 113 becomes a communication line that is connected to the internet. Therefore, when the information processing device 101 is connected to the communication device 151 via a Wi-Fi connection that is not connected to the internet, and the Wi-Fi communication line, mobile data communication line, and satellite communication line are established in parallel, the mobile data communication line is used preferentially. Furthermore, if both the Wi-Fi communication line and the mobile data communication line are connected to the internet, the Wi-Fi communication line will be used preferentially. Specifically, for example, if the information processing device 101 and the communication device 151 are connected to the infrastructure via AP131 which is connected to the internet, and if the Wi-Fi communication line, mobile data communication line, and satellite communication line are established in parallel, the Wi-Fi communication line will be used preferentially.
[0059] Furthermore, the information processing device 101 can control the communication line used by the application that issued the instruction, by having the OS receive instructions from the application that has issued the instruction. Specifically, the application that has an application on the information processing device 101 executes a process called bindProcessToNetwork and notifies the OS of a value indicating the communication line to be used, thereby giving instructions to the OS regarding the communication line to be used. In other words, the OS of the information processing device 101 controls the communication using a line identified as an internet connection for communication by an application that does not execute the bindProcessToNetwork process and has not given instructions to the OS regarding the communication line to be used. In other words, the OS of the information processing device 101 identifies a line identified as an internet connection as the communication line to be used for communication by an application that has not given instructions to the OS regarding the communication line to be used. The OS of the information processing device 101 then executes a process called bindProcessToNetwork and notifies the OS of a value indicating the Wi-Fi communication line as the line to be used for communication. This controls the system so that when an application has instructed the OS to use the Wi-Fi communication line, it will use the Wi-Fi communication line even if the Wi-Fi communication line is not connected to the internet. In other words, the OS of the information processing device 101 identifies the Wi-Fi communication line as the communication line to be used for communication by an application that has instructed the OS to use the Wi-Fi communication line.
[0060] The process of instructing the OS to use a Wi-Fi communication line is called Wi-Fi binding. When Wi-Fi binding is performed by an application that has established multiple connections via multiple communication lines on the information processing device 101, the state of the information processing device 101 becomes one in which multiple connections via multiple communication lines are established, and communication using the Wi-Fi communication line is possible for one application, but communication using communication lines other than the Wi-Fi communication line is not possible for one application.
[0061] In this embodiment, a predetermined application performs predetermined communication after performing Wi-Fi binding. This allows the predetermined application to communicate with the communication device 151 even if the Wi-Fi communication line used to connect to the communication device 151 is not connected to the internet.
[0062] However, if the information processing device 101 establishes connections via both a satellite communication line and a Wi-Fi communication line in parallel, even if a predetermined application performs Wi-Fi binding, the system may be controlled to use the satellite communication line for communication by that application. Consequently, if the information processing device 101 establishes connections via both a satellite communication line and a Wi-Fi communication line in parallel, even if a predetermined application performs Wi-Fi binding, the predetermined application may be unable to perform Wi-Fi communication with the communication device 151. This problem arises, for example, when the OS of the information processing device 101 controls the system to use the satellite communication line for communication based on the control method executed by the OS of the information processing device 101 or the radio wave conditions around the information processing device 101.
[0063] Therefore, in this embodiment, if Wi-Fi binding is performed by a predetermined application but Wi-Fi communication with the communication device 151 cannot be performed, a specific control is executed. This specific control is to enable Wi-Fi communication with the communication device 151 by the predetermined application, and to prevent the satellite communication line from being used for communication by the predetermined application. This specific control corresponds to the processing in S812 to S815 described later. Specifically, this specific control is to disable the satellite communication function. When the satellite communication function is disabled by this specific control, the information processing device 101 will be in a state where it has not established a connection via the satellite communication line. This prevents the predetermined application from being controlled to use the satellite communication line for communication.
[0064] The control performed in this embodiment will be described in detail below.
[0065] <Regarding the processing performed by a predetermined application in this embodiment> As described above, in this embodiment, a predetermined application performs Wi-Fi binding and communicates with the communication device 151 using a Wi-Fi communication line. Communication with the communication device 151 using a Wi-Fi communication line is, for example, communication to send print jobs or copy jobs to the communication device 151. It is also, for example, communication to send scan jobs to the communication device 151 and receive image data obtained when the document is scanned by the scan job. Furthermore, communication with the communication device 151 using a Wi-Fi communication line is, for example, communication for connection setting processing of the communication device 151.
[0066] <Regarding the connection setup process executed by a predetermined application in this embodiment> First, we will explain the process when communication is performed with the communication device 151 using a Wi-Fi communication line, specifically when communication for connection setting processing of the communication device 151 is performed. In the following, a predetermined application will be referred to as the first application, and a setting application for performing various settings of the information processing device 101 will be referred to as the second application. In the following, the screen for performing settings related to the Wi-Fi connection of the information processing device 101 among the various settings that the second application can perform will be referred to as the Wi-Fi setting screen. The second application can display a list of access points in the vicinity of the information processing device 101 on the Wi-Fi setting screen. If a password is required to connect to the access point selected from the list, the second application can accept password input from the user on the Wi-Fi setting screen. If the connection using that password is successful, the second application saves and manages various information of the access point to which the information processing device 101 connected using that password. Specifically, various information includes, for example, password, SSID, security information, etc. In other words, the second application has a management function that stores and manages information about the access point to which the information processing device 101 is currently connected, and information about access points to which the information processing device 101 has previously connected. In its management function, the second application can display the password for the access point to which the information processing device 101 is currently connected, and the passwords for access points to which the information processing device 101 has previously connected, on the Wi-Fi settings screen. The user can confirm the correct password for the access point by checking the password displayed by the second application. However, in order to display the password using the second application, several operations are required on the screen displayed by the second application. Furthermore, since the second application differs depending on the OS and model of the information processing device 101, the operation to display the password using the second application may differ depending on the OS and model of the information processing device 101.If the user does not correctly recognize the operation, the user will not be able to have the password displayed by the second application. Therefore, in this embodiment, a screen is displayed that presents the user with instructions on how to display the password by the second application.
[0067] Figure 3 is a flowchart showing an example of processing performed by the information processing device 101 using the first application in this embodiment. Each process in the flowchart of Figure 3 is realized, for example, by the CPU 103 loading the first application stored in memory such as ROM 104 into RAM 105 and executing it. The flowchart of Figure 3 is started based on an operation to perform connection setting processing on the screen displayed by the first application. The flowchart of Figure 3 may also be started in response to the launch of the first application.
[0068] In S301, the first application retrieves and saves information about the access point (AP) to which the selected communication device 151 is currently connected via Wi-Fi. Hereafter, the AP to which the selected communication device 151 is currently connected via Wi-Fi will be referred to as the specific AP. The information of the specific AP retrieved here includes the SSID and password. The information of the specific AP is obtained, for example, via an infrastructure connection or direct connection between the information processing device 101 and the communication device 151. If the information processing device 101 is not currently able to communicate with the selected communication device 151, or if the selected communication device 151 is not currently connected to an AP via Wi-Fi, the information of the specific AP is not retrieved. The timing of retrieval of the specific AP information is not limited to this timing. For example, the acquisition of the specific AP information may be performed at a time before the flowchart in Figure 3 starts, based on the launch of the first application, in which case the process in S301 is skipped.
[0069] In S302, the first application obtains and stores information about the AP to which the information processing device 101 is currently connected via Wi-Fi from the OS. In other words, the AP to which the information processing device 101 is currently connected via Wi-Fi is the AP to which the information processing device 101 is connected when the process that triggered the start of the flowchart in Figure 3 is executed. The process that triggered the start of the flowchart in Figure 3 is the acceptance of an operation to execute the connection setting process or the launch of the first application. Hereafter, the AP to which the information processing device 101 is connected via Wi-Fi at the timing of S301 will be referred to as the predetermined AP. The AP information obtained here is information that the first application can obtain from the OS from among various AP-related information, specifically, for example, the SSID. If the information processing device 101 is not currently connected to an AP via Wi-Fi, the information of the predetermined AP is not obtained.
[0070] In S303, the first application executes a process to establish a connection between the communication device 151, which is operating in connection setting mode, and the information processing device 101. Specifically, the first application instructs the OS to establish a connection between the communication device 151, which is operating in connection setting mode, and the information processing device 101. More specifically, the first application executes a predetermined API (Application Programming Interface) to establish a connection with the information processing device 101, while setting at least a part of the string of the SSID of the communication device 151, which is operating in connection setting mode, as an argument. The OS then searches for a device with an SSID containing the string and establishes a connection between the found device (i.e., the communication device 151, which is operating in connection setting mode) and the information processing device 101. The communication device 151 to which the information processing device 101 connects through this process is the first communication device 151 found by the search performed in the process of S303. However, the system is not limited to this form. The first application may display multiple communication devices 151 discovered by the search performed in the S303 process, and the user may select one of the displayed communication devices 151. The communication device 151 to which the information processing device 101 connects through this process may be the communication device 151 selected by the user. While a connection is established between the communication device 151 operating in connection setting mode and the information processing device 101, communication between the communication device 151 and the information processing device 101 shall be performed through that connection.
[0071] In this embodiment, the first iOS application controls the connection between the communication device 151 and the information processing device 101, which are operating in connection setting mode, so that it becomes a Type 2 connection as described above. Specifically, in S303, the first iOS application executes a predetermined API while setting a flag to instruct the OS to establish a Type 2 connection. As a result, the OS establishes a Type 2 connection between the communication device 151 and the information processing device 101, which are operating in connection setting mode. This prevents the connection between the communication device 151 and the information processing device 101 from being disconnected even if a predetermined amount of time has elapsed since the first application started running in the background. If the OS of the information processing device 101 is Android OS (registered trademark), all connections to the information processing device 101 established by the instructions of the first application will be Type 2 connections. Therefore, if the first application is an application for Android OS, it is not necessary to set a flag to instruct the OS to establish a Type 2 connection.
[0072] In S304, the first application obtains information from the communication device 151 regarding a list of APs discovered by a search performed by the communication device 151. APs discovered by a search performed by the communication device 151 are APs that the communication device 151 can connect to. APs that the communication device 151 can connect to are APs located within the communication range of the communication device 151 and corresponding to the capabilities of the communication device 151. For example, if the communication device 151 can perform 2.4GHz communication but not 5GHz communication, the list of APs shown in the obtained information will include APs that support 2.4GHz communication but will not include APs that support 5GHz communication.
[0073] In S305, the first application determines whether the AP indicated by the information saved in S302 (the specified AP) is included in the list of APs indicated by the information obtained in S304. If the first application determines that it is YES, it proceeds to S306; if it determines that it is NO, it proceeds to S309.
[0074] In S306, the first application displays information about a designated AP and shows a confirmation screen to the user asking whether or not to set the communication device 151 to connect to the designated AP. The information displayed here is the information saved in S302, for example, the SSID of the designated AP.
[0075] In S307, the first application determines whether or not to transmit information about a predetermined AP to the communication device 151. In other words, this determination determines whether or not the user has confirmed that the predetermined AP is the target of connection for the communication device 151. Therefore, if an input indicating that the predetermined AP is the target of connection for the communication device 151 is made on the confirmation screen, the determination is YES, and the predetermined AP is identified as the target of connection for the communication device 151. If an input indicating that the predetermined AP is not the target of connection for the communication device 151 is made on the confirmation screen, the determination is NO. If the first application determines YES, it proceeds to S308; if it determines NO, it proceeds to S313.
[0076] In S308, the first application determines whether a given AP matches a specific AP. If the given AP matches a specific AP, the first application holds the password for the given AP. Therefore, this determination determines whether the first application holds the password for the given AP. In other words, this determination determines whether the password for the given AP is stored in a storage area accessible to the first application. If the first application determines YES, it proceeds to S312 and transmits the information of the given AP to the communication device 151. If it determines NO, it proceeds to S319 and displays the password input screen.
[0077] In S308, it is not necessary to determine whether the specified AP matches a specific AP. The determination performed in S308 may be a process to determine whether the specified AP corresponds to the AP held in the storage area accessible by the first application. In this configuration, a case where the determination is YES is, for example, a case in which, in a connection setup process previously executed by the first application, a password for connecting to the specified AP was entered by the user into the first application and sent to the communication device 151. In this configuration, a case where the determination is NO is, for example, a case in which, in a connection setup process previously executed by the first application, a password for connecting to the specified AP was never entered by the user into the first application.
[0078] In S309, which is executed when the result of S305 is NO, the first application determines whether the AP indicated by the information saved in S301 (a specific AP) is included in the list of APs indicated by the information obtained in S304. If the first application determines it is YES, it proceeds to S310; if it determines it is NO, it proceeds to S313.
[0079] In S310, the first application displays information about a specific AP and shows a confirmation screen to the user asking whether or not to set the communication device 151 to connect to that specific AP. The information displayed here is information saved in S301, such as the SSID of the specific AP.
[0080] In S311, the first application determines whether or not to send information about a specific AP to the communication device 151. In other words, this determination determines whether or not the user has confirmed that the communication device 151 will connect to a specific AP. Therefore, if the input on the confirmation screen indicates that the communication device 151 will connect to a specific AP, the determination is YES, and the specific AP is identified as the communication device 151's connection target. If the input on the confirmation screen indicates that the communication device 151 will not connect to a specific AP, the determination is NO. If the first application determines YES, it proceeds to S312; if it determines NO, it proceeds to S313.
[0081] In S312, the first application transmits information to the communication device 151 for connecting to the AP identified as the target of the communication device 151. The information transmitted here includes the SSID of the AP identified as the target of the communication device 151 and the password for connecting to the AP identified as the target of the communication device 151. In this process, the AP identified as the target of the communication device 151 is a predetermined AP that matches a specific AP, or a specific AP. That is, the password transmitted here is the password for the specific AP, and is the password obtained from the communication device 151 in S301. In other words, the password transmitted here is the password held by the first application (the password held in a storage area accessible to the first application). Therefore, after the target of the communication device 151 is identified, the first application transmits the password to the communication device 151 without accepting password input from the user. After information for connecting to the AP identified as the target for connection to the communication device 151 is transmitted to the communication device 151, the communication device 151 exits connection setting mode and uses the received information to connect to the AP identified as the target for connection to the communication device 151. When connection setting mode is exited, the connection between the communication device 151 and the information processing device 101 is also disconnected. The information processing device 101 reconnects to the predetermined AP, which is the AP to which the information processing device 101 was connected before connecting to the communication device 151, using the OS's reconnection function. After that, the first application proceeds to S327. However, the application is not limited to proceeding to S327; it may also proceed to a process such as S710 described later, which displays a screen for searching for the communication device 151 on the Wi-Fi network to which the information processing device 101 is connected.
[0082] S313 is executed if the result of S301 is NO, or if the result of S307 is NO, or if the result of S309 is NO, or if the result of S311 is NO. In S313, the first application displays a list of APs indicated by the information obtained in S304. In this embodiment, the screen containing the list includes a direct connection button. If the AP that the user desires to connect to the communication device 151 is not in the list, the user operates the direct connection button.
[0083] In S314, the first application determines whether the direct connection button has been operated. If the first application determines that the answer is YES, it proceeds to S315; otherwise, it proceeds to S318.
[0084] In S315, the first application executes a process to establish a direct connection between the communication device 151 and the information processing device 101. Specifically, the first application first sends direct configuration information to the communication device 151. Then, it obtains connection information from the communication device 151 to establish a direct connection with the communication device 151. The first application then instructs the OS to establish a connection between the communication device 151, which is operating in direct connection mode, and the information processing device 101. More specifically, the first application identifies the SSID of the communication device 151, which is operating in direct connection mode, from the received connection information. The first application then executes a predetermined API to establish a connection with the information processing device 101, setting at least a part of the identified SSID string as an argument. The OS then searches for a device with an SSID containing that string and displays a confirmation screen to ask whether to establish a direct connection between the found device (the communication device 151 operating in direct connection mode) and the information processing device 101. Furthermore, if the first application is an iOS application, the first application may execute a predetermined API in this process while setting a flag to instruct the OS to establish a connection that will not be disconnected even if the first application transitions to the background. In other words, a direct connection between the communication device 151 and the information processing device 101 may be established as a Type 2 connection. However, the process is not limited to this form, and the first application may execute a predetermined API in this process without setting the flag, and a direct connection between the communication device 151 and the information processing device 101 may be established as a Type 1 connection.
[0085] In S316, the first application determines whether a user action indicating the establishment of a direct connection has been performed on the confirmation screen displayed by the OS in S315. This determination is made when the first application receives a notification from the OS indicating which action has been performed on the confirmation screen displayed by the OS. If a user action indicating the establishment of a direct connection is performed, the OS establishes the direct connection; however, if a user action indicating not to establish a direct connection is performed, the OS does not establish the direct connection. If the first application determines the result is YES, it proceeds to S327; otherwise, it proceeds to S317.
[0086] In S317, the first application displays a screen for direct connection. An example of the screen displayed in this process is shown in Figure 4. Screen 400 includes an SSID display area 401, a password display area 402, a password copy area 403, and a complete button 404. The SSID display area 401 is the area that displays the SSID of the communication device 151 operating in direct connection mode. The password display area 402 is the area that displays the password of the communication device 151 operating in direct connection mode. When area 403 is operated, the first application copies the password of the communication device 151 operating in direct connection mode and saves it to the clipboard of the information processing device 101. With the password of the communication device 151 operating in direct connection mode copied, the user can easily enter the password in the second application, and the second application can establish a direct connection. Screen 400 may also include messages prompting the user to establish a direct connection using the Wi-Fi settings screen displayed by the second application, and messages prompting the user to operate the complete button 404 once the direct connection has been established. If the complete button 404 is operated, the first application proceeds to S327. However, it is not limited to proceeding to S327; it may also proceed to a process such as S710 described later, which displays a screen for searching for the communication device 151 on the Wi-Fi network to which the information processing device 101 is connected.
[0087] In S318, which is executed when the result of S314 is NO, the first application determines whether any AP has been selected by the user from the displayed list of APs. If the first application determines it is YES, it identifies the selected AP as the target for connection to the communication device 151 and proceeds to S319. If it determines it is NO, it returns to S314 and waits to accept any operation.
[0088] In S319, the first application displays a password input screen (first display control) to accept input of a password for connecting to the AP identified as the connection target of the communication device 151. The password input screen may also be displayed as a pop-up on the top of the AP list. An example of the screen displayed in this process is shown in Figure 5. The password input screen 500 includes an SSID display area 501, a password input box 502 (first area), a password confirmation button 503, a button 504 for other connection methods, an OK button 505, and a cancel button 506. The SSID display area 501 is an area that displays the SSID of the AP identified as the connection target of the communication device 151. The password input box 502 is an area that accepts input from the user of the password for the AP identified as the connection target of the communication device 151. The password confirmation button 503 is a button related to the function of displaying the password on the Wi-Fi settings screen by the second application. The button 504 for other connection methods is a button for displaying a manual for other connection methods. In this embodiment, "other connection methods" refers to connection methods other than those in which the first application establishes a connection between the communication device 151 and other devices by transmitting configuration information to the communication device 151. In other words, "other connection methods" refers to methods in which the first application establishes a connection between the communication device 151 and other devices without transmitting configuration information to the communication device 151.
[0089] Furthermore, depending on the OS version of the information processing device 101, the second application may not be able to display the password for the access point to which the information processing device 101 is currently connected, or the password for an access point to which the information processing device 101 has previously connected, on the Wi-Fi settings screen. Specifically, for example, if the OS of the information processing device 101 is an Android version lower than 10, an iOS version lower than 16, or an iPadOS® version lower than 16, the second application cannot display the above password on the Wi-Fi settings screen. Therefore, in S319, the first application may identify the OS version of the information processing device 101 and determine whether the identified version is one to which the second application cannot display the above password on the Wi-Fi settings screen. If the result of the determination is YES, the first application may display a password input screen that does not include the password confirmation button 503. If the result of the determination is NO, the first application may display a password input screen that includes the password confirmation button 503. The password input screen, excluding the password confirmation button 503, shall include the other buttons and areas on screen 500. That is, the button 504 for other connection methods shall be displayed regardless of the OS version. For example, if the first application only supports OS versions that allow the second application to display the above password on the Wi-Fi settings screen, then it is not necessary to perform version detection or control to switch the display screen based on the version detection result.
[0090] In S320, the first application determines whether it has received a user response to the cancel button 506. If the first application determines it is YES, it proceeds to S313 to display a list of applications; if it determines it is NO, it proceeds to S321.
[0091] In S321, the first application determines whether it has received a user response to the password confirmation button 503. If the first application determines it is YES, it proceeds to S322; otherwise, it proceeds to S323.
[0092] In S322, the first application displays a screen for password confirmation. In this embodiment, the password confirmation screen is a predetermined screen that shows how to confirm the AP password on the Wi-Fi settings screen displayed by the second application. Examples of the screens displayed in this process are shown in Figures 6(a) and 6(b). In this embodiment, the password confirmation screen is not a web page displayed via internet communication by a web browser. That is, it is a screen displayed on the first application based on information that the first application has in advance. A web browser is, for example, an internal browser of the first application or a browser of a browser application different from the first application. However, it is not limited to this form, and the password confirmation screen may be a web page displayed by a web browser. Also, the password confirmation screen may be displayed as a pop-up at the top of the AP list.
[0093] Figure 6(a) is a password confirmation screen displayed when the OS of the information processing device 101 is Android OS and the first application is an application for Android OS. Screen 600 includes an area 601 that shows a method for checking the AP password on the Wi-Fi settings screen displayed by the second application compatible with Android OS (hereinafter referred to as the first password confirmation method), a button 602 for displaying the Wi-Fi settings screen by the second application, a button 603 for other connection methods, and an OK button 604. Area 601 displays text indicating the first password confirmation method, which shows the operations for checking the password on the Wi-Fi settings screen compatible with Android OS. Specifically, for example, text is displayed that shows opening the Wi-Fi settings screen, selecting the wireless LAN router (Wi-Fi router) that has the AP identified as the connection target of the communication device 151 running, and tapping the share button to display the password of the selected router on the Wi-Fi settings screen. Area 601 may also display the SSID of the AP identified as the connection target of the communication device 151. The SSID of the AP identified as the connection target for the communication device 151 is, in other words, the SSID of the AP corresponding to the password to be confirmed on the Wi-Fi settings screen. Area 601 also displays text indicating that the password displayed on the Wi-Fi settings screen should be copied and that the copied password should be pasted back into the first app. Area 601 may also display text prompting the user to return to the first app (bring the first app back to the foreground) after confirming the password. Note that depending on the type of information processing device 101, it may not have a function to confirm the password on the Wi-Fi settings screen or a function to copy the password displayed on the Wi-Fi settings screen. The type of information processing device 101 is, for example, the type of Android device. Therefore, screen 600 may include a message to that effect.Furthermore, screen 600 may include a message prompting the user to try other connection methods if they are unable to confirm the password on the Wi-Fi settings screen. When button 602 is pressed, the second application is launched and the process of displaying the Wi-Fi settings screen in the second application is executed. When the Wi-Fi settings screen is displayed, the first application moves to the background. If the back button of the information processing device 101 is pressed on the screen displayed by the second application, the first application moves back to the foreground. When button 603 is pressed, the first application proceeds to S324. When the OK button 604 is pressed, the first application proceeds to S319.
[0094] Figure 6(b) shows a password confirmation screen displayed when the OS of the information processing device 101 is iOS or iPadOS®, and the first application is an application for iOS or iPadOS®. Screen 610 includes an area 611 showing a method for confirming the AP password on the Wi-Fi settings screen displayed by a second application compatible with iOS or iPadOS® (hereinafter referred to as the second password confirmation method), and an OK button 612. Area 601 displays text indicating the second password confirmation method, which shows the operation for confirming the password on the Wi-Fi settings screen compatible with iOS or iPadOS®. Screen 610 may also display the SSID of the AP identified as the connection target of the communication device 151. Area 601 may also display text prompting the user to return to the first application (bring the first application back to the foreground) after confirming the password. A user who has seen the document launches the second application from the home screen of the information processing device 101 and performs the operations indicated in the document to confirm the password. After confirming the password, the user runs the first application in the foreground again, operates button 612, and enters the password on the first application. Note that all terminal devices equipped with a specified version or higher of iOS or iPadOS® are equipped with a function to check the password on the Wi-Fi settings screen. Therefore, unlike screen 600, screen 610 does not include buttons for other connection methods. However, it is not limited to this form, and screen 610 may also include buttons for other connection methods. Also, on terminal devices equipped with iOS or iPadOS®, the second application cannot be launched by instructions from the first application. Therefore, unlike screen 600, screen 610 does not include a button to display the Wi-Fi settings screen.However, the invention is not limited to this form. In terminal devices equipped with iOS or iPadOS (registered trademark), if it is possible to launch the second application by instruction from the first application, screen 610 may also include a button for displaying the Wi-Fi settings screen. When button 612 is operated, the first application proceeds to S319. In this embodiment, the text indicating the first password verification method and the text indicating the second password verification method are different, but the invention is not limited to this form. The text indicating the first password verification method and the text indicating the second password verification method may be the same.
[0095] In S323, which is executed when the result of S321 is NO, the first application determines whether or not it has received a user input for a button for another connection method. If the first application determines it is YES, it proceeds to S324; if it determines it is NO, it proceeds to S325.
[0096] In S324, the first application sends information to the communication device 151 instructing it to terminate operation in connection setting mode. As a result, the communication device 151 terminates connection setting mode and restarts operation in the mode it was in before operating in connection setting mode. When connection setting mode is terminated, the connection between the communication device 151 and the information processing device 101 is also disconnected. The information processing device 101 uses the OS's reconnection function to reconnect with a predetermined AP, which is the AP to which the information processing device 101 was connected before connecting with the communication device 151. The first application then executes a process to display a manual regarding the initial setup operation for the communication device 151. Specifically, the first application uses its internal browser (in-app browser) to display a web page that displays a manual regarding the initial setup operation for the communication device 151. The information required to display this web page is obtained from a predetermined server via the internet connection. Therefore, if the communication device 151 is connected to the internet, the display of the web page is successful. The manual for initial setup of the communication device 151 may be displayed by the first application without using a browser, rather than being displayed as a web page obtained via the internet, as content pre-installed by the first application. The screen displayed by the first application's internal browser can be closed by the user using the close button on that screen. Subsequently, the first application displays a search screen for searching for the communication device 151 on the Wi-Fi network to which the information processing device 101 is connected. The search screen includes a button to start the search for the communication device 151 on the Wi-Fi network to which the information processing device 101 is connected. When this button is pressed, the first application searches for the communication device 151 on the Wi-Fi network to which the information processing device 101 is connected. Then, it displays a list of the communication devices 151 found through the search. The first application displays only the communication device 151 that corresponds to the first application from among the multiple communication devices 151 found through the search. The communication device 151 that corresponds to the first application is the communication device 151 provided by the vendor that provides the first application.Furthermore, the search may be performed in such a manner that only communication devices 151 provided by the vendor providing the first application are found, and communication devices 151 provided by other vendors are not found. If any communication device 151 is selected from the displayed list, the first application obtains information about the selected communication device 151 from the selected communication device 151 via the Wi-Fi network to which the information processing device 101 is connected. The first application then registers the selected communication device 151 with the first application. After that, the process of this flowchart ends.
[0097] In S325, the first application determines whether it has received a user input to the OK button 505 with a password entered in the password input box 502. The user has pressed the password confirmation button 503 and can confirm the password on the Wi-Fi settings screen according to the text displayed on the screen shown in Figure 6, and then enter the password in the password input box 502. Alternatively, if the user has copied the password from the Wi-Fi settings screen and saved it to the clipboard, they can paste the saved password into the password input box 502 to enter the password. If the first application determines it is YES, it proceeds to S326; if it determines it is NO, it returns to S320 and waits for the user to perform any action on the password input screen 500.
[0098] In S326, the first application sends information to the communication device 151 for connecting to the AP identified as the target of the communication device 151. Specifically, the information sent includes the password entered in the password input box 502 and the SSID of the AP identified as the target of the communication device 151. After the information for connecting to the AP identified as the target of the communication device 151 is sent to the communication device 151, the communication device 151 exits connection setting mode and connects to the AP identified as the target of the communication device 151 using the received information. When connection setting mode is exited, the connection between the communication device 151 and the information processing device 101 is also disconnected. The information processing device 101 reconnects to the predetermined AP, which is the AP to which the information processing device 101 was connected before connecting to the communication device 151, using the OS's reconnection function. After that, the first application proceeds to S327.
[0099] In S327, the first application searches for the communication device 151 on the Wi-Fi network to which the information processing device 101 is connected. For example, if the AP identified as the connection target for the communication device 151 is a predetermined AP, both the communication device 151 and the information processing device 101 will connect to the predetermined AP, and the communication device 151 will be found through this search. If the AP identified as the connection target for the communication device 151 is not a predetermined AP, and the communication device 151 connects to an AP that is not a predetermined AP, or if the entered password is incorrect and the communication device 151 fails to connect to the AP, the communication device 151 will not be found through this search. If the communication device 151 is found through this search, the information processing device 101 obtains information about the communication device 151 from the communication device 151 via the Wi-Fi network to which it is connected, and registers the communication device 151 in the first application. At this time, the first application may automatically set the newly registered communication device 151 as the selected communication device 151. After that, the first app finishes processing and displays its home screen.
[0100] Thus, in this embodiment, the first application performs communication with the communication device 151 in the connection setup process in steps S312, S315, and S326.
[0101] <Regarding the job submission process executed by a predetermined application in this embodiment> Next, we will describe the process when a process is executed to send a job to the communication device 151 as communication with the communication device 151 using a Wi-Fi communication line. Here, a print job is used as an example of a job sent to the communication device 151. However, the process is not limited to this form, and processes for sending other jobs such as scan jobs, copy jobs, setting jobs to change various settings of the communication device 151, and status acquisition jobs to obtain the status from the communication device 151 may also be applied as communication with the communication device 151 using a Wi-Fi communication line.
[0102] Figure 7 is a flowchart showing an example of processing performed by the information processing device 101 using the first application in this embodiment. Each process in the flowchart of Figure 7 is realized, for example, by the CPU 103 loading the first application stored in memory such as ROM 104 into RAM 105 and executing it. The flowchart of Figure 7 is also initiated based on an operation performed on the screen displayed by the first application to execute a function for sending a print job.
[0103] In S701, the first application receives a selection of image data to be printed from the user. Specifically, for example, the first application displays a list of multiple image data that are candidates for printing as thumbnails. The candidate image data to be printed are, for example, image data stored in the memory of the information processing device 101. In this configuration, the first application retrieves the image data selected as the image data to be printed from the memory of the information processing device 101. Alternatively, the candidate image data to be printed are, for example, image data managed by a social networking service (SNS). In this configuration, the first application first displays a screen showing multiple SNSs and receives a selection from the user for one of the SNSs. The first application then starts communication via the internet with an external server corresponding to the selected SNS. For this reason, for example, the first application is not performing Wi-Fi binding at the time of S701. The first application may perform a process to unbind Wi-Fi before S701. The first application then receives an operation from the user to log in to the user's account and communicates with an external server corresponding to the selected SNS to log in to the user's account. If the login is successful, the first application obtains information to display thumbnails of image data managed by the selected SNS and associated with the user's account. The first application then uses the obtained information to display a list of multiple image data that are candidates for printing, using thumbnails. If an image data to be printed is selected by selecting one of the thumbnails, the first application receives the selected image data to be printed from the external server corresponding to the selected SNS. In this way, the image data selected as the image data to be printed is obtained by the first application.
[0104] In S702, the first application performs various conversion and image processing on the acquired image data to generate print data for printing the image based on the acquired image data to the communication device 151.
[0105] In S703, the first application displays a preview screen for previewing an image based on the acquired image data. This preview screen includes an area for changing print settings and a button for submitting a print job. When the button for submitting a print job is pressed, the process proceeds to S704.
[0106] In S704, the first application sends the print job, including the generated print data and print settings, to the communication device 151.
[0107] Thus, in this embodiment, the first application, in the process of sending a print job, performs communication with the communication device 151 in S704. The process of sending other jobs is also performed based on the fact that the operation for sending other jobs has been performed in the first application.
[0108] <Regarding the communication processing performed by a predetermined application in this embodiment> Figure 8 is a flowchart showing an example of processing performed by the information processing device 101 in this embodiment using a first application. Each process in the flowchart of Figure 8 is realized, for example, by the CPU 103 loading the first application stored in memory such as ROM 104 into RAM 105 and executing it. The flowchart of Figure 8 is started when a trigger for communication with the communication device 151 occurs in the first application. Communication with the communication device 151 is, for example, the processes S312, S315, and S326 in the connection setting process, or the process executed in S704 in the print job transmission process. Furthermore, communication with the communication device 151 may also be the transmission of a job other than a print job.
[0109] In the S801, the first application performs Wi-Fi binding.
[0110] In S802, the first application instructs the OS to start communication with the communication device 151 using the Wi-Fi communication line. As a result, communication with the communication device 151 is started using the Wi-Fi communication line. An example of the communication with the communication device 151 performed here is as described above. The first application may also display a screen indicating that it is performing communication with the communication device 151.
[0111] In S803, the first application determines whether or not an error occurred during communication with the communication device 151 using the Wi-Fi communication line. If the first application determines that the result is YES, it proceeds to S806; if it determines that the result is NO, it proceeds to S804.
[0112] In S804, the first application determines whether communication with the communication device 151 using the Wi-Fi communication line has been completed. If this process is executed in S312, it is determined that communication with the communication device 151 using the Wi-Fi communication line has been completed when the transmission of information for a predetermined AP is completed. If this process is executed in S315, it is determined that communication with the communication device 151 using the Wi-Fi communication line has been completed when the transmission of direct configuration information and the acquisition of connection information for direct connection with the communication device 151 are completed. If this process is executed in S326, it is determined that communication with the communication device 151 using the Wi-Fi communication line has been completed when the transmission of information for connecting to the AP identified as the connection target for the communication device 151 is completed. If this process is executed in S704, it is determined that communication with the communication device 151 using the Wi-Fi communication line has been completed when the transmission of the print job is completed. The first application may also acquire the print status based on the print job after the transmission of the print job is completed. The first application may determine that communication with the communication device 151 using the Wi-Fi communication line is complete when printing based on the print job is completed at the communication device 151 and the acquisition of the printing status based on the print job is completed at the first application.
[0113] In the S805, the first application unbinds the Wi-Fi connection. As a result, the communication instructed by the first application will use the communication line identified as being connected to the internet. After that, the process of this flowchart ends.
[0114] In S806, which is executed if the result of S803 is YES, the first application displays the screen that was displayed in S802 before communication with the communication device 151 began.
[0115] On the S807, the first app unbinds the Wi-Fi.
[0116] In S808, the first application determines whether the mobile data communication line is connected to a base station. This determination is equivalent to determining whether the mobile data communication line is connected to the internet. Being connected to a base station means receiving radio waves emitted from the base station and being able to send and receive data with the base station. If the mobile data communication function is disabled in the information processing device 101, the result of this determination is NO. If the mobile data communication function is enabled in the information processing device 101, but the mobile data communication line is not connected to a base station, the result of this determination is NO. If the mobile data communication function is enabled in the information processing device 101 and the mobile data communication line is connected to a base station, the result of this determination is YES. This determination is performed based on information obtained by the first application by calling an API to obtain information from the OS indicating whether the mobile data communication line is connected to a base station. This determination is not limited to the above form, and may also be a process that determines whether the mobile data communication function is enabled in the information processing device 101. This determination is performed based on information obtained by the first application by calling an API to obtain information from the OS indicating whether or not the mobile data communication function is enabled in the information processing device 101. If the first application determines that the determination is YES, it proceeds to S809; if it determines that the determination is NO, it proceeds to S812.
[0117] In S809, the first application displays a first dialog 900, which is a screen prompting the user to disable the mobile data communication function. An example of the first dialog 900 is shown in Figure 9(a). The first dialog 900 includes a message 901 to indicate that the mobile data communication function is enabled or to prompt the user to disable the mobile data communication function. Message 901 may also include a message asking the user whether or not to display a first settings screen for changing the settings of the mobile data communication function. The first settings screen is, for example, a screen displayed by the second application. The first dialog 900 may also include a button 902 for selecting not to display the first settings screen and a button 903 for selecting to display the first settings screen.
[0118] In S810, the first application determines whether or not to display the first settings screen. This process determines whether button 903 or button 902 has been operated. If button 903 is operated and the result of this determination is YES, the first application proceeds to S811. If button 902 is operated and the result of this determination is NO, the first application terminates the process in this flowchart.
[0119] In S810, the first application launches the second application and displays the first settings screen in the second application. This causes the first application to move to the background. After that, the first application terminates the processing in this flowchart. If the operation is performed to return from the second application to the first application and the first application moves to the foreground, the screen displayed in S806 will be displayed by the first application, and the processing after this flowchart will be executed by the first application.
[0120] In S812, which is executed when the result of S808 is NO, the first application determines whether the satellite communication line is connected to the satellite. The state of being connected to the satellite means that radio waves emitted from the satellite are being received, and data transmission and reception with the satellite is possible. If the satellite communication function is disabled in the information processing device 101, this determination result is NO. If the satellite communication function is enabled in the information processing device 101, but the satellite communication line is not connected to the satellite, this determination result is NO. If the satellite communication function is enabled in the information processing device 101 AND the satellite communication line is connected to the satellite, this determination result is YES. This determination is performed based on information obtained by the first application by calling an API to obtain information from the OS indicating whether the satellite communication line is connected to the satellite. Specifically, this API is, for example, ServiceState.isUsingNonTerrestrialNetwork(). This determination is not limited to the above form, and may also be a process that determines whether the satellite communication function is enabled in the information processing device 101. This determination is performed based on information obtained by the first application by calling an API to obtain information from the OS indicating whether or not the satellite communication function is enabled in the information processing device 101. If the first application determines that the determination is YES, it proceeds to S813; if it determines that the determination is NO, it proceeds to S816. Note that if the information processing device 101 does not have a satellite communication unit 114, or if it has a satellite communication unit 114 but the information processing device 101 is controlled in a way that prevents it from performing satellite communication using the satellite communication unit 114, the result of this determination will be NO.
[0121] In S813, the first application displays a second dialog 904, which is a screen prompting the user to disable the satellite communication function. An example of the second dialog 904 is shown in Figure 9(b). The second dialog 904 includes a message 905 to indicate that the satellite communication function is enabled or to prompt the user to disable the satellite communication function. Message 905 may also include a message asking the user whether or not to display a second settings screen for changing the satellite communication function settings. The second settings screen is, for example, a screen displayed by the second application. The first dialog 900 may include a button 906 for selecting not to display the second settings screen and a button 907 for selecting to display the second settings screen.
[0122] In S814, the first application determines whether or not to display the second settings screen. This process determines whether button 907 or button 906 has been operated. If button 907 is operated and the result of this determination is YES, the first application proceeds to S815. If button 906 is operated and the result of this determination is NO, the first application terminates the process in this flowchart.
[0123] In S815, the first application launches the second application and displays the second settings screen in the second application. This causes the first application to move to the background. After that, the first application terminates the processing of this flowchart. If an operation is performed to return from the second application to the first application, and the first application moves to the foreground, the screen displayed in S806 will be displayed by the first application, and the processing from this flowchart onward will be executed by the first application.
[0124] In S816, which is executed when the result of S812 is NO, the first application displays an error screen 908 indicating that it cannot communicate with the communication device 151. An example of the error screen 908 is shown in Figure 9(c). The error screen 908 includes a message 909 indicating that it cannot communicate with the communication device 151 and a button 910 for closing the error screen. The error screen 908 may also include a button for displaying a screen showing how to resolve the error in which it cannot communicate with the communication device 151. If the button is pressed, the first application may refer to the radio wave conditions of the information processing device 101 and the AP to which the information processing device 101 is connected to, and perform a process to identify the cause of the error in which it cannot communicate with the communication device 151. Then, a screen based on the cause identified by that process may be displayed as a screen showing how to resolve the error in which it cannot communicate with the communication device 151. If button 910 is operated, the first application terminates the process of this flowchart.
[0125] This configuration prevents the first application from being controlled to use mobile data communication lines or satellite communication lines for communication by a designated application. Consequently, the first application can more reliably perform Wi-Fi communication with the communication device 151.
[0126] <Other Embodiments> In the configuration described above, Wi-Fi communication with the communication device 151 included communication for connection setup processing and communication for sending jobs, but the configuration is not limited to this. The content of the Wi-Fi communication with the communication device 151 can be anything. For example, if the communication device 151 is not a printer, the Wi-Fi communication with the communication device 151 will consist of communication other than communication for sending jobs.
[0127] In the configuration described above, the processes S808 to S811 were performed to prevent the system from being controlled to use a mobile data communication line for communication by a specific application, but the system is not limited to this configuration. The system may also be configured in which the process to prevent the system from being controlled to use a mobile data communication line is not performed. Specifically, for example, the first application may proceed to S812 after S807 without executing S808.
[0128] In the configuration described above, the process to prevent the use of a mobile data communication line for communication by a specified application was performed before the processes S812-S815, which are processes to prevent the use of a satellite communication line for communication by a specified application. However, the configuration is not limited to this. The former process may be performed after the latter process. Specifically, for example, the first application may proceed to S812 after S807 without executing S808. Then, if the result of the determination in S812 is NO, the first application may proceed to S808. Then, if the result of the determination in S808 is NO, the first application may proceed to S816.
[0129] In the configuration described above, the first and second dialogs were displayed after S808 and S812 determined whether the mobile data communication line was connected to a base station for mobile data communication and whether the satellite communication line was connected to a satellite, but the configuration is not limited to this. The first and second dialogs may be displayed without performing the above determination. Specifically, for example, the first application may proceed to S816 after S807 without executing S808 or S812. The screen displayed in S816 may then be controlled to include the display content contained in the first and second dialogs.
[0130] In the above-described configuration, Wi-Fi binding was performed when a trigger for communication with the communication device 151 occurred, but the configuration is not limited to this. Wi-Fi binding may be performed before a trigger for communication with the communication device 151 occurs. Specifically, for example, Wi-Fi binding may be performed immediately after the first application is launched. Alternatively, for example, Wi-Fi binding may be performed after an operation to perform the function for sending a print job has been performed, and before S704 is executed. Alternatively, for example, Wi-Fi binding may be performed after an operation to perform the connection setting process has been performed, and before S312, S315, and S326 are executed.
[0131] In the configuration described above, processing to prevent the system from controlling the use of a satellite communication line for communication by a specific application was performed after Wi-Fi binding was executed, but the system is not limited to this configuration. Processing to prevent the system from controlling the use of a satellite communication line for communication by a specific application may be performed without Wi-Fi binding being executed. Specifically, for example, the first application does not need to execute S801, S805, or S807 in the flowchart of Figure 8.
[0132] In the above-described configuration, Wi-Fi binding was performed by a designated application, but the system is not limited to this configuration. The designated application may also instruct the OS to use a communication line that employs a communication method other than Wi-Fi. Furthermore, the process described in the above-described embodiment assuming the use of a Wi-Fi communication line may also use a communication line that employs a communication method other than Wi-Fi. In other words, the processes S808 to S815 may be executed in the process of performing communication using a communication line that employs a communication method other than Wi-Fi. A specific example of a communication method other than Wi-Fi is Bluetooth.
[0133] Furthermore, the object of the present invention can also be achieved by supplying a recording medium containing program code for software that realizes the functions of the embodiments described above to a system or device. That is, the object of the present invention can also be achieved by the computer (or CPU or MPU) of the system or device reading and executing the program code stored on the recording medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiments described above, and the storage medium containing that program code constitutes the present invention.
[0134] For storing program code, storage media such as flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs can be used.
[0135] It goes without saying that this also includes cases where the operating system running on the computer performs some or all of the actual processing based on the instructions of the program code read by the computer, and the functions of the aforementioned embodiment are realized through that processing.
[0136] Furthermore, the disclosure of this embodiment includes the following configuration.
[0137] (Item 1) A specified application program, A computer in an information processing device capable of performing communication using satellite communication lines and communication using predetermined communication lines different from satellite communication lines, An execution step which performs processing for communication with a communication device using the predetermined communication line, A first control step, based on an error occurring in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, to perform specific control in the information processing device to disable the satellite communication function for performing communication using the satellite communication line; A program characterized by causing the execution of a specific action.
[0138] (Item 2) A determination step in which a determination is made regarding the satellite communication line based on the occurrence of an error in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, Let's execute it further, If the result of the determination regarding the satellite communication line is the first result, the specific control is executed; if the result of the determination regarding the satellite communication line is the second result, the specific control is not executed. The program described in item 1, characterized by the features described herein.
[0139] (Item 3) The determination concerning the aforementioned satellite communication link is whether or not the satellite communication link is connected to a satellite. If it is determined that the satellite communication line is connected to a satellite, the specific control is executed; if it is determined that the satellite communication line is not connected to a satellite, the specific control is not executed. The program described in item 2, characterized by the features described herein.
[0140] (Item 4) The determination relating to the satellite communication line is whether or not the satellite communication function is set to be enabled in the information processing device. If it is determined that the satellite communication function is enabled in the information processing device, the specific control is executed; if it is determined that the satellite communication function is not enabled in the information processing device, the specific control is not executed. The program described in item 2, characterized by the features described herein.
[0141] (Item 5) The aforementioned specific control includes a control to prompt the user to disable the satellite communication function in the information processing device. A program according to any one of items 1 to 4, characterized by the above.
[0142] (Item 6) The aforementioned specific control includes control for displaying a settings screen for disabling the satellite communication function in the information processing device. A program according to any one of items 1 to 5, characterized by the features described herein.
[0143] (Item 7) The aforementioned settings screen is a screen displayed by an application program other than the predetermined application program, The aforementioned specific control includes the control of launching the other application program and causing the other application program to display the settings screen. The program described in item 6, characterized by the features described therein.
[0144] (Item 8) A second control step, based on the occurrence of an error in communication with the communication device using the predetermined communication line initiated by the execution of the process by the predetermined application program, to perform a predetermined control in the information processing device to disable the mobile data communication function for performing communication using a mobile data communication line that is different from the satellite communication line and different from the predetermined communication line; A program according to any one of items 1 to 7, characterized in that it further executes the following:
[0145] (Item 9) A first determination step, based on the occurrence of an error in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, performs a determination regarding the mobile data communication line. Let's execute it further, If the result of the determination regarding the mobile data communication line is the first result, the predetermined control is executed; if the result of the determination regarding the mobile data communication line is the second result, the predetermined control is not executed. The program described in item 8, characterized by the features described above.
[0146] (Item 10) A second determination step, based on the occurrence of an error in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, performs a determination regarding the satellite communication line. Let's execute it further, If the result of the determination regarding the satellite communication line is the third result, the specific control is executed; if the result of the determination regarding the satellite communication line is the fourth result, the specific control is not executed. If the result of the determination regarding the mobile data communication line is the second result, and the result of the determination regarding the satellite communication line is the fourth result, then the predetermined application program will display an error screen indicating that communication with the communication device is not possible. The program described in item 9, characterized by the features described herein.
[0147] (Item 11) The communication with the communication device using the predetermined communication line is a communication for transmitting information to the communication device for connecting to an external access point of the information processing device. A program according to any one of items 1 to 10, characterized by the above.
[0148] (Item 12) The communication with the communication device using the predetermined communication line is a communication to send at least one of the following to the communication device: a print job to cause the communication device to perform printing, and a scan job to cause the communication device to perform scanning. A program according to any one of items 1 to 11, characterized by the features described herein.
[0149] (Item 13) The instruction step further involves executing a predetermined instruction to the OS of the information processing device so that the predetermined communication line is identified as the communication line used for communication by the predetermined application program, Despite the execution of the predetermined instruction by the predetermined application program, the specific control is executed based on the fact that an error occurred in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program. A program according to any one of items 1 to 12, characterized by the above.
[0150] (Item 14) The aforementioned predetermined communication line is a Wi-Fi communication line. A program according to any one of items 1 to 13, characterized by the features described herein.
[0151] (Item 15) The aforementioned communication device is a printer. A program according to any one of items 1 to 14, characterized by the features described herein.
[0152] (Item 16) The OS of the aforementioned information processing device is Android OS version 15 or later. A program according to any one of items 1 to 15, characterized by the features described herein.
[0153] (Item 17) The connection between the information processing device and the communication device via the predetermined communication line is a connection that does not go through an access point outside of the information processing device and outside of the communication device. A program according to any one of items 1 to 16, characterized by the features described herein.
[0154] (Item 18) The connection between the information processing device and the communication device via the predetermined communication line is an access point that is external to both the information processing device and the communication device, and is not connected to the Internet. A program according to any one of items 1 to 16, characterized by the features described herein.
[0155] (Item 19) Having a specified application program, A control method for an information processing device capable of performing communication using a satellite communication link and communication using a predetermined communication link different from the satellite communication link, An execution step which performs processing for communication with a communication device using the predetermined communication line, A first control step, based on an error occurring in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, to perform specific control in the information processing device to disable the satellite communication function for performing communication using the satellite communication line; A control method characterized by having the following features.
[0156] (Item 20) Having a specified application program, An information processing device capable of performing communication using a satellite communication link and communication using a predetermined communication link different from the satellite communication link, An execution means for performing processing for communication with a communication device using the predetermined communication line, A first control means that, based on the occurrence of an error in communication with the communication device using the predetermined communication line initiated by the execution of the process by the predetermined application program, performs specific control to disable the satellite communication function for performing communication using the satellite communication line in the information processing device, An information processing device characterized by having the following features. [Explanation of Symbols]
[0157] 101 Terminal device 151 Communication equipment
Claims
1. A specified application program, A computer in an information processing device capable of performing communication using satellite communication lines and communication using predetermined communication lines different from satellite communication lines, An execution step which performs processing for communication with a communication device using the predetermined communication line, A first control step, based on an error occurring in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, to perform specific control in the information processing device to disable the satellite communication function for performing communication using the satellite communication line; A program characterized by causing the execution of a specific action.
2. A determination step in which a determination is made regarding the satellite communication line based on the occurrence of an error in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, Let's execute it further, If the result of the determination regarding the satellite communication line is the first result, the specific control is executed; if the result of the determination regarding the satellite communication line is the second result, the specific control is not executed. The program according to feature 1.
3. The determination concerning the aforementioned satellite communication link is whether or not the satellite communication link is connected to a satellite. If it is determined that the satellite communication line is connected to a satellite, the specific control is executed; if it is determined that the satellite communication line is not connected to a satellite, the specific control is not executed. The program according to feature 2.
4. The determination relating to the satellite communication line is whether or not the satellite communication function is set to be enabled in the information processing device. If it is determined that the satellite communication function is enabled in the information processing device, the specific control is executed; if it is determined that the satellite communication function is not enabled in the information processing device, the specific control is not executed. The program according to feature 2.
5. The aforementioned specific control includes a control to prompt the user to disable the satellite communication function in the information processing device. The program according to feature 1.
6. The aforementioned specific control includes control for displaying a settings screen for disabling the satellite communication function in the information processing device. The program according to feature 1.
7. The aforementioned settings screen is a screen displayed by an application program other than the predetermined application program, The aforementioned specific control includes the control of launching the other application program and causing the other application program to display the settings screen. L according to feature 6.
8. A second control step, based on an error occurring in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, to perform a predetermined control in the information processing device to disable the mobile data communication function for performing communication using a mobile data communication line that is different from the satellite communication line and different from the predetermined communication line, The program according to claim 1, characterized in that it further executes the following:
9. A first determination step, based on the occurrence of an error in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, performs a determination regarding the mobile data communication line. Let's execute it further, If the result of the determination regarding the mobile data communication line is the first result, the predetermined control is executed; if the result of the determination regarding the mobile data communication line is the second result, the predetermined control is not executed. The program according to feature 8.
10. A second determination step, based on the occurrence of an error in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, performs a determination regarding the satellite communication line. Let's execute it further, If the result of the determination regarding the satellite communication line is the third result, the specific control is executed; if the result of the determination regarding the satellite communication line is the fourth result, the specific control is not executed. If the result of the determination regarding the mobile data communication line is the second result, and the result of the determination regarding the satellite communication line is the fourth result, then the predetermined application program will display an error screen indicating that communication with the communication device is not possible. The program according to feature 9.
11. The communication with the communication device using the predetermined communication line is a communication for transmitting information to the communication device for connecting to an external access point of the information processing device. The program according to feature 1.
12. The communication with the communication device using the predetermined communication line is a communication to send at least one of the following to the communication device: a print job to cause the communication device to perform printing, and a scan job to cause the communication device to perform scanning. The program according to feature 1.
13. The instruction step further involves executing a predetermined instruction to the OS of the information processing device so that the predetermined communication line is identified as the communication line used for communication by the predetermined application program, Despite the execution of the predetermined instruction by the predetermined application program, the specific control is executed based on the fact that an error occurred in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program. The program according to feature 1.
14. The aforementioned predetermined communication line is a Wi-Fi communication line. The program according to feature 1.
15. The aforementioned communication device is a printer. The program according to feature 1.
16. The OS of the aforementioned information processing device is Android OS version 15 or later. The program according to feature 1.
17. The connection between the information processing device and the communication device via the predetermined communication line is a connection that does not go through an access point outside of the information processing device and outside of the communication device. The program according to feature 1.
18. The connection between the information processing device and the communication device via the predetermined communication line is an access point that is external to both the information processing device and the communication device, and is not connected to the Internet. The program according to feature 1.
19. Having a specified application program, A control method for an information processing device capable of performing communication using a satellite communication link and communication using a predetermined communication link different from the satellite communication link, An execution step which performs processing for communication with a communication device using the predetermined communication line, A first control step, based on an error occurring in communication with the communication device using the predetermined communication line, which is initiated when the process is executed by the predetermined application program, to perform specific control in the information processing device to disable the satellite communication function for performing communication using the satellite communication line; A control method characterized by having the following features.
20. Having a specified application program, An information processing device capable of performing communication using a satellite communication link and communication using a predetermined communication link different from the satellite communication link, An execution means for performing processing for communication with a communication device using the predetermined communication line, A first control means that, based on the occurrence of an error in communication with the communication device using the predetermined communication line initiated by the execution of the process by the predetermined application program, performs specific control to disable the satellite communication function for performing communication using the satellite communication line in the information processing device, An information processing device characterized by having the following features.
Citation Information
Patent Citations
Information processing device, control method, and program
JP2016127545A