Patent Description:
Remote Ul techniques are known as methods for remotely managing a printing apparatus from an information processing apparatus such as a PC or a mobile terminal. Since the remote UI techniques are methods for remotely managing a printing apparatus, authentication that uses a password is generally required. <CIT> discloses a mode for displaying a remote Ul for using a function of an MFP (Multi-Function Peripheral) that is a printing apparatus. <CIT> describes that authentication processing that uses a password is necessary to use the remote Ul, and such authentication processing can be simplified using BLE (Bluetooth Low Energy). <CIT> discloses a remote UI where a user name and password always need to be input on the remote Ul.

There is demand to be able to reduce a load imposed by authentication processing (for example, password input) when a function of an external apparatus that requires authentication processing (in above case, the remote Ul) is used from an information processing apparatus as described above, and for further improving the convenience.

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 for reducing a load when using, from an information processing apparatus, a function of an external apparatus that requires authentication processing, and further improving the convenience.

The present invention in its first aspect provides an information processing apparatus as specified in claims <NUM> to <NUM>.

The present invention in its second aspect provides a control method as specified in claim <NUM>.

The present invention in its third aspect provides a non-transitory computer-readable storage medium as specified in claim <NUM>.

Multiple features are described in the embodiments but the invention is limited by the appended claims.

A configuration example of an information processing apparatus and a communication apparatus included in a communication system according to this embodiment will be described In this embodiment, a smartphone is illustrated as the information processing apparatus. However, the information processing apparatus is not limited thereto, and may be another apparatus that can communicate with a communication apparatus such as a mobile terminal, a laptop PC, a tablet terminal, a PDA (Personal Digital Assistant), or a digital camera. In addition, in this embodiment, a printer is illustrated as the communication apparatus, but there is no limitation thereto, and the communication apparatus may be any other apparatus that can communicate with the information processing apparatus. For example, if a printer is used as the communication apparatus, the present invention can be applied to an inkjet printer, a full-color laser beam printer, a monochrome printer, and the like. In addition, the present invention can be applied to not only a printer but also a copier, a facsimile apparatus, a mobile terminal, a smartphone, a laptop PC, a tablet terminal, a PDA, a digital camera, a music reproduction device, a television, and the like. Besides, the present invention can also be applied to an MFP (Multi-Function Peripheral) that has a plurality of functions such as a copy function, a facsimile function, and a print function.

First, a configuration example of an information processing apparatus and a communication apparatus according to this embodiment will be described with reference to <FIG>. Note that, here, one information processing apparatus, one communication apparatus, and one access point are illustrated.

In <FIG>, an information processing apparatus <NUM> includes an input interface <NUM>, a CPU <NUM>, a ROM <NUM>, a RAM <NUM>, an external storage apparatus <NUM>, an output interface <NUM>, a display unit <NUM>, a communication unit <NUM>, and a short-range wireless communication unit <NUM>. Note that these constituent elements are connected to each other via a system bus.

The input interface <NUM> is an interface for accepting instructions from the user via an operation unit such as a physical keyboard and a mouse (not illustrated). The CPU <NUM> is a system control unit, and performs overall control of the information processing apparatus <NUM> by executing a program or starting hardware. The ROM <NUM> is a non-volatile storage region, and stores fixed data such as various control programs that are executed by the CPU <NUM>, a data table, and an embedded operating system (OS) program. In this embodiment, the control programs stored in the ROM <NUM> perform software execution control of scheduling, task switching, interrupt processing, and the like under the management of the embedded operating system stored in the ROM <NUM>.

The RAM <NUM> is an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory), or the like. Note that, in this embodiment, the data of the RAM <NUM> may be retained by using a primary battery for data backup (not illustrated). In that case, the RAM <NUM> can store important data such as program control variables without volatilizing the data. A memory area for storing setting information, management data, and the like of the information processing apparatus <NUM> is also provided in the RAM <NUM>. In addition, the RAM <NUM> is also used as a main memory and a work memory of the CPU <NUM>. The external storage apparatus <NUM> stores an application that provides a print execution function (hereinafter, "print application"), a program for generating a print job that can be interpreted by a communication apparatus <NUM>, and the like. In addition, the external storage apparatus <NUM> stores programs for transmitting/receiving, via the communication unit <NUM>, various types of information to/from the connected communication apparatus <NUM>, and various types of information that are used by these programs.

The output interface <NUM> is an interface for performing display control for the display unit <NUM> to perform display of data and notification of the state of the information processing apparatus <NUM>. Note that the display unit <NUM> and the above-described operation unit may be at least partially integrated, and may be, for example, a touch panel that performs screen output and receives an operation from the user, on the same screen. The display unit <NUM> is constituted by an LED (light emitting diode), an LCD (liquid crystal display), and the like, and performs display of data and notification of the state of the information processing apparatus <NUM>. Note that a configuration may be adopted in which a soft keyboard (not illustrated) that includes keys such as number input keys, mode setting keys, an enter key, a cancel key, and a power key is installed on the display unit <NUM>, and input from the user is accepted via the display unit <NUM>.

The communication unit <NUM> is connected to an external apparatus such as the communication apparatus <NUM>, and executes data communication. For example, the communication unit <NUM> can be connected to an access point (not illustrated) constituted by a device provided inside of the communication apparatus <NUM> or externally attached to the communication apparatus <NUM>. As a result of the communication unit <NUM> and the access point inside the communication apparatus <NUM> being connected, the information processing apparatus <NUM> and the communication apparatus <NUM> can communicate with each other. Note that the communication unit <NUM> may communicate with the communication apparatus <NUM> directly or via an external access point (for example, an access point <NUM>) that is outside of the information processing apparatus <NUM> and the communication apparatus <NUM>. Examples of a communication method include wireless LAN such as Wi-Fi (Wireless Fidelity) (registered trademark), Bluetooth (registered trademark), and wired LAN (Local Area Network). In addition, examples of the access point <NUM> include a device such as a router. Note that, in this embodiment, a method in which the information processing apparatus <NUM> and the communication apparatus <NUM> are directly connected with each other without an external access point is referred to as a "direct connection method". Also, a method in which the information processing apparatus <NUM> and the communication apparatus <NUM> are connected with each other via an external access point is referred to as "infrastructure connection method".

The short-range wireless communication unit <NUM> has a configuration for being wirelessly connected to an external apparatus such as the communication apparatus <NUM> at a short distance and executing data communication, and performs communication using a communication method different from that of the communication unit <NUM>. For example, the short-range wireless communication unit <NUM> can be connected to a short-range wireless communication unit <NUM> in the communication apparatus <NUM> at a short distance. Note that, in this embodiment, a description will be given assuming that Bluetooth Low Energy (BLE) is used as the communication method of the short-range wireless communication unit <NUM>. Accordingly, the short-range wireless communication unit <NUM> has a BLE unit. The BLE unit includes a microcomputer that is a microprocessor that performs wireless communication processing and a wireless communication circuit that transmits/receives data through wireless communication. A RAM and a flash memory are embedded in the microcomputer. Note that, for example, NFC (Near Filed Communication) or Wi-Fi Aware besides BLE may be used as a communication method of the short-range wireless communication unit <NUM>. In addition, a range in which short-range wireless communication is possible changes according to a communication method, but, here, a description will be given assuming that the information processing apparatus <NUM> and the communication apparatus <NUM> are positioned in the range. In addition, a description will be given assuming that, in communication between the information processing apparatus <NUM> and the communication apparatus <NUM>, the performance in communication (the communication speed and data amount) between the communication unit <NUM> and a communication unit <NUM> is higher than the performance in communication between the short-range wireless communication unit <NUM> and the short-range wireless communication unit <NUM>.

The communication apparatus <NUM> includes a ROM <NUM>, a RAM <NUM>, a CPU <NUM>, a print engine <NUM>, the communication unit <NUM>, the short-range wireless communication unit <NUM>, an input interface <NUM>, an output interface <NUM>, and a display unit <NUM>.

The communication unit <NUM> includes, as an access point inside the communication apparatus <NUM>, an access point for connecting the communication unit <NUM> to an external apparatus such as the information processing apparatus <NUM>. Note that the communication unit <NUM> may directly communicate with the information processing apparatus <NUM>, or may communicate with the information processing apparatus <NUM> via the access point <NUM> that is an external access point. Examples of a communication method includes Wi-Fi (registered trademark), Bluetooth (registered trademark), and wired LAN. In addition, the communication unit <NUM> may also include hardware that functions as an access point, or may also operate as an access point using software that enables the communication unit <NUM> to function as an access point. The short-range wireless communication unit <NUM> is a constituent element for wirelessly connecting the communication apparatus <NUM> to an apparatus such as the information processing apparatus <NUM> at a short distance. In this embodiment, a description will be given assuming that BLE is used as the communication method of the short-range wireless communication unit <NUM>.

The RAM <NUM> is constituted by an SRAM, a DRAM, or the like. Note that the data of the RAM <NUM> may be retained by using a primary battery for data backup (not illustrated). In that case, the RAM <NUM> can store important data such as program control variables without volatilizing the data. In addition, a memory area for storing setting information, management data, and the like of the communication apparatus <NUM> is also provided in the RAM <NUM>. In addition, the RAM <NUM> is also used as a main memory and a work memory of the CPU <NUM>, provides a receive buffer for temporarily storing a print job received from the information processing apparatus <NUM> or the like, and stores various types of information. The ROM <NUM> is a non-volatile storage region, and stores fixed data such as control programs that are executed by the CPU <NUM>, a data table, and an OS program. In this embodiment, the control programs stored in the ROM <NUM> perform software execution control of scheduling, task switching, interrupt processing, and the like under the management of an embedded OS stored in the ROM <NUM>.

The CPU <NUM> is a system control unit, and performs overall control of the communication apparatus <NUM> by executing a program or starting hardware. The print engine <NUM> forms an image onto a recording medium such as paper using a recording agent such as ink based on information recorded in the RAM <NUM> and a print job received from an external apparatus such as the information processing apparatus <NUM>, and outputs a print result. At this time, the print job transmitted from the information processing apparatus <NUM> or the like has a large transmission data amount, and there is demand for high-speed communication. Therefore, in this embodiment, a print job is received via the communication unit <NUM> that can perform communication at a higher speed than the short-range wireless communication unit <NUM>.

Note that a memory such as an external HDD or an SD card may be mounted in the communication apparatus <NUM> as an option device, and information to be stored in the communication apparatus <NUM> may be stored in the memory that is the option device. In addition, as an example, processing allocation between the information processing apparatus <NUM> and the communication apparatus <NUM> has been illustrated as described above, but there is no particular limitation to such a processing allocation mode, and another mode may also be adopted.

In BLE communication, the short-range wireless communication unit <NUM> performs communication with a frequency band of <NUM> divided into <NUM> channels (<NUM> to <NUM> ch). The short-range wireless communication unit <NUM> uses three channels, namely the <NUM> to 39th divided channels for transmitting advertise information and receiving a request to start GATT communication, and uses <NUM> channels, namely the 0th to 36th channels for data communication after BLE connection.

The input interface <NUM> is an interface for accepting an instruction from the user via an operation unit such as buttons (not illustrated).

The output interface <NUM> is an interface for performing display control for the display unit <NUM> to perform display of data and notification of the state of the communication apparatus <NUM>. Note that the display unit <NUM> and the above-described operation unit may be at least partially integrated, and may be, for example, a touch panel that performs screen output and receives an operation from the user, on the same screen. The display unit <NUM> is constituted by an LED (light emitting diode), an LCD (liquid crystal display), and the like, and performs display of data and notification of the state of the communication apparatus <NUM>. Note that a configuration may be adopted in which a soft keyboard (not illustrated) that includes keys such as number input keys, mode setting keys, an enter key, a cancel key, and a power key is installed on the display unit <NUM>, and input from the user is accepted via the display unit <NUM>. In addition, the communication apparatus <NUM> may include an information bar formed by arranging a plurality of LEDs linearly. The information bar can indicate the state of the communication apparatus <NUM> based on illumination states of the respective LEDs.

<FIG> shows a sequence for the information processing apparatus <NUM> to access a function with access restriction supported by the communication apparatus <NUM>. In this embodiment, a function "remote UI (Remote User Interface)" of a printer will be illustrated as an example of a function with access restriction that the communication apparatus <NUM> in <FIG> has. The remote UI function is a function for managing the communication apparatus <NUM> using Web browser (not illustrated) of the information processing apparatus <NUM>, and is a service that enables the information processing apparatus <NUM> to remotely manage the communication apparatus <NUM>. The remote UI has, for example, a function of changing wireless communication information of the printer. Accordingly, if the information processing apparatus changes wireless communication information of the printer using the remote UI, there is the possibility that the printer cannot communicate with an apparatus that the printer can currently communicate with. Therefore, it is necessary to impose access restriction in order to prevent the settings from being changed from any apparatus. The user acquires a password for displaying the remote UI from the communication apparatus <NUM> in order to use a service of the remote UI, and input the appropriate password in a password input screen of the remote UI that is displayed on the information processing apparatus.

Note that, in this embodiment, the remote UI is described as an example of a function with access restriction, but the present invention is not limited thereto, and can be applied to a function for authenticating printing using a user name, and the like.

The processing sequence according to this embodiment will be described with reference to <FIG>. Note that the following processes of the processing sequence are realized by the CPUs of the information processing apparatus <NUM> and the communication apparatus <NUM> reading out programs stored in the ROMs or the like, and executing the programs, based on the hardware configuration shown in <FIG>. Furthermore, communication between the apparatuses is performed via the communication units of the apparatuses.

When the user inputs an instruction to display the remote UI, via the screen of the print application in step S201, the information processing apparatus <NUM> determines, in step S202, whether or not the communication apparatus <NUM> supports an authentication information acquisition service, based on information of a service list of the communication apparatus <NUM>. The authentication information acquisition service here refers to a service for providing, to the information processing apparatus <NUM>, authentication information (hereinafter, this information is referred to as "seed" or "challenge information") for generating an authentication code when using a function provided by the communication apparatus <NUM> (for example, a remote UI).

In addition, it is envisioned that the information of the service list has been acquired from the communication apparatus <NUM> in advance, but the information may be acquired from the communication apparatus <NUM> after the user inputs an instruction to display the remote UI in step S201. In either case, the information processing apparatus <NUM> can determine how the communication apparatus <NUM> supports the authentication information acquisition service, based on the information of the service list acquired from the communication apparatus <NUM>. In addition, in this embodiment, it is envisioned that the information of the service list is acquired from the communication apparatus <NUM> using Wi-Fi communication, but the information can also be acquired from the communication apparatus <NUM> using GATT communication of BLE or LAN. Accordingly, a communication method for the information processing apparatus <NUM> to use a function of the communication apparatus <NUM> and a communication method for the information processing apparatus <NUM> to acquire authentication information from the communication apparatus <NUM> may be different. In addition, there may be a case where a plurality of authentication information acquisition services exist and a corresponding method may be different according to the type of the communication apparatus <NUM>, and, in such a case, the information processing apparatus <NUM> can determine the corresponding method based on the information of the service list. For example, if there are authentication information acquisition services A and B, the information processing apparatus <NUM> may determine that the service type is A based on the communication apparatus <NUM> including an LCD as the display unit <NUM>. Also, the information processing apparatus <NUM> may determine that the service type is B based on the communication apparatus <NUM> not including an LCD as the display unit <NUM>. Accordingly, the information processing apparatus <NUM> can switch the corresponding method for the authentication information acquisition service according to the service type of the communication apparatus <NUM>. If there is no authentication information acquisition service (NO in step S202), the procedure advances to step S203, and if there is an authentication information acquisition service (YES in step S202), the procedure advances to step S204.

In step S202, additional processing such as acquiring an identifier of the communication apparatus <NUM> through Wi-Fi communication may be performed. For example, determination is made as to whether or not the information processing apparatus <NUM> and the communication apparatus <NUM> have undergone BLE pairing already, and if BLE pairing has been performed, the authentication information acquisition service can be executed using BLE communication. On the other hand, if BLE pairing has not been performed, confirmation of an authentication state using Wi-Fi communication to be described in this embodiment is favorable. Note that, even if BLE pairing has been performed, authentication processing through Wi-Fi communication according to this embodiment may be executed without executing the authentication information acquisition service that uses BLE communication. Commonly, the range in which Wi-Fi communication is possible is broader than a range in which BLE communication is possible, and if authentication processing can be executed through Wi-Fi, it is more convenient for the user. In the following description, unless specifically stated otherwise, the information processing apparatus <NUM> and the communication apparatus <NUM> communicate with each other using Wi-Fi communication, but this does not limit the range in which the present invention is applied. It suffices for the information processing apparatus <NUM> and the communication apparatus <NUM> can communicate with each other in a range broader than a range in which BLE communication is possible, and the present invention can also be applied to communication that uses LAN such as wired LAN.

If the communication apparatus <NUM> does not provide an authentication information acquisition service (NO in step S202), it is required for the user to input the password of the remote UI. In view of this, the information processing apparatus <NUM> advances the procedure to step S203, and displays a password input screen (not illustrated) on the display unit <NUM>, and waits until the password is input. If the password is input by the user in step S203, the procedure advances to step S217. On the other hand, if the password is not input by the user, processing for displaying the remote UI is cancelled.

If the communication apparatus <NUM> provides the authentication information acquisition service (YES in step S202), the information processing apparatus <NUM> advances the procedure to step S204, and determines whether or not authentication information to be used for authentication between the information processing apparatus <NUM> and the communication apparatus <NUM> is included. In this embodiment, determination in step S204 as to whether or not authentication information is included is performed based on whether or not the information processing apparatus <NUM> has already acquired a seed of the remote UI from the communication apparatus <NUM> and the information processing apparatus <NUM> holds the seed. In an example, the information processing apparatus <NUM> determines whether or not a seed acquired from the communication apparatus <NUM> in the past is stored in the ROM <NUM>. If a seed has been acquired already, and is held (YES in step S204), the information processing apparatus <NUM> advances the procedure to step S205 in order to confirm that the seed is valid. On the other hand, if a seed has not been acquired (NO in step S204), the information processing apparatus <NUM> advances the procedure to step S208.

In step S205, the information processing apparatus <NUM> transmits a seed confirmation request in order to determine the validity of the seed held therein. The seed confirmation request may be any information generated based on the seed. In an example, in step S205, the information processing apparatus <NUM> transmits the seed held therein as a seed confirmation request to the communication apparatus <NUM>. Upon receiving the seed confirmation request from the information processing apparatus <NUM> in step S205, the communication apparatus <NUM> executes processing for determining the validity of the seed, and transmits a seed confirmation response signal that includes the determination result to the information processing apparatus <NUM> in step S206.

The information processing apparatus <NUM> that has received the seed confirmation response signal from the communication apparatus <NUM> in step S206 advances the procedure to step S207, and confirms whether or not the communication apparatus <NUM> determined that the seed is valid, based on the seed confirmation response signal. If the information processing apparatus <NUM> determines that a response signal indicating that the seed is valid has been received (YES in step S207), the information processing apparatus <NUM> includes authentication information corresponding to the communication apparatus <NUM>. Accordingly, the information processing apparatus <NUM> determines that it is possible to continue the authentication processing, and advances the procedure to step S213. If the information processing apparatus <NUM> determines that a response signal indicating that the seed is not valid has been received (NO in step S207), the information processing apparatus <NUM> does not include authentication information that is valid for the communication apparatus <NUM>. Therefore, the information processing apparatus <NUM> determines that authentication processing cannot be continued in this state, and advances the procedure to step S208. Note that examples of a case where a seed is invalidated include a case where the information processing apparatus <NUM> acquires a seed from the communication apparatus <NUM>, and the communication apparatus <NUM> then changes the seed to a new seed. For example, if reset of a wireless communication function is selected via an operation panel of the communication apparatus <NUM>, the communication apparatus <NUM> generates a new seed. In this case, the seed before being changed that is held by the information processing apparatus <NUM> and the changed seed that is held by the communication apparatus <NUM> are different, and thus determination may be NO in step S207.

In step S208, the information processing apparatus <NUM> transmits an authentication information request to the communication apparatus <NUM> in order to acquire authentication information from the communication apparatus <NUM>. In this embodiment, the information processing apparatus <NUM> transmits a seed request (request signal) to the communication apparatus <NUM> in step S208. The communication apparatus <NUM> that received the seed request from the information processing apparatus <NUM> in step S208 advances the procedure to step S209, and waits for a user's operation.

For example, if the communication apparatus <NUM> includes an LCD as the display unit <NUM>, the communication apparatus <NUM> can display, on the LCD, a message for inquiring whether or not to transmit authentication information to the information processing apparatus <NUM>. <FIG> shows an example of the message that is displayed on the LCD. A dialogue as shown in <FIG> is displayed on the LCD, and if the user taps on a "do not authenticate" button (object) <NUM>, the authentication information is not transmitted, and if the user taps on an "authenticate" button (object) <NUM>, the authentication information is transmitted. In addition, if the communication apparatus <NUM> does not have an LCD as the display unit <NUM>, the communication apparatus <NUM> waits until the user performs an operation of selecting a button for permitting transmission of authentication information. The button for permitting transmission of authentication information may be a button dedicated to authentication, or a button for another function may also be used as the button for permitting transmission of authentication information. After transmitting the request for authentication information in step S208, the information processing apparatus <NUM> advances the procedure to step S210, displays, on the display unit <NUM> of the information processing apparatus <NUM>, a message indicating that a user's operation on the communication apparatus <NUM> is required. For example, if the communication apparatus <NUM> includes an LCD as the display unit <NUM>, in other words if the service type of the authentication information acquisition service is the service type A, the information processing apparatus <NUM> displays, on the display unit <NUM>, a message for prompting an operation on the LCD of the communication apparatus <NUM>. In addition, if the communication apparatus <NUM> does not have an LCD as the display unit <NUM>, the information processing apparatus <NUM> displays, on the display unit <NUM>, a message for prompting an operation on the button for permitting transmission of authentication information. Note that a case where the communication apparatus <NUM> does not include an LCD is equivalent to a case where the service type of authentication information acquisition service is the service type B. <FIG> show an example of a message displayed by the information processing apparatus <NUM>. <FIG> shows a message when the communication apparatus <NUM> includes an LCD as the display unit <NUM>. In this case, an operation on an authentication button displayed on the LCD of the communication apparatus <NUM> is prompted. <FIG> shows a message when the communication apparatus <NUM> does not include an LCD as the display unit <NUM>. In this case, an operation on an authentication button in the communication apparatus <NUM> is prompted. In addition, if the communication apparatus <NUM> includes an information bar as the display unit <NUM>, it is possible to notify the user that an operation needs to be performed on the communication apparatus <NUM>, by illuminating the information bar. According to the message on the display unit <NUM> of the information processing apparatus <NUM> in step S210, in the case of the communication apparatus <NUM> that includes an LCD, the user selects an object indicating "permitted" displayed on the LCD of the communication apparatus <NUM> or an object indicating "not permitted". On the other hand, in the case of the communication apparatus <NUM> that does not include an LCD, the user performs an operation on the above-mentioned button for permitting transmission of authentication information. If the user performs an operation on a display of the LCD or a button for transmitting authentication information, or an operation has not been performed for a predetermined time, the procedure advances to step S211.

In step S211, the information processing apparatus <NUM> acquires a response signal from the communication apparatus <NUM> in response to the seed request, and, in step S212, confirms the content of the response signal. If the user performs an operation (select operation) on the object (or button) <NUM> for permitting transmission of authentication information displayed on the LCD of the communication apparatus <NUM>, the communication apparatus <NUM> determines that authentication information needs to be transmitted. Therefore, in step S211, the information processing apparatus <NUM> acquires a response signal that includes a valid seed from the communication apparatus <NUM>, as a response to the signal for requesting authentication information, and advances the procedure to step S212.

If the communication apparatus <NUM> determines that selection of the object <NUM> indicating "not permitted" and displayed on the LCD has been detected, or an operation has not been performed on the button for a predetermined time, the communication apparatus <NUM> performs determination to not transmit authentication information to the information processing apparatus <NUM>. Therefore, in step S211, the information processing apparatus <NUM> acquires a response that includes error information as a response to the seed request, from the communication apparatus <NUM>, and advances the procedure to step S212. In an example, the error information includes information indicating that an operation has been performed on the object <NUM> indicating that transmission of authentication information is not permitted (CANCEL). Alternatively, the error information includes information indicating that an operation has not been performed on the button for permitting transmission of authentication information of the communication apparatus <NUM> (TIMEOUT).

In step S212, the information processing apparatus <NUM> determines whether or not authentication information could be acquired, based on the response signal received in step S211. If it is determined that authentication information could be acquired (YES in step S212), the information processing apparatus <NUM> advances the procedure to step S213, and if it is determined that authentication information could not be acquired (NO in step S212), advances the procedure to step S214. Also at this time, if the communication apparatus <NUM> includes an information bar as the display unit <NUM>, the user may be notified that whether acquisition of authentication information was successful or failed, by illuminating the information bar. Accordingly, if the information processing apparatus <NUM> transmits information indicating that acquisition was successful, to the communication apparatus <NUM>, the communication apparatus <NUM> performs light emission processing for indicating that acquisition was successful, using the information bar. For example, a plurality of light emitters (for example, LEDs) constituting the information bar are all illuminated in white. On the other hand, if the information processing apparatus <NUM> transmits, to the communication apparatus <NUM>, information indicating that acquisition failed, the communication apparatus <NUM> performs light emission processing for indicating that acquisition failed, using the information bar. For example, one light emitter (LED) that constitutes the information bar is illuminated in red.

In step S214, the information processing apparatus <NUM> performs determination on the error information. Determination on the error information may be performed according to whether or not the seed acquired from the communication apparatus <NUM> is valid, or may also be performed based on the error information acquired from the communication apparatus <NUM>. In step S214, three types, namely the user not permitting the authentication information transmission request (cancel), the communication apparatus <NUM> not responding the authentication information transmission request (off), and no operation performed for a predetermined time or longer (timeout) are envisioned as error codes. If transmission of authentication information is not permitted, in other words authentication processing is canceled by the user (CANCEL in step S214), the information processing apparatus <NUM> advances the procedure to step S203. Alternatively, if a response to a seed request is set to "invalid" in the communication apparatus <NUM> (OFF in step S214), the information processing apparatus <NUM> advances the procedure to step S203. In step S203, the information processing apparatus <NUM> displays a password input screen (not illustrated), and waits until a password is input. At this time, authentication processing may be continued using BLE communication without displaying the password input screen. Note that, in this embodiment, when authentication processing is continued using BLE, a user's operation is not required on the communication apparatus <NUM> side. In addition, if selection of a display of the LCD or an operation on a button for transmitting authentication information has not been performed for a predetermined time (TIMEOUT in step S214), the information processing apparatus <NUM> returns the procedure to step S208, and repeats the seed request. In an example, if timeout occurs a predetermined number of times due to a select operation having not been performed on the object of the LCD or the button for transmitting authentication information for a predetermined time, the information processing apparatus <NUM> advances the procedure to step S203.

Then, the information processing apparatus <NUM> may display the password input screen and prompt the user to input a password. At this time, a configuration may be adopted in which authentication processing is executed using BLE communication without displaying the password input screen.

In step S213, the information processing apparatus <NUM> transmits, to the communication apparatus <NUM>, a signal for requesting acquisition of challenge information, and advances the procedure to step S215. The challenge information is a random number sequence required for authentication processing, and is information that is used one time. Accordingly, the challenge information is changed for every challenge request for acquiring challenge information and transmitted in response to the challenge request.

In step S215, the information processing apparatus <NUM> receives challenge information in response to the request for acquiring challenge information, from the communication apparatus <NUM>. If challenge information could be acquired properly in response to the request for acquiring challenge information (YES in S216), the information processing apparatus <NUM> advances the procedure to step S217, and if challenge information could not be acquired (NO in S216), advances the procedure to step S203. The information processing apparatus <NUM> then displays a password input screen, and waits until a password is input. At this time, authentication processing may be executed using BLE communication without displaying the password input screen. Note that examples of "the case where challenge cannot be acquired normally" includes a case where Wi-Fi communication is disconnected at this timing.

In step S217, the information processing apparatus <NUM> generates an authentication code for accessing the remote Ul. In this embodiment, an authentication code is generated using the seed acquired in step S211, the challenge information acquired in step S215, and fixed hash values held by the print application in advance. After generating the authentication code, the information processing apparatus <NUM> advances the procedure to step S218.

In step S218, the information processing apparatus <NUM> transmits a request to display the remote Ul, to the communication apparatus <NUM>. The request here includes the authentication code generated in step S217 or the password input by the user in step S203, and is transmitted. In step S219, the communication apparatus <NUM> determines whether or not the authentication code or password included in the request received from the information processing apparatus <NUM> is correct.

In step S220, the communication apparatus <NUM> transmits the determination result in step S219 in response to the request to display the remote Ul, to the information processing apparatus <NUM>. In the response here, if the authentication code or password is correct, authentication is successful, and a response indicating that access to the remote UI is permitted is given, and if the authentication code or password is incorrect, a value of an error (authentication failure) is returned. Note that, when access is permitted, the communication apparatus <NUM> may transmit screen information related to the remote UI such as the URL of the remote UI additionally. In addition, the response indicating that access to the remote UI is permitted may be the URL of the remote Ul itself. At the same time, if the communication apparatus <NUM> includes an information bar as the display unit <NUM>, it is possible to notify, by illuminating the information bar, the user of whether authentication was successful or failed (in other words, the determination result in step S219).

In step S221, the information processing apparatus <NUM> confirms the content of the response transmitted from the communication apparatus <NUM>, and determines whether or not a response indicating that access is permitted has been obtained, in other words whether or not authentication processing was successful. If access is permitted (YES in step S221), the information processing apparatus <NUM> advances the procedure to step S222, and if an error is returned (NO in step S221), advances the procedure to step S223.

In step S223, the information processing apparatus <NUM> presents an error of the authentication code or password being incorrect (authentication failure), to the user via Web browser or the like, and waits for the next processing.

In step S222, the information processing apparatus <NUM> displays the remote Ul. <FIG> show an example of a screen configuration of the remote Ul. In the remote UI shown in <FIG>, a screen for confirming various types of information related to a printer that is the communication apparatus <NUM> (management screen) is displayed. <FIG> shows the state of the printer (an ink level, radio field intensity, and a communication level) and the like. Here, when a security button <NUM> displayed in <FIG> is selected, the display screen transitions to a security screen shown in <FIG>. In the security screen, information related to the security of the printer is shown. Similarly, in <FIG>, if a utility button <NUM> is selected, a menu of maintenance of the printer (not illustrated) is displayed. Note that, in this embodiment, the authentication code generated in S217 and the password input in step S203 are different, but may be the same.

As described above, in this embodiment, when the information processing apparatus <NUM> accesses a function with access restriction that the communication apparatus <NUM> has, whether or not the communication apparatus <NUM> provides an authentication information acquisition service is confirmed. Then, if the communication apparatus <NUM> provides an authentication information acquisition service, the information processing apparatus <NUM> requests the communication apparatus <NUM> for authentication information. The information processing apparatus <NUM> acquires authentication information according to an operation on the communication apparatus <NUM>, and can thereby execute authentication processing based on the authentication information. Accordingly, the user can use the function with access restriction that the communication apparatus <NUM> has, by performing an easy operation.

In addition, there are cases where authentication performed through Wi-Fi communication for the information processing apparatus <NUM> to access a function with access restriction (for example, the remote UI) is not complete, or authentication information is expired. Even in this case, when the user instructs execution of the remote UI via the print application, the information processing apparatus <NUM> starts authentication processing through Wi-Fi communication. The information processing apparatus <NUM> then acquires a seed and challenge information from the communication apparatus <NUM> according to permission of transmission of authentication information, generates an authentication code using the acquired seed and challenge information, transmits the authentication code to the communication apparatus <NUM>. The remote UI is thereby automatically displayed in the information processing apparatus <NUM>. Accordingly, according to this embodiment, the information processing apparatus <NUM> can perform authentication processing based on the acquired authentication information according to an operation on the communication apparatus <NUM>, and thus it is possible to reduce a load when using a function of the communication apparatus, and improve the convenience.

In addition, if the information processing apparatus <NUM> performs authentication processing on the communication apparatus <NUM> using the above-described seed and challenge information, it is obvious that the communication apparatus <NUM> provides an authentication information acquisition service. Therefore, when the information processing apparatus <NUM> performs authentication processing on the communication apparatus <NUM> using the above-described seed and challenge information once, and then accepts an instruction to execute display of the remote UI again, the service list of the communication apparatus <NUM> does not need to be acquired. Therefore, the information processing apparatus <NUM> may skip the process in step S202. In addition, in this case, the seed or password can be acquired through authentication information acquisition service, and the password does not need to be input by the user of the information processing apparatus <NUM>, and thus the process in step S203 is not necessary.

The above-described processing makes it possible to improve the convenience when a function of an apparatus that requires authentication processing is used, since display control is performed so as to not display an unnecessary authentication screen. In addition, by executing authentication processing through Wi-Fi communication, authentication can be performed in a broader range than that of authentication processing that uses BLE, improving the convenience for the user. In addition, according to this embodiment, communication of authentication information is performed through Wi-Fi communication, and display information of the remote UI is also acquired though Wi-Fi communication. Accordingly, the communication unit <NUM> is used for communication of authentication information and acquisition of display information of the remote UI. Therefore, switching of a communication method is not necessary, and the convenience can be improved.

Note that, in this embodiment, description has been given assuming that the function with access restriction is a function of displaying a management screen, but the function with access restriction may be a management function of instructing execution of a predetermined function (remote operation function). For example, also when the communication apparatus <NUM> is remotely operated, this embodiment can be applied. As an example of a remote operation, if the communication apparatus <NUM> has a copy function, a management function of the information processing apparatus <NUM> executing copy of the communication apparatus <NUM> is conceivable (hereinafter, remote copy). In an example, in order to prevent remote copy from being inadvertently executed, authentication processing needs to be performed in advance. Also in such a case, by acquiring authentication information using Wi-Fi communication, the communication apparatus <NUM> can acquire permission of access to the remote copy function, and performs display control so as to not display a password input screen. Accordingly, the user can execute the remote copy function in the communication range of Wi-Fi communication without inputting a password. Note that an instruction to execute remote copy is transmitted from the information processing apparatus <NUM> to the communication apparatus <NUM> through Wi-Fi communication. Specifically, according to this embodiment, communication of authentication information is performed through Wi-Fi communication, and an instruction of remote copy is transmitted through Wi-Fi communication. Therefore, switching of a communication method is unnecessary, and the convenience can be improved.

In this embodiment, authentication processing is executed at the timing when the display screen transitions to a specific screen of the print application that provides a print execution function. Note that authentication processing of this embodiment refers to a series of processes in <FIG>, but steps S221 and S222 may change according to a user's operation. First, a screen of the application will be described. Note that a description will be given in which the communication apparatus <NUM> is referred to as a "printer that has a print function".

First, the information processing apparatus <NUM> is instructed to start the print application, by the user via the input interface <NUM>. The information processing apparatus <NUM> starts the print application.

<FIG> show screen transition of the print application displayed to the user via the display unit <NUM> of the information processing apparatus <NUM>. A license agreement screen <NUM> shown in <FIG> is a screen for the user to confirm conditions to comply with when the print application is used, and the like. The user confirms the content of a license agreement wording <NUM>, and selects whether or not to agree with the license agreement. If the license agreement is not agreed upon, the print application ends by the user selecting a button <NUM>. If the license agreement is agreed upon, the display screen of the print application transitions to a main screen <NUM> shown in <FIG> as a result of the user selecting a button <NUM>. Note that, if authentication processing has not been executed, the information processing apparatus <NUM> executes authentication processing at the timing when, in the print application, a predetermined button for using a function with access restriction is pressed. Examples of the predetermined button include an image print button <NUM>, a document print button <NUM>, a remote UI display button <NUM>, and a remote copy button <NUM> in <FIG>. Besides, the predetermined button may be a print setting button <NUM> in <FIG>, and authentication processing is started at the timing when the user performs an operation on a button for using a function with access restriction.

The main screen <NUM> displays main functions of the print application in a list. If data to be printed is image data stored in the external storage apparatus <NUM> of the information processing apparatus <NUM>, or the like, the user selects the image print button <NUM>. If the image print button <NUM> is selected, the display screen transitions to an image select screen <NUM> shown in <FIG>. If data to be printed is document data, the user selects the document print button <NUM>. If the document print button <NUM> is selected, the display screen transitions to a document select screen (not illustrated). In addition, if the user desires to display the remote UI, the remote UI display button <NUM> is selected. When the remote UI display button <NUM> is selected, the display screen transitions to the remote UI screen as shown in <FIG>.

The print application can register specific information, function information, and the like of a printer in order to specify the printer in a network. Here, examples of specific information for specifying a printer include identification information (MAC address) of the printer, an IP address, and the name of the printer. In addition, examples of function information of a printer include information regarding the performance of the printer such as a list of types of printable paper and the presence or absence of a double-sided print function. As a result of the print application performing processing for registering this specific information and function information, these pieces of information are stored in association with each other in the external storage apparatus <NUM>. A printer with respect to which such registration processing has been executed is referred to as "registered printer", and a printer that executes print processing is referred to as "current printer". Note that, in this embodiment, it is also possible to register a plurality of printers although a description thereof is omitted. In that case, the user selects a current printer from among a plurality of registered printers before executing print processing. Of course, if the number of registered printers is one, the one printer is used as a current printer.

When registering a printer, the user selects a printer registering button <NUM> provided in the main screen <NUM> shown in <FIG>. When the printer registering button <NUM> is selected, the display screen transitions to a printer registration screen <NUM> shown in <FIG>. When the display screen transitions to the printer registration screen <NUM>, the print application executes processing for searching for a printer connected in the network to which the information processing apparatus <NUM> is connected. After that, the print application displays retrieved printers in a list. Here, the names of the printers included in the specific information are displayed. As a result of the user selecting a printer desired to be registered from among a group of printers listed in the printer registration screen <NUM>, a registered printer is determined. It is also possible to select a plurality of registered printers.

SSID (Service Set Identifier) of the access point <NUM> to which the information processing apparatus is currently connected is displayed as an access point name <NUM> in the printer registration screen <NUM>. Here, for simplification, the access point name is "access point A". The result of printer search is displayed in a search result list <NUM>. In the example in <FIG>, two retrieved printers (here, "printer A" and "printer B") are displayed. In other words, the "printer A" and the "printer B" are connected to the access point A. As a result of the user selecting a listed printer and inputting a registration instruction, the print application registers the selected printer as a registered printer. Note that, when registration processing of the printers is complete, the display screen transitions to the main screen <NUM>. Note that in this embodiment, only one printer can be registered as a registered printer, and the selected printer becomes a current printer. For example, if a printer A612 is selected, this become a current printer. In addition, if a plurality of printers are selected, a current printer may be determined based on the selected order.

When the image print button <NUM> is selected on the main screen <NUM>, the display screen transitions to an image select screen <NUM> shown in <FIG>. Thumbnail images of image data stored in the external storage apparatus <NUM> of the information processing apparatus <NUM> are displayed on the image select screen <NUM>, and the user can select an image to be printed by selecting a thumbnail image. A check mark <NUM> that indicates a print target is displayed on the thumbnail of the image selected as an image to be printed. When the user selects an image and selects a print setting button <NUM>, the display screen transitions to a print setting screen <NUM> shown in <FIG>.

The thumbnail of the image to be printed that has been selected on the image select screen <NUM> is displayed in a thumbnail display region <NUM> of the print setting screen <NUM>. The printer name of the current printer is displayed in a printer name display region <NUM>. As a printer name, a name included in the specific information of the communication apparatus stored in association with the current printer is displayed. Note that, if there are a plurality of registered printers, the name of a registered printer selected by the user via a printer select screen (not illustrated) or the like is displayed as the current printer. Print conditions when executing print is displayed on a print condition display region <NUM>. The user can as appropriate change the print conditions on a print condition change screen (not illustrated), for example. When instructing the print application to start printing, the user selects a print button <NUM>. Accordingly, a print operation is started, and the display screen transitions to a "printing" screen <NUM> shown in <FIG>.

When the "printing" screen <NUM> is displayed, the print application transmits, to the current printer (here, the printer A), an instruction to print the image to be printed that has been selected by the user, under the print conditions displayed in the print condition display region. In a "printing" image <NUM> that is displayed in the "printing" screen <NUM>, an image that is currently being printed by the printer from among images to be printed is displayed, and the progress and status of printing are displayed in a message <NUM>. For example, when printing cannot be continued or is stopped due to a certain problem having occurred when an image was being printed, such a situation is displayed in the message <NUM> in order to notify the user of the situation. If a cancel button <NUM> is selected by the user, printing is stopped, and the display screen transitions to the print setting screen <NUM> that is a previous screen. Note that, if the cancel button <NUM> is selected, a message indicating that the cancel button <NUM> has been selected, and information regarding images that have/have not been printed may be displayed. In addition, the display screen may transition to the main screen <NUM>.

In the above-described embodiment, in step S214, an example has been described in which, if it is determined that the status is CANCEL or OFF, authentication processing that uses BLE is continued, but authentication processing may also be performed in different order. Specifically, when BLE pairing processing is complete, the information processing apparatus <NUM> can generate an authentication code for accessing the remote UI without any user's operation performed on the communication apparatus <NUM> as shown in <FIG>. Therefore, the information processing apparatus <NUM> determines whether or not BLE pairing processing on the communication apparatus <NUM> has completed. Then, if the processing has completed, the information processing apparatus <NUM> acquires authentication information from the communication apparatus <NUM> using BLE, and generates an authentication code. Then, the information processing apparatus <NUM> may transmit a request to display the remote UI (including the authentication code) to the communication apparatus <NUM> using Wi-Fi communication. Here, a configuration may also be adopted in which, after it is determined that BLE paring has not completed, or, if authentication processing performed through BLE failed, the information processing apparatus <NUM> starts the processing in <FIG>.

Embodiments of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a 'non-transitory computer-readable storage medium') to perform the functions of one or more of the above-described embodiments and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiments, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiments and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiments. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD) ™), a flash memory device, a memory card, and the like.

Claim 1:
An information processing apparatus (<NUM>) provided with a communication unit (<NUM>) that can communicate with an external apparatus (<NUM>) that provides a predetermined function requiring authentication processing, the information processing apparatus comprising:
display control means (<NUM>) for controlling a screen that is displayed on a display unit (<NUM>), wherein the control means can control the display unit to display (S203) a password input screen corresponding to the predetermined function in a case of not receiving authentication information from the external apparatus (S212:NO, S214);
transmission means (<NUM>) for transmitting (S208) a request signal for requesting the external apparatus for authentication information to be used in the authentication processing, via the communication unit; and
requesting means (<NUM>) for requesting (S218) use of the predetermined function provided by the external apparatus, via the communication unit,
characterized in that
the display control means is configured to display (S210), on the display unit, a screen for prompting the user to perform a predetermined operation on the external apparatus for permitting transmission of the authentication information, in response to transmission (S208) of the request signal performed by the transmission means; and
in a case of receiving (S211, S212:YES), via the communication unit, the authentication information which is sent from the external apparatus if the predetermined operation is performed by the user on the external apparatus, the requesting means requests (S217, S218) for use of the predetermined function via the communication unit based on the received authentication information, without prior display (S203) of the password input screen corresponding to the predetermined function of the external apparatus on the display unit by the display control means, and whereby the predetermined function can be used (<NUM>) on the information processing apparatus.