System, control method, and program

The system addresses the need for improved convenience in using location information services by implementing a series of execution steps to manage settings across different operating system versions, ensuring effective and convenient service utilization.

JP2025051158AActive Publication Date: 2025-04-04CANON KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023160117
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-25
Publication Date
2025-04-04
Estimated Expiration
2043-09-25

AI Technical Summary

Technical Problem

There is a demand for improved convenience in systems that allow application programs to use location information services, particularly in scenarios where the settings for enabling these services are not effectively configured.

Method used

The system implements a series of execution steps to manage the use of location information services across different versions of the operating system, ensuring that the necessary settings are validated and executed appropriately to enable convenient use of these services.

Benefits of technology

This approach enhances the convenience of using location information services by ensuring that the settings are effectively managed and executed, regardless of the operating system version, thereby improving the usability of application programs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025051158000001_ABST
    Figure 2025051158000001_ABST
Patent Text Reader

Abstract

To improve convenience of a form that can permit use of a position information service to an application program.SOLUTION: The present invention provides a program for, in the case where a predetermined setting as a setting for permitting use of a position information service to a predetermined application program is not effectively set to a first information processing device, executing a first execution step that first processing for effectively setting the predetermined setting on the basis of the fact that an OS of the first information processing device is a first version, and that the predetermined setting is not effectively set in the first information processing device.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a system, a control method, and a program. [Background technology]

[0002] Patent Document 1 describes a technique related to permission to use location information services. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 2022-30782 Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, as the format in which it is possible to permit an application program to use location information services becomes more widespread, there is a demand for improving the convenience of this format.

[0005] SUMMARY OF THE PRESENT DISCLOSURE An object of the present invention is to improve the convenience of a manner in which application programs can be permitted to use location information services. [Means for solving the problem]

[0006] The present invention provides a method for setting a predetermined application program in a computer of a first information processing device having an operating system (OS) of a first version, and when a predetermined setting for permitting the use of a location information service for the predetermined application program is not enabled in the first information processing device, the method includes a first execution step of executing a first process for setting the predetermined setting to enabled based on the fact that the OS of the first information processing device is the first version and that the predetermined setting is not enabled in the first information processing device, a second execution step of executing a second process for a predetermined search process for searching for an access point after the first process is executed, and a second execution step of executing the second process. the third execution step of executing a third process to transmit, to a communication device which has enabled an access point found by the specified search process which is executed based on the above, information regarding another access point other than the access point enabled by the communication device; a control step of controlling, based on the fact that the OS of the second information processing device is the second version, so that the first process is not executed even if the specified setting is not enabled in the second information processing device, based on the fact that the OS of the second information processing device is the second version; a fourth execution step of executing the second process; and a fifth execution step of executing the third process. Effect of the Invention

[0007] According to the present invention, it is possible to improve the convenience of a configuration in which an application program can be permitted to use a location information service. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a communication system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram illustrating an example of the configuration of a terminal device and a communication device according to the first embodiment of the present invention. [Diagram 3] 4 is an example of a setting screen displayed in the first embodiment of the present invention. [Figure 4] 5 is a flowchart showing a process executed by a terminal device using a setup application in the first embodiment of the present invention. [Diagram 5] 4 is a flowchart showing a process relating to a location information service in the first embodiment of the present invention. [Figure 6] 4 is an example of a dialog displayed in the first embodiment of the present invention. [Figure 7] 4 is an example of a list screen displayed in the first embodiment of the present invention. [Figure 8] 4 is an example of an IF selection screen displayed in the first embodiment of the present invention. [Figure 9] 5 is a flowchart showing a connection setting process in the first embodiment of the present invention. [Figure 10] 5 is a flowchart showing a first connection setting process in the first embodiment of the present invention. [Figure 11] 5 is a flowchart showing a second connection setting process in the first embodiment of the present invention. [Figure 12] 4 is an example of a guidance screen displayed in the first embodiment of the present invention. [Figure 13] 10 is a flowchart showing a process relating to a location information service in the second embodiment of the present invention. [Figure 14] 13 is an example of a guidance screen displayed in the second embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] First Embodiment An information processing device and a communication device included in the communication system of the present embodiment will be described. In the present embodiment, a smartphone is exemplified as the information processing device, but is not limited thereto, and various devices such as a terminal device, a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), and a digital camera can be applied. In addition, in the present embodiment, a printer is exemplified as the communication device, but is not limited thereto, and various devices that can perform wireless communication with the information processing device can be applied. For example, if it is a printer, it can be applied to an inkjet printer, a full-color laser beam printer, a monochrome printer, and the like. In addition to printers, it can also be applied to copiers, facsimile machines, terminal devices, smartphones, notebook PCs, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, and the like. In addition, it can also be applied to a multifunction machine having multiple functions such as a copy function, a FAX function, and a print function.

[0010] First, a system configuration for implementing this embodiment will be described.

[0011] 1 is a diagram showing an example of the configuration of a communication system according to the present embodiment. This system includes a communication device 151, a terminal device 101, an access point (AP) 131, and an external server 171.

[0012] The terminal device 101 is an information processing device of this embodiment. The communication device 151 is a communication device of this embodiment. The AP 131 is an external device that exists outside the terminal device 101 and outside the communication device 151. The external server 171 is a server that can provide services to devices connected to the AP 131 via the Internet.

[0013] A LAN (Local Area Network) formed by the AP 131 includes the AP 131, a communication device 151, and a terminal device 101. On the other hand, a WAN (Wide Area Network) includes the AP 131 and an external server 171.

[0014] In this embodiment, when an infrastructure connection, which will be described later, is established, the terminal device 101 can communicate with the communication device 151 via the AP 131. Furthermore, when a direct connection, which will be described later, is established, the terminal device 101 can communicate directly with the communication device 151 without going through the AP 131. Note that in the following, a connection with an AP corresponds to a connection with a network formed by the AP. Note that the AP may be capable of simultaneously forming multiple networks, and in this case, a connection with an AP may be a connection with any one of the multiple networks formed by the AP.

[0015] In this embodiment, the connection 141 between the terminal device 101 and the AP 131 and the connection 142 between the communication device 151 and the AP 131 are connections by a communication method based on the IEEE802.11 series of standards. Specifically, the communication method based on the IEEE802.11 series of standards is Wi-Fi (Wireless Fidelity) (registered trademark). In addition, the connection 143 between the terminal device 101 and the communication device 151 is Wi-Fi or Bluetooth (registered trademark) Low Energy (BLE). Note that the communication method used for each connection is not limited to this form, and may be, for example, Bluetooth Classic, Wi-Fi Aware, Near Field Communication (NFC), etc. The AP 131 and the external server 171 can communicate with each other via the Internet, and when the AP 131 is connected to the Internet, the devices connected to the AP 131 (the terminal device 101 and the communication device 151) can also use the Internet. The connection 141 between the terminal device 101 and the AP 131 and the connection 142 between the communication device 151 and the AP 131 may be a connection by a wired LAN.

[0016] 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 of Fig. 2. In addition, the following configuration will be described as an example in this embodiment, but this embodiment is applicable to devices capable of communicating with the communication device, and the functions are not particularly limited to those shown in this figure.

[0017] 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, an image capture device 111, a wired communication unit 112, etc. The CPU 103, the ROM 104, the RAM 105, etc. form a computer of the terminal device 101. The terminal device 101 is assumed to be a device such as a smartphone, but is not limited to a smartphone.

[0018] The input interface 102 is an interface for receiving data input and operational instructions from a user, and is composed of a physical keyboard, buttons, a touch panel, etc. Note that the output interface 107 described below and the input interface 102 may be configured in the same manner, so that the screen output and the reception of operations from the user are performed by the same configuration.

[0019] The CPU 103 is a system control unit, and controls the entire terminal device 101 .

[0020] The ROM 104 stores fixed data such as a control program executed by the CPU 103, a data table, and an operating system (hereinafter, referred to as OS) program. In this embodiment, each control program stored in the ROM 104 performs software execution control such as scheduling, task switching, and interrupt processing under the management of an embedded OS stored in the ROM 104. In this embodiment, the OS of the terminal device 101 is MacOS (registered trademark). In this embodiment, the ROM 104 stores a setup application program (hereinafter, a setup application). The setup application is installed in the terminal device 101 from the outside by, for example, a store application program. In addition, the setup application is an application provided by a vendor of the communication device 151. Note that the setup application may have other functions other than the function of performing network setup of the communication device 151. The other functions are, for example, a function of performing setup other than network setup of the communication device 151, a function of transmitting a print job to cause the communication device 151 to perform printing, and a function of transmitting a scan job to cause the communication device 151 to perform scanning.

[0021] The RAM 105 is composed of a static random access memory (SRAM) that requires a backup power source. Since the RAM 105 holds data using a primary battery (not shown) for data backup, it can store important data such as program control variables without volatilizing the data. The RAM 105 also has a memory area for storing setting information for the terminal device 101, management data for the terminal device 101, and the like. The RAM 105 is also used as the main memory and work memory for the CPU 103.

[0022] The external storage device 106 includes 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 / reception control program that transmits and receives information to and from 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.

[0023] The output interface 107 is an interface that controls the display unit 108 to display data and to notify the status of the terminal device 101 .

[0024] The display unit 108 is composed of an LED (light emitting diode) and an LCD (liquid crystal display), and displays data and notifies the status of the terminal device 101. Note that a soft keyboard equipped with keys such as numeric input keys, a mode setting key, a decision key, a cancel key, and a power key may be provided on the display unit 108 to accept input from the user via the display unit 108.

[0025] The wireless communication unit 109 is configured to wirelessly connect to devices such as the communication device 151 and the AP 131 to perform data communication. For example, the wireless communication unit 109 may directly communicate with the communication device 151 by wireless communication, or may communicate via the AP 131 that exists outside the terminal device 101 or the communication device 151. In this embodiment, the wireless communication method of the wireless communication unit 109 is assumed to be Wi-Fi, which is a communication method based on the IEEE802.11 standard, but Bluetooth Classic or the like may also be used. In this embodiment, the wireless LAN is assumed to be a network using Wi-Fi. In addition, the AP 131 may be, for example, a device such as a wireless LAN router. In this embodiment, a method in which the terminal device 101 and the communication device 151 are directly connected to each other without going through an external AP is called a direct connection method. In addition, a method in which the terminal device 101 and the communication device 151 are connected to each other via an external AP is called an infrastructure connection method.

[0026] The short-range wireless communication unit 110 is a component for executing data communication with devices such as the communication device 151 by a short-range wireless communication method, and performs communication by a communication method different from that of the wireless communication unit 109. The short-range wireless communication unit 110 is connectable to a short-range wireless communication unit 157 in the communication device 151. Note that examples of the communication method of the short-range wireless communication unit 110 include BLE, Bluetooth Classic, Wi-Fi Aware, and NFC.

[0027] The photographing device 111 is a device that converts an image photographed by an image sensor into digital data. The digital data is temporarily stored in the RAM 105. After that, the digital data is converted into a predetermined image format by a program executed by the CPU 103, and is stored in the external storage device 106 as image data.

[0028] The wired communication unit 112 is configured to connect to devices such as the communication device 151 and the AP 131 via a wire 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, the present invention is not limited to this form, and the wired communication unit 112 may communicate, for example, via a Universal Serial Bus (USB) cable.

[0029] The communication device 151 includes a ROM 152, a RAM 153, a CPU 154, a print engine 155, a wireless communication unit 156, a short-range wireless communication unit 157, an input interface 158, an output interface 159, a function control unit 160, a display unit 161, and a wired communication unit 162. The ROM 152, the RAM 153, the CPU 154, etc. form a computer of the terminal device 101.

[0030] The wireless communication unit 156 is configured to wirelessly connect to devices such as the terminal device 101 and the AP 131 to perform data communication. In this embodiment, Wi-Fi is used as the wireless communication method of the wireless communication unit 156, but Bluetooth Classic or the like may also be used. The wireless communication unit 156 has an AP 156-a for connecting to devices such as the terminal device 101 as an AP inside the communication device 151. The AP can be connected to the wireless communication unit 109 of the terminal device 101. The wireless communication unit 156 may directly communicate with the terminal device 101 via the AP 156-a, or may communicate with the terminal device 101 via the AP 131. The AP 156-a may be hardware that functions as an AP, or the wireless communication unit 156 may operate as the AP 156-a by software that functions as an AP. The AP inside the communication device 151 may be configured of multiple APs with different SSIDs (Service Set Identifiers) and passwords. In this embodiment, the APs inside the communication device 151 include at least a connection setting AP, which will be described later.

[0031] The RAM 153 is composed of a DRAM or the like that requires a backup power source. Since the RAM 153 holds data by being supplied with a data backup power source (not shown), it can store important data such as program control variables without volatilizing the data. The RAM 153 is also used as the main memory and work memory of the CPU 154, and stores a receiving buffer for temporarily storing print information received from the terminal device 101, etc., and various other information.

[0032] ROM 152 stores fixed data such as control programs, data tables, and OS programs executed by CPU 154. In this embodiment, each control program stored in ROM 152 performs software execution control such as scheduling, task switching, and interrupt processing under the management of an embedded OS stored in ROM 152. ROM 152 also has a memory area for storing data that needs to be held even when power is not supplied, such as setting information for communication device 151 and management data for communication device 151.

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

[0034] Based on information stored in the print engine 155 and the RAM 153 and a print job received from the terminal device 101, etc., an image is formed on a recording medium such as paper using a recording agent such as ink, and the print result is output. At this time, the print job sent from the terminal device 101, etc., has a large amount of transmission data and requires high-speed communication, so it is received via the wireless communication unit 156, which is capable of communication at a higher speed than the short-range wireless communication unit 157.

[0035] The short-range wireless communication unit 157 is configured to communicate with devices such as the terminal device 101 by a short-range wireless communication method. Note that examples of the communication method of the short-range wireless communication unit 157 include BLE, Bluetooth Classic, and Wi-Fi Aware.

[0036] The input interface 158 is an interface for receiving data input and operation instructions from the user, and is composed of a physical keyboard, buttons, a touch panel, etc. Note that the output interface 159 described below and the input interface 158 may have the same configuration, and may output the screen and receive operations from the user with the same configuration. The output interface 159 is an interface that controls the display unit 161 to display data and notify the status of the communication device 151.

[0037] The function control unit 160 manages the function operations of the communication device 151, determining whether or not the functions are to be operated simultaneously.

[0038] Display unit 161 is composed of an LED (light emitting diode) and an LCD (liquid crystal display), and displays data and notifies the state of communication device 151. Note that a soft keyboard equipped with keys such as numeric input keys, a mode setting key, a decision key, a cancel key, and a power key may be provided on display unit 161 to accept input from a user via display unit 161.

[0039] The wired communication unit 162 is configured to perform data communication by connecting to devices such as the terminal device 101 and the AP 131 via a wire. For example, the wired communication unit 162 communicates via a wired LAN. However, the communication is not limited to this form, and may be performed via a USB cable, for example.

[0040] <About the direct connection method> A direct connection refers to a form in which devices are directly (i.e., peer-to-peer) wirelessly connected to each other without going through an external device such as the AP 131. A direct connection is also called a peer-to-peer connection (P2P connection). The communication device 151 can operate in a mode for communicating via a direct connection (direct connection mode) as one of the connection modes. In Wi-Fi communication, there are multiple modes for communicating via a direct connection, such as a software AP mode and a Wi-Fi Direct (WFD) mode.

[0041] A mode in which a direct connection is performed by WFD is called a WFD mode. WFD is a standard established by the Wi-Fi Alliance, and is included in the IEEE802.11 series of communication standards. In the WFD mode, after a device to be a communication partner is searched for by a device search command, the roles of the P2P group owner (GO) and the P2P client are determined, and the remaining wireless connection processing is performed. The group owner corresponds to a Wi-Fi parent station (parent device), and the client corresponds to a Wi-Fi child station (child device). This role determination corresponds to, for example, GO Negotiation in P2P. Note that in the WFD mode before the role determination, the communication device 151 is in a state of neither a parent station nor a child station. Specifically, first, one device issues a device search command between devices to communicate with each other and searches for a device to connect in WFD mode. When the other device to be a communication partner is searched for, the two devices confirm information about services and functions that can be provided by each other's devices. Note that this device provision information confirmation is optional and not required. This device provision information confirmation phase corresponds to, for example, Provision Discovery of P2P. Next, by mutually confirming this device provision information, it is determined which one will be the P2P client and which one will be the P2P group owner as their roles. Next, when the client and the group owner are determined, parameters for performing communication by WFD are exchanged between them. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are performed between the P2P client and the group owner. Note that in the WFD mode, the communication device 151 may always operate as a GO without executing the above-mentioned GO Negotiation. That is, the communication device 151 may operate in a WFD mode that is an autonomous GO mode. Also, the state in which the communication device 151 operates in the WFD mode is, for example, a state in which the communication device 151 operates as a GO even though a WFD connection is not established, or a state in which a WFD connection is established and the communication device 151 operates as a GO.

[0042] In the software AP mode, between devices that communicate (for example, the terminal device 101 and the communication device 151), one device (for example, the terminal device 101) becomes a client that plays a role of requesting various services. The other device realizes the function of an AP in Wi-Fi by software settings. The software AP corresponds to a parent station of Wi-Fi, and the client corresponds to a child station of Wi-Fi. In the software AP mode, the client searches for a device that will become a software AP using a device search command. When the software AP is found, the remaining wireless connection processing (establishment of a wireless connection, etc.) between the client and the software AP is performed, and then the IP connection processing (assignment of an IP address, etc.) is performed. Note that commands and parameters transmitted and received when realizing a wireless connection between the client and the software AP may be those specified in the Wi-Fi standard, and therefore a description thereof will be omitted here.

[0043] In this embodiment, when the communication device 151 establishes and maintains a direct connection, it operates as a master station in the network to which the communication device 151 belongs. The master station is a device that constructs a wireless network and provides a slave station with parameters used for connecting to the wireless network. The parameters used for connecting to the wireless network are, for example, parameters related to a channel used by the master station. By receiving the parameters, the slave station connects to the wireless network constructed by the master station using the channel used by the master station. In the direct connection mode, the communication device 151 operates as a master station, so that the communication device 151 can determine which frequency band and which channel to use for communication in the direct connection mode. In this embodiment, the communication device 151 is capable of using a channel corresponding to a 2.4 GHz frequency band and a channel corresponding to a 5 GHz frequency band for communication in the direct connection mode. Then, which frequency band to use (i.e., which channel of the frequency band to use) can be arbitrarily set by the user through a setting on a predetermined screen (not shown) displayed by the communication device 151. That is, when 2.4 GHz is selected on the predetermined screen, the communication device 151 uses a channel corresponding to the 2.4 GHz frequency band for communication in the direct connection mode. On the other hand, when 5 GHz is selected on the predetermined screen, the communication device 151 uses a channel corresponding to the 5 GHz frequency band for communication in the direct connection mode. However, in this embodiment, even if 5 GHz is selected on the predetermined screen, the communication device 151 does not use a channel corresponding to the DFS (Dynamic Frequency Selection) band of the 5 GHz frequency band for communication in the direct connection mode. In other words, the communication device 151 uses only channels corresponding to frequency bands other than the DFS band of the 5 GHz frequency band for communication in the direct connection mode. Note that when a channel corresponding to the DFS band is being used and a radar wave of the frequency band corresponding to the channel is detected, the currently used channel must be changed.Such a frequency band where a channel change may occur due to the detection of radar waves is called a DFS band. For example, when a wireless chip compatible with the DFS function is used, a channel corresponding to the DFS (Dynamic Frequency Selection) band in the 5 GHz frequency band may be available for communication in the direct connection mode. The channel determined as the channel to be used in the direct connection mode is used in communication via the direct connection. Furthermore, the channel is also used for transmitting a beacon signal as a parent station and transmitting a response to a received command. That is, the channel is used not only for communication processing in the direct connection mode when a direct connection is established, but also for communication processing in the direct connection mode when a direct connection is not established.

[0044] In the above description, the communication device 151 is described as being capable of using the 2.4 GHz frequency band and the 5 GHz frequency band, but is not limited to this. Other frequency bands may be usable, and in the process in which the 2.4 GHz frequency band and the 5 GHz frequency band are used in this embodiment, other frequency bands may be used. For example, since the IEEE802.11ad standard allows the use of the 60 GHz frequency band, 60 GHz may be used as the other frequency band.

[0045] <About infrastructure connection method> The infrastructure connection is a connection form in which devices that communicate (for example, the terminal device 101 and the communication device 151) are connected to an AP (for example, the AP 131) that manages a network of the devices, and the devices communicate with each other via the AP. The communication device 151 can also operate in a mode for communicating via an infrastructure connection (infrastructure connection mode) as one of the connection modes.

[0046] In infrastructure connections, each device searches for an AP using a device search command. Once an AP is found, the remaining wireless connection processing between the device and the AP (establishment of a wireless connection, etc.) is carried out, and then IP connection processing (assignment of an IP address, etc.) is carried out. Note that commands and parameters sent and received when establishing a wireless connection between a device and an AP can be those specified in the Wi-Fi standard, and so a description of these will be omitted here.

[0047] In this embodiment, when the communication device 151 operates in the infrastructure connection, the AP 131 operates as a parent station, and the communication device 151 operates as a child device. That is, in this embodiment, the infrastructure connection refers to a connection between the communication device 151 operating as a child device and a device operating as a parent device. When the communication device 151 has established an infrastructure connection and the terminal device 101 has also established an infrastructure connection with the AP 131, communication between the communication device 151 and the terminal device 101 via the AP 131 is possible. Since the channel used for communication in the infrastructure connection is determined by the AP 131, the communication device 151 executes communication in the infrastructure connection using the channel determined by the AP 131. In this embodiment, the communication device 151 is assumed to be able to use a channel corresponding to the 2.4 GHz frequency band and a channel corresponding to the 5 GHz frequency band for communication in the infrastructure connection. Note that the communication device 151 is also able to use a channel corresponding to the DFS band in the 5 GHz frequency band for communication in the infrastructure connection. In order for the terminal device 101 to communicate with the communication device 151 via the AP 131, the terminal device 101 needs to recognize that the communication device 151 belongs to the network formed by the AP 131 and to which the terminal device 101 belongs.

[0048] <About connection setting mode> In this embodiment, the terminal device 101 executes a connection setting process for the communication device 151. The connection setting process is a process for establishing a connection by Wi-Fi between the communication device 151 and another device. The communication device 151 can operate in a connection setting mode as a mode for the connection setting process. A trigger for the communication device 151 to start operating in the connection setting mode may be, for example, a user pressing a button for the connection setting mode, or the communication device 151 being started (powered ON) for the first time after arrival. The button for the connection setting mode may be a hard button provided in the communication device 151, or may be a soft button displayed on the display unit 161 by the communication device 151.

[0049] When the communication device 151 starts operating in the connection setting mode, it enables both Wi-Fi communication and BLE communication. Specifically, the communication device 151 enables an internal AP (connection setting AP) of the communication device 151 that is dedicated to the connection setting mode as an enabling process of Wi-Fi communication. This allows the communication device 151 to be in a state in which it can establish a direct connection with the terminal device 101 by Wi-Fi. It is assumed that connection information (SSID and password) for connecting to the connection setting AP is held in advance in a setup application installed in the terminal device 101, and the terminal device 101 recognizes the connection information for connecting to the connection setting AP in advance. Note that an encryption method may not be set in the connection setting AP, and a password may not be required for connecting to the AP. Therefore, unlike the connection information of the AP enabled in the direct connection mode, it is assumed that the connection information for connecting to the connection setting AP cannot be arbitrarily changed by the user. Note that in the connection setting mode, the communication device 151 may connect to the terminal device 101 by Wi-Fi Direct (WFD) instead of normal Wi-Fi. That is, the communication device 151 may act as a Group Owner and receive a setting command from the terminal device 101 through communication using WFD.

[0050] <Problems to be Solved by the Present Embodiment> In this embodiment, in order to execute a connection setting process for the communication device 151, the terminal device 101 needs to search for the communication device 151 operating in a connection setting mode and connect to the communication device 151 found in the search. Specifically, the search for the communication device 151 operating in the connection setting mode is performed by a process of searching for access points present around the terminal device 101 using a communication method based on the IEEE802.11 standard. More specifically, a setup application on the terminal device 101 executes an OS-standard API (Application Programming Interface) for instructing the OS to execute a process of searching for access points present around the terminal device 101 (hereinafter, a first search process), thereby causing the OS to execute the first search process. The OS-standard API for instructing the OS to execute the first search process is hereinafter referred to as a first search API. In the first search process, the OS attempts to receive a beacon emitted by an access point present around the terminal device 101. As a result, when any beacon is received, the access point emitting the received beacon is discovered. The setup application that has executed the first search API acquires information on the access points discovered by the first search process from the OS as information indicating the result of the first search process. This allows the setup application to recognize the access points that exist around the terminal device 101 and that have been discovered by the search executed by the terminal device 101. Note that, if a communication device has an access point enabled, the first search process may discover the communication device that has enabled the access point. Therefore, the setup application can discover the communication device 151 that is operating in the connection setting mode and has enabled the access point, and can establish a connection between the communication device 151 operating in the connection setting mode and the terminal device 101.

[0051] However, even if the setup application executes the first search API, the first search process may not be executed by the OS. Specifically, if the OS of the terminal device 101 is a version equal to or higher than a predetermined version and the setting items related to the location information service managed by the OS of the terminal device 101 are not set to predetermined contents, even if the setup application executes the first search API, the first search process will not be executed by the OS. Note that the location information service is a service that allows an application to use information indicating the location of the terminal device 101, which is information provided by the OS. In the location information service, the location of the terminal device 101 is specified based on information acquired from, for example, a Global Positioning System (GPS), an access point, a telephone base station, or the like. Specifically, the version of the OS equal to or higher than the predetermined version is MacOS 14. In other words, the version of the OS lower than the predetermined version is an OS older than the predetermined version, for example, MacOS 13. Specifically, the predetermined content is that a setting (hereinafter, a first setting) for permitting an application of terminal device 101 to use the location information service is enabled, and a setting (second setting) for selecting a setup application as an application permitted to use the location information service by the first setting is enabled. If the first search process is not executed by the OS, terminal device 101 cannot find communication device 151 operating in the connection setting mode, and as a result, cannot execute a connection setting process for communication device 151.

[0052] Therefore, in this embodiment, when the first search process is not executed by the OS even if the setup application executes the first search API, the setup application executes the first search API to execute a process for controlling the first search process to be executed by the OS. This makes it possible to prevent a situation in which the connection setting process cannot be executed, and improves the usability of the setup application.

[0053] <About the screen for setting location information services> The OS standard setting application of the terminal device 101 can display a setting screen 300 as shown in FIG. 3. The setting screen 300 is displayed in a window displayed by the OS standard setting application. In the setting screen 300, an area 301 is an area for enabling or disabling the first setting. The area 301 includes a first toggle button, and the first setting is enabled or disabled by operating the first toggle button. When the first setting is enabled, an application selected as an application permitted to use the location information service by the first setting can use the location information service. Even if the first setting is enabled, an application not selected as an application permitted to use the location information service by the first setting cannot use the location information service. On the other hand, when the first setting is disabled, all applications of the terminal device 101 cannot use the location information service. When the first setting is disabled, an area 302 described below may be grayed out, and an operation on the area 302 may be disabled. Furthermore, when the first setting is disabled, all settings that can be set in the area 302 may be disabled.

[0054] The area 302 is an area for selecting an application other than the OS standard setting application as an application permitted to use the location information service by the first setting. In this embodiment, the area 302 includes an area 303 for enabling or disabling the second setting. The area 303 includes a second toggle button, and the second setting is enabled or disabled by operating the second toggle button. When the second setting is enabled, the setup application is selected as an application permitted to use the location information service by the first setting, and the setup application can use the location information service. On the other hand, when the second setting is disabled, the setup application is not selected as an application permitted to use the location information service by the first setting, and the setup application cannot use the location information service. The area 302 is an area related to an application other than the setup application, and may include an area similar to the area 303.

[0055] <Processing Executed by the Terminal Device 101 in the Present Embodiment> 4 is a flowchart showing a process executed by the terminal device 101 using the setup application. This flowchart is realized by the CPU 103 reading a program (setup application) stored in the ROM 104 into the RAM 105 and executing it. Note that this flowchart is started based on an operation for starting the setup application. The operation for starting the setup application is, for example, an operation of pressing an icon corresponding to the setup application and displayed on the home screen of the terminal device 101.

[0056] In S401, the CPU 103 downloads print data for test printing, which will be described later. The print data is obtained, for example, from a server on the Internet via a connection between the terminal device 101 and an access point.

[0057] In S402, processing related to location information services is executed. Details of this processing will be described below with reference to FIG.

[0058] 5 is a flowchart showing a process related to a location information service. This flowchart is realized by the CPU 103 reading a program stored in the ROM 104 into the RAM 105 and executing it. In this embodiment, the terminal device 101 executes the process using a setup application. The process of this flowchart corresponds to the process of S402.

[0059] In S501, the CPU 103 judges whether the OS of the terminal device 101 is a version equal to or higher than a predetermined version. In this embodiment, the predetermined version is MacOS 14, but is not limited to this, and may be any version of the OS that includes the setting contents of the location information service in the execution conditions by the OS of the first search process. If the CPU 103 judges YES, the process proceeds to S502, and if the CPU 103 judges NO, the process of this flowchart ends and the process proceeds to S403. That is, if the CPU 103 judges NO, the process proceeds to S403 without executing S502 to S505 described later, so that even if the second setting is not set to valid, the process (the process of S505) for setting the second setting to valid is not executed. That is, if the CPU 103 judges NO, the process proceeds to S403 without executing S502 to S505 described later, so that the process for setting the second setting to valid is not executed regardless of the setting contents of the second setting. It is assumed that the OS of the terminal device 101 can be updated from an OS lower than the predetermined version to an OS equal to or higher than the predetermined version. In this case, the setup application on one terminal device 101 may output YES or NO as the result of this determination. That is, the setup application on one terminal device 101 will determine NO in a determination executed before the OS is updated, and will determine YES in a determination executed after the OS is updated. However, in a form in which the OS of the terminal device 101 cannot be updated, the setup application on one terminal device 101 will output only one of YES and NO as the result of this determination. That is, the terminal device 101 on which the setup application is running when the result of this determination is YES is different from the terminal device 101 on which the setup application is running when the result of this determination is NO.

[0060] In S502, CPU 103 determines whether or not the first setting is enabled. As described above, the first setting is a setting whose setting content can be changed by an operation on area 301 in FIG. 3. Specifically, in this process, CPU 103 acquires information indicating whether or not the first setting is enabled from the OS by executing an OS standard API for acquiring the information from the OS by the setup application. Then, CPU 103 executes this determination based on whether or not the acquired information indicates that the first setting is enabled. If CPU 103 determines YES, the process proceeds to S503, and if CPU 103 determines NO, the process of this flowchart ends and the process proceeds to S403.

[0061] In S503, the CPU 103 determines whether the second setting is set to be valid. As described above, the second setting is a setting whose setting contents can be changed by an operation on the area 303 in FIG. 3. In this embodiment, the state related to the second setting includes a state in which the second setting is set to be valid, a state in which the second setting is set to be invalid, and a state in which the second setting is neither set to be valid nor invalid (hereinafter, referred to as the initial state). The initial state corresponds to a state in which neither an operation for setting the second setting to be valid nor an operation for setting the second setting to be invalid has been executed. If the second setting is set to be valid or the second setting is set to be invalid, the area 303 is displayed in the area 302 when the screen 300 is opened. However, if the initial state is used, the area 303 may not be displayed in the area 302 when the screen 300 is opened. That is, the area 302 may display only an area related to an application whose setting as an application permitted to use the location information service by the first setting is set to be valid or invalid by a dialogue to be described later. Specifically, in this process, CPU 103 executes an OS standard API for acquiring information indicating the state of the second setting from the OS by the setup application, thereby acquiring the information from the OS by the setup application. CPU 103 then executes this determination based on whether the acquired information indicates a state in which the second setting is set to valid. If CPU 103 determines YES, it ends the processing of this flowchart and proceeds to S403, and if it determines NO, it proceeds to S504. Note that if the acquired information indicates a state in which the second setting is set to invalid or the initial state, it is determined NO.

[0062] In S504, the CPU 103 judges whether the second setting is set to invalid. If the CPU 103 judges YES, the process of this flowchart ends and proceeds to S403, and if the CPU 103 judges NO, the process proceeds to S505. Note that if the information acquired in S503 indicates the initial state, the judgment is NO.

[0063] At S505, the CPU 103 executes a process for enabling the second setting. In this process, the CPU 103 executes, by the setup application, an API that is standard in the OS for displaying a dialog for enabling the second setting. When the API is executed, the dialog is displayed by the OS in a window displayed by the setup application. FIG. 6 shows an example of a dialog 600 that is displayed in this process. The dialog 600 includes a button 601 for enabling the second setting and a button 602 for not enabling the second setting. The dialog 600 also includes a message indicating that the setup application is attempting to use a location information service. The content of this message is controlled by the OS and cannot be controlled by the setup application. However, the dialog 600 can also display a message that can be controlled by the setup application. In particular, when the API that is standard in the OS for displaying the dialog 600 is executed, the setup application notifies the OS of an arbitrary message as an argument, so that the message can be displayed in the dialog 600. If the setup application does not notify the OS of a message as an argument, the dialog 600 does not display a message controlled by the setup application. For example, a message indicating that the second setting needs to be set to be valid in order to execute a connection setting process for the communication device 151 may be displayed in the dialog 600 as a message controlled by the setup application. When the button 601 is operated by the user, the OS enables the second setting. That is, the OS sets the second setting to a state in which it is set to be valid. Furthermore, the OS notifies the setup application that the button 601 has been operated by the user. On the other hand, when the button 602 has been operated by the user, the OS disables the second setting. That is, the OS sets the second setting to a state in which it is set to be invalid. Furthermore, the OS notifies the setup application that the button 602 has been operated by the user. When the button 601 or the button 602 has been operated, the dialog is hidden.When the button 601 or the button 602 is operated, the CPU 103 ends the processing of this flowchart and proceeds to S403.

[0064] In this embodiment, the OS does not display the dialog 600 unless the second setting is in the initial state. In other words, when the second setting is set to be disabled, the OS does not display the dialog 600 even if the setup application executes an OS standard API for displaying the dialog 600. Therefore, in this embodiment, the process for enabling the second setting is executed only when the second setting is in the initial state. However, this is not limited to this form, and the OS may be able to display the dialog 600 even when the second setting is set to be disabled. Then, by omitting the determination in S504, the process for enabling the second setting may be executed both when the second setting is in the initial state and when the second setting is set to be disabled.

[0065] When the process of the flowchart in FIG. 5 ends, the CPU 103 proceeds to S403.

[0066] In S403, the CPU 103 executes a process for searching the communication device 151. In this process, specifically, the CPU 103 executes the first search API to instruct the OS to execute the first search process. When the first search API is executed, if the OS of the terminal device 101 is a version equal to or higher than a predetermined version and both the first setting and the second setting are set to be valid, the OS executes the first search process. If the OS of the terminal device 101 is a version lower than a predetermined version, the OS executes the first search process regardless of the setting contents of the first setting and the second setting. However, if the OS of the terminal device 101 is a version equal to or higher than a predetermined version and at least one of the first setting and the second setting is set to be invalid, the OS does not execute the first search process even if the first search API is executed by the setup application. If the OS executes the first search process, the setup application acquires information indicating the result of the first search process from the OS, and if the OS does not execute the first search process, the setup application does not acquire information indicating the result of the first search process from the OS. In addition, in this process, the CPU 103 executes an OS standard API (hereinafter, a second search API) for instructing the OS to execute a process of searching for a communication device on the network to which the terminal device 101 belongs (hereinafter, a second search process), thereby causing the OS to execute the second search process. Note that when the second search API is executed, the second search process is executed by the OS regardless of the version of the OS of the terminal device 101 or the setting contents of the first setting and the second setting. That is, even if the OS of the terminal device 101 is a version equal to or higher than a predetermined version and at least one of the first setting and the second setting is set to invalid, the second search process is executed by the OS. When the second search process is executed by the OS, the setup application acquires information indicating the result of the second search process from the OS. Note that the second search process is, in other words, a process of searching for a communication device that belongs to the network to which the terminal device 101 belongs. Also, the second search process is executed by broadcasting on the network to which the terminal device 101 belongs.In other words, a communication device belonging to the network to which the terminal device 101 belongs is a communication device connected to the access point to which the terminal device 101 is connected. The connection between the terminal device 101 and the access point can be established by a communication method based on the IEEE802.11 standard or a wired LAN. When there are multiple communication devices belonging to the network to which the terminal device 101 belongs, the multiple communication devices belonging to the network to which the terminal device 101 belongs are discovered by the second search process.

[0067] In S404, the CPU 103 displays a list of communication devices found by the search process executed in S403. At this time, the CPU 103 may specify communication devices that are compatible with the setup application among the communication devices found by the search process executed in S403, and display only the specified communication devices. In this embodiment, the communication device that is compatible with the setup application is specifically a printing device provided by a vendor that provides the setup application. In addition, the communication device that is compatible with the setup application is specifically a communication device that operates in the connection setting mode and has an access point with an SSID dedicated to the connection setting mode enabled. An example of a list screen 700 that is a screen displayed in this process is shown in FIG. 7. An area 701 is an area that shows a list of communication devices found by the search process executed in S403. Since a communication device is selected by the user from the list displayed in the area 701, the list screen 700 can also be said to be a selection screen. If a communication device is selected by the user from the list displayed in the area 701 and then the area 702 is operated by the user, the CPU 103 proceeds to S405.

[0068] In S405, the CPU 103 displays an IF selection screen for selecting an interface (IF) to be used in the connection setup process. FIG. 8 shows an example of an IF selection screen 800 displayed in this process. An area 803 is an area for displaying candidates for IFs to be used in the connection setup process. In this embodiment, the candidates for IFs to be used in the connection setup process are an IF for wireless LAN communication (Wi-Fi communication), an IF for wired LAN communication, and an IF for USB communication. Note that the IF selected here is an IF to be used for the connection between the communication device selected in S404 and the terminal device 101, so the IF selection screen can also be said to be a screen for selecting a method of connection between the communication device selected in S404 and the terminal device 101. After the user selects one of the options displayed in the area 801, if the user operates the area 802, the CPU 103 proceeds to S406.

[0069] In S406, the CPU 103 executes a connection setting process for the communication device selected in S404. Details of this process will be described below with reference to FIG.

[0070] 9 is a flowchart showing the connection setting process. This flowchart is realized by the CPU 103 reading a program stored in the ROM 104 into the RAM 105 and executing it. In this embodiment, the terminal device 101 executes the process using a setup application. The process of this flowchart corresponds to the process of S406.

[0071] In S901, the CPU 103 judges whether the IF selected in S405 is an IF for wired LAN communication or an IF for USB communication. If the CPU 103 judges YES, the CPU 103 proceeds to S902, and if the CPU 103 judges NO, the CPU 103 proceeds to S903. Note that if the IF selected in S405 is an IF for wireless LAN communication, the CPU 103 judges NO.

[0072] In S902, the CPU 103 is connected to the terminal device 101 by the IF selected in S405, identifies the communication device 151 selected in S404, and establishes a session between the identified communication device 151 and the terminal device 101. This puts the terminal device 101 in a state where it can communicate with the identified communication device 151. Thereafter, the CPU 103 ends the processing of this flowchart, and proceeds to S407.

[0073] In S903, CPU 103 determines whether communication device 151 selected in S404 is a communication device 151 discovered by the first search process. Note that communication device 151 discovered by the first search process is a communication device 151 operating in a connection setting mode. If CPU 103 determines YES, it proceeds to S904, and if CPU 103 determines NO, it proceeds to S902.

[0074] In S904, the CPU 103 judges whether the OS of the terminal device 101 is a version equal to or higher than a predetermined version. This process is the same as the process of S501. If the CPU 103 judges YES, the process proceeds to S905, and if the CPU 103 judges NO, the process proceeds to S907. That is, if the CPU 103 judges NO, the process proceeds to S907 without executing S905, S906, and S908 described below, so that the second connection setting process is not executed even if both the first setting and the second setting are not set to valid. That is, if the CPU 103 judges NO, the CPU 103 controls so that the second connection setting process is not executed regardless of the setting contents of the first setting and the second setting.

[0075] In S905, the CPU 103 determines whether or not the first setting is set to valid. This process is the same as the process of S502. If the CPU 103 determines YES, the process proceeds to S906, and if the CPU 103 determines NO, the process proceeds to S908.

[0076] In S906, the CPU 103 determines whether the second setting is enabled. This process is the same as the process in S503. If the CPU 103 determines YES, the process proceeds to S907, and if the CPU 103 determines NO, the process proceeds to S908.

[0077] In S907, the CPU 103 executes a first connection setting process. Details of this process will be described later with reference to Fig. 10. After that, the CPU 103 ends the process of this flowchart and proceeds to S407.

[0078] In S908, the CPU 103 executes a second connection setting process. Details of this process will be described later with reference to Fig. 11. After that, the CPU 103 ends the process of this flowchart and proceeds to S407.

[0079] The first connection setting process will be described in detail below. Fig. 10 is a flowchart showing the first connection setting process. This flowchart is realized by the CPU 103 reading a program stored in the ROM 104 into the RAM 105 and executing it. Note that in this embodiment, the terminal device 101 executes the process using a setup application. The process of this flowchart corresponds to the process of S907.

[0080] In S1001, the CPU 103 searches for the communication device 151 selected in S404 as the communication device 151 operating in the connection setting mode. In this process, specifically, the CPU 103 executes the first search API to instruct the OS to execute the first search process. The first connection setting process is executed when the execution condition for the first search process is satisfied, so in this process, the first search process is not executed by the OS even if the first search API is executed. When the first search process is executed by the OS, the setup application acquires information indicating the result of the first search process from the OS. The information indicating the result of the first search process is information indicating the access point discovered by the first search process. Therefore, the CPU 103 identifies an access point that is enabled by the communication device 151 selected in S404 as the communication device 151 operating in the connection setting mode from among the access points discovered by the first search process. If the access point is identified, it is the communication device 151 operating in the connection setting mode, and the communication device 151 selected in S404 has been found in this process. If the access point is not identified, it is the communication device 151 operating in the connection setting mode, and the communication device 151 selected in S404 has not been found in this process.

[0081] In S1002, the CPU 103 determines whether or not the communication device 151 selected in S404 has been found by the search in S1001. If the CPU 103 determines YES, the process proceeds to S1003, and if the CPU 103 determines NO, the process returns to S1001.

[0082] In S1003, the CPU 103 stores in memory information (SSID and password) related to the access point to which the terminal device 101 is currently connected. After that, the CPU 103 disconnects the connection between the terminal device 101 and the access point. Note that if the terminal device 101 is not connected to an access point, this process is skipped.

[0083] In S1004, CPU 103 establishes a connection between the terminal device 101 and an access point enabled by communication device 151 found by the search in S1001 (i.e., communication device 151 selected in S404). That is, CPU 103 establishes a connection between terminal device 101 and communication device 151 selected in S404. Note that in this embodiment, it is assumed that no password is required to connect to an access point enabled by communication device 151 operating in a connection setting mode. Hereinafter, it is assumed that communication between terminal device 101 and communication device 151 is performed via the connection established here.

[0084] In S1005, the CPU 103 acquires, from the communication device 151 selected in S404, a list of access points discovered by the communication device 151 in the first search process executed by that communication device 151.

[0085] In S1006, CPU 103 judges whether or not the list acquired in S1005 includes an access point corresponding to the information stored in S1003. If CPU 103 judges YES, it proceeds to S1007, and if it judges NO, it proceeds to S1006. Note that if there is no information stored in S1003, it is judged NO in this process.

[0086] In S1007, CPU 103 transmits setting information including the information stored in S1003 to communication device 151 selected in S404. The information stored in S1003 is information for connecting to the access point to which terminal device 101 was connected at the timing of S1003. When the information stored in S1003 is transmitted to communication device 151, communication device 151 uses the information to connect to the access point corresponding to the information. CPU 103 then proceeds to S1009.

[0087] In S1008, the CPU 103 executes a second connection setting process, the details of which will be described later.

[0088] In S1009, the CPU 103 uses the information stored in S1003 to re-establish a connection between the terminal device 101 and the access point corresponding to that information.

[0089] In S1010, the CPU 103 searches for the communication device 151 selected in S404, which is the communication device 151 that is the destination of information in S1007 and is on the network to which the terminal device 101 belongs and is formed by the access point to which the terminal device 101 is connected. That is, the CPU 103 executes the second search API to cause the OS to execute the second search process. Then, the CPU 103 receives the result of the second search process from the OS, and specifies the communication device 151 selected in S404 from among the devices indicated by the result and discovered by the second search process. When the communication device 151 is discovered in this way, the process of this flowchart ends, and the process proceeds to S407. Note that in this process, a search other than the second search process may be executed. Specifically, for example, the CPU 103 may acquire in advance the IP address of the communication device 151 selected in S404, and execute a unicast search process using the IP address in S1010.

[0090] If no information was saved in S1003, S1009 and S1010 are skipped and the process proceeds to S407.

[0091] The second connection setting process will be described in detail below. Fig. 11 is a flowchart showing the second connection setting process. This flowchart is realized by the CPU 103 reading a program stored in the ROM 104 into the RAM 105 and executing it. In this embodiment, the terminal device 101 executes the process using a setup application. The process of this flowchart corresponds to the process of S908.

[0092] In S1101, the CPU 103 displays, by the Web browser, a guide screen (not shown) showing a method of a predetermined operation for establishing a connection between the communication device 151 and an access point, without transmitting setting information from the terminal device 101 to the communication device 151. Specifically, the CPU 103 displays the guide screen on the Web browser by instructing the Web browser to display a screen by a URL for displaying the guide screen, which is a URL previously held by the setup application. Note that the guide screen is a window different from the window displayed by the setup application, and is displayed in a window displayed by the Web browser. The predetermined operation is an operation performed by the user on the communication device 151, and includes an operation for causing the communication device 151 to execute a first search process, an operation for selecting one of the access points found by the first search process, an operation for inputting a password for the selected access point, and the like. The predetermined operation is not limited to this form, and may include, for example, an operation for causing the communication device 151 to execute a connection process based on WPS (Wi-Fi Protected Setup) or a connection process based on AOSS (AirStation One-Touch Secure System). In this process, CPU 103 further displays, in a window displayed by the setup application, a guidance screen for prompting the user to perform a predetermined operation according to the guide displayed on the guide screen. This guidance screen is a screen displayed by the setup application without the setup application executing an OS standard API. FIG. 12 shows an example of guidance screen 1200 displayed here. Area 1201 is a link button for displaying the guide screen again by the Web browser when the above guide screen is closed. After performing a predetermined operation according to the guide displayed on the guide screen, the user presses a button in area 1202. When the button in area 1202 is pressed, CPU 103 proceeds to S1102.

[0093] As described above, in S1101, the display of the guide screen by the Web browser is automatically executed based on the processing proceeding to S1101, but the present invention is not limited to this. That is, the display of the guide screen by the Web browser does not have to be automatically executed based on the processing proceeding to S1101. The display of the guide screen by the Web browser may be executed only when the area 1201 of the guide screen 1200 is operated.

[0094] In the above description, the guide screen is displayed in a Web browser, but the present invention is not limited to this. The guide screen may be displayed in the guide screen 1200 displayed by the setup application, not in the screen displayed by the Web browser. Alternatively, the guide screen may be displayed in a screen other than the guide screen 1200, but in the screen displayed by the setup application.

[0095] In S1102, the CPU 103 searches for the communication device 151 selected in S404 on the network to which the terminal device 101 belongs and on the network formed by the access point to which the terminal device 101 is connected. That is, the CPU 103 executes the second search API to cause the OS to execute the second search process. Then, the CPU 103 receives the result of the second search process from the OS, and specifies the communication device 151 selected in S404 from among the devices indicated by the result and discovered by the second search process. When the communication device 151 is discovered in this way, the process of this flowchart ends, and the process proceeds to S407. Note that in this process, a search other than the second search process may be executed. Specifically, for example, the CPU 103 may acquire in advance the IP address of the communication device 151 selected in S404, and in S1010, execute a unicast search process using the IP address. After that, the CPU 103 ends the process of this flowchart, and proceeds to S407.

[0096] In S407, the CPU 103 downloads and installs a printer driver corresponding to the communication device 151 selected in S404. The CPU 103 downloads the printer driver from a server on the Internet, for example, via a connection between the terminal device 101 and an access point. Note that the process executed in this process is not limited to this form, and may be a process of displaying a screen showing an operation method for downloading the printer driver. In this process, a program other than the printer driver may be downloaded. Specifically, the program other than the printer driver may be, for example, a printing application for transmitting a print job to the communication device 151, a scanning application for transmitting a scan job to the communication device 151, an image layout application for arranging an image on a template to create a layout image or an album, etc.

[0097] In S408, the CPU 103 executes processing for creating a print queue corresponding to the communication device 151 selected in S404. In this processing, the CPU 103 notifies the OS to create a print queue corresponding to the communication device 151 selected in S404. By creating a print queue corresponding to the communication device 151 selected in S404, the terminal device 101 becomes able to cause the communication device 151 selected in S404 to execute printing.

[0098] In S409, the CPU 103 transmits the print data acquired in S401 to the communication device 151 selected in S404, thereby causing the communication device 151 selected in S404 to execute test printing. After that, the CPU 103 ends the processing of this flowchart.

[0099] By adopting the above-mentioned embodiment, in an environment where there is an execution condition by the OS of the first search process, if the execution condition is not satisfied, it is possible to execute a process to make the execution condition satisfied. As a result, it is possible to prevent the occurrence of a situation in which the connection setting process cannot be executed because the first search process is not executed by the OS.

[0100] In the above description, if the result of the determination in S906 is NO, the process immediately proceeds to S908, but the present invention is not limited to this. For example, if the result of the determination in S906 is NO, CPU 103 may execute a process of determining whether or not the second setting is set to invalid (similar process to S504), and if the result of this determination is NO, execute a process for validating the second setting (similar process to S505). Then, CPU 103 may again execute a process of determining whether or not the second setting is set to valid (similar process to S906), and if the result of this determination is YES, the process proceeds to S907, and if the result of this determination is NO, the process proceeds to S908.

[0101] In the above, in both the flowchart of FIG. 5 and the flowchart of FIG. 9, the determination of whether the OS of the terminal device 101 is a version equal to or higher than a predetermined version, the determination of whether the first setting is set to be valid, and the determination of whether the second setting is set to be valid are executed. However, this is not limited to this form. For example, the above-mentioned determination may be executed only in the flowchart of FIG. 5, and not in the flowchart of FIG. 9. In this form, the process of FIG. 9 is executed assuming that the user has enabled both the first setting and the second setting by the process of the flowchart of FIG. 5. Therefore, when the result of the determination in S903 is YES, the CPU 103 skips the processes of S904 to S906 and proceeds to S907. In addition, for example, the above-mentioned determination may be executed only in the flowchart of FIG. 9, and not in the flowchart of FIG. 5. In this form, the CPU 103 skips S402 after S401 and proceeds to S403. In this form, the above-mentioned form of executing the same process as S505 in the flowchart of FIG. 9 is applied.

[0102] <Second embodiment> A description will be given of an embodiment for solving the problem, which is different from the first embodiment. The system of this embodiment and the processing executed in this embodiment are the same as those in the first embodiment unless otherwise specified.

[0103] In this embodiment, the process related to the location information service executed in S402 is different from that in the first embodiment. The process related to the location information service in this embodiment will be described in detail below with reference to FIG.

[0104] 13 is a flowchart showing a process related to a location information service. This flowchart is realized by the CPU 103 reading a program stored in the ROM 104 into the RAM 105 and executing it. In this embodiment, the terminal device 101 executes the process using a setup application. The process of this flowchart corresponds to the process of S402.

[0105] In S1301, the CPU 103 judges whether the OS of the terminal device 101 is a version equal to or higher than a predetermined version. This process is the same as S501. If the CPU 103 judges YES, the process proceeds to S1302, and if the CPU 103 judges NO, the process of this flowchart is terminated and the process proceeds to S403. That is, if the CPU 103 judges NO, the process proceeds to S403 without executing S1302 to S1307 described later, so that even if the first setting is not set to valid, the process for setting the first setting to valid (the process of S1303) is not executed. Furthermore, even if the second setting is not set to valid, the CPU 103 controls so that the process for setting the second setting to valid (the process of S1303 and the process of S1307) is not executed. That is, if the CPU 103 judges NO, the CPU 103 controls so that the process for setting the first setting to valid is not executed, regardless of the setting contents of the first setting. Furthermore, the CPU 103 controls so that the process for setting the second setting to valid is not executed, regardless of the setting contents of the second setting.

[0106] In S1302, the CPU 103 determines whether at least one of the first setting and the second setting is set to be disabled. In this process, the CPU 103 executes an OS standard API for acquiring information indicating whether the first setting is set to be enabled from the OS and an OS standard API for acquiring information indicating whether the second setting is set to be enabled from the OS, by using a setup application, thereby acquiring the information from the OS by the setup application. Then, this determination is performed based on the information acquired in this manner. Specifically, the case where at least one of the first setting and the second setting is set to be disabled is when the first setting is set to be disabled, or when the first setting is enabled but the second setting is set to be disabled. Specifically, the case where at least one of the first setting and the second setting is not disabled is when both the first setting and the second setting are set to be enabled, or when the first setting is enabled but the second setting is in the initial state. If the CPU 103 determines YES, the process proceeds to S1303, and if the CPU 103 determines NO, the process proceeds to S1304.

[0107] In S1303, the CPU 103 displays a guidance screen for urging the user to set the first setting to valid. This guidance screen is a screen that the setup application displays without executing the API of the OS standard. FIG. 14 shows an example of a guidance screen 1400 displayed in this process. The guidance screen 1400 is displayed in a window displayed by the setup application. The guidance screen 1400 includes a message for urging the user to set the first setting to valid. In other words, the message is a message that recommends setting the first setting to valid. The area 303 for executing the setting related to the second setting may not be displayed on the setting screen 300 until the dialog 600 is displayed by an instruction from the setup application. That is, at this timing, the user may not be able to execute the setting related to the second setting. Therefore, in this process, a process is executed to prompt the user to at least set the first setting to valid. However, even at this timing, the area 303 for executing the setting related to the second setting may be displayed on the setting screen 300. That is, even at this timing, the user may be able to execute the setting related to the second setting. Therefore, the guidance screen 1400 may be a screen for urging the user to set both the first setting and the second setting to be valid. The guidance screen 1400 may also include a message indicating that the first setting and the second setting must be set to be valid in order to use the functions of the setup application. As described above, the guidance screen 1400 is a screen displayed by the setup application without using the OS-standard API, so the message displayed on the guidance screen 1400 is not a message whose content is controlled by the OS, but a message whose content is controlled by the setup application. An area 1401 included in the guidance screen 1400 is a button for displaying the setting screen 300. When the area 1401 is pressed, the CPU 103 notifies the OS-standard setting application to display the setting screen 300. Specifically, the CPU 104 executes the OS-standard API for displaying the setting screen 300.As a result, the setting screen 300 is displayed by the OS standard setting application in a window separate from the window displaying the guidance screen 1400. The user executes an operation to set the first setting to valid on the setting screen 300 displayed here. Then, after executing an operation to set the first setting to valid on the setting screen 300, the user operates an area 1402 included in the guidance screen 1400. When the area 1402 is operated, the CPU 103 proceeds to S1304.

[0108] In S1304, CPU 103 determines whether or not both the first setting and the second setting are set to be valid. Specifically, in this process, CPU 103 executes an OS standard API for acquiring information indicating whether or not the first setting is set to be valid from the OS and an OS standard API for acquiring information indicating whether or not the second setting is set to be valid from the OS, by using a setup application, thereby acquiring the information from the OS by the setup application. Then, this determination is made based on the information acquired in this manner. If CPU 103 determines YES, it ends the process of this flowchart and proceeds to S403, and if it determines NO, it proceeds to S1305.

[0109] In S1305, the CPU 103 determines whether or not the first setting is set to be valid. This process is the same as the process of S502. If the CPU 103 determines YES, the process proceeds to S1306, and if the CPU 103 determines NO, the process of this flowchart ends and the process proceeds to S403.

[0110] In S1306, the CPU 103 judges whether the second setting is set to be disabled. This process is the same as the process of S504. If the CPU 103 judges YES, it ends the process of this flowchart and proceeds to S403, and if the CPU 103 judges NO, it proceeds to S1307. Note that if the information acquired in S1305 indicates an initial state, it is judged as NO. Furthermore, the reason why the processes of S1304 and S1305 are executed even though the guidance screen 1400 is displayed in S1303 is that the first setting or the second setting may not be enabled by the user even though the guidance screen 1400 is displayed.

[0111] In S1307, the CPU 103 executes a process for validating the second setting. This process is the same as the process in S505. If the button 601 or the button 602 is operated, the CPU 103 ends the process of this flowchart and proceeds to S403.

[0112] In this manner, in the present embodiment, when the first setting is set to invalid, a process for validating the first setting can be executed. Note that, as a process for validating the second setting when the second setting is in the initial state, an OS-standard function, that is, display of the dialog 600, is provided, which is instructed to be executed by the application to the OS by the OS-standard API. However, as a process for validating the first setting or a process for validating the second setting when the second setting is set to invalid, an OS-standard function is not provided, which is instructed to be executed by the application to the OS by the OS-standard API. Therefore, in the present embodiment, the CPU 103 executes a process that does not use an OS-standard function that is instructed to be executed by the application to the OS by the OS-standard API, as a process for validating the first setting or a process for validating the second setting when the second setting is set to invalid. Specifically, the CPU 103 displays a guidance screen by the setup application without using the OS-standard API. By adopting such a form, it is possible to easily satisfy the execution condition by the OS of the first search process. In addition, it is possible to suppress the occurrence of a situation in which the connection setting process cannot be executed because the first search process is not executed by the OS.

[0113] 13 ends when the determination result in S1305 or S1306 is NO in the above description, but the present invention is not limited to this. When the determination result in S1305 or S1306 is NO, the process may proceed to S1303.

[0114] As described above, the result of the determination in S1302 is YES when the first setting is set to invalid or when the first setting is set to valid but the second setting is set to invalid. In the above description, the same guidance screen is displayed in S1303 in either case, but this is not limited to this form. Different guidance screens may be displayed based on whether the first setting is invalid or whether the first setting is valid but the second setting is invalid. Specifically, for example, when the first setting is set to invalid, a guidance screen for urging the user to set the first setting to valid may be displayed, and when the first setting is valid but the second setting is invalid, a guidance screen for urging the user to set the second setting to valid may be displayed.

[0115] In the above description, the process immediately proceeds to S908 when the determination result in S906 is NO, but the present invention is not limited to this. For example, when the determination result in S905 is NO, CPU 103 may execute a process for validating the first setting that does not use an API standardized by the OS (similar process to S1303). For example, when the determination result in S906 is NO, CPU 103 may execute a process for determining whether or not the second setting is set to be disabled (similar process to S504), and when the determination result is NO, CPU 103 may execute a process for validating the second setting that uses an API standardized by the OS (similar process to S505). When the determination result is YES, CPU 103 may execute a process for validating the second setting that does not use an API standardized by the OS (similar process to S1303). Thereafter, CPU 103 executes a process to determine whether or not both the first setting and the second setting are set to be valid (a process similar to S1304), and if the result of this determination is YES, proceeds to S907, and if the result of this determination is NO, proceeds to S908.

[0116] In the above description, in S1307, the setup application executes an API standard in the OS for displaying the dialog 600, but the present invention is not limited to this. Even if the second setting is in the initial state, the area 303 may be displayed in the area 302. Therefore, in S1307, for example, the API standard in the OS for displaying the setting screen 300 (similar to the process executed when the area 1401 is pressed) may be executed. In addition, in S1307, for example, the API standard in the OS for displaying the guidance screen 1400 (similar to the process executed in S1303) may be executed without executing the API standard in the OS.

[0117] In the above, in both the flowchart of FIG. 13 and the flowchart of FIG. 9, the determination of whether the OS of the terminal device 101 is a version equal to or higher than a predetermined version, the determination of whether the first setting is set to be valid, and the determination of whether the second setting is set to be valid are executed. However, this is not limited to this form. For example, the above-mentioned determination may be executed only in the flowchart of FIG. 13 and not in the flowchart of FIG. 9. In this form, the process of FIG. 9 is executed assuming that the user has enabled both the first setting and the second setting by the process of the flowchart of FIG. 13. Therefore, when the result of the determination in S903 is YES, the CPU 103 skips the processes of S904 to S906 and proceeds to S907. In addition, for example, the above-mentioned determination may be executed only in the flowchart of FIG. 9 and not in the flowchart of FIG. 13. In this form, the CPU 103 skips S402 after S401 and proceeds to S403. In addition, in this embodiment, the above-described embodiment in which the same process as S505 and the same process as S1303 in the flowchart of FIG. 9 are executed is applied.

[0118] In the above description, the process of S1303 is executed based on at least one of the first setting and the second setting being set to invalid, but the present invention is not limited to this. The process of S1303 may be executed regardless of the setting state of the first setting or the second setting. Specifically, for example, when S1301 is NO, the CPU 103 may skip S1302 and proceed to S1303.

[0119] <Other embodiments> In the above, the first search process is a process for performing a connection setting process, and is executed in a process for searching for a communication device 151 operating in a connection setting mode. However, the first search process is not limited to this form. Since the first search process is a process for searching an access point, it can be executed in various processes other than the process for performing the connection setting process as long as it is a process for connecting to an access point. Therefore, as described above, the determination of whether the OS of the terminal device 101 is a predetermined version or higher, the determination of whether the first setting is set to be valid, the determination of whether the second setting is set to be valid, the same process as S505, and the same process as S1303 may be executed in various processes other than the process for performing the connection setting process. The process other than the process for performing the connection setting process is, for example, a process for establishing a connection between an access point found by the search and the terminal device, transmitting various information other than the setting information to the access point, and receiving the various information from the access point. The information other than the setting information is, for example, image data, print data, and voice data.

[0120] In the above description, the OS of the terminal device 101 is MacOS, but the present invention is not limited to this. The OS of the terminal device 101 may be another OS such as Android OS (registered trademark) or iOS (registered trademark).

[0121] In the above description, the process of S402 is executed after the process of S401, but this is not limiting. The process of S402 may be executed before the process of S401.

[0122] Needless to say, the object of the present invention can also be achieved by supplying a recording medium on which is recorded the program code of software for realizing the functions of the above-mentioned embodiments to a system or device, and having the computer (or CPU or MPU) of the system or device read and execute the program code stored in the recording medium. In this case, the program code itself read from the recording medium will realize the functions of the above-mentioned embodiments, and the recording medium on which the program code is stored constitutes the present invention.

[0123] Examples of storage media for supplying the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.

[0124] Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing the program code it has read, but also that the functions of the above-mentioned embodiments are realized by an operating system (OS) running on the computer performing some or all of the actual processing based on the instructions of the program code.

[0125] The disclosure of this embodiment also includes the following configuration.

[0126] (Configuration 1) A predetermined application program, A first information processing device computer having a first version of an operating system (OS), a first execution step of executing a first process for enabling a predetermined setting, which is a setting for permitting the predetermined application program to use a location information service, in a case where the predetermined setting is not enabled in the first information processing device, based on the fact that an OS of the first information processing device is the first version and the fact that the predetermined setting is not enabled in the first information processing device; a second execution step of executing a second process for a predetermined search process for searching for an access point after the first process is executed; a third execution step of executing a third process for transmitting, to a communication device which has enabled an access point found by the predetermined search process which is executed based on the execution of the second process, information on an access point other than the access point enabled by the communication device; Run the command, a second information processing device having an OS of a second version older than the first version; a control step of controlling the second information processing apparatus based on the OS of the second version being the second version so that the first process is not executed even if the predetermined setting is not enabled in the second information processing apparatus; a fourth execution step of executing the second process; a fifth execution step of executing the third process; A program characterized by executing the above.

[0127] (Configuration 2) The program described in configuration 1, characterized in that when the specified setting is in an initial state in which it is neither enabled nor disabled in the first information processing device, the first processing is executed based on the initial state.

[0128] (Configuration 3) The program described in configuration 1 or 2, characterized in that when the specified setting is set to disabled in the first information processing device, the program is controlled based on the specified setting being set to disabled in the first information processing device so that the first process is not executed.

[0129] (Configuration 4) The program described in any one of configurations 1 to 3, characterized in that the first processing is processing for executing an OS standard Application Programming Interface (API) for displaying a dialog for enabling the specified setting.

[0130] (Configuration 5) The program described in any one of configurations 1 to 4, characterized in that if the first process is executed but the specified setting is not set to enabled, the specified search process is not executed, and another search process, which is a search process different from the specified search process and searches for devices on a network formed by an access point, is executed.

[0131] (Configuration 6) when the first process is executed and the predetermined setting is enabled, the predetermined search process and the other search process are executed in the first information processing device; The program described in configuration 5, characterized in that the specified search process and the other search process are executed in the second information processing device even if the specified setting is not set to be valid in the second information processing device.

[0132] (Configuration 7) In the first information processing device and the second information processing device, a specific setting that is different from the predetermined setting and is a setting for permitting an application program to use a location information service can be set to be enabled or disabled; The program described in any one of configurations 1 to 6, characterized in that the specified setting is a setting for selecting the specified application program as an application program for which use of location information services is permitted by the specific setting.

[0133] (Configuration 8) when the specific setting is enabled and the predetermined setting is enabled, the predetermined search process is executed based on the execution of the second process, The program described in configuration 7, characterized in that when the specific setting is not set to enabled, and when the specific setting is set to enabled but the specified setting is not set to enabled, the specified search processing is not executed even if the second processing is executed.

[0134] (Configuration 9) A computer of the first information processing device, a sixth execution step of executing a fourth process for setting the specific setting to valid, when the specific setting is not set to valid, based on the fact that the OS of the first information processing device is the first version and the fact that the specific setting is not set to valid in the first information processing device; The computer of the second information processing device, The program described in configuration 7 or 8, further comprising a second control step of controlling based on the OS of the second information processing device being the second version so that the fourth process is not executed even if the specific setting is not enabled in the second information processing device.

[0135] (Configuration 10) The program described in configuration 9, wherein the fourth process is a process for displaying a screen for validating the specific setting, the screen being displayed by an OS standard setting application program.

[0136] (Configuration 11) 11. The program according to claim 9, wherein the fourth process is a process for prompting a user to enable the specific setting.

[0137] (Configuration 12) The program according to any one of configurations 9 to 11, wherein the fourth process is a process of displaying a screen for validating the specific setting by the specified application program without executing an OS standard Application Programming Interface (API).

[0138] (Configuration 13) A program described in any one of configurations 9 to 12, characterized in that if after the fourth process is executed, the specified setting is not set to be enabled in the first information processing device, the first process is executed based on the fact that the OS of the first information processing device is the first version and that the specified setting is not set to be enabled in the first information processing device.

[0139] (Configuration 14) 14. The program according to any one of configurations 1 to 13, wherein the second process is a process of executing an OS-standard Application Programming Interface (API) for the predetermined search process.

[0140] (Configuration 15) In the first information processing device, When the predetermined setting is enabled in the first information processing device, the third process is executed, and when the predetermined setting is not enabled in the first information processing device, the third process is not executed. In the second information processing device, The program according to any one of configurations 1 to 4, characterized in that the third processing is executed in the second information processing device even if the specified setting is not set to be valid in the second information processing device.

[0141] (Configuration 16) A computer of the first information processing device, The program described in any one of configurations 1 to 15, further comprising a seventh execution step of executing a process for establishing a connection between the communication device and the other access point without transmitting information regarding the other access point from the first information processing device if the specified setting is not set to be enabled in the first information processing device.

[0142] (Configuration 17) 17. The program according to any one of claims 1 to 16, wherein the communication device is a printing device.

[0143] (Configuration 18) 18. The program according to any one of configurations 1 to 17, wherein the OS of the first information processing apparatus and the OS of the second information processing apparatus are MacOS (registered trademark).

[0144] (Configuration 19) 19. The program according to configuration 18, wherein the first version is MacOS14 or later, and the second version is a version earlier than MacOS13. [Explanation of symbols]

[0145] 101 Terminal Equipment 151 Communication equipment

Claims

1. A predetermined application program, A first information processing device computer having a first version of an operating system (OS), a first execution step of executing a first process for validating a predetermined setting, which is a setting for permitting the predetermined application program to use a location information service, when the predetermined setting is not validly set in the first information processing device, based on the fact that an OS of the first information processing device is the first version and the fact that the predetermined setting is not validly set in the first information processing device; a second execution step of executing a second process for a predetermined search process for searching for an access point after the first process is executed; a third execution step of executing a third process for transmitting, to a communication device which has enabled an access point found by the predetermined search process which is executed based on the execution of the second process, information on an access point other than the access point enabled by the communication device; Run the command, a computer of a second information processing apparatus having an OS of a second version older than the first version; a control step of controlling the second information processing apparatus based on the OS of the second version being the second version so that the first process is not executed even if the predetermined setting is not enabled in the second information processing apparatus; a fourth execution step of executing the second process; a fifth execution step of executing the third process; A program characterized by executing the above.

2. The program according to claim 1, characterized in that when the specified setting is in an initial state in which it is neither enabled nor disabled in the first information processing device, the first processing is executed based on the initial state.

3. The program according to claim 1, characterized in that, when the specified setting is set to disabled in the first information processing device, the program is controlled based on the specified setting being set to disabled in the first information processing device so that the first processing is not executed.

4. 2. The program according to claim 1, wherein the first process is a process of executing an OS-standard Application Programming Interface (API) for displaying a dialog for validating the predetermined setting.

5. The program according to claim 1, characterized in that if the first process is executed but the specified setting is not set to enabled, the specified search process is not executed, and another search process, which is a search process different from the specified search process and searches for devices on a network formed by an access point, is executed.

6. when the first process is executed and the predetermined setting is enabled, the predetermined search process and the other search process are executed in the first information processing device, The program according to claim 5, characterized in that the specified search process and the other search process are executed in the second information processing device even if the specified setting is not set to be valid in the second information processing device.

7. In the first information processing device and the second information processing device, a specific setting that is different from the predetermined setting and is a setting for permitting an application program to use a location information service can be set to be enabled or disabled; 2. The program according to claim 1, wherein the predetermined setting is a setting for selecting the predetermined application program as an application program for which use of a location information service is permitted by the specific setting.

8. when the specific setting is enabled and the predetermined setting is enabled, the predetermined search process is executed based on the execution of the second process, The program according to claim 7, characterized in that when the specific setting is not set to enabled, and when the specific setting is set to enabled but the specified setting is not set to enabled, the specified search processing is not executed even if the second processing is executed.

9. A computer of the first information processing device, a sixth execution step of executing a fourth process for validating the specific setting when the specific setting is not valid, based on the fact that the OS of the first information processing device is the first version and the fact that the specific setting is not valid in the first information processing device; A computer of the second information processing device, The program described in claim 7, further comprising a second control step of controlling based on the OS of the second information processing device being the second version so that the fourth process is not executed even if the specific setting is not set to be valid in the second information processing device.

10. 10. The program according to claim 9, wherein the fourth process is a process for displaying a screen for validating the specific setting, the screen being displayed by an OS standard setting application program.

11. 10. The computer-readable medium according to claim 9, wherein the fourth process is a process for prompting a user to enable the specific setting.

12. 10. The program according to claim 9, wherein the fourth process is a process of displaying a screen for validating the specific setting by the predetermined application program without executing an OS standard Application Programming Interface (API).

13. The program described in claim 9, characterized in that if, after the fourth process is executed, the specified setting is not set to be enabled in the first information processing device, the first process is executed based on the fact that the OS of the first information processing device is the first version and the specified setting is not set to be enabled in the first information processing device.

14. 2. The program according to claim 1, wherein the second process is a process of executing an OS standard Application Programming Interface (API) for the predetermined search process.

15. In the first information processing device, When the predetermined setting is enabled in the first information processing apparatus, the third process is executed, and when the predetermined setting is not enabled in the first information processing apparatus, the third process is not executed. In the second information processing device, 2. The program according to claim 1, wherein the third process is executed in the second information processing apparatus even if the predetermined setting is not enabled in the second information processing apparatus.

16. A computer of the first information processing device, The program of claim 1, further comprising a seventh execution step of executing a process for establishing a connection between the communication device and the other access point without transmitting information regarding the other access point from the first information processing device if the specified setting is not set valid in the first information processing device.

17. 2. The program according to claim 1, wherein the communication device is a printing device.

18. 2. The program according to claim 1, wherein the OS of the first information processing apparatus and the OS of the second information processing apparatus are MacOS (registered trademark).

19. 20. The program of claim 18, wherein the first version is MacOS 14 or greater, and the second version is less than MacOS 13.

20. 1. A method for controlling a system including a first information processing apparatus having a specific application program and an operating system (OS) of a first version, and a second information processing apparatus having the specific application program and an OS of a second version that is older than the first version, comprising: a first execution step of executing, in the first information processing device, a first process for validating a predetermined setting, which is a setting for permitting the predetermined application program to use a location information service, when the predetermined setting is not validly set in the first information processing device, on the basis that an OS of the first information processing device is the first version and that the predetermined setting is not validly set in the first information processing device; a second execution step of executing, in the first information processing device, a second process for a predetermined search process for searching for an access point after the first process is executed; a third execution step of executing, in the first information processing device, a third process for transmitting, to a communication device which has enabled an access point found by the predetermined search process which is executed based on the execution of the second process, information on an access point other than the access point enabled by the communication device; a control step of controlling in the second information processing apparatus based on the OS of the second information processing apparatus being the second version so that the first process is not executed even if the predetermined setting is not enabled in the second information processing apparatus; a fourth execution step of executing the second process in the second information processing device; a fifth execution step of executing the third process in the second information processing device; A control method comprising the steps of:

21. A system including a first information processing apparatus having a specific application program and an operating system (OS) of a first version, and a second information processing apparatus having the specific application program and an OS of a second version older than the first version, The first information processing device, a first execution means for executing, when a predetermined setting for permitting the predetermined application program to use a location information service is not enabled in the first information processing device, a first process for enabling the predetermined setting, based on the fact that an OS of the first information processing device is the first version and the fact that the predetermined setting is not enabled in the first information processing device; a second execution means for executing a second process for a predetermined search process for searching for an access point after the first process has been executed; a third execution means for executing a third process for transmitting, to a communication device which has enabled an access point found by the predetermined search process which is executed based on the execution of the second process, information on an access point other than the access point enabled by the communication device; having The second information processing device is a control means for controlling the second information processing apparatus based on the OS of the second version being the second version so that the first process is not executed even if the predetermined setting is not enabled in the second information processing apparatus; A fourth execution means for executing the second process; A fifth execution means for executing the third process; A system comprising:

Citation Information

Patent Citations

  • Information processing device, control method, and program

    JP2021153265A

  • Systems and Methods for Configuring a Media Player Device on a Local Network using a Graphical User Interface

    US20210068173A1

  • Information providing system, information providing method, and program

    JP2022030782A