Control method, information processing apparatus, and non-transitory computer-readable storage medium

There is provided a control method of an information processing apparatus that can execute authentication processing with a communication apparatus by authentication schemes. The method includes: performing display control to cause a display unit to display a guide for performing the authentication processing with the communication apparatus in accordance with one of the authentication schemes when the information processing apparatus has obtained information from the communication apparatus; and executing the authentication processing in accordance with an operation performed by a user after the guide is displayed. In the performing the display control, a different guide is displayed in accordance with contents of the obtained information, and in the executing, the authentication processing is executed in accordance with an authentication scheme, which differs in accordance with the contents of the obtained information and corresponds to the displayed guide.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an authentication procedure performed in wireless connection between communication apparatuses.

Description of the Related Art

In recent years, there are provided services that use short range wireless communication. In Japanese Patent Laid-Open No. 2016-187090, there is disclosed a method in which a communication apparatus makes wireless LAN network settings by using BLE (Bluetooth® Low Energy) or the like as a short range wireless communication function. In Japanese Patent Laid-Open No. 2016-187090, there is also disclosed that pairing processing for establishing a Bluetooth connection is performed at the time of this setting.

A plurality of kinds of procedures can be used for pairing, and the type of pairing required to be used can change depending on the devices that are to execute the pairing. Hence, a user needs to execute pairing upon recognizing which procedure is required to execute the pairing between his/her apparatus and another pairing-target apparatus, and the convenience is problematically low. In addition, it is also possible to conceive cases in which the pairing procedure differs even between same devices due to the timing of market shipment, and thus the load for determining which procedure to use increases for the user.

SUMMARY OF THE INVENTION

An aspect of the present invention is to eliminate the above-mentioned problem with conventional technology.

A feature of the present invention is to provide a technique that improves user convenience when communication apparatuses are to be connected.

One aspect of the present invention provides a control method of an information processing apparatus that can execute authentication processing with a communication apparatus by a plurality of authentication schemes, the method comprising: performing display control to cause a display unit to display a guide for performing the authentication processing with the communication apparatus in accordance with one of the plurality of authentication schemes when the information processing apparatus has obtained information from the communication apparatus by predetermined communication; and executing the authentication processing in accordance with an operation performed by a user after the guide is displayed by the control performed in the performing the display control, wherein in the performing the display control, a different guide is displayed in accordance with contents of the obtained information, and in the executing, the authentication processing with the communication apparatus is executed in accordance with an authentication scheme, among the plurality of authentication schemes, which differs in accordance with the contents of the obtained information and corresponds to the displayed guide.

DESCRIPTION OF THE EMBODIMENTS

An example of the arrangement of a system according to an embodiment will be described with reference toFIG. 1. This system is formed by an information processing apparatus101and a communication apparatus151. The communication apparatus151is, for example, a printer, and print processing is executed when print data prepared by the information processing apparatus101is transmitted to the communication apparatus151via a network. Note that the communication between the information processing apparatus101and the communication apparatus151can be executed by, for example, a wireless LAN in compliance with IEEE 803.11 standard series via an access point131. Note that although an embodiment based on a network arrangement using the access point131will be described here, another arrangement that allows the information processing apparatus101and the communication apparatus151to mutually communicate may be used. In addition, the plurality of blocks shown inFIG. 1may be integrated into a single block, or a single block may be separated into a plurality of blocks. Furthermore, a block other than those shown inFIG. 1may be added, or one or more blocks out of those shown inFIG. 1may be omitted.

The information processing apparatus101can be, for example, a smartphone, but the present invention is not limited to this. The information processing apparatus101may be, for example, a personal computer (PC), a portable terminal, a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), a digital camera, or the like. The communication apparatus151can be, for example, a printer such as an inkjet printer, a full-color laser beam printer, a monochrome printer, or the like. However, the present invention is not limited to this, and the communication apparatus can be any of the various kinds of communication apparatuses that can wirelessly communicate with the information processing apparatus101. The communication apparatus151may be, for example, a copy machine, a facsimile device, a portable terminal, a smartphone, a notebook PC, a tablet terminal, a PDA, a digital camera, a music playback device, a television, or the like. The communication apparatus151may also be, for example, a multifunction peripheral that has a plurality of functions such as a copy function, a FAX function, a print function, and the like.

The information processing apparatus101is formed by, for example, an input interface102, a CPU103, a ROM104, a RAM105, an external storage device106, an output interface107, a communication unit109, and a short range wireless communication unit110. Here, CPU, ROM, and RAM are acronyms of Central Processing Unit, Read Only Memory, and Random Access Memory, respectively. Note that althoughFIG. 1indicates an example of a case in which the information processing apparatus101causes a display device (display unit108) such as an external display or the to display information, the display unit108may be included in the information processing apparatus101.

The input interface102is an interface for accepting data inputs and operation instructions from a user. The input interface102is formed by, for example, a physical keyboard, buttons, a touch panel, and the like. Note that the input interface102and the output interface107(to be described later) can be integrated so that a screen output and the accepting of an operation from the user can be performed by using common hardware.

The CPU103is a system control unit and controls the overall information processing apparatus101. The ROM104stores permanent data such control programs and data tables to be executed by the CPU103, an embedded operating system (to be referred to as an “OS” hereinafter) program, and the like. In this embodiment, each control program stored in the ROM104performs software execution control such as scheduling, task switching, interrupt processing, and the like under the management of the embedded OS stored in the ROM104. The RAM105is formed by an SRAM (Static Random Access Memory) requiring a backup power supply. Note that since the RAM105holds data by a primary battery (not shown) for data backup, it can store important data such as program control variables and the like without volatilizing the data. In addition, a memory area for storing setting information and management data of the information processing apparatus101can be arranged in the RAM105. The RAM105can also be used as the main memory and the work memory of the CPU103.

The external storage device106stores an application that provides a print execution function, a print information generation program for generating print information interpretable by the communication apparatus151, and the like. The external storage device106can also store various kinds of programs such as control programs for transmitting/receiving information to/from another apparatus (for example, the communication apparatus151) which is connected via the communication unit109and various kinds of information to be used by these programs.

The output interface107is an interface that performs control for the display unit108to display data or to present information of the status of the information processing apparatus101. The output interface107outputs, for example, control information and display target information to cause the display unit108to display information. The display unit108includes and is formed by an LED (light emitting diode), an LCD (liquid crystal display), and the like, and notifies the user of the data display and the status of the information processing apparatus101. Note that a software keyboard including keys such as a numerical value input key, a mode setting key, a determination key, a cancellation key, a power key, and the like may be displayed on the display unit108, and inputs from the user may be accepted via this software keyboard.

The communication unit109is formed by a baseband circuit for executing data communication by connecting with an external apparatus such as the communication apparatus151, a wireless frequency (RF) circuit, and the like. For example, the communication unit109can communicate with the communication apparatus151via the access point131which exists separately from the information processing apparatus101and the communication apparatus151. The access point131can be, for example, a device such as a wireless LAN router that operates in accordance with a wireless communication scheme in compliance with the IEEE 803.11 standard series. The communication unit109may also directly establish connection with the communication apparatus151in accordance with a protocol such as Wi-Fi (Wireless Fidelity) Direct®. In addition, in a case in which the communication apparatus151includes an access point (not shown), the communication unit109may directly establish connection with the communication apparatus151by connecting to this access point. Note that although the communication unit109can be formed to execute communication by Wi-Fi®, it may also perform communication by another wireless communication scheme such as Bluetooth®. Note that in this embodiment, a scheme in which the information processing apparatus101and the communication apparatus151are directly connected to each other without going through of an external access point will be referred to as a direct connection scheme. In addition, a scheme in which the information processing apparatus101and the communication apparatus151are connected to each other via an external access point will be referred to as an infrastructure connection scheme.

The short range wireless communication unit110establishes wireless connection with a short range wireless communication unit157of the communication apparatus151and executes data communication based on at least the fact that the communication apparatus151(external apparatus) has entered within its predetermined short range. Note that in this embodiment, the short range wireless communication unit110will perform wireless communication in compliance with the Bluetooth® Low Energy (BLE) standard. Note that a wireless communication scheme different from BLE may be used in so far as the short range wireless communication unit110can perform communication by using a communication scheme that is capable of executing short range wireless communication different from that of the communication unit109.

The communication apparatus151is formed by, for example, a ROM152, a RAM153, a CPU154, a print engine155, a communication unit156, and the short range wireless communication unit157.

The communication unit156is formed by a baseband circuit for connecting to an external apparatus such as the information processing apparatus101, a wireless frequency (RF) circuit, and the like. The communication unit156corresponds to the communication unit109of the information processing apparatus101and executes communication, for example, by a wireless communication scheme such as Wi-Fi, Bluetooth®, or the like. As described above, the communication unit156may, for example, directly connect to the communication unit109of the information processing apparatus101by functioning as an access point or in accordance with a predetermined protocol or may connect to the communication unit of the information processing apparatus via the external access point131. In a case in which the communication unit156is to function as an access point, it may include hardware to function as an access point or use software which will allow it to function as an access point. Note that although the information processing apparatus101and the communication apparatus151are connected to one access point131in the example shown inFIG. 1, each apparatus may be connected to a separate access point that is connected to a network, and connect to each other via the network.

The short range wireless communication unit157executes, based on the fact that the information processing apparatus101(external apparatus) has entered inside the predetermined short range, data communication by establishing wireless communication with the short range wireless communication unit110of the information processing apparatus101. The short range wireless communication unit157corresponds to the short range wireless communication unit110of the information processing apparatus101and performs wireless communication by a wireless communication scheme in compliance with the BLE standard in this embodiment. Note that, for example, since the data amount of the print information transmitted from the information processing apparatus101or the like is large and requires high-speed large-capacity communication, it can be received via the communication unit156which can execute communication at a higher speed than the short range wireless communication unit157.

The RAM153is a memory similar to the RAM105. A memory area for storing setting information and management data of the communication apparatus151is arranged in the RAM153. The RAM153is also used as the main memory and the work memory of the CPU154, functions as a reception buffer for temporarily storing the print information received from the information processing apparatus101or the like, and stores various kinds of information. The ROM152stores permanent data such as control programs and data tables to be executed by the CPU154, an OS program, and the like. When the CPU154executes each control program stored in the ROM152, software execution control such as scheduling, task switching, interrupt processing, and the like can be executed under the management of the embedded OS stored in the ROM152. The CPU154is a system control unit and controls the overall communication apparatus151. Note that a memory such as an external HDD, an SD card, or the like may be attached to the communication apparatus151as an optional device, and the information stored in the communication apparatus151may be stored in such a memory.

The print engine155forms an image, based on the print information received from the information stored in the RAM153or the information processing apparatus101, on a print medium such as a paper sheet by using a printing agent such as ink and outputs the print result.

Note that a connection mode is set to the communication apparatus151according to this embodiment by connection setting processing, and the communication apparatus performs communication with the information processing apparatus101by the connection format based on the set connection mode. In the communication apparatus151according to this embodiment, in a case in which communication is to be performed by infrastructure connection, the infrastructure connection mode will be set as the connection mode, and in a case in which communication is to be performed by directly connecting, the direct connection mode is set as the connection mode.

Furthermore, the division of processes between the information processing apparatus101and the communication apparatus151described above is merely an example, and the processes may be divided in a form other than this.

In this embodiment, assume that the information processing apparatus101stores a predetermined application in the ROM104, the external storage device106, or the like. This predetermined application is an application program used to transmit print information for printing image data, document data, or the like in the information processing apparatus101to the communication apparatus151. An application that has such a function will be referred to as a “printing application” hereinafter. Note that the printing application can have functions other than the printing function. For example, the printing application may have a function to cause an original set on the communication apparatus151to be scanned if the communication apparatus151has a scan function, a function to make other settings in the communication apparatus151, a function for confirming the status of the communication apparatus151, and the like. That is, the printing application may have a function to transmit, other than the print information, a scan job or a setting job to the communication apparatus151. In addition, the predetermined application described above is not limited to the printing application, and may be an application program that corresponds to a function other than printing.

As described above, the short range wireless communication unit110and the short range wireless communication unit157communicate by BLE. In this embodiment, assume that the short range wireless communication unit157functions as an advertiser (or a slave) that broadcasts advertising information (to be described later) and the short range wireless communication unit110functions as a scanner (or a master) that receives the advertising information. The processing for advertising information transmission and BLE connection request reception according to the BLE standard will be described here. In this embodiment, the short range wireless communication unit157that functions as a slave device will perform this processing for advertising information transmission and BLE connection request reception. In BLE, a frequency band of 2.4 GHz is divided into 40 channels (0 to 39 ch), and communication is performed by using these channels. Note that among these channels, 37th to 39th channels are used to transmit the advertising information and to receive the BLE connection request, and 0th to 36th channels are used for data communication after the BLE connection has been established.FIG. 2indicates the power consumption for each processing operation when advertising information is to be transmitted by using one channel. Note that inFIG. 2, the ordinate indicates the power consumption of the short range wireless communication unit157, and the abscissa indicates the time. TX205indicates the total power consumption in the transmission processing which is the processing to broadcast the advertising information. Also, RX206indicates the total power consumption in the reception processing which is the processing performed to enable a reception device to receive the BLE connection request. In this manner, after the transmission processing (TX205) has been performed by using a predetermined channel, the short range wireless communication unit157waits for the BLE connection request to be transmitted from the information processing apparatus101by performing the reception processing (RX206) over a predetermined time by using the same channel. A transmission power202indicates the instantaneous power consumption by the transmission processing. Also, reception power203indicates the instantaneous power consumption by the reception processing. In addition, microcomputer operation power201indicates the instantaneous power consumption when a microcomputer in the short range wireless communication unit157is operating. Note that since the microcomputer needs to be activated to execute or stop the signal transmission and reception processing operations, it is set so that the microcomputer will operate before and after the periods of TX205and RX206as well as during these periods. Also, in a case in which the advertising information transmission is to be performed by a plurality of channels, the power consumption will increase in accordance with the number of channels which are to perform advertising information transmission and wait for the BLE connection request reception. In addition, while the microcomputer is not operating and the short range wireless communication unit157is in a power saving state, the instantaneous power consumption is suppressed to sleep power204.

In addition, the short range wireless communication unit157will shift to a power saving state for a predetermined time as shown inFIG. 3by stopping the operation of the microcomputer after repeating the advertising information transmission processing and the reception processing once for each of the three channels, that is, a total of three times. The combination of the advertising information transmission processing and the BLE connection request reception processing performed by using a predetermined channel will be referred to as advertising hereinafter. In addition, the time interval after the advertising information has been transmitted from a predetermined channel until the next advertising information transmission from the predetermined channel will be referred to as an advertising interval. Note that the number of advertising information pieces to be repeated transmitted from the first advertising information transmission until the power saving state can be set to an arbitrary number equal to or less than 3.

FIG. 4indicates an example of the structure of advertising information that is broadcast by the short range wireless communication unit157to the periphery of the communication apparatus151.

The short range wireless communication unit157executes initialization processing when power supply is started and changes to an advertising state. After changing to the advertising state, the short range wireless communication unit157broadcasts the advertising information periodically to its periphery at a cycle corresponding to the advertising interval. The advertising information is a signal including basic header information (identification information or the like for identifying the apparatus transmitting the advertising information) and is formed by a header401and a payload402. The information processing apparatus101can recognize the presence of the communication apparatus151by receiving this advertising information. In addition, the information processing apparatus101can establish a BLE connection with the communication apparatus151by transmitting a BLE connection request to the communication apparatus151based on the information of the communication apparatus151obtained from the advertising information. The header401is a region for storing the PDU (Protocol Data Unit) type and the information of the size of the payload402of the advertising information. The short range wireless communication unit110can issue a scan request (SCAN_REQ) to the short range wireless communication unit157when the PDU type is ADV_IND or ADV_SCAN_IND. Upon receiving the scan request, the short range wireless communication unit157transmits scan response information (SCAN_RSP) as a response to the scan request. By receiving the scan response information via the short range wireless communication unit110, the information processing apparatus101can further obtain information in addition to information that can be obtained from the advertising information from the communication apparatus151. The payload402stores information such as a device name403as the identification information, installed profile information, connection information404for establishing BLE connection with the communication apparatus151, advertising information transmission power (TX power)405, and the like. Note that identification information406of the communication apparatus151may be included in the advertising information. The identification information406of the communication apparatus151includes, for example, the MAC address of the communication apparatus151. In addition, the identification information406of the communication apparatus151may include the service information of the communication apparatus151, the pairing scheme supported by the communication apparatus151, information indicating whether the communication apparatus151includes an operation panel (operation screen), an SSID of the access point in the communication apparatus151, a password, and the like. The scan response information basically has the same structure as the advertising information. Note that the PDU type included in the header401of the scan response information is SCAN_RSP, and the information stored in the payload402can be information different from the advertising information as needed. Note that the pairing scheme supported by the communication apparatus151can be Numeric Comparison, Just Works, or Passkey Entry. Numeric Comparison is a pairing method that performs correspondence confirmation by displaying, for example, a predetermined digit (for example, a 6-digit) code and can be used by a device that has a display function. Just Works is a pairing method that neither displays nor confirms such a code and can be used by a device that does not have a display function and does not allow code input. Passkey Entry is a pairing method by code input and can be used in a device that does not have a display function but has a code input function. Note that, since pairing processing is performed by executing authentication processing by using a PIN code (as will be described later) in Numeric Comparison or the like, the pairing processing may be referred to as authentication processing. Also, since the PIN code is used as authentication information, it may be referred to as authentication information. The operation panel that can be included in the communication apparatus151is a touch panel or a liquid crystal display in one example, but it may be an operation panel other than these.

In this embodiment, the short range wireless communication unit157will start the advertising information transmission by changing to an advertising state when the communication apparatus151is powered on. However, the timing at which the short range wireless communication unit157starts the advertising information transmission is not limited to this, and for example, the advertising information transmission may be started in accordance with the timing at which a predetermined operation to enable the BLE function has been performed.

Note that in a case in which the short range wireless communication unit157transmits first advertising information and receives a response (scan request) to the information from the information processing apparatus101, it may be set so that second advertising information having contents different from the first advertising information will be transmitted. The second advertising information in this case can be referred to as scan response information. The first advertising information here includes at least one of, for example, the IP address of the communication apparatus151, the port to be used in the printing operation, the information indicating a specific printing service, the information related to the advertising information transmission power, and the identification information of the short range wireless communication unit157. In addition, the second advertising information can include at least one of, for example, the identification information (UUID) of the communication apparatus151and the information related to functions and hardware of the communication apparatus151(for example, operation panel information indicating whether the apparatus includes the operation panel described above). By configuring the advertising information in this manner, the printing application, for example, can be designed to handle the second advertising information. In the following description, assume that the advertising information handled by the printing application is the second advertising information. Note that the first advertising information and the second advertising information can include information other than the information described above.

In this embodiment, authentication is performed between the information processing apparatus101and the communication apparatus151, and pairing processing for permitting transmission/reception of specific data is executed by GATT (Generic Attribute Profile) communication. Note that GATT is a profile governing the transmission/reception of information in the BLE standard. In the GATT communication, the information processing apparatus101and the communication apparatus151operate as a GATT client and a GATT server, respectively, and information is transmitted from the information processing apparatus101to the communication apparatus151by using a GATT-based profile. In this case, the communication apparatus151will not permit the transmission/reception of information by the GATT communication in a state without the execution of the pairing with the information processing apparatus101. This can prevent, for example, a state in which the information from the communication apparatus151is received by an apparatus which has not performed pairing with the communication apparatus151, and thus prevent a state in which the information held by the communication apparatus151is accidentally obtained by such an apparatus. Note that there can be GATT communication which is permitted in a state without a pairing processing and GATT communication which is not permitted in a state without a pairing processing. For example, the convenience of communication can be improved by allowing low sensitivity information to be communicated by GATT communication that is permitted in a state without the pairing processing. On the other hand, the security of communication can be improved by allowing high sensitivity information to be communicated by only GATT communication that is not permitted in a state without the pairing processing. Note that although high sensitivity information can include, for example, the status information or the setting information of the communication apparatus151, information other than these pieces of information can be included.

The details of the pairing processing will be described. First, when the printing application described above is activated and a pairing processing execution instruction has been received from the user via the printing application, the information processing apparatus101starts the search for the advertising information that includes specific apparatus information. Note that specific apparatus information is, for example, a UUID, a MAC address, or the like of an apparatus (a printer or the like) corresponding to the printing application. Subsequently, upon receiving the advertising information including the specific apparatus information, the information processing apparatus101displays a list of apparatuses which are transmission sources of the advertising information including the specific apparatus information on the display unit and accepts the selection of a pairing target apparatus made by the user. Assume that the communication apparatus151has been selected here. Subsequently, after accepting the selection of the pairing target apparatus, the information processing apparatus101transmits a pairing request to the communication apparatus151by executing communication under the security manager protocol (SMP). Note that the communication between the apparatuses is performed by SMP until the pairing is completed. In a case in which Numeric Comparison is employed as the pairing scheme, the communication apparatus151will display a PIN code display screen500as indicated inFIG. 5Aon the operation panel upon receiving the pairing request. A PIN code501and a cancel button502for canceling the pairing processing are displayed on the PIN code display screen500. On the other hand, when the information processing apparatus101has transmitted the pairing request, it will cause the display unit108to display a PIN code input screen510as indicated inFIG. 5B. A PIN code input region511for accepting the PIN code input by the user is displayed on the PIN code input screen510. In addition, an OK button512for transmitting the input PIN code to the communication apparatus151and a cancel button513for canceling the pairing processing are displayed. When the OK button512is pressed in a state in which the PIN code has been input to the PIN code input region511, the information processing apparatus101will transmit the information including the input PIN code to the communication apparatus151. The communication apparatus151determines whether the PIN code included in the received information matches the PIN code501displayed on the PIN code display screen500. If it is determined that the PIN codes match, the communication apparatus permits the pairing with the information processing apparatus101. For example, the communication apparatus151will exchange a link key, which is generated by a predetermined method based on the PIN code501, with the information processing apparatus101by using SMP complying with the BLE standard. The exchanged link key is stored in each of the storage area (the ROM104or the like) in the information processing apparatus101and the storage area (the ROM152or the like) in the communication apparatus151. The pairing is completed as a result, and BLE communication is subsequently permitted between the apparatuses. Note that the communication apparatus151will display the original screen again by stopping the display of the PIN code display screen500when the pairing has been completed.

When transmitting a GATT communication request to the communication apparatus151after the completion of the pairing, the information processing apparatus101notifies the communication apparatus151of the link key which was stored in the storage area during the pairing processing. Upon receiving the GATT communication request, the communication apparatus151compares the link key in the notification with the link key stored in the storage area during pairing processing and confirms that the GATT communication request transmission source apparatus is a paired apparatus. Subsequently, upon confirming that the transmission source apparatus of the GATT communication request is a paired apparatus, the communication apparatus151starts to exchange information with the apparatus (the information processing apparatus101) by GATT communication. As a result, once the pairing processing with the communication apparatus151has been completed, the information processing apparatus101can execute GATT communication with the communication apparatus151without PIN code input by the user.

Note that the PIN code input screen510displayed by the information processing apparatus101need not be displayed by the printing application. For example, the information processing apparatus101may include an application for setting (to be referred to as a “setting application” hereinafter). The setting application is, for example, an application program for making settings related to functions that are executed by the OS. For example, the setting application can be installed together with the OS during a series of processes in which the OS is installed to the information processing apparatus101or be installed in advance together with the OS at the shipment of the information processing apparatus101. In a case in which a pairing instruction is input by the printing application, the information processing apparatus101will, for example, activate the setting application and cause the printing application to shift to a background operation state. The information processing apparatus101may accept inputs for pairing that are made by the user on a Bluetooth setting screen displayed by the setting application.

PIN code input is not required for link key exchange in a case in which Just Works is used as the pairing scheme of the communication apparatus151. In this case, after the pairing processing is started, the information processing apparatus101will cause the display unit108to display a guide600as indicated inFIG. 6A. The guide600will display the pairing execution method and an authentication button guide601included in the communication apparatus151. In addition, a cancel button602for canceling the pairing is also displayed. When an authentication button611included in the communication apparatus151as indicated inFIG. 6Bis long-pressed, the communication apparatus151will notify the information processing apparatus101of a PIN code. Subsequently, the information processing apparatus101will exchange a link key, which is generated based on the PIN code obtained from the notification, with the communication apparatus151to complete the pairing. Note that the link key generation method here need not be based on the PIN code obtained from the notification by the operation of the communication apparatus151. For example, the PIN code may be set as permanent information (which cannot be arbitrarily changed by the user) and stored in the information processing apparatus101together with the installation of the printing application. In this case, the information processing apparatus101can generate a link key by using this PIN code without having to accept a PIN code input from the user. Also, the timing at which the pairing processing is started is not limited to the form described above, and the pairing processing can be started at, for example, a timing at which the user made a print instruction via the printing application, a timing before BLE connection is executed in the connection setting processing, or the like. In addition, an operation method guide for the user such as the guide600need not be displayed by the printing application. For example, an operation method guide may be displayed on the operation panel of the communication apparatus151at a timing at which the information processing apparatus101starts the pairing processing.

In this embodiment, the information processing apparatus101will switch the pairing processing based on the pairing scheme and the operation panel information included in the scan response information of the communication apparatus151. The information processing apparatus101will subsequently present an appropriate guide for assisting the pairing processing to the user. The procedure of this processing will be exemplified hereinafter.FIG. 7is a view indicating an example of the processing procedure of the information processing apparatus101according to this embodiment. Note that the processing indicated inFIG. 7is implemented by, for example, the CPU103reading out information necessary for the processing of the flowchart from the RAM105and executing the information.

Before and during the processing ofFIG. 7, screens as shown inFIGS. 8A to 8Kare displayed in the information processing apparatus101.FIGS. 8A to 8FandFIGS. 8J and 8Kare examples of screens provided by the printing application, andFIGS. 8G to 8Iare examples of Bluetooth setting screens provided by the setting application. First, when the printing application is activated in response to user instruction, the information processing apparatus101displays the screen shown inFIG. 8Aas the initial screen of the printing application. When the user selects “Use Bluetooth function” inFIG. 8A, the screen shown inFIG. 8Bis displayed, and the screen shifts to the screen shown inFIG. 8Cwhen “Next” is pressed inFIG. 8B. If Bluetooth has been enabled in the information processing apparatus101before the “OK” button is pressed in the screen shown inFIG. 8C, the screen shown inFIG. 8Eis displayed by the execution of the processing indicated inFIG. 7(to be described later) andFIG. 8Dis not displayed. On the other hand, if Bluetooth has not been enabled in the information processing apparatus101before the “OK” button is pressed in the screen shown inFIG. 8C, the screen shown inFIG. 8Dis displayed. If “YES” is selected on the screen shown inFIG. 8D, the screen shown inFIG. 8Eis displayed by the execution of the processing indicated inFIG. 7(to be described later). The information processing apparatus101starts the processing ofFIG. 7when Bluetooth has been enabled.

In the processing ofFIG. 7, first, the CPU103will request (step S701) the OS to receive advertising information (first advertising information) from the communication apparatus151. Upon receiving this request, the OS will start the processing to receive the first advertising information issued from communication apparatuses present in the periphery of the information processing apparatus101. In this first advertising information, ADV_IND or ADV_SCAN_IND permitting a scan request to the communication apparatus151is designated as the PDU type. In response to receiving the first advertising information of the PDU type permitting the scan request, the OS will issue a scan request to the communication apparatus (the communication apparatus151) that transmitted this first advertising information. Upon receiving this scan request, the communication apparatus that transmitted the first advertising information will transmit the scan response information, and the information processing apparatus101will receive this scan response information. Note that, in a case in which pieces of first advertising information have been transmitted from a plurality of communication apparatuses, the information processing apparatus101will transmit a scan request to each of the communication apparatuses and receive scan response information from each apparatus.

The CPU103notifies (step S702) the printing application of the obtained advertising information (first advertising information) and the scan response information and determines (step S703) whether the scan response information includes predetermined identification information. The predetermined identification information here includes, for example, information indicating a specific print service or the like. If it is determined that the scan response information includes the predetermined identification information (YES in step S703), the CPU103determines (step S704) whether the name of the communication apparatus that transmitted the scan response information is displayed on the screen of the printing application shown inFIG. 8E. If the communication apparatus which is the transmission source of the scan response information including the predetermined identification information is not displayed on the screen of the printing application (NO in step S704), the CPU103will display (step S705) the name of the communication apparatus on the screen of the printing application. If it is determined that the scan response information does not include the predetermined identification information (NO in step S703) or if the communication apparatus which is the transmission source of the scan response information including the predetermined identification information is displayed on the screen of the printing application (YES in step S704), the process advances to step S706. In step S706, the CPU103changes, among the pieces of scan response information received in step S702, the scan response information to be the determination target in step S703and subsequent steps into information that has been issued by a communication apparatus that has not undergone the determination, and returns the process to step S703. Note that although the process of step S707is performed after the process of step S705in this example, it may be set so that the process will not be shifted to step S707until the determination and name display in steps S703and S704have been performed for all of the pieces of scan response information received in step S702. In addition, the processes such as determination and the like of steps S703and S704may be performed in parallel while shifting the process to step S707.

By these processes, the CPU103can display each communication apparatus that transmitted the scan response information including the predetermined identification information without overlap on the screen of the printing application. Note that a screen, as shown inFIG. 8E, in which pairing processing candidate communication apparatuses are listed is displayed by the process of step S705. The CPU103links the scan response information, transmitted by the communication apparatus set as the display target, with the identification information406of the communication apparatus and stores the linked pieces of information in the RAM105. Note that in a case in which “If the printer cannot be found” is selected by the user inFIG. 8E, the CPU103will activate, for example, a web browser and display a web manual. This web manual can include information such as matters to be confirmed in relation to the communication apparatus that is to be a search target. In the screen shown inFIG. 8E, the CPU103will accept the selection of the pairing target communication apparatus by the user from the list of the communication apparatuses displayed in step S705. Subsequently, the CPU103selects (step S707) the communication apparatus selected by the user as the pairing target communication apparatus.

The CPU103reads out, from the RAM105, the scan response information corresponding to the communication apparatus selected in step S707. Subsequently, the CPU103confirms the information related to the pairing scheme included in the scan response information that has been read out, and determines (step S708) whether the authentication information needs to be input. This information is expressed by, for example, a binary value indicating either “Numeric Comparison” or “Just Works”. In a case in which information indicating “Numeric Comparison” is included in the scan response information, the CPU103will determine that the authentication information needs to be input (YES in step S708), and the process advances to step S709. On the other hand, in a case in which information indicating “Just Works” is included in the scan response information, the CPU103will determine that the authentication information need not be input (NO in step S708), and the process advances to step S713.

In step S709, the CPU103confirms information related to the presence/absence of an operation panel which is included in the scan response information that has been read out. This information is expressed by a binary value indicating, for example, either “the presence of an operation panel” or “the absence of an operation panel”. If information indicating “the presence of an operation panel” is included in the scan response information (YES in step S709), the CPU103advances the process to step S710. If information indicating “the absence of an operation panel” is included (NO in step S709), the process advances to step S711. The CPU103will display, via the display unit108, the pairing procedure for a printer that includes the operation panel in step S710. On the other hand, the CPU will display, via the display unit108, the pairing procedure for a printer that does not include the operation panel in step S711.

FIG. 9indicates an example of a pairing procedure guide screen, which is displayed in step S710, for a printer that includes an operation panel. In this example, a screen901indicating a PIN code is displayed on the operation panel of the communication apparatus151. The user will input the PIN code displayed on the operation panel of the communication apparatus151via the input interface102of the information processing apparatus101. As a result, it becomes possible to execute the pairing processing of the information processing apparatus101and the communication apparatus151. A description of this procedure is displayed in the screen901shown inFIG. 9. Note that the screen shown inFIG. 8Gmay be displayed after a predetermined time has elapsed since the screen901ofFIG. 9was displayed. Also, a screen such as that shown inFIG. 8Fmay be displayed instead of the screen901ofFIG. 9. If the screen shown inFIG. 8Fis displayed, the screen shown inFIG. 8Gwill be displayed when “Next” is selected by the user. By displaying a screen such as that shown inFIG. 9, the PIN code will be displayed on the operation panel of the communication apparatus151and the user of information processing apparatus101will be able to confirm that this PIN code needs to be input to the information processing apparatus101. Hence, the user of the information processing apparatus101can easily complete the pairing of the information processing apparatus101and the communication apparatus151without needing to check the pairing procedure supported by the communication apparatus151.

FIG. 10shows an example of a pairing procedure guide screen, which is displayed in step S711, for a printer that does not include an operation panel. In this example, the PIN code will be output as a printed product via the print engine155included in the communication apparatus151. The user can input the PIN code, printed on the printed product, via the input interface102of the information processing apparatus101, and execute pairing processing of the information processing apparatus101and the communication apparatus151. A description of this procedure is displayed on a screen1001shown inFIG. 10. The screen shown inFIG. 8Gmay be displayed after a predetermined time has elapsed since the screen1001ofFIG. 10has been displayed. Also, a screen such as that shown inFIG. 8Jmay be displayed instead of the screen1001ofFIG. 10. “Sheet size”, “sheet count”, and “information indicating which button of the communication apparatus is to be pressed” are displayed in the screen shown inFIG. 8J. If the screen ofFIG. 8Jis displayed, the screen shown inFIG. 8Gwill be displayed when the user selects “printing complete”. Note that at least the PIN code necessary for the pairing processing will be printed on the printed product which is to be printed when the user operates the communication apparatus151in accordance with the instruction displayed on the screen shown inFIG. 8J. However, information other than the PIN code may be printed instead of or in addition to this PIN code. By displaying a screen such as that shown inFIG. 10, the user of the information processing apparatus101can cause the communication apparatus151to print and output the PIN code, and confirm that the PIN code needs to be input to the information processing apparatus101. Hence, the user of the information processing apparatus101can easily complete the pairing of the information processing apparatus101and the communication apparatus151without needing to check the pairing procedure supported by the communication apparatus151.

Note that the PIN code notification method is not limited to the method of outputting the PIN code as a printed product, and for example, a method of notifying the user of the PIN code by audio may be used. Note that the information processing apparatus101may obtain, for example, information indicating whether the communication apparatus151has an audio output function by the scan response, and execute display control for displaying an operation guide screen for implementing the audio output based on the information. That is, the information processing apparatus101can obtain information of the information presentation capabilities (the presence/absence of an operation panel, the presence/absence of an audio output function, the presence/absence of a print function, and the like) of the communication apparatus151, and execute the display control for displaying an operation guide related to the PIN code notification corresponding to the information.

A message801is overlaid and displayed on the Bluetooth setting screen provided by the setting application ofFIG. 8G. This message801is generated and displayed based on, for example, the communication apparatus (communication apparatus151for example) selected on the screen shown inFIG. 8Eby the printing application, for example. A screen shown inFIG. 8His displayed when the user selects a communication apparatus on the screen shown inFIG. 8G.

FIG. 8Hindicates an example of a screen displayed when the user selects the communication apparatus151corresponding to the message801on the screen ofFIG. 8G. The PIN code input screen ofFIG. 8Haccepts the input of the PIN code displayed on the operation panel of the communication apparatus151or the PIN code described on the printed product printed by the communication apparatus151. The pairing processing between the information processing apparatus101and the communication apparatus151is executed (step S712) when the OK button is pressed after the PIN code is input on the screen shown inFIG. 8H. Note that a message802is overlaid and displayed on the screen provided by the setting application shown inFIG. 8H. This message802is also generated and displayed by, for example, the printing application. For example, the printing application will display the message802as shown inFIG. 8Hwhen it is detected that the pairing target communication apparatus has been selected inFIG. 8G.

FIG. 8Iis displayed when the pairing processing by the Numeric Comparison scheme is completed. Note that a message803is overlaid and displayed on the screen provided by the setting application shown inFIG. 8I. The message803is also generated and displayed by, for example, the printing application. For example, upon detecting that the pairing has been completed, the printing application will display the message803as shown inFIG. 8I. For example, the printing application that had been shifted to the background is displayed again when the user selects the message803.

In step S713, the CPU103displays a guide for pairing without the input of authentication information.FIG. 8Kis an example of a pairing procedure guide screen for performing pairing without the input of authentication information that is displayed in step S713. In this example, a guide indicating that an authentication button for pairing included in the printer needs to be long-pressed is displayed on the display unit108of the information processing apparatus101. The pairing processing is executed (step S714) when the authentication button of the communication apparatus151is long-pressed in accordance with this guide. Note that the pressing of the authentication button is not limited to long pressing and may be a predetermined pressing method other than long pressing such as short pressing, multiple pressing, or the like. In addition, an authentication button that will be a trigger for executing the pairing processing may be displayed on the display unit108of the information processing apparatus101. This will allow the user of the information processing apparatus101to recognize that the pairing with the communication apparatus151can be performed by pressing the authentication button without the input of authentication information. As a result, the user of the information processing apparatus101can easily complete the pairing of the information processing apparatus101and the communication apparatus151without having to check the pairing processing supported by the communication apparatus151.

The processing sequence of the information processing apparatus101and the communication apparatus151will be described next with reference toFIGS. 11A and 11B.FIG. 11Aindicates the processing sequence in the case of Numeric Comparison. In this processing, first, the communication apparatus151transmits advertising information1101. Upon receiving this advertising information, the information processing apparatus101transmits a scan request1102. When the scan request has been received, the communication apparatus151transmits a scan response1103. When the scan response is received from the communication apparatus, the information processing apparatus101executes the above-described processes of step S702and subsequent steps. When the communication apparatus is selected inFIG. 8G, the information processing apparatus101transmits a GATT connection request1104to the communication apparatus. Subsequently, when a GATT connection1105is established between the information processing apparatus101and the communication apparatus151, the information processing apparatus101transmits a PIN code1106input inFIG. 8H. Pairing processing1107between the information processing apparatus101and the communication apparatus151will succeed when the correct PIN code is transmitted.FIG. 11Bindicates the processing sequence in the case of Just Works. The processes of reference numerals1111to1113are similar to the processes of reference numerals1101to1103ofFIG. 11A. When the communication apparatus is selected inFIG. 8E, the information processing apparatus101will transmit a GATT connection request1114to this communication apparatus. Subsequently, a GATT connection1115is established between the information processing apparatus101and the communication apparatus151. The communication apparatus151notifies the information processing apparatus101of a PIN code1116when the authentication button of the communication apparatus is pressed. The information processing apparatus101generates a link key based on the PIN code from the notification, and pairing processing1117between the information processing apparatus101and the communication apparatus151will succeed as a result.

According to this embodiment, the information processing apparatus101refers to the pairing scheme information and information of the presence/absence of an operation panel included in the scan response information from the communication apparatus151. The information processing apparatus101can switch the pairing scheme in accordance with the pairing scheme information and execute display control processing to cause the display unit108to display an appropriate pairing procedure guide in accordance with the presence/absence of the operation panel. As a result, it becomes possible to use one application to perform pairing on a plurality of communication apparatuses that have different pairing methods, and it is possible to assist the user operation necessary for pairing the information processing apparatus101and the communication apparatus151.

Note that although it was described in the above embodiment that the pairing scheme information and the information of the presence/absence of an operation panel included in the scan response information of the communication apparatus151will be referred to in the processes of steps S702to S704, the present invention is not limited to this. For example, the pairing scheme information and the information relating to the presence/absence of an operation panel may be included in the first advertising information from the communication apparatus151that is received in step S701. In this case, the processes of steps S702and S703can be omitted, and the pairing scheme information and the information of the presence/absence of an operation panel included in the first advertising information can be referred to instead of the scan response information in step S704. This will allow the information processing apparatus101to obtain the required information without referring to the second advertising information (scan response), that is, without transmitting a scan request. In addition, the pairing scheme information and the information of the presence/absence of an operation panel may be obtained by GATT communication whose execution is permitted without the pairing. In this case, after the pairing target communication apparatus151is selected in step S707, the information processing apparatus101can refer to the pairing scheme information and the information of the presence/absence of an operation panel obtained by GATT communication. If it is arranged so that the pairing scheme information and the information of the presence/absence of an operation panel will be transmitted by the second advertising information or GATT communication, the amount of information included in the first advertising information can be reduced. This can prevent wasteful consumption of wireless resources due to unnecessary information being transmitted in a state without the transmission of the scan request.

As described above, in this embodiment, pairing is performed by using a different pairing scheme in accordance with the contents of the scan response. More specifically, a case in which the pairing scheme to be used is determined based on the pairing scheme information included in the scan response information in step S708has been described. However, the present invention is not limited to this, and it may be determined that a specific pairing scheme will be used based on the fact that the pairing scheme information is not included in the scan response information in step S708.

Alternatively, the pairing scheme may be determined based on the presence/absence of the pairing scheme information and the combination of the contents in a case in which the pairing scheme information is included. For example, assume that a printing apparatus A that does not transmit the pairing scheme information and performs pairing by the Numeric Comparison scheme is present. Furthermore, assume that a printing apparatus B and a printing apparatus C that support Just Works and Passkey Entry, respectively, and transmit pairing scheme information are present. That is, it may be set so that, for example, the pairing scheme information will not be transmitted when the Numeric Comparison scheme is to be used but will be transmitted when other schemes are to be used. In a case in which one of the other schemes (for example, Just Works and Passkey Entry) is to be used, the notification of the scheme to be used will be transmitted by using the pairing scheme information. In this case, the printing apparatus A, the printing apparatus B, and the printing apparatus C are discriminated appropriately by making a determination based on the presence/absence of the pairing scheme information and the combination of the contents of the pairing scheme information, and thus an appropriate pairing scheme corresponding to each apparatus can be used.

In addition, the information processing apparatus101can hold a whitelist listing the corresponding device type for each pairing scheme that has been provided in a form that can be referred by the printing application. In this case, the information processing apparatus101can obtain the model information instead of the pairing scheme information and determine the pairing scheme by collating the model information and the whitelist. Furthermore, although pairing is executed by two different types of pairing schemes in the embodiment described above, one of these two types of pairing schemes may be replaced with a setting for “no authentication” (no pairing). Also, although it has been described that the guide to be displayed will be switched in accordance with whether the communication apparatus includes a panel, the guide to be displayed may be switched based on another standard. For example, the process of step S710may be executed when the size of the panel included in the communication apparatus151is equal to or larger than a predetermined size, and the process of step S711may be executed when the size of the panel included in the communication apparatus151is smaller than the predetermined size. Also, whether to execute the process of step S710or step S711may be determined by another piece of information of the communication apparatus.

Note that although the embodiment describes an example using BLE as the short range wireless communication scheme, another short range wireless communication scheme may be used. In this case, if there are plurality of authentication schemes available for the other short range wireless communication scheme, the authentication scheme to be used in accordance with the characteristics of the communication apparatus can be determined, and guide information for performing authentication by the determined authentication scheme can be presented. In addition, although wireless LAN setting communication for exchanging setting parameters for wireless LAN communication can be performed by short range wireless communication, the present invention is not limited to this. Arbitrary pieces of information can be transmitted/received by short range wireless communication. That is, the method described above can be executed in an apparatus that has only the short range wireless communication function as its communication function.

In addition, the above embodiment described an example in which the information processing apparatus101presents the information related to the procedure of the pairing performed between the self-apparatus and the pairing target communication apparatus151. However, the present invention is not limited to this. For example, the information processing apparatus101may operate to present the procedure of pairing with another apparatus which is present in its periphery (present within the communicable range of the short range wireless communication unit110) regardless of whether the self-apparatus is to perform the pairing. As a result, when the user wants to know the pairing procedure of one of the communication apparatus, the user can recognize the pairing procedure of this communication apparatus by moving the user's information processing apparatus101to the vicinity of this communication apparatus.

This application claims the benefit of Japanese Patent Application No. 2018-113846, filed Jun. 14, 2018, which is hereby incorporated by reference herein in its entirety.