Information processing device, control method, and program

The application program enhances usability by displaying a password screen before connection and using AccessorySetupKit to maintain stable connections and allow user selection, addressing disconnection issues in connecting communication devices to access points.

JP2026089884APending Publication Date: 2026-06-02CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-21
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing application programs for connecting communication devices to access points face usability issues, particularly when transitioning to the background, leading to potential disconnection of established Wi-Fi connections.

Method used

A predetermined application program displays a password input screen at a specific timing before connection establishment, ensuring the connection is maintained even if the application transitions to the background, and uses AccessorySetupKit to allow user selection of desired devices.

Benefits of technology

Improves the usability of application programs by ensuring stable connections and allowing user selection of preferred devices, preventing disconnections during the connection process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026089884000001_ABST
    Figure 2026089884000001_ABST
Patent Text Reader

Abstract

The objective is to improve the usability of application programs that perform processing to transmit information for connecting communication devices to access points. [Solution] The problem is solved by providing a program that performs a first display control step, which involves displaying a password input screen, including a first area for receiving a password from a user to connect to an external access point of the information processing device, at a predetermined timing that occurs after the predetermined application program is started and before a predetermined connection between the information processing device and the communication device is established.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] ,

[0006] , , , , , ,

[0005] , , , , ,

[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 of 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 transmitting information for connecting a communication apparatus to an access point becomes widespread, there is a demand for improving the usability of an application program that executes processing for transmitting information for connecting a communication apparatus to an access point.

[0005] Therefore, an object of the present invention is to improve the usability of an application program that executes processing for transmitting information for connecting a communication apparatus to an access point.

Means for Solving the Problems

[0006] The present invention relates to a predetermined application program for communicating with a communication device, wherein the application program causes a computer of an information processing device equipped with a predetermined operating system (OS) to display a password input screen, which includes a first area for receiving input from a user for a password to connect to an access point outside the information processing device, at a predetermined timing that occurs after the predetermined application program is started and before a predetermined connection between the information processing device and the communication device is established; an execution step for executing a process to establish the predetermined connection; and a first transmission step for transmitting setting information, which includes at least the password entered by the user on the password input screen, to the communication device via the predetermined connection, wherein the predetermined connection is a connection that cannot be controlled by a process executed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background, and when the setting information is received by the communication device, the communication device uses the setting information to connect to the access point. [Effects of the Invention]

[0007] According to the present invention, the usability of an application program that performs processing for transmitting information for connecting a communication device to an access point 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 terminal and communication equipment. [Figure 3] This flowchart shows an example of the first connection setup process. [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 flowchart shows an example of a process performed by a terminal device using a specified application. [Figure 8] This is an example of a confirmation screen. [Figure 9] This flowchart shows an example of a process in which a terminal device determines the method of connection setup using a predetermined application. [Figure 10] This flowchart shows an example of the process related to AccessorySetupKit in the second connection setup process. [Figure 11] This flowchart shows an example of the second connection setup process. [Figure 12] This is an example of a password confirmation screen. [Figure 13] This is an example of a password entry screen. [Figure 14] This flowchart shows an example of the process related to AccessorySetupKit in the second connection setup process. [Figure 15] This flowchart shows an example of the second connection setup process. [Figure 16] This is an example of a screen that displays instructions on how to switch the connection destination of a terminal device. [Figure 17] This is an example of a password confirmation and password entry screen. [Figure 18] This is an example of a notification screen designed to prevent a specific app from being moved to the background. [Modes for carrying out the invention]

[0009] <First Embodiment> The information processing device and communication device included in the communication system of this embodiment will be described. The information processing device is also referred to as a terminal device. In this embodiment, a smartphone is exemplified as the information processing device, but it is not limited thereto. As the information processing device, for example, various devices such as a personal computer (PC), a tablet terminal, a PDA (Personal Digital Assistant), a digital camera, etc. can be applied. Also, in this embodiment, a printer is exemplified as the communication device. The printer may be an inkjet printer that performs printing with ink or a laser beam printer that performs printing with toner. Also, the printer may be a full-color printer capable of color printing or a monochrome printer capable of only monochrome printing without color printing. Note that in this embodiment, the communication device is not limited to a printer, and any device capable of performing wireless communication with the information processing device can be applied as the communication device. As the communication device, for example, it can also be applied to a copier, a facsimile device, a scanner, a smartphone, a PC, a tablet terminal, a PDA, a digital camera, a music playback device, a TV, a smart speaker, a robot vacuum cleaner, an automatic rice cooker, a refrigerator, etc. In addition, it can also be applied to a multifunction device having a plurality of functions such as a copying function, a FAX function, a printing function, etc.

[0010] First, the system configuration for realizing this embodiment will be described. FIG. 1 is a diagram showing an example of the configuration of the communication system of this embodiment. This system is assumed to include a communication device 151, a terminal device 101, an access point (AP) 131, and an external server 171.

[0011] The terminal device 101 is the information processing device of this embodiment. The communication device 151 is the communication device of this embodiment. The AP 131 is an access point activated by an external device existing outside the terminal device 101 and outside the communication device 151. The external device is, for example, a wireless LAN (Local Area Network) router. The external server 171 is a server capable of providing services to the device connected to the AP 131 via the Internet.

[0012] In the situation where the communication device 151 and the terminal device 101 are connected to the AP 131, the LAN formed by the AP 131 includes the AP 131, the communication device 151, and the terminal device 101. On the other hand, the WAN (Wide Area Network) includes the AP 131 and the external server 171.

[0013] In the present embodiment, when the infrastructure connection described later is established, the terminal device 101 can communicate with the communication device 151 via the AP 131. Further, when the direct connection described later is established, the terminal device 101 can communicate directly with the communication device 151 without going through the AP 131. Hereinafter, the connection with the AP corresponds to the connection with the network formed by the AP. Note that one external device may activate a plurality of APs, and one external device may be able to form a plurality of networks simultaneously.

[0014] In this embodiment, the connection 141 between the terminal device 101 and AP131, and the connection 142 between the communication device 151 and AP131, are assumed to be connections based on the IEEE 802.11 series standard. Specifically, the communication method based on the IEEE 802.11 series standard is Wi-Fi (Wireless Fidelity) (registered trademark). The connection 143 between the terminal device 101 and communication device 151 is also assumed to be a connection based on the IEEE 802.11 series standard. However, the communication method used for connection 143 is not limited to this form, and may be, for example, Bluetooth (registered trademark) Low Energy (BLE), Bluetooth Classic, Wi-Fi Aware, Near Field Communication (NFC), etc. AP131 and the external server 171 can communicate via the Internet, and when AP131 is connected to the Internet, devices connected to AP131 (terminal device 101 and communication device 151) can also use the Internet. The connection 141 between terminal device 101 and AP131, and the connection 142 between communication device 151 and AP131, may be a wired LAN connection.

[0015] Next, the configuration of the information processing device of this embodiment and the communication device capable of communicating with the information processing device of this embodiment will be described with reference to the block diagram in Figure 2. In addition, the following configuration is described as an example in this embodiment, but this embodiment is applicable to devices that can communicate with a communication device and does not particularly limit the functions as shown in this figure.

[0016] The terminal device 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 camera 111, a wired communication unit 112, and the like. The CPU 103, ROM 104, RAM 105, etc. form the computer of the terminal device 101.

[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, touch panel, etc. Alternatively, the output interface 107 (described later) and the input interface 102 may have the same configuration, allowing for screen output and acceptance of user operations to be performed using the same configuration.

[0018] The CPU 103 is a system control unit that controls the entire terminal device 101. In this embodiment, the CPU 103 performs control of the display content (display control) on the display unit 108.

[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 terminal device 101 from an external source, 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. In this embodiment, the predetermined app is an app for communicating with the communication device 151 and configuring the connection settings for the communication device 151. Hereinafter, the predetermined app will be referred to as the predetermined app. The predetermined app may have other functions besides the function of configuring the connection settings for the communication device 151. Other functions specifically 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 performed by the OS are, more precisely, processes that the CPU 103 performs according to a program within the OS. Similarly, the processes described as being performed by the application are, more precisely, processes that the CPU 103 performs 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 terminal 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 terminal 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 terminal device 101. Alternatively, a soft keyboard with keys such as numerical input keys, mode setting keys, select 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 terminal 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, a connection method in which the terminal device 101 and the communication device 151 are directly connected without going through an external AP is called a direct connection. A connection method in which the terminal device 101 and the communication device 151 are connected via an external AP is called an infrastructure connection.

[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.

[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 terminal device 101 is a smartphone, the terminal device 101 does not need to have a wired communication unit 112.

[0028] 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.

[0029] The wireless communication unit 156 is configured to wirelessly connect to devices such as the terminal 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 terminal device 101. This AP can be connected to the wireless communication unit 109 of the terminal device 101. The wireless communication unit 156 may communicate directly with the terminal device 101 via AP156-a, or it may communicate with the terminal 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.

[0030] 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, storing a receive buffer for temporarily saving print information received from terminal devices such as the terminal device 101, as well as various other information.

[0031] 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.

[0032] The CPU 154 is the system control unit and controls the entire communication device 151.

[0033] Based on the information stored in the print engine 155 and RAM 153, and print jobs received from terminal devices 101, etc., an image is formed on a recording medium such as paper using a recording material such as ink, and the print result is output. At this time, since the amount of data transmitted from terminal devices 101, etc. is large and high-speed communication is required, the print jobs are received via a wireless communication unit 156 that can communicate at a higher speed than the short-range wireless communication unit 157.

[0034] The short-range wireless communication unit 157 is configured to communicate with devices such as the terminal 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.

[0035] 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.

[0036] The function control unit 160 manages the operation of the functions of the communication device 151, determining whether or not to operate them simultaneously.

[0037] 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.

[0038] The wired communication unit 162 is configured to connect via a wire to devices such as the terminal device 101 or AP131 and 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.

[0039] <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.

[0040] 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.

[0041] In software AP mode, one device (e.g., terminal device 101) acts as the client, requesting various services between the communicating devices (e.g., terminal device 101 and communication device 151). The other device implements the functions of an AP in Wi-Fi through software configuration. The software AP corresponds to the Wi-Fi base station, and the client corresponds to the 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 should be those specified in the Wi-Fi standard, and their explanation is omitted here.

[0042] 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.

[0043] <About infrastructure connection methods> Infrastructure connection is a connection configuration in which communication devices (e.g., terminal device 101 and communication device 151) are connected to an AP (e.g., 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.

[0044] 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.

[0045] In this embodiment, when the communication device 151 operates in 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 terminal device 101 has also established an infrastructure connection with the AP 131, then communication between the communication device 151 and the terminal device 101 is possible via the AP 131. 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, in order to communicate with the communication device 151 via AP131, the terminal device 101 recognizes and identifies that the communication device 151 belongs to the network formed by AP131 and to which the terminal device 101 belongs.

[0046] <About connection setup process> In this embodiment, the terminal 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 performed by wireless communication and is therefore also called cableless setup (CLS). Note that the connection setting process may also be performed by wired communication. The terminal 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 the connection setting process, and executes the connection setting process while operating in the connection setting mode described later. Details of the connection setting mode will be described later.

[0047] When the terminal 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. Information about AP131 includes, for example, the SSID (Service Set Identifier), password, and frequency band information.

[0048] On the other hand, when the terminal 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 terminal 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.

[0049] In this embodiment, a direct connection for connection setup is used between the terminal 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.

[0050] After the connection setup process establishes an infrastructure connection or a direct connection between the terminal device 101 and the communication device 151, communication becomes possible between the terminal device 101 and the communication device 151 via the established connection. Specifically, for example, the terminal 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 embodiment 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).

[0051] In the connection setup process performed by the specified application, SNMP (Simple Network Management Protocol) is used for communication between the terminal device 101 and the communication device 151.

[0052] <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.

[0053] When the communication device 151 starts operating in connection setting mode, it enables Wi-Fi 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 terminal device 101. Connection information (SSID and password) for connecting to the connection setting AP is pre-stored in a designated application installed on the terminal device 101. In other words, the terminal device 101 is assumed to be aware of the connection information for connecting to the connection setting AP in advance. Therefore, unlike the connection information for the AP activated 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 the AP. Note that in connection setting mode, the communication device 151 may connect to the terminal 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 configuration commands from the terminal device 101 via WFD communication. Furthermore, in connection configuration mode, the communication device may enable communication methods other than Wi-Fi, such as BLE communication. That is, the communication device 151 may perform the connection configuration process using a communication method other than Wi-Fi.

[0054] <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.

[0055] <AccessorySetupKitについて> AccessorySetupKit is a function that can be run on devices with iOS 18 and iPadOS® 18 or later versions of iOS, and facilitates the setup of communication with accessories via Bluetooth or Wi-Fi. In this embodiment, an accessory is a communication device that is present around the terminal device 101 and can communicate via Bluetooth or Wi-Fi. The setup for communication with an accessory involves the OS obtaining accessory information corresponding to the accessory. This accessory information includes the full SSID corresponding to the accessory.

[0056] The following describes the processes that each program executes during the execution of AccessorySetupKit.

[0057] In this embodiment, a predetermined application displays a predetermined button for executing processing related to the communication device 151. When the predetermined button is pressed, the predetermined application instructs the OS to execute AccessorySetupKit.

[0058] Specifically, the designated application gives the instruction by notifying the OS of a string indicating at least a part of the SSID of the accessory to be searched, and image data corresponding to the accessory to be searched.

[0059] Then, when the OS is instructed by a designated application to run AccessorySetupKit, it performs a search for accessories corresponding to SSIDs containing the string notified by the designated application.

[0060] After the OS finishes searching for accessories, it displays a screen showing the search results. This screen includes the full SSID of the accessories found and the corresponding image data. The image data corresponding to the accessories is the image data notified by a designated application. If multiple accessories corresponding to the above SSID are found, the screen is displayed in a way that allows the user to select one of them. Specifically, for example, if the area for selecting the first accessory found by the search is displayed on the screen, and the user initiates a slide operation, the OS controls the screen to display a new area for selecting the second accessory found by the search.

[0061] After a button is pressed to select one of the devices discovered by the OS as the device to be paired, the OS sends accessory information corresponding to the selected accessory to a designated application. Pairing refers to enabling connection with the terminal device 101.

[0062] Subsequently, the OS displays a screen indicating that the accessory is now available. This means that pairing with the accessory is complete. Once pairing is complete, the accessory is managed as a paired accessory. This screen includes a "Continue with app" button. When the "Continue with app" button is pressed, the OS notifies the designated app to terminate AccessorySetupKit and then terminates AccessorySetupKit's operation.

[0063] <Problems to be solved by this embodiment> As described above, in this embodiment, it is necessary to establish a connection between the communication device 151 and the terminal device 101 for connection setup processing. To establish this connection, a predetermined application instructs the OS to establish a connection between the communication device 151, which is operating in connection setup mode, and the terminal device 101 by calling a predetermined API for connection establishment instructions. The OS then performs a search for communication devices and establishes a connection between the discovered communication device and the terminal device 101. However, in the conventional method of instructing the OS to establish a connection using a predetermined API, if the OS discovers multiple communication devices based on the instruction, the terminal device 101 will connect to the communication device emitting the beacon with the strongest signal strength or the communication device that the terminal device 101 discovered first. As a result, there is a problem (Problem 1) that the terminal device 101 cannot connect to the communication device desired by the user. This problem can occur in both the Wi-Fi-based and Bluetooth-based connection setup methods.

[0064] To solve these problems, in this embodiment, a process using AccessorySetupKit is performed to connect the communication device 151 and the terminal device 101. In this configuration, where the connection between the communication device 151 and the terminal device 101 is established using the AccessorySetupKit process, if the OS discovers multiple communication devices, the user can select the desired device from among the discovered devices.

[0065] Furthermore, as mentioned above, it is also possible to use AccessorySetupKit for the connection between the communication device 151 and the terminal device 101. However, using AccessorySetupKit introduces the following new challenges.

[0066] As described above, in this embodiment, in order to connect the communication device 151 to the AP through the connection setting process, the terminal device 101 receives a password from the user via a predetermined application to be used to connect to the AP. The terminal device 101 then transmits the entered password to the communication device 151 via the predetermined application. The communication device 151 then connects to the AP using the received password. Thus, in this embodiment, the terminal device 101 needs to receive a password from the user via a predetermined application. At this time, the user needs to confirm the password before entering it, but since the setting application has a function to present the password to the user, the user may confirm the password from the setting application.

[0067] The settings app is a standard OS app that is pre-installed on the terminal device 101 without needing to be installed via a store app. Furthermore, it is an app for configuring various settings on the terminal device 101, including settings related to the terminal device 101's Wi-Fi connection and managing AP passwords.

[0068] For a user to check their password using the Settings app, they naturally need to launch the Settings app and bring it to the foreground. Therefore, for example, if a user performs an action to launch the Settings app while a specific app is running in the foreground, that app will be moved to the background. Actions to display the Settings app include, for example, displaying the home screen which contains the app icon for launching the Settings app, pressing the shortcut icon for launching the Settings app, or moving the Settings app running in the background to the foreground.

[0069] Incidentally, a specified application can control the Wi-Fi connection between terminal device 101 and communication device 151, which is established by instructions given by the specified application to the OS without using information obtained by executing AccessorySetupKit, so that it is not disconnected even if the specified application transitions to the background and a certain amount of time has passed. However, the specified application cannot control the Wi-Fi connection between terminal device 101 and communication device 151, which is established by instructions given by the specified application to the OS using information obtained by executing AccessorySetupKit, so that it is not disconnected even if the specified application transitions to the background and a certain amount of time has passed. In other words, the Wi-Fi connection between terminal device 101 and communication device 151 established based on information obtained by executing AccessorySetupKit is a connection that cannot be controlled by processes executed by the specified application so that it is not disconnected even if the specified application is made to transition to the background. As a result, the Wi-Fi connection between terminal device 101 and communication device 151, which was established by instructions given to the OS by a designated application using information obtained through the execution of AccessorySetupKit, is inevitably disconnected once a certain amount of time has elapsed since the designated application transitioned to the background.

[0070] In other words, in the configuration where AccessorySetupKit is used to establish a connection between terminal device 101 and communication device 151, there is a problem (Problem 2) that after a Wi-Fi connection is established based on the information obtained by executing AccessorySetupKit, if a designated application is moved to the background for reasons such as the user launching a settings application to verify the password, the Wi-Fi connection may be disconnected. Furthermore, if the Wi-Fi connection between terminal device 101 and communication device 151 is disconnected, even if the designated application returns to the foreground, it will not be able to perform the connection settings for communication device 151.

[0071] To address these issues, in this embodiment, after a Wi-Fi connection is established between the terminal device 101 and the communication device 151 based on information obtained by executing AccessorySetupKit, a process is executed to prevent a predetermined application from being moved to the background, at least until the connection setup process is completed.

[0072] Specifically, as the first method for solving the problem, a predetermined application displays a screen at a predetermined time to prompt the user to confirm the password for connecting to an external AP. The predetermined time is after the predetermined application has started, and before a predetermined connection is established between the terminal device 101 and the communication device 151. The predetermined connection is a Wi-Fi connection that cannot be controlled by processes executed by the predetermined application so as not to be disconnected even if the predetermined application is moved to the background. Furthermore, the predetermined connection is a Wi-Fi connection established using information obtained by the execution of AccessorySetupKit. Therefore, in this embodiment, in the following, the Wi-Fi connection between the terminal device 101 and the communication device 151 based on information obtained by the execution of AccessorySetupKit will be referred to as the predetermined connection.

[0073] Furthermore, as a second method for resolving the issue, a designated application displays a notification screen to prevent the application from being moved to the background during a predetermined period. The predetermined period includes at least a portion of the period during which a predetermined connection between the terminal device 101 and the communication device 151 is maintained.

[0074] <Regarding the processing performed by a predetermined application in this embodiment> Figure 9 is a flowchart showing an example of a process in this embodiment in which the terminal device 101 determines the method of connection setting processing using a predetermined application. Furthermore, each process in the flowchart of Figure 9 is realized, for example, by the CPU 103 loading a predetermined application stored in memory such as ROM 104 into RAM 105 and executing it.

[0075] In S901, a designated application searches for communication devices belonging to the Wi-Fi network by performing broadcasts and multicasts via the Wi-Fi network to which the terminal device 101 is connected.

[0076] In S902, it is determined whether or not a communication device was found through a search via the Wi-Fi network to which the terminal device 101 is connected (the search performed in S901). If the specified application determines that the result is YES, it proceeds to S903; if it determines that the result is NO, it proceeds to S904.

[0077] In S903, the designated application obtains information about the communication device discovered through a search via the Wi-Fi network to which the terminal device 101 is connected, and registers the communication device with the designated application. At this time, the designated application may automatically set the newly registered communication device as the selected communication device. After that, the designated application terminates processing and displays its home screen.

[0078] In S904, a specified application searches for a communication device that supports the connection setting function included as standard in the OS (hereinafter referred to as the OS standard connection setting function). The OS standard connection setting function is a function for sending infrastructure setting information to the communication device 151, and is a function that is pre-installed on the terminal device 101 and executed by a program provided by the OS vendor of the terminal device 101 (hereinafter referred to as the OS standard program). The OS standard program can obtain information from the OS that cannot be obtained by other application programs (for example, a password for connecting to the AP). Therefore, in the OS standard connection setting function, the password that was entered by the user before connecting to the access point 131 and was held by the OS is automatically obtained from the OS by the OS standard program and sent to the communication device 151. In other words, the OS standard connection setting function is a function that can send the password to the communication device 151 without user input to the terminal device 101 after the terminal device 101 has connected to the access point 131. For example, HTTP (HyperText Transfer Protocol) is used for communication between the terminal device 101 and the communication device 151 in the OS standard connection setting function.

[0079] In S905, the system determines whether a communication device has been found by searching using the OS's standard connection settings function. If the application determines the result is YES, it proceeds to S906; if it determines the result is NO, it proceeds to S910.

[0080] In the S906, a designated application executes the OS standard connection setting function. That is, the designated application launches an OS standard program and causes the OS standard program to execute the OS standard connection setting function.

[0081] In S907, similar to S901, the terminal device 101 searches for communication devices via the Wi-Fi network to which it is connected.

[0082] In S908, it is determined whether or not a communication device has been found through a search via the Wi-Fi network to which the terminal device 101 is connected (the search performed in S907). If the specified application determines that the result is YES, it proceeds to S909. If the result is NO, the specified application terminates processing and displays the home screen of the specified application.

[0083] In S909, similar to S903, the designated application registers the communication device 151 discovered through this search with the designated application. After that, the designated application terminates processing and displays the home screen of the designated application.

[0084] In S910, a predetermined application determines whether the OS version of the terminal device 101 is a specific version or higher. The specific version is the OS version that supports AccessorySetupKit. In this embodiment, the OS of the terminal device 101 is iOS® or iPadOS®. Specifically, the specific version is either iOS 18 or iPadOS 18. If the predetermined application determines YES, it proceeds to S911; if it determines NO, it proceeds to S912.

[0085] In S911, a specified application determines whether the AP to which the terminal device 101 is connected supports the 2.4GHz frequency band. In this process, if the specified application determines it is YES, it proceeds to S913; if it determines it is NO, it proceeds to S912.

[0086] In S912, the specified application performs the first connection setup process. Then, in S913, the specified application performs the second connection setup process.

[0087] As described above, in this embodiment, the processing of S910 and S911 controls whether to execute the first connection setting process or the second connection setting process based on predetermined conditions. The predetermined conditions are that the OS of the terminal device 101 is iOS 18 or later or iPadOS 18 or later, and that the AP to which the terminal device 101 is connected at the timing of S911 supports the 2.4GHz frequency band.

[0088] Once either process is completed, the designated application terminates its processing and displays its home screen. Details of the connection setting process described above will be explained later. Here, we will explain why the execution of the first connection setting process or the second connection setting process is controlled depending on whether the AP to which the terminal device 101 is connected supports the 2.4GHz frequency band. In this embodiment, at the timing of S911, the AP to which the terminal device 101 is connected may be identified as the AP to which the communication device 151 is connected. As will be explained later, in this embodiment, the designated application obtains a list of APs discovered by the search performed by the communication device 151 from the communication device 151. The designated application then determines whether the AP to which the communication device 151 is connected is included in the above list. In the second connection setting process, we want to avoid a situation where the AP to which the communication device 151 is connected is not included in the above list. In other words, we want to avoid a situation where the AP to which the communication device 151 is connected is not included in the above list. This means that users cannot select an AP whose password has already been verified, and are forced to choose one from the APs included in the list above. As a result, after the intended connection is established, they need to re-verify the password of the selected AP in the settings app. When the settings app is launched to verify the password, the intended app moves to the background. Consequently, the intended connection may be disconnected, and the connection setup process may fail.

[0089] However, for example, a communication device may be capable of 2.4GHz communication but not 5GHz communication. In this case, the list of APs indicated by the acquired information will include APs that support 2.4GHz communication but not APs that support 5GHz communication. As a result, if the AP to which terminal device 101 is connected at the time S911 is executed supports the 5GHz frequency band, and an AP that supports the 5GHz frequency band is identified as an AP to which communication device 151 can connect, then the list will not include the AP to which communication device 151 can connect. Therefore, by executing the second connection setting process only when the AP to which terminal device 101 is connected at the time S911 is executed supports the 2.4GHz frequency band, it is possible to suppress the situation in which the list of APs acquired from the communication device does not include the AP to which communication device 151 can connect. Consequently, it is possible to suppress the need to reconfirm or enter the AP password after a predetermined connection. In other words, it is possible to suppress the transition of a predetermined application to the background in order to confirm the password of the AP identified as a target for communication device 151 to connect.

[0090] Figure 3 is a flowchart showing an example of the first connection setup process in this embodiment. In this embodiment, the OS of the terminal device 101 is iOS or iPadOS. In this case, in the first connection setup process, there are two types of connections for the terminal device 101 established by the instructions of a predetermined application. The first type is a connection that is disconnected based on the predetermined application being moved to the background (hereinafter referred to as the first type of connection). The second type is a connection that is not disconnected even if the predetermined application is moved to the background (hereinafter referred to as the second type of connection). Specifically, the first type of connection is disconnected by the OS based on the predetermined time (for example, 15 seconds) that has elapsed while the predetermined application remains in the background. The second type of connection is maintained without being disconnected by the OS even if the predetermined time has elapsed while the predetermined application remains in the background. In the first connection setup process, the predetermined application displays a screen prompting the user to confirm the password on the Wi-Fi settings screen displayed by the settings application, after the connection between the communication device 151 operating in connection setup mode and the terminal device 101 is established. The Wi-Fi settings screen is a screen used to configure settings related to the Wi-Fi connection of the terminal device 101, among the various settings that the settings application can execute. When the user launches the settings application according to the instructions on that screen, the application is moved to the background. As a result, the connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101 is disconnected. Therefore, in this embodiment, the connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101 is controlled to become a Type 2 connection. In this embodiment, the Type 2 connection established by the first connection setting process corresponds to a connection established without using information obtained by the execution of AccessorySetupKit.

[0091] Each step in the flowchart of Figure 3 is implemented, for example, by the CPU 103 loading a predetermined application stored in memory such as ROM 104 into RAM 105 and executing it. The flowchart of Figure 3 is also started based on an operation performed on the screen displayed by the predetermined application to execute the connection setting process. The flowchart of Figure 3 may also be started when the predetermined application is launched.

[0092] In S301, the specified application obtains and saves information about the AP to which the selected communication device 151 is currently connected via Wi-Fi from the selected communication device 151. 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 obtained here includes the SSID and password. The information of the specific AP is obtained, for example, via the infrastructure connection or direct connection between the terminal device 101 and the communication device 151. If the terminal 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 obtained. The timing of obtaining the information of the specific AP is not limited to this timing. For example, the acquisition of the information of the specific AP may be performed at a time before the flowchart in Figure 3 starts, based on the launch of the specified application, in which case the processing in S301 is skipped. The information of the specific AP may also be information that was acquired and saved by the specified application at a past time when communication with the selected communication device 151 was possible. Furthermore, the stored information may be retrieved at the timing of S301.

[0093] In S302, the designated application obtains and saves information about the AP to which terminal device 101 is currently connected via Wi-Fi from the OS. The AP to which terminal device 101 is currently connected via Wi-Fi is, in other words, the AP to which terminal 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 receiving an operation to execute the connection setting process or launching the designated application. Hereafter, the AP to which terminal device 101 is connected via Wi-Fi at the time of S301 will be referred to as the designated AP. The AP to which terminal device 101 is connected via Wi-Fi at the time of S301 corresponds to the AP to which terminal device 101 is connected via Wi-Fi when the flowchart in Figure 9 is started. The AP information obtained here is information that the designated application can obtain from the OS from among various AP-related information, specifically, for example, the SSID. If terminal device 101 is not currently connected to an AP via Wi-Fi, the information of the designated AP is not obtained.

[0094] In S303, a specified application executes a process to establish a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101. Specifically, the specified application instructs the OS to establish a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101. More specifically, the specified application calls the first API (Application Programming Interface) for establishing a connection with the terminal device 101, 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 terminal device 101. The communication device 151 to which the terminal device 101 connects through this process is the first communication device 151 found by the search performed in the process of S303.

[0095] In this embodiment, a predetermined application establishes a connection to the terminal device 101 that is established by the instructions of the predetermined application, and this connection is not disconnected even if the predetermined application is moved to the background. This connection is maintained without being disconnected by the OS even if a predetermined amount of time has elapsed while the predetermined application remains in the background. Specifically, in S303, the predetermined application calls the first API while setting a flag to instruct the OS to establish the above connection. As a result, the OS establishes a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101. As a result, even if a predetermined amount of time has elapsed since the predetermined application started operating in the background, the connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101 will not be disconnected.

[0096] In S304, a specified 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 communication using 2.4GHz but not 5GHz, 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.

[0097] In S305, the specified 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 specified application determines YES, it proceeds to S306; if it determines NO, it proceeds to S309.

[0098] In S306, the specified application displays information about the specified AP and displays a confirmation screen to ask the user whether to set the communication device 151 to connect to the specified AP. The information displayed here is the information saved in S302, for example, the SSID of the specified AP.

[0099] In S307, the specified application determines whether or not to send information about the specified AP to the communication device 151. In other words, this determination determines whether the user has confirmed that the communication device 151 will connect to the specified AP. Therefore, if an input indicating that the communication device 151 will connect to the specified AP is given on the confirmation screen, the determination is YES, and the specified AP is identified as the communication device 151's connection target. If an input indicating that the communication device 151 will not connect to the specified AP is given on the confirmation screen, the determination is NO. If the specified application determines YES, it proceeds to S308; if it determines NO, it proceeds to S313.

[0100] In S308, the specified application determines whether the specified AP matches a specific AP. If the specified AP matches a specific AP, the specified application holds the password for the specified AP. Therefore, this determination determines whether the specified application holds the password for the specified AP. In other words, this determination determines whether the password for the specified AP is stored in a storage area accessible to the specified application. If the specified application determines YES, it proceeds to S312 and sends the information of the specified AP to the communication device 151. If it determines NO, it proceeds to S319 and displays the password input screen.

[0101] 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 that determines whether the specified AP corresponds to the AP that is stored in a storage area accessible by the specified application. In this configuration, a case where the determination is YES is, for example, a case in which, in a connection setup process previously performed by the specified application, the password for connecting to the specified AP was entered by the user into the specified 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 performed by the specified application, the password for connecting to the specified AP was never entered by the user into the specified application.

[0102] In S309, which is executed when the result of S305 is NO, the specified 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 specified application determines it is YES, it proceeds to S310; if it determines it is NO, it proceeds to S313.

[0103] In S310, a designated application displays information about a specific AP and shows a confirmation screen to the user asking whether 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.

[0104] In S311, the specified application determines whether or not to send information about a specific AP to the communication device 151. In other words, this determination determines whether 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 specified application determines YES, it proceeds to S312; if it determines NO, it proceeds to S313.

[0105] In S312, the specified 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. The AP identified as the target of the connection is either the specified AP or a specific AP. In other words, the password transmitted here is the password for the specific AP, and is the password obtained from the communication device 151 in S301. To put it another way, the password transmitted here is the password held by the specified application (the password held in a storage area accessible to the specified application). Therefore, after the target of the communication device 151 is identified, the specified application transmits the password to the communication device 151 without accepting password input from the user. After the information for connecting to the AP identified as the target of the communication device 151 is transmitted 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 the connection setup mode ends, the connection between the communication device 151 and the terminal device 101 is also disconnected. The terminal device 101 reconnects to the designated AP, which is the AP to which the terminal device 101 was connected before connecting to the communication device 151, using the OS's reconnection function. After that, the designated 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 via the Wi-Fi network to which the terminal device 101 is connected.

[0106] 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.

[0107] In S313, the designated 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 in the list, that AP is identified as the connection target for the communication device 151. If not, the user operates the direct connection button.

[0108] In S314, the specified application determines whether the direct connection button has been operated. If the specified application determines that the answer is YES, it proceeds to S315; otherwise, it proceeds to S318.

[0109] In S315, a specified application performs a process to establish a direct connection between the communication device 151 and the terminal device 101. Specifically, the specified 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 specified application then instructs the OS to establish a connection between the communication device 151, which is operating in direct connection mode, and the terminal device 101. More specifically, the specified application identifies the SSID of the communication device 151, which is operating in direct connection mode, from the received connection information. The specified application then calls a first API to establish a connection with the terminal device 101, setting at least a part of the string of the identified SSID as an argument. The OS then searches for a device with an SSID containing that string and displays a confirmation screen asking whether to establish a direct connection between the found device (the communication device 151 operating in direct connection mode) and the terminal device 101. In this process, a specified application may call the first API while setting a flag to instruct the OS to establish a connection that will not be disconnected even if the specified application is moved to the background. In other words, a direct connection between the communication device 151 and the terminal device 101 may be established as a Type 2 connection. However, the application is not limited to this form, and in this process, a specified application may call the first API without setting the flag, and a direct connection between the communication device 151 and the terminal device 101 may be established as a Type 1 connection.

[0110] In S316, the specified application determines whether a user operation 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 specified application receives a notification from the OS indicating which operation was performed on the confirmation screen displayed by the OS. If a user operation indicating the establishment of a direct connection is performed, the OS establishes the direct connection; however, if a user operation indicating not to establish a direct connection is performed, the OS does not establish the direct connection. If the specified application determines the result is YES, it proceeds to S327; if it determines the result is NO, it proceeds to S317.

[0111] In S317, the designated 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 designated application copies the password of the communication device 151 operating in direct connection mode and saves it to the clipboard of the terminal device 101. Once the password of the communication device 151 operating in direct connection mode is copied, the user can easily enter the password in the settings application, and the settings 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 settings application, and messages prompting the user to operate the complete button 404 when the direct connection has been established. If the completion button 404 is pressed, the specified application proceeds to S327. However, the process 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 via the Wi-Fi network to which the terminal device 101 is connected.

[0112] In S318, which is executed when the result of S314 is NO, the specified application determines whether any AP has been selected by the user from the displayed list of APs. If the specified application determines it is YES, the selected AP from the list of APs is identified as the target for connection to the communication device 151, and the process proceeds to S319. If it determines it is NO, the process returns to S314 and waits for an operation to be accepted.

[0113] In S319, the specified application displays a password input screen to accept input of a password for connecting to the AP identified as the connection target for 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, a password confirmation button 503, a button 504 for other connection methods, a cancel button 505, and an OK button 506. The SSID display area 501 is an area that displays the SSID of the AP identified as the connection target for 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 for the communication device 151. The AP identified as the connection target is a specified AP or an AP selected from the list of APs displayed in S313. The password confirmation button 503 is a button related to the function of displaying the password on the Wi-Fi settings screen by the settings application. Button 504 for other connection methods is a button for displaying a manual for other connection methods. In this embodiment, other connection methods refer to connection methods other than the method by which a predetermined application transmits configuration information to the communication device 151 to establish a connection between the communication device 151 and other devices. In other words, other connection methods are methods of establishing a connection between the communication device 151 and other devices by means other than the method by which a predetermined application transmits configuration information to the communication device 151.

[0114] Depending on the OS version of terminal device 101, the settings app may not be able to display the password for the AP to which terminal device 101 is currently connected, or the passwords for APs that terminal device 101 has previously connected, on the Wi-Fi settings screen. Specifically, for example, if the OS of terminal device 101 is an iOS version lower than 16 or an iPadOS version lower than 16, the settings app will not be able to display the above passwords on the Wi-Fi settings screen. Therefore, in S319, a designated app may identify the OS version of terminal device 101 and determine whether the identified version is one to which the settings app cannot display the above passwords on the Wi-Fi settings screen. If the result of the determination is YES, the designated app will display a password input screen that does not include the password confirmation button 503. If the result of the determination is NO, the app may display a password input screen that includes the password confirmation button 503. The password input screen that does not include the password confirmation button 503 will include other buttons and areas on screen 500. That is, the button 504 for other connection methods will be displayed regardless of the OS version. For example, if a particular app only supports OS versions that allow the above password to be displayed on the Wi-Fi settings screen via the settings app, then it is not necessary to perform version detection or control to switch the display screen based on the version detection result.

[0115] In S320, the specified application determines whether or not it has received a user response to the cancel button 505. If the specified application determines that it has received a response, it proceeds to S313 to display a list of applications; if it determines that it has received a response, it proceeds to S321.

[0116] In S321, the specified application determines whether or not it has received a user input to the password confirmation button 503. If the specified application determines that it is YES, it proceeds to S322; if it determines that it is NO, it proceeds to S323.

[0117] In S322, the designated application displays a screen for password confirmation. In this embodiment, the password confirmation screen is a designated screen that shows how to check the AP password on the Wi-Fi settings screen displayed by the settings application. An example of the screen displayed in this process is shown in Figure 6. 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 designated application based on information that the designated application has in advance. A web browser is, for example, an internal browser of the designated application or a browser of a browser application different from the designated 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.

[0118] Figure 6 shows a password confirmation screen displayed in a designated application. Screen 600 includes an area 601 that shows how to check the AP password on the Wi-Fi settings screen displayed by the settings application (hereinafter referred to as the password confirmation method), and an OK button 602. Area 601 displays text indicating the password confirmation method, which shows the operation to check the password on the Wi-Fi settings screen. Area 601 may also display the SSID of the AP identified as the connection target for the communication device 151. The AP identified as the connection target is a designated AP or an AP selected from the list of APs displayed in S313. Area 601 may also display text prompting the user to return to the designated application (bring the designated application back to the foreground) after checking the password. After checking the text, the user launches the settings application from the home screen of the terminal device 101, etc., and checks the password by performing the operation indicated by the text. After checking the password, the user runs the designated application in the foreground again, operates button 602, and enters the password on the designated application. Furthermore, all devices equipped with iOS or iPadOS of a specified version or higher have a function to check the password on the Wi-Fi settings screen. Therefore, screen 600 does not include buttons for other connection methods. However, it is not limited to this configuration, and screen 600 may also include buttons for other connection methods. Also, on devices equipped with iOS or iPadOS, the settings app cannot be launched by instructions from a specified app. Therefore, screen 600 does not include a button to display the Wi-Fi settings screen. However, it is not limited to this configuration, and if it becomes possible to launch the settings app by instructions from a specified app on devices equipped with iOS or iPadOS, then screen 600 may also include a button to display the Wi-Fi settings screen. When button 602 is operated, the specified app proceeds to S319.

[0119] In S323, which is executed when the result of S321 is NO, the specified application determines whether or not it has received a user input for a button for another connection method. If the specified application determines it is YES, it proceeds to S324; if it determines it is NO, it proceeds to S325. Details of the processing in S324 will be described later.

[0120] In S325, the specified application determines whether it has received a user input to the OK button 506 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 specified 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.

[0121] In S326, the specified 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 here 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. The AP identified as the target of the connection is either the specified AP or an AP selected from the list of APs displayed in S313. 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 the connection setting mode and connects to the AP identified as the target of the communication device 151 using the received information. As the connection setting mode is exited, the connection between the communication device 151 and the terminal device 101 is also disconnected. The terminal device 101 reconnects to the specified AP, which is the AP to which the terminal device 101 was connected before connecting to the communication device 151, using the OS's reconnection function. After that, the specified application proceeds to S327.

[0122] In S327, the specified application searches for the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected. For example, if the AP identified as the connection target for the communication device 151 is the specified AP, both the communication device 151 and the terminal device 101 will connect to the specified AP, and the communication device 151 will be found through this search. However, there are cases where the AP identified as the connection target for the communication device 151 is not the specified AP, and the communication device 151 connects to the AP that is not the specified AP, or where the entered password was incorrect, causing the communication device 151 to fail to connect to the AP. In these cases, the communication device 151 will not be found through this search. If the communication device 151 is found through this search, the application obtains information about the communication device 151 from the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected, and registers the communication device 151 in the specified application. At this time, the specified application may automatically set the newly registered communication device 151 as the selected communication device 151. After that, the designated app finishes processing and displays the app's home screen.

[0123] Figure 7 is a flowchart showing an example of processing performed by a predetermined application in this embodiment. Each process in the flowchart of Figure 7 is realized, for example, by the CPU 103 loading a predetermined application stored in memory such as ROM 104 into RAM 105 and executing it. The processing in this flowchart corresponds to the processing in S324.

[0124] In S701, a designated 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 terminal device 101 is also disconnected. The terminal device 101 then uses the OS's reconnection function to reconnect with the designated AP, which is the AP to which the terminal device 101 was connected before connecting with the communication device 151.

[0125] In S702, a predetermined application displays a confirmation screen to ask the user whether the initial setup operation for the communication device 151 has been completed. The initial setup operation for the communication device 151 is an operation performed when the communication device 151 is first powered on (upon arrival). In this embodiment, the initial setup operation includes, for example, removing the orange tape from the communication device 151, attaching the print head to the communication device 151, replenishing recording material (ink or toner) to the communication device 151, replenishing paper to the communication device 151, and setting the date and time for the communication device 151. In addition, the initial setup process, which is a process performed by the communication device 151 in conjunction with the initial setup operation, includes, for example, print head cleaning, paper detection, registration process (register adjustment process) which is a process to adjust the ink landing position on the paper during printing, and starting operation in connection setting mode. Therefore, the confirmation screen can also be said to be a screen to ask the user whether the initial setup process by the communication device 151 has been completed. Note that the operations included in the initial setup process and the processes included in the initial setup procedure are not limited to this form and may differ depending on the type of communication device 151, the printing method, etc. An example of the screen displayed in this process is shown in Figure 8.

[0126] Screen 800 includes a message 801, a No button 802, and a Yes button 803. Message 801 includes a message informing the user that initial setup operations for the communication device 151 must be completed in order to try other connection methods, and a message confirming whether initial setup operations for the communication device 151 have been completed. If the initial setup operations for the communication device 151 have been completed, the user presses the Yes button 803; if the initial setup operations for the communication device 151 have not been completed, the user presses the No button 802.

[0127] In S703, the specified application determines whether or not it has received a user response to the Yes button 803. If a user response to the No button 802 has been received, the result of this determination is NO. If the specified application determines it is YES, it proceeds to S707; if it determines it is NO, it proceeds to S704.

[0128] In S704, a designated application determines whether the terminal device 101 is connected to the internet. As described above, when the connection between the communication device 151 and the terminal device 101 is disconnected in S701, the OS of the terminal device 101 performs a reconnection process. However, operations on the confirmation screen may be performed before the reconnection with the Wi-Fi AP is completed. In other words, operations on the confirmation screen may be performed while the terminal device 101 is not connected to the internet via the Wi-Fi AP. In this case, the web page cannot be displayed in the process of S706. This determination is performed in the process of S705 in order to display the web page correctly. Specifically in this process, the designated application calls an API to check whether the terminal device 101 is connected to the internet and receives a notification from the OS indicating whether the terminal device 101 is connected to the internet. The designated application then performs this determination based on the content of the received notification. The notification from the OS indicates that the terminal device 101 is connected to the internet when the terminal device 101 is connected to the internet via the Wi-Fi AP. Furthermore, the notification from the OS may indicate that terminal device 101 is connected to the internet even if terminal device 101 is not connected to the internet via Wi-Fi connection to an AP, but is connected to the internet via mobile data communication. Also, the processing in this determination is not limited to the above form. For example, in this determination, an API may be called to check the SSID of the AP to which terminal device 101 is currently connected, and a notification may be received from the OS indicating the SSID of the AP to which terminal device 101 is currently connected. Then, the designated application determines YES in this determination if the received notification indicates an SSID different from the SSID of the AP enabled by the communication device 151 operating in connection setting mode. If the received notification indicates an SSID of the AP enabled by the communication device 151 operating in connection setting mode, the application may determine NO in this determination. In other words, this determination may also be a determination of whether terminal device 101 is currently connected to an AP different from the AP enabled by the communication device 151 operating in connection setting mode.Furthermore, the specified application may determine "YES" in this determination if the received notification indicates the SSID of a specified AP, and "NO" in this determination if the received notification indicates a different SSID. If the specified application determines "YES", it proceeds to S706; if it determines "NO", it proceeds to S705.

[0129] In S705, the specified application determines whether the time elapsed since the operation on the confirmation screen displayed in S702 was accepted has exceeded a predetermined threshold. That is, the specified application determines whether the time elapsed since the operation on the confirmation screen displayed in S702 was accepted has timed out. The predetermined threshold is, for example, 10 seconds. If the specified application determines YES, it proceeds to S706; if it determines NO, it returns to S704.

[0130] In S706, a specified application executes a process to display a manual for initial setup operations for the communication device 151. Specifically, the specified application displays a web page containing the manual for initial setup operations for the communication device 151 using its internal browser (in-app browser). The information required to display this web page is obtained from a specified server via an internet connection. Therefore, if the communication device 151 is connected to the internet, the web page is successfully displayed. If the communication device 151 is not connected to the internet, the web page is not displayed successfully, and a screen notifying the user that the communication device 151 is not connected to the internet is displayed by the browser. In this embodiment, by displaying the web page using the internal browser of the specified application, the specified application can continue to operate in the foreground. The manual for initial setup operations for the communication device 151 includes content that sequentially explains to the user the specific operation methods for each operation to be performed as part of the initial setup operations for the communication device 151. The specified application may also display a web page for selecting the model of the communication device 151 before displaying the web page containing the manual for initial setup operations for the communication device 151. Furthermore, once a model is selected on that page, a manual for initial setup procedures corresponding to the selected model may be displayed. The manual for initial setup procedures for the communication device 151 may be displayed by an external browser of the specified application, rather than the application's internal browser. In this case, the external browser displaying the manual will be moved to the foreground, and the specified application will be moved to the background. Also, the manual for initial setup procedures for the communication device 151 may not be displayed as a web page obtained via the internet, but rather as content pre-installed by the specified application without using a browser. The screen displayed by the application's internal browser can be closed by the user using the close button on that screen.Furthermore, the screen displayed by the internal browser of the specified application is displayed on top of the confirmation screen shown in S702. Therefore, when the screen displayed by the internal browser of the specified application is closed, the terminal device 101 becomes able to accept operations on the confirmation screen again. For this reason, after this process, the process returns to S703.

[0131] In the above description, the process proceeds to S706 only if the result of S705 is YES. However, the process is not limited to this configuration. If the result of S705 is YES, the specified application may, without attempting to display a web page via a browser, display a message on the application's screen indicating that the communication device 151 is not connected to the internet.

[0132] In S707, which is executed when the result of S703 is YES, the specified application determines whether the terminal device 101 is connected to the internet. This process is the same as in S704. If the specified application determines it is YES, it proceeds to S709; if it determines it is NO, it proceeds to S708.

[0133] In S708, the specified application determines whether the time elapsed since the operation on the confirmation screen displayed in S702 was accepted exceeds a predetermined threshold. This process is the same as in S705. If the specified application determines it is YES, it proceeds to S709; if it determines it is NO, it returns to S707.

[0134] In S709, a designated application executes a process to display a manual on other connection methods. Specifically, the designated application displays a web page containing a manual on other connection methods using its internal browser (in-app browser). The information required to display this web page is obtained from a designated server via an internet connection. Therefore, if the communication device 151 is connected to the internet, the web page is successfully displayed. If the communication device 151 is not connected to the internet, the web page is not displayed successfully, and a screen notifying that the communication device 151 is not connected to the internet is displayed by the browser. In this embodiment, by displaying the web page using the internal browser of the designated application, the designated application can continue to operate in the foreground. The manual on other connection methods includes content that explains specific operating procedures for establishing a connection between the communication device 151 and the AP using other connection methods. Specifically, other connection methods include, for example, a method in which the communication device 151 displays a list of APs discovered by the communication device 151 through a search on the screen of the communication device 151, and establishes a Wi-Fi connection between the communication device 151 and the AP selected by the user from the displayed list. Other connection methods include, for example, establishing a Wi-Fi connection between the AP and the communication device 151 using WPS (Wi-Fi Protected Storage). Other connection methods also include, for example, establishing a wired LAN connection between the AP and the communication device 151 using a wired LAN cable. The specified application may display a web page for selecting the model of the communication device 151 before displaying a web page displaying a manual for initial setup operations for the communication device 151. Once a model is selected on that page, a manual for other connection methods corresponding to the selected model may be displayed. The manual for other connection methods for the communication device 151 may be displayed by an external browser of the specified application, rather than the application's internal browser.In that case, the external browser displaying the manual will be brought to the foreground, and the designated application will be moved to the background. Furthermore, manuals for other connection methods may be displayed by the designated application without using a browser, rather than being displayed as web pages retrieved via the internet, as content already included in the application.

[0135] In S710, a specified application displays a search screen for searching for communication devices 151 via the Wi-Fi network to which the terminal device 101 is connected. The display of the search screen is performed under the internal browser while a web page is being displayed by the internal browser. Therefore, if the internal browser is closed by pressing the close button, the search screen will be displayed. The search screen includes a button to instruct the user to start searching for communication devices 151 via the Wi-Fi network to which the terminal device 101 is connected. When this button is pressed, the specified application searches for communication devices 151 via the Wi-Fi network to which the terminal device 101 is connected. It then displays a list of communication devices 151 found through the search. The specified application displays only the communication device 151 that corresponds to the specified application from among the multiple communication devices 151 found through the search. The communication device 151 that corresponds to the specified application is the communication device 151 provided by the vendor that provides the specified application. It is also possible that the search is performed in a manner such that only communication devices 151 provided by the vendor that provides the specified 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 designated application obtains information about the selected communication device 151 from the selected communication device 151 via the Wi-Fi network to which the terminal device 101 is connected. Then, the selected communication device 151 is registered with the designated application. After that, the process of this flowchart ends.

[0136] Figure 11 is a flowchart showing an example of the second connection setting process in the first embodiment. Each process in the flowchart of Figure 11 is realized, for example, by the CPU 103 loading a predetermined application stored in memory such as ROM 104 into RAM 105 and executing it.

[0137] In S1101, similar to S301, a designated application retrieves and saves a specific AP.

[0138] In S1102, a predetermined application obtains and saves a predetermined AP from the OS. In this embodiment, the predetermined AP in the second connection setting process is the AP to which the terminal device 101 is connected via Wi-Fi at the time of S1101.

[0139] In S1103, a predetermined application performs a process to establish a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101. The details of this process are shown in the flowchart in Figure 10, so a detailed explanation is omitted here.

[0140] Figure 10 is a flowchart showing an example of the processing related to AccessorySetupKit in the second connection setting process (S1103 in Figure 11) in this embodiment. Furthermore, each process in the flowchart of Figure 10 is realized, for example, by the CPU 103 loading a predetermined application stored in memory such as ROM 104 into RAM 105 and executing it.

[0141] In S1001, a designated application controls paired accessories to be treated as unpaired accessories by causing the Settings application to delete the information used to manage them as paired accessories. Note that when AccessorySetupKit is executed, communication devices managed as paired accessories will not be found by the OS when searching for accessories in the future. Therefore, the designated application instructs the OS to delete paired communication devices before searching for accessories. As a result, communication devices managed as paired accessories are removed from the list of paired accessories displayed by the Settings application.

[0142] In S1002, the specified application instructs the OS to execute AccessorySetupKit. In other words, instructing the OS to search for the communication device 151 operating in connection setting mode. Specifically, in this process, the specified application notifies the OS of a string indicating at least a part of the SSID of the accessory to be searched and image data corresponding to the accessory to be searched, and calls a second API to search for the accessory.

[0143] The SSID of a communication device operating in connection setting mode consists of a common string shared by multiple communication devices provided by a certain vendor and an individual string that differs for each communication device. The common string may differ for each vendor and be based on the vendor's name, the name or model name of the communication device, or the model number. The individual string may be a random string or the serial number of the device. In this process, the string notified to the OS from the designated application is the common string included in the SSID of the communication device operating in connection setting mode, and the individual string is not notified.

[0144] In S1003, the designated application receives accessory information from the OS. This accessory information includes the full SSID corresponding to the accessory. The process then proceeds to S1004.

[0145] In S1004, the specified application determines whether AccessorySetupKit has terminated. Specifically, in this determination, the specified application determines whether it has received a notification from the OS that AccessorySetupKit will terminate. If it has received such a notification, it determines that AccessorySetupKit has terminated; otherwise, it determines that AccessorySetupKit has not terminated. If the result of this determination is YES, the specified application proceeds to S1005. If it is NO, it terminates processing and displays the home screen.

[0146] In S1005, the designated application displays information about the AP to which the terminal device 101 is currently connected, and displays a confirmation screen to ask the user whether to set the communication device 151 to connect to the above AP. The AP to which the terminal device is connected is the designated AP. Therefore, the information displayed here is the information saved in S1102 in Figure 11, for example, the SSID of the designated AP.

[0147] In S1006, the specified application determines whether or not to designate a specified AP as the connection target for the communication device 151. In other words, this determination determines whether or not the user has confirmed that the communication device 151 will be connected to a specified AP. Therefore, if an input indicating that the communication device 151 will be connected to a specified AP is given on the confirmation screen, the determination is YES, and the specified AP is identified as the connection target for the communication device 151. If an input indicating that the communication device 151 will not be connected to a specified AP is given on the confirmation screen, the determination is NO. If the specified application determines YES, it proceeds to S1007; if it determines NO, it proceeds to S1009.

[0148] In S1007, the specified application determines whether the specified AP matches a specific AP. The details of this process are shown in S308, so the explanation is omitted here. If the specified application determines YES, it proceeds to S1010 without performing the process of displaying a password confirmation screen, such as in S1008 or S1009. If it determines NO, it proceeds to S1008.

[0149] S1008 indicates that the specified application will display a screen for password confirmation. An example of the screen displayed in this process is the same as in Figure 6, and includes an area 601 showing the password confirmation method and an OK button 602. Note that area 601 is not limited to the area showing the password confirmation method, but may also be an area for displaying text prompting the user to confirm the password. In this process, the AP identified as the connection target is the specified AP, so the screen displayed in this process will show the SSID of the specified AP as the AP's SSID. If the OK button 602 is pressed, the specified application proceeds to S1010.

[0150] In S1009, which is executed when the result of S1006 is NO, the designated application prompts the user to confirm the password of the AP that they want to connect to the communication device and displays a screen for confirming the password. An example of the screen displayed in this process is shown in Figure 12. Screen 1200 includes an area 1201 that shows how to confirm the password and an OK button 1202.

[0151] If this screen is displayed, it means that the AP to which the communication device 151 is to connect has not been identified by the designated application. Therefore, unlike the screen in Figure 6, screen 1200 does not need to display the SSID of the AP to be password checked. Also, area 1201 contains text indicating that the network to be password checked is the network that the user wants the communication device 151 to connect to. Note that area 1201 is not limited to an area that shows the password verification method, but may also be an area that displays text prompting the user to verify the password. The rest is the same as in Figure 6, so the explanation is omitted here. If the OK button 1202 is pressed, the designated application proceeds to S1010.

[0152] In S1010, a designated application instructs the OS to establish a connection between the paired accessory, the communication device 151, and the terminal device 101.

[0153] Specifically, the designated application notifies the OS of the accessory information received from the OS in S1003 and makes the instruction by calling a third API for establishing a connection with the terminal device 101. Note that the aforementioned third API is different from the first API called to establish a connection between the terminal device 101 and the communication device 151 in the first connection setup process. Also, the aforementioned third API is different from the second API called for accessory searching in the second connection setup process.

[0154] In S1011, a specified application displays a notification screen to prevent the specified application from being moved to the background during a specified period. The specified period includes at least a portion of the period during which a specified connection between the terminal device 101 and the communication device 151 is maintained. The specified period may also include periods other than the period during which the specified connection is maintained.

[0155] Figure 18 shows a notification screen displayed in a specified application to prevent the application from being moved to the background. Screen 1800 includes an area 1801 that displays text to prevent the specified application from being moved to the background. On this notification screen, for example, the text "After connecting, please complete the setup while keeping the specified application displayed" may be displayed. In this case, the specified period corresponds to the period from when the notification screen is displayed until the specified connection is established, and at least a portion of the period during which the specified connection is maintained. Also, on this notification screen, for example, the text "Please keep the specified application displayed until the setup is complete" may be displayed. In this case, the specified period corresponds to the period from when this notification screen is displayed until at least a portion of the period during which the specified connection is maintained.

[0156] Note that the notification screen displayed by the specified app may be a screen that notifies the user not to move the specified app to the background. Once the processing of this flowchart is complete, proceed to S1104.

[0157] In S1104, the specified application obtains information from the communication device 151 regarding the list of APs discovered by the search performed by the communication device 151. The APs discovered by the search performed by the communication device 151 are described in detail in S304, so the explanation is omitted here.

[0158] In S1105, a determination is made as to whether the communication device 151 should connect to a predetermined AP. If the determination is YES, the process proceeds to S1106; if it is NO, the process proceeds to S1109.

[0159] In S1106, the specified application determines whether the AP indicated by the information saved in S1102 (the specified AP) is included in the list of APs indicated by the information obtained in S1104. If the specified application determines YES in this determination process, it proceeds to S1107; if it determines NO, it proceeds to S1109.

[0160] In S1107, similar to S308, the specified application determines whether the specified AP matches a specific AP. If the specified application determines YES, it proceeds to S1108 and transmits the information of the specified AP to the communication device 151. If it determines NO, it proceeds to S1115 and displays the password input screen.

[0161] In S1108, the specified application transmits information to the communication device 151 for connecting to the AP identified as the target of connection. The AP identified as the target of connection is the specified AP. The information transmitted here includes the SSID of the AP identified as the target of connection of the communication device 151 and the password for connecting to the AP identified as the target of connection of the communication device 151. In other words, the password transmitted here is the password for the specific AP, and is the password obtained from the communication device 151 in S1101. To put it another way, the password transmitted here is the password held by the specified application (the password held in a storage area accessible to the specified application). Therefore, after the target of connection of the communication device 151 is identified, the specified application transmits the password to the communication device 151 without accepting password input from the user. After the information for connecting to the AP identified as the target of connection of the communication device 151 is transmitted to the communication device 151, the communication device 151 exits connection setting mode and connects to the AP identified as the target of connection of the communication device 151 using the received information. After the connection setup mode ends, the terminal device 101 reconnects to the designated AP using the OS functions, similar to S312. Then, the designated application proceeds to S1121. However, the process is not limited to proceeding to S1121; it may also proceed to a process like S710 described later, which displays a screen for searching for the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected.

[0162] In S1109, similar to S313, the designated application displays a list of APs indicated by the information obtained in S1104. If the AP that the user desires to connect to the communication device 151 is in the list, that AP is identified as the connection target for the communication device 151. If not, the user operates the direct connection button.

[0163] In S1110, the specified application determines whether the direct connection button has been operated. If the specified application determines that the answer is YES, it proceeds to S1111; otherwise, it proceeds to S1114.

[0164] In S1111, similar to S315, the specified application performs a process to establish a direct connection between the communication device 151 and the terminal device 101. The details of this process are shown in the process of S315, so the explanation is omitted here.

[0165] In S1112, similar to S316, the specified application determines whether a user operation indicating the establishment of a direct connection has been performed in response to the confirmation screen displayed by the OS in S1111. The details of this process are shown in the process of S316, so the explanation is omitted here. If the specified application determines it is YES, it proceeds to S1121; if it determines it is NO, it proceeds to S1113.

[0166] In S1113, similar to S317, the designated application displays a screen for direct connection.

[0167] In S1114, which is executed when the result of S1110 is NO, the specified application determines whether any AP has been selected by the user from the displayed list of APs. If the specified application determines that it is YES, the selected AP from the list of APs is identified as the connection target for the communication device 151, and the process proceeds to S1115. If it determines that it is NO, the process returns to S1110 and waits for any operation to be accepted.

[0168] In S1115, the specified application displays a password input screen 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 top of the AP list. An example of the screen displayed in this process is shown in Figure 13. The password input screen 1300 includes an SSID display area 1301, a password input box 1302, a button 1303 for other connection methods, an OK button 1304, and a cancel button 1305. The SSID display area 1301 is an area that displays the SSID of the AP identified as the connection target of the communication device 151. The password input box 1302 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 AP identified as the connection target is a specified AP or an AP selected from the list of APs displayed in S1109. Buttons 1303, OK button 1304, and Cancel button 1305 for other connection methods are the same as buttons 504, OK button 506, and Cancel button 505 for other connection methods shown in Figure 5, so their explanation is omitted here.

[0169] In S1116, the specified application determines whether or not it has received a user response to the cancel button 1305. If the specified application determines that it is YES, it proceeds to S1109 to display a list of applications; if it determines that it is NO, it proceeds to S1117.

[0170] In S1117, the specified application determines whether it has received a user input on a button for another connection method. If the application determines it is YES, it proceeds to S1118; if it determines it is NO, it proceeds to S1119. The process in S1118 is the same as the details in the flowchart in Figure 7, so it is omitted here.

[0171] In S1119, similar to S325, the specified application determines whether or not it has received a user action on the OK button 1304 with a password entered in the password input box 1302. If the specified application determines it is YES, it proceeds to S1120; if it determines it is NO, it returns to S1116 and waits for the user to take any action on the password input screen 1300.

[0172] In S1120, the specified 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 here includes the password entered in the password input box 1302 and the SSID of the AP identified as the target of the communication device 151. The AP identified as the target of the connection is either the specified AP or an AP selected from the list of APs displayed in S1109. 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 the connection setup mode and connects to the AP identified as the target of the communication device 151 using the received information. After the connection setup mode is exited, the terminal device 101 reconnects to the specified AP using the OS function, similar to S326. After that, the specified application proceeds to S1121.

[0173] In S1121, similar to S327, the designated application searches for the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected. If the communication device 151 is found through this search, the application obtains information about the communication device 151 from the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected, and registers the communication device 151 with the designated application. At this time, the designated application may automatically set the newly registered communication device 151 as the selected communication device 151. After that, the designated application terminates processing and displays its home screen.

[0174] <Second Embodiment> In this embodiment, the second connection setting process is performed in a different manner than in the first embodiment. Specifically, in the first embodiment, the first and second methods are used as methods for solving the problem, but in the second embodiment, the second and third methods are used. As a third method for solving the problem, a predetermined application displays a screen for entering a password to connect to an external AP at a predetermined timing. The predetermined timing is the timing after the predetermined application is launched and before a predetermined connection is established between the terminal device 101 and the communication device 151. This embodiment is the same as the first embodiment except for the second connection setting process.

[0175] Figure 15 is a flowchart showing an example of the second connection setting process in the second embodiment. Each process in the flowchart of Figure 15 is realized, for example, by the CPU 103 loading a predetermined application stored in memory such as ROM 104 into RAM 105 and executing it.

[0176] In S1501, as with S301 and S1101, a designated application acquires and saves a specific AP.

[0177] In S1502, a predetermined application obtains and saves a predetermined AP from the OS. In this embodiment, the predetermined AP in the second connection setting process is the AP to which the terminal device 101 is connected via Wi-Fi at the time of S1501.

[0178] In S1503, a predetermined application performs a process to establish a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101. The details of this process are shown in the flowchart in Figure 14, so a detailed explanation is omitted here.

[0179] Figure 14 is a flowchart showing an example of the processing related to AccessorySetupKit in the second connection setup process (S1503 in Figure 15) in this embodiment. Furthermore, each process in the flowchart of Figure 14 is realized, for example, by the CPU 103 loading a predetermined application stored in memory such as ROM 104 into RAM 105 and executing it.

[0180] Sections S1401 to S1404 are the same as those S1001 to S1004, so their explanation is omitted here.

[0181] In S1404, if the specified application determines YES, it proceeds to S1005; if it determines NO, it terminates the process and displays the home screen.

[0182] Since S1405 is the same as S1005, the explanation here will be omitted.

[0183] In S1406, the specified application determines whether the communication device 151 should connect to a specified AP. If the specified application determines YES, the specified AP is identified as the connection target for the communication device 151, and the process proceeds to S1409. If it determines NO, the process proceeds to S1407.

[0184] In S1407, the designated application displays a message prompting the user to connect the terminal device 101 to the AP to which the communication device 151 is to connect. That is, it displays instructions on how to switch the connection destination of the terminal device 101. An example of the screen displayed in this process is shown in Figure 16. In this embodiment, the screen that displays instructions on how to switch the connection destination of the terminal device 101 is not a web page displayed via internet communication by a web browser. That is, it is a screen displayed on the designated application based on information that the designated application has in advance.

[0185] Figure 16 is an example of a screen displayed by a predetermined application that shows instructions for switching the connection destination of the terminal device 101. Screen 1600 includes an area 1601 that shows instructions for switching the connection destination of the terminal device 101, and a Next button 1602. When the Next button 1602 is pressed, the predetermined application proceeds to S1408.

[0186] In S1408, the specified application obtains information from the OS about the AP that the user selected in S1407 as the AP to connect to the communication device 151. The specified application then identifies the currently connected AP corresponding to the information obtained from the OS as the target for connection to the communication device 151.

[0187] In S1409, the specified application determines whether the currently connected AP matches a specific AP. That is, it determines whether the application holds the password for the currently connected AP. The currently connected AP is either the specified AP or the AP corresponding to the AP information obtained from the OS in S1408. If the specified application determines YES, it proceeds to S1412 without performing processes such as displaying a password input screen (like S1410 or S1411) or saving AP information including the password entered by the user. If it determines NO, it proceeds to S1410.

[0188] In S1410, the specified application displays a password input screen. An example of the screen displayed in this process is shown in Figure 17.

[0189] Screen 1700 includes an SSID display area 1701, a password input box 1702, a password confirmation area 1703, an OK button 1704, and a cancel button 1705. The SSID display area 1701, the password input box 1702, and the password confirmation area 1703 are the same as the SSID display area 501, the password input box 502 shown in Figure 5, and the area 601 showing the password confirmation method shown in Figure 6. Note that the password confirmation area 1703 is not limited to an area showing a confirmation method for the user to confirm the password, but may also be an area for displaying text prompting the user to confirm the password. Furthermore, in this process, the password confirmation area 1703 does not need to be provided on screen 1700. Note that in this process, the AP identified as the connection target is a predetermined AP or an AP corresponding to the AP information obtained from the OS in S1408.

[0190] Therefore, the screen displayed during this process will show the SSID of the designated AP or the AP corresponding to the AP information obtained from the OS by S1408, as the AP's SSID.

[0191] If the OK button 1704 is pressed, the specified application will proceed to S1411.

[0192] In S1411, the designated application stores AP information, including the password entered by the user in S1410.

[0193] In S1412, similar to S1010, the specified application instructs the OS to establish a connection between the paired accessory, the communication device 151, and the terminal device 101.

[0194] In S1413, similar to S1011, the specified application displays a notification screen to prevent the specified application from being moved to the background for a predetermined period of time. Once the processing of this flowchart is complete, the specified application proceeds to S1504.

[0195] In S1504, the specified 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. The AP identified as the target of the communication device 151 is either the specified AP or the AP corresponding to the AP information obtained from the OS in S1408.

[0196] In S1505, similar to S327, the designated application searches for the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected. If the communication device 151 is found through this search, the application obtains information about the communication device 151 from the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected, and registers the communication device 151 with the designated application. At this time, the designated application may automatically set the newly registered communication device 151 as the selected communication device 151. After that, the designated application terminates processing and displays its home screen.

[0197] In the second embodiment, unlike the first embodiment, the specified application does not perform the following actions: receiving the AP list, determining whether the specified AP is included in the AP list, determining whether the specified AP matches a specific AP, and displaying the AP list. This is because, prior to the predetermined connection, the communication device 151 accepts input of the password for the AP to be connected to, thereby identifying the AP to be connected to the communication device.

[0198] If the communication device 151 fails to connect to the AP identified as the target for connection, or if the communication device 151 is not found by this search despite being connected to the designated AP, the user may be guided to another connection method.

[0199] In this configuration, a given application can improve the usability of establishing a connection between the communication device 151 and the terminal device 101 during the connection setup process using AccessorySetupKit.

[0200] <Other Embodiments> In the above-described embodiment, the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is described as Wi-Fi, but the embodiment is not limited to this embodiment. The connection between the communication device 151 operating in connection setting mode and the terminal device 101 may be established by a communication method other than Wi-Fi, such as Bluetooth Classic or Bluetooth Low Energy. Furthermore, the connection established in the first connection setting process may be established by a communication method other than Wi-Fi, and the connection established in the second connection setting process may also be established by a communication method other than Wi-Fi. In other words, the acquisition of accessory information from the communication device 151 by AccessorySetupKit may be performed by a communication method other than Wi-Fi, and the connection established based on the acquired accessory information may also be established by a communication method other than Wi-Fi. This is because, as described above, AccessorySetupKit is a function that can manage devices that can communicate via Bluetooth as accessories. In that case, the terminal device 101 may maintain a Wi-Fi connection with a predetermined AP even while the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is being established.

[0201] In other words, there is a configuration in which the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is a Wi-Fi connection. In this configuration, the predetermined AP is an AP to which the terminal device 101 was connected when the process that triggered the start of the flowchart in Figures 3, 11, and 15 was executed, but to which the terminal device 101 was not connected when the predetermined AP information was sent to the communication device 151. On the other hand, there is a configuration in which the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is a connection using a communication method other than Wi-Fi. In this configuration, the predetermined AP is an AP to which the terminal device 101 was connected both when the process that triggered the start of the flowchart in Figures 3, 11, and 15 was executed, and when the predetermined AP information was sent to the communication device 151. Therefore, it can be said that the predetermined AP is an AP to which the terminal device 101 was connected at least when the process that triggered the start of the flowchart in Figures 3, 11, and 15 was executed.

[0202] In the first connection setup process, it is not necessary to perform the process of referencing a specific AP. Specifically, for example, processes S301 and S308-S312 may be omitted. In this configuration, if the result of the S305 determination is NO, S313 is executed. Also, if the result of the S307 determination is YES, S319 is executed.

[0203] In the first connection setup process, it is not necessary for both the process of referencing a predetermined AP and the process of referencing a specific AP to be executed. Specifically, for example, processes S301, S302, and S305-S312 may be omitted. In this configuration, S313 is executed after S304.

[0204] In the first connection setup process, the direct connection button does not need to be displayed on the screen shown in S313. Specifically, for example, the processes S314 to S317 may be omitted. In this configuration, S318 is executed after S313.

[0205] In the first connection setup process, the OS of the terminal device 101 may be a version that allows the password to be displayed on the Wi-Fi settings screen by a settings application. In this case, it is not necessary for both the password confirmation button 503 and the other connection method button 504 to be displayed on the password input screen displayed in S319. That is, it is acceptable for one of the two buttons, the password confirmation button 503 and the other connection method button 504, to be displayed on the password input screen displayed in S319, while the other is not displayed. If the password confirmation button 503 is not displayed on the password input screen displayed in S319, S321 and S322 are omitted, and if the result of the S320 determination is NO, S323 is executed. If the other connection method button 504 is not displayed on the password input screen displayed in S319, S323 and S324 are omitted, and if the result of the S321 determination is NO, S325 is executed.

[0206] In the first connection setup process, a password confirmation button 503 is displayed on the password input screen as an area for password confirmation, and when this button is operated, a new screen for password confirmation is displayed. However, the system is not limited to this configuration. An area containing text explaining a specific password confirmation method may also be displayed on the password input screen as an area for password confirmation. In other words, the content that was displayed on the screen for password confirmation in the above embodiment may be displayed on the password input screen. Furthermore, this content may be displayed on a separate screen that is displayed before the password input screen is displayed. In this configuration, the password confirmation button 503 does not need to be displayed on the password input screen 500.

[0207] In the first connection setup process, a button 504 for other connection methods is displayed on the password input screen as an area for other connection methods, and when this button is operated, a new screen for other connection methods is displayed. However, the system is not limited to this configuration. An area containing text explaining other connection methods may also be displayed on the password input screen as an area for other connection methods. In other words, the content that was displayed on the screen for other connection methods in the above embodiment may be displayed on the password input screen. Furthermore, this content may be displayed on a separate screen that is displayed before the password input screen is displayed. In this configuration, the button 504 for other connection methods does not need to be displayed on the password input screen 500.

[0208] In the first connection setup process, the order in which the judgments in S320 to S325 are performed is not particularly limited; the judgments in S320 to S325 may be executed in any order.

[0209] In the first connection setup process, the description mentioned a configuration in which the list of APs used in the determinations in S305 and S309, or displayed in S313, is a list of APs discovered by a search performed by the communication device 151. However, the process is not limited to this configuration. The list of APs used in the determinations in S305 and S309, or displayed in S313, may also be a list of APs discovered by a search performed by the terminal device 101. In this configuration, the process in S304 may be omitted.

[0210] In the second connection setting process in the first and second embodiments, the process of referencing a specific AP does not need to be executed. Specifically, for example, in the first embodiment, the processes of S1101, S1107, and S1108 may be omitted. In this form, if the result of the determination of S1106 is NO, S1109 is executed. Also, if the result of the determination of S1106 is YES, S1115 is executed. In the second embodiment, the processes of S1409 and S1501 may be omitted. In the form in which the process of S1409 is omitted, if the result of the determination of S1406 is YES, S1410 is executed. Also, S1410 is executed after S1408. In the form in which the process of S1501 is omitted, S1502 is executed after the start of the flowchart in Figure 15.

[0211] In the second connection setup process, a configuration was described in which a password confirmation area containing text explaining a specific password confirmation method is displayed on the password confirmation screen in the first embodiment and the password input screen in the second embodiment. However, the configuration is not limited to this configuration. Similar to the first connection setup process, a password confirmation button may be displayed on the password confirmation screen or password input screen as a password confirmation area, and a new password confirmation screen may be displayed when the button is operated. In other words, in the second connection setup process, a password confirmation button may be displayed on the password confirmation screen or password input screen.

[0212] In the second connection setting process in the first embodiment, it is not necessary for both the process of referencing a predetermined AP and the process of referencing a specific AP to be executed. Specifically, for example, the processes S1005 to S1008 may be omitted. In this form, S1009 is executed if the result of the determination in S1004 is YES. Furthermore, the processes S1101, S1102, and S1105 to S1108 may be omitted. In this form, S1109 is executed after S1104.

[0213] In the second connection setting process in the first embodiment, the direct connection button does not need to be displayed on the screen shown in S1109. Specifically, for example, the processes S1110 to S1113 may be omitted. In this embodiment, S1114 is executed after S1109.

[0214] In the second connection setting process in the first embodiment, a button 1303 for other connection methods is displayed on the password input screen as an area for other connection methods, and when this button is operated, a new screen for other connection methods is displayed. However, the embodiment is not limited to this embodiment. An area containing text explaining other connection methods may also be displayed on the password input screen as an area for other connection methods. That is, the content that was displayed on the screen for other connection methods in the above embodiment may be displayed on the password input screen. Furthermore, this content may be displayed on a separate screen that is displayed before the password input screen is displayed. In this embodiment, the button 1303 for other connection methods does not need to be displayed on the password input screen 1300. In this embodiment, S1117 and S1118 are omitted, and S1119 is executed if the result of the determination in S1116 is NO.

[0215] In the second connection setting process in the first embodiment, the order in which the decisions in S1116 to S1119 are made is not particularly limited, and the decisions in S1116 to S1119 may be made in any order.

[0216] In the second connection setting process in the first embodiment, the description was given in which the list of APs used in the determination in S1106 or displayed in S1109 is a list of APs discovered by a search performed by the communication device 151, but the embodiment is not limited to this form. The list of APs used in the determination in S1106 or displayed in S1109 may also be a list of APs discovered by a search performed by the terminal device 101. In this form, the process in S1104 may be omitted.

[0217] In the above embodiment, it is not necessary to perform a process that checks whether the initial setup operation for the communication device 151 has been completed. Specifically, for example, the processes S702 to S706 may be omitted. In this form, S707 is executed after S701.

[0218] In the above-described embodiment, the specified application may transmit configuration information to the communication device without displaying a screen for verifying the AP password, an AP password input screen, or a notification screen for suppressing background transitions of the specified application.

[0219] It should be noted that the embodiment of the present invention may solve only one of the above-described problems 1 and 2. For example, if the embodiment solves problem 1 by establishing a connection between the terminal device 101 and the communication device 151 based on information obtained by executing AccessorySetupKit, then the process to solve problem 2 does not need to be executed. That is, for example, a password confirmation screen or a password input screen may be displayed after the connection between the terminal device 101 and the communication device 151 has been established. Furthermore, the connection between the terminal device 101 and the communication device 151 established in this embodiment may be Wi-Fi or Bluetooth.

[0220] 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.

[0221] 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.

[0222] 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.

[0223] Furthermore, the disclosure of this embodiment includes the following configuration.

[0224] (Item 1) A predetermined application program for communicating with a communication device, A computer in an information processing device equipped with a specified operating system (OS) A first display control step, which displays a password input screen, including a first area for receiving a password from a user to connect to an external access point of the information processing device, at a predetermined timing that is after the predetermined application program has been started and before a predetermined connection between the information processing device and the communication device has been established; An execution step which involves performing a process to establish the predetermined connection, A first transmission step of transmitting setting information, including at least the password entered by the user on the password input screen, to the communication device via the predetermined connection; Make it run, The aforementioned predetermined connection is a connection that cannot be controlled by the processing performed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. When the aforementioned configuration information is received by the communication device, the communication device uses the configuration information to connect with the access point. A program characterized by the following features.

[0225] (Item 2) To the aforementioned computer, A first control step is further executed to control, based on predetermined conditions, whether to perform a first connection setting process for transmitting the setting information to the communication device via a connection other than the predetermined connection, or a second connection setting process for transmitting the setting information to the communication device via the predetermined connection. Other connections, distinct from the aforementioned predetermined connections, are connections that can be controlled by processes executed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. The program described in item 1, characterized by the features described herein.

[0226] (Item 3) The aforementioned predetermined condition is that the OS of the information processing device is an OS of a specific version or higher. The second connection setup process is executed based on whether the predetermined conditions are met, and the first connection setup process is executed based on whether the predetermined conditions are not met. The program described in item 2, characterized by the features described herein.

[0227] (Item 4) The OS of the aforementioned information processing device is iOS® or iPadOS®. The aforementioned specific version is iOS 18 or iPadOS 18. The program described in item 3, characterized by the features described herein.

[0228] (Item 5) The aforementioned predetermined condition is that the predetermined access point to which the information processing device was connected when a predetermined operation was received on the screen displayed by the predetermined application program corresponds to the 2.4 GHz frequency band. The second connection setup process is executed based on whether the predetermined conditions are met, and the first connection setup process is executed based on whether the predetermined conditions are not met. Based on the acceptance of the predetermined operation, the information processing device transmits the setting information to the communication device. A program according to any one of items 2 to 4, characterized by the features described herein.

[0229] (Item 6) The aforementioned other connections are those established without using information obtained through the execution of AccessorySetupKit. The aforementioned predetermined connection is a connection established using information obtained by executing AccessorySetupKit. A program according to any one of items 2 to 5, characterized by the features described herein.

[0230] (Item 7) The API (Application Programming Interface) called by the predetermined application program to establish the aforementioned other connection is different from the API called by the predetermined application program to establish the aforementioned predetermined connection. A program according to any one of items 2 to 6, characterized by the features described herein.

[0231] (Item 8) The password input screen includes a second area for the user to confirm the password. A program according to any one of items 1 to 7, characterized by the above.

[0232] (Item 9) The second area includes an area for displaying text prompting the user to confirm the password. The program described in item 8, characterized by the features described above.

[0233] (Item 10) The second area includes an area for indicating a method for allowing the user to confirm the password. A program as described in item 8 or 9, characterized by the above.

[0234] (Item 11) The second area is an area on a screen displayed by another application program different from the predetermined application program, which allows the user to confirm the password. A program according to any one of items 8 to 10, characterized by the above.

[0235] (Item 12) To the aforementioned computer, A second display control step involves displaying a confirmation screen to the user to confirm whether the target of connection for the communication device is a predetermined access point, which is the access point to which the information processing device was connected when a predetermined operation was received on a screen displayed by the predetermined application program. A second control step that controls whether or not to display a screen for switching the connection destination of the information processing device based on the input to the confirmation screen, Let's execute it further, If an input corresponding to designating the communication device as the predetermined access point is made as input to the confirmation screen, the confirmation screen will not be displayed. If an input corresponding to not designating the communication device as the predetermined access point is made as input to the confirmation screen, the confirmation screen will be displayed. A program according to any one of items 1 to 11, characterized by the features described herein.

[0236] (Item 13) The aforementioned predetermined application program, After a predetermined input is made to the confirmation screen, the information of the access point connected to the information processing device is obtained from the OS. The configuration information, including the access point information obtained from the OS, is transmitted to the communication device. The program described in item 12, characterized by the features described herein.

[0237] (Item 14) To the aforementioned computer, A third control step is further executed to prevent the password input screen from being displayed, based on the fact that the predetermined application program holds a password that matches the password corresponding to the access point identified as the connection target of the communication device. The password input screen is displayed based on the fact that the predetermined application program does not hold a password that matches the password of the access point identified as the connection target of the communication device. A program according to any one of items 1 to 13, characterized by the features described herein.

[0238] (Item 15) The access point identified as the connection target of the communication device is, at least, a predetermined access point to which the information processing device was connected when a predetermined operation was received on the screen displayed by the predetermined application program, or an access point to which the information processing device is connected after a predetermined input is made to a confirmation screen for confirming with the user whether the communication device should be connected to the predetermined access point. The program described in item 14, characterized by the features described herein.

[0239] (Item 16) To the aforementioned computer, The third display control step is further executed, which displays a notification screen to prevent the predetermined application program from being moved to the background. A program according to any one of items 1 to 15, characterized by the features described herein.

[0240] (Item 17) The aforementioned predetermined connection is a connection established using information obtained by executing AccessorySetupKit. The aforementioned notification screen is A notification screen to prevent the predetermined application program from being moved to the background during a period that includes at least a portion of the period during which the predetermined connection is maintained. The program described in item 16, characterized by the features described herein.

[0241] (Item 18) To the aforementioned computer, A first search step of searching for the communication device on the network to which the information processing device was connected at least at the time a predetermined operation is received on the screen displayed by the predetermined application program, Let's execute it further, If the communication device is found through the search, the process of displaying the password input screen and the process of sending the setting information to the communication device are not executed. If the communication device is not found through the search, the process of displaying the password input screen and the process of sending the setting information to the communication device are executed. A program according to any one of items 1 to 17, characterized by the features described herein.

[0242] (Item 19) To the aforementioned computer, A second search step involves searching for the communication device that corresponds to the connection setting function included as standard in the OS, If the search finds a communication device that corresponds to the connection setting function standardly installed in the OS, the second execution step executes the connection setting standardly installed in the OS without performing the process of displaying the password input screen and the process of sending the setting information to the communication device. Let's execute it further, If the search does not find a communication device that corresponds to the connection setting function standardly installed in the OS, the process of displaying the password input screen and the process of sending the setting information to the communication device are executed. A program according to any one of items 1 to 18, characterized by the above.

[0243] (Item 20) To the aforementioned computer, An instruction step in which the AccessorySetupKit gives a predetermined instruction to the OS for searching for the communication device, Based on the fact that the communication device has been discovered by AccessorySetupKit, an acquisition step is to obtain accessory information corresponding to the communication device discovered by AccessorySetupKit from the OS, Let's execute it further, The process for establishing the predetermined connection is a process that instructs the establishment of the predetermined connection using the accessory information. A program according to any one of items 1 to 19, characterized by the above.

[0244] (Item 21) The aforementioned information processing device further includes a configuration application program capable of managing devices discovered by AccessorySetupKit as paired devices. To the aforementioned computer, A second execution step, performed before the predetermined instruction is executed, is to perform a process to prevent the communication device that is the target of the AccessorySetupKit search from being managed by the configuration application program as a paired device. To make it run further, The program described in item 20, characterized by the features described herein.

[0245] (Item 22) When the communication device is discovered by the search of the communication device by the Accessory Setup Kit executed based on the predetermined instruction, a screen including the full text of the SSID of the discovered communication device and an image corresponding to the discovered communication device is displayed by the OS. When a plurality of communication devices corresponding to the predetermined instruction are discovered, information corresponding to the plurality of discovered communication devices is displayed on the screen so that the user can select any one of the plurality of discovered communication devices. The program according to item 20 or 21, characterized in that.

[0246] (Item 23) The API called by the predetermined application program for the predetermined instruction is different from the API called by the predetermined application program for establishing the predetermined connection. The program according to any one of items 20 to 22, characterized in that.

[0247] (Item 24) The predetermined connection is established using the information obtained by executing the Accessory Setup Kit. The program according to any one of items 1 to 23, characterized in that.

[0248] (Item 25) To the computer Further execute a second transmission step of transmitting at least one of a print job for causing the communication device to execute printing and a scan job for causing the communication device to execute scanning. The program according to any one of items 1 to 24, characterized in that.

[0249] (Item 26) The connection between the information processing device and the communication device used for transmitting the setting information is a connection based on a communication method based on the IEEE802.11 series standard. A program according to any one of items 1 to 25, characterized by the features described herein.

[0250] (Item 27) A control method for an information processing device having a predetermined application program for communicating with a communication device, A first display control step, which displays a password input screen, including a first area for receiving a password from a user to connect to an external access point of the information processing device, at a predetermined timing that is after the predetermined application program has been started and before a predetermined connection between the information processing device and the communication device has been established; An execution step which involves performing a process to establish the predetermined connection, A first transmission step of transmitting setting information, including at least the password entered by the user on the password input screen, to the communication device via the predetermined connection; It has, The aforementioned predetermined connection is a connection that cannot be controlled by the processing performed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. When the aforementioned configuration information is received by the communication device, the communication device uses the configuration information to connect with the access point. A control method characterized by the following:

[0251] (Item 28) An information processing device having a predetermined application program for communicating with a communication device, A first display control means displays a password input screen, which includes a first area for receiving a password from a user to connect to an external access point of the information processing device, at a predetermined timing that is after the predetermined application program has been started and before a predetermined connection between the information processing device and the communication device has been established. An execution means for performing the process for establishing the predetermined connection, A first transmission means transmits setting information, including at least the password entered by the user on the password input screen, to the communication device via the predetermined connection. It has, The aforementioned predetermined connection is a connection that cannot be controlled by the processing performed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. When the aforementioned configuration information is received by the communication device, the communication device uses the configuration information to connect with the access point. An information processing device characterized by the following: [Explanation of Symbols]

[0252] 101 Terminal device 151 Communication equipment

Claims

1. A predetermined application program for communicating with a communication device, A computer in an information processing device equipped with a specified operating system (OS) A first display control step, which displays a password input screen, including a first area for receiving a password from a user for connecting the information processing device to an external access point, at a predetermined timing that is after the predetermined application program has been started and before a predetermined connection between the information processing device and the communication device has been established; An execution step which involves performing a process to establish the predetermined connection, A first transmission step of transmitting setting information, including at least the password entered by the user on the password input screen, to the communication device via the predetermined connection; Make it run, The aforementioned predetermined connection is a connection that cannot be controlled by the processing performed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. When the aforementioned configuration information is received by the communication device, the communication device uses the configuration information to connect with the access point. A program characterized by the following features.

2. To the aforementioned computer, A first control step is further executed to control, based on predetermined conditions, whether to perform a first connection setting process for transmitting the setting information to the communication device via a connection other than the predetermined connection, or a second connection setting process for transmitting the setting information to the communication device via the predetermined connection. Other connections, distinct from the aforementioned predetermined connections, are connections that can be controlled by processes executed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. The program according to feature 1.

3. The aforementioned predetermined condition is that the OS of the information processing device is an OS of a specific version or higher. The second connection setup process is executed based on whether the predetermined conditions are met, and the first connection setup process is executed based on whether the predetermined conditions are not met. The program according to feature 2.

4. The OS possessed by the aforementioned information processing device is either iOS® or iPadOS®. The aforementioned specific version is iOS 18 or iPadOS 18. The program according to feature 3.

5. The predetermined condition is that the predetermined access point to which the information processing device was connected when a predetermined operation was received on the screen displayed by the predetermined application program corresponds to the 2.4 GHz frequency band. The second connection setup process is executed based on whether the predetermined conditions are met, and the first connection setup process is executed based on whether the predetermined conditions are not met. Based on the acceptance of the predetermined operation, the information processing device transmits the setting information to the communication device. The program according to feature 2.

6. The aforementioned other connections are connections established without using information obtained by the execution of AccessorySetupKit. The aforementioned predetermined connection is a connection established using information obtained by the execution of AccessorySetupKit. The program according to feature 2.

7. The API (Application Programming Interface) called by the predetermined application program to establish the aforementioned other connection is different from the API called by the predetermined application program to establish the aforementioned predetermined connection. The program according to feature 2.

8. The password input screen includes a second area for the user to confirm the password. The program according to feature 1.

9. The second area includes an area for displaying text prompting the user to confirm the password. The program according to feature 8.

10. The second area includes an area for indicating a method for allowing the user to confirm the password. The program according to feature 8.

11. The second area is an area on a screen displayed by another application program different from the predetermined application program, which allows the user to confirm the password. The program according to feature 8.

12. To the aforementioned computer, A second display control step involves displaying a confirmation screen to the user to confirm whether the target of connection for the communication device is a predetermined access point, which is the access point to which the information processing device was connected when a predetermined operation was received on the screen displayed by the predetermined application program. A second control step controls whether or not to display a screen for switching the connection destination of the information processing device based on the input to the confirmation screen, Let's execute it further, If an input corresponding to designating the communication device as the predetermined access point is made as input to the confirmation screen, the confirmation screen will not be displayed. If an input corresponding to not designating the communication device as the predetermined access point is made as input to the confirmation screen, the confirmation screen will be displayed. The program according to feature 1.

13. The aforementioned predetermined application program, After a predetermined input is made to the confirmation screen, the information of the access point connected to the information processing device is obtained from the OS. The configuration information, including the access point information obtained from the OS, is transmitted to the communication device. The program according to feature 12.

14. To the aforementioned computer, A third control step is further executed to prevent the password input screen from being displayed, based on the fact that the predetermined application program holds a password that matches the password corresponding to the access point identified as the connection target of the communication device. The password input screen is displayed based on the fact that the predetermined application program does not hold a password that matches the password of the access point identified as the connection target of the communication device. The program according to feature 1.

15. The access point identified as the connection target of the communication device is, at least, a predetermined access point to which the information processing device was connected when a predetermined operation was received on the screen displayed by the predetermined application program, or an access point to which the information processing device is connected after a predetermined input is made to a confirmation screen for confirming with the user whether the communication device should be connected to the predetermined access point. The program according to feature 14.

16. To the aforementioned computer, The third display control step is further executed, which displays a notification screen to prevent the predetermined application program from being moved to the background. The program according to feature 1.

17. The aforementioned predetermined connection is a connection established using information obtained by the execution of AccessorySetupKit. The aforementioned notification screen is A notification screen to prevent the predetermined application program from being moved to the background during a period that includes at least a portion of the period during which the predetermined connection is maintained. L according to feature 16.

18. To the aforementioned computer, A first search step of searching for the communication device on the network to which the information processing device was connected at least at the time a predetermined operation is received on the screen displayed by the predetermined application program, Let's execute it further, If the communication device is found through the search, the process of displaying the password input screen and the process of sending the setting information to the communication device are not executed. If the communication device is not found through the search, the process of displaying the password input screen and the process of sending the setting information to the communication device are executed. The program according to feature 1.

19. To the aforementioned computer, A second search step involves searching for the communication device that corresponds to the connection setting function standardly installed in the OS, If the search finds a communication device that corresponds to the connection setting function standardly installed in the OS, the second execution step is to execute the connection setting standardly installed in the OS without performing the process of displaying the password input screen and the process of sending the setting information to the communication device. Let's execute it further, If the search does not find a communication device that corresponds to the connection setting function standardly installed in the OS, the process of displaying the password input screen and the process of sending the setting information to the communication device are executed. The program according to feature 1.

20. To the aforementioned computer, An instruction step in which a predetermined instruction is given to the OS for searching for the communication device using AccessorySetupKit, An acquisition step of obtaining accessory information corresponding to the communication device discovered by AccessorySetupKit from the OS, based on the discovery of the communication device by AccessorySetupKit, Let's execute it further, The process for establishing the predetermined connection is a process that instructs the establishment of the predetermined connection using the accessory information. The program according to feature 1.

21. The information processing device further includes a configuration application program capable of managing devices discovered by AccessorySetupKit as paired devices. To the aforementioned computer, A second execution step, performed before the predetermined instruction is executed, is to perform a process to prevent the communication device that is the target of the AccessorySetupKit search from being managed by the setting application program as a paired device, To make it run further, The program according to feature 20.

22. If the communication device is found by the AccessorySetupKit search performed based on the predetermined instructions, the OS will display a screen containing the full SSID of the found communication device and an image corresponding to the found communication device. If multiple communication devices corresponding to the predetermined instructions are found, information corresponding to the found communication devices will be displayed on the screen so that the user can select one of the found communication devices. The program according to feature 20.

23. The API called by the predetermined application program for the predetermined instructions and the API called by the predetermined application program for establishing the predetermined connection are different. The program according to feature 20.

24. The aforementioned predetermined connection is established using information obtained by the execution of AccessorySetupKit. The program according to feature 1.

25. To the aforementioned computer, A second transmission step is further performed, which involves transmitting at least one of the following to the communication device: a print job causing the communication device to perform printing, and a scan job causing the communication device to perform scanning. The program according to feature 1.

26. The connection between the information processing device and the communication device used to transmit the aforementioned configuration information is a connection based on a communication method based on the IEEE 802.11 series standard. The program according to feature 1.

27. A control method for an information processing device having a predetermined application program for communicating with a communication device, A first display control step, which displays a password input screen, including a first area for receiving a password from a user for connecting the information processing device to an external access point, at a predetermined timing that is after the predetermined application program has been started and before a predetermined connection between the information processing device and the communication device has been established; An execution step which involves performing a process to establish the predetermined connection, A first transmission step of transmitting setting information, including at least the password entered by the user on the password input screen, to the communication device via the predetermined connection; It has, The aforementioned predetermined connection is a connection that cannot be controlled by the processing performed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. When the aforementioned configuration information is received by the communication device, the communication device uses the configuration information to connect with the access point. A control method characterized by the following:

28. An information processing device having a predetermined application program for communicating with a communication device, A first display control means displays a password input screen, which includes a first area for receiving a password from a user to connect to an external access point of the information processing device, at a predetermined timing that is after the predetermined application program has been started and before a predetermined connection between the information processing device and the communication device has been established. An execution means for performing the process for establishing the predetermined connection, A first transmission means transmits setting information, including at least the password entered by the user on the password input screen, to the communication device via the predetermined connection. It has, The aforementioned predetermined connection is a connection that cannot be controlled by the processing performed by the predetermined application program so as not to be disconnected even if the predetermined application program is moved to the background. When the aforementioned configuration information is received by the communication device, the communication device uses the configuration information to connect with the access point. An information processing device characterized by the following: