Patent Description:
In a known technique, an information processing apparatus, such as a personal computer and a smart phone, performs processing for connecting a communication apparatus, such as a printer, and an external apparatus, such as an access point.

<CIT> discusses a technique in which a communication partner apparatus connects a communication apparatus and an external apparatus by transmitting AP information (including SSID) for external apparatus identification to the communication apparatus.

In recent years, there has been an increase in the use of communication apparatuses that utilize a plurality of frequency bands (for example, <NUM> and <NUM>). Such communication apparatuses, even after information about an external apparatus is received from an information processing apparatus, is unable to identify which frequency band is to be used to connect to the external apparatus. Thus, there has been a problem that processing for connecting a communication apparatus and an external apparatus may not be suitably performed by an information processing apparatus. <CIT> discloses a communication apparatus (printer) which only supports a <NUM> band and does not support a <NUM> band. <CIT> discloses a a communication system including a multi-function peripheral, MFP, a PC, and a plurality of APs. The MFP receives from the PC a profile setting in form of a SSID and sends a Probe Request signal including said SSID to an AP. Since the MFP cannot know if the wireless profile is to be used in a wireless NW operating at <NUM> or in a wireless NW at <NUM>, the MFP sends both a Probe Request signal on <NUM> and a Probe Request signal on <NUM>.

The present disclosure is directed to suitably performing processing for connecting a communication apparatus that utilizes a plurality of frequency bands and an external apparatus.

According to a first aspect of the present invention, there is provided a control method as specified in claims <NUM> to <NUM>. According to a second aspect of the present invention, there is provided a communication system as specified in claim <NUM>.

Exemplary embodiments will be described in detail below with reference to the accompanying drawings. Not all of the combinations of the features described in the present exemplary embodiment are essential to the solutions for the present disclosure.

A first exemplary embodiment will be described in detail below. An information processing apparatus and a communication apparatus included in a communication system according to the present exemplary embodiment will be described below. While, in the present exemplary embodiment, a personal computer (PC) is described as an example of an information processing apparatus, an information processing apparatus is not limited thereto. A portable terminal, smart phone, tablet terminal, personal digital assistant (PDA), digital camera, and other various types of apparatuses are applicable as an information processing apparatus. While, in the present exemplary embodiment, a printer is described as an example of a communication apparatus, a communication apparatus is not limited thereto. Various types of apparatuses that wirelessly communicate with an information processing apparatus are applicable as a communication apparatus. For example, the present exemplary embodiment is applicable to an ink-jet printer, full color laser beam printer, and monochrome printer. The present exemplary embodiment is applicable to a printer as well as a copying machine, facsimile machine, portable terminal, smart phone, PC, tablet terminal, PDA, digital camera, music playback device, and television. The present exemplary embodiment is also applicable to a multifunction peripheral including a plurality of functions including a copy function, FAX function, and print function.

The configurations of the information processing apparatus according to the present exemplary embodiment and the communication apparatus that communicates with the information processing apparatus according to the present exemplary embodiment will be described below. While the present exemplary embodiment will be described below centering on the following configuration as an example, the present exemplary embodiment is applicable to an apparatus that communicates with a communication apparatus and does not particularly limit functions as illustrated in the accompanying drawings.

Hardware configurations of a communication apparatus <NUM> and an information processing apparatus <NUM> will be described below with reference to <FIG>.

The information processing apparatus <NUM> includes an input interface (I/F) <NUM>, a central processing unit (CPU) <NUM>, a read only memory (ROM) <NUM>, a random access memory (RAM) <NUM>, an external storage device <NUM>, an output I/F <NUM>, a display unit <NUM>, a keyboard <NUM>, and a mouse <NUM>. The information processing apparatus <NUM> also includes a network interface (first communication unit) <NUM> and a universal serial bus (USB) interface (second communication unit) <NUM>.

The input I/F <NUM> is an interface for inputting data and receiving an operation instruction from a user through an operation of the mouse <NUM> and the keyboard <NUM>.

The CPU <NUM> is a system control unit and a processor for controlling the entire information processing apparatus <NUM>.

The ROM <NUM> stores fixed data including control programs to be executed by the CPU <NUM>, data tables, and built-in operating system (hereinafter referred to as an OS) programs. According to the present exemplary embodiment, each control program stored in the ROM <NUM> performs software execution control, such as scheduling, task switching, and interruption processing under control of the built-in OS stored in the ROM <NUM>.

The RAM <NUM> includes a static random access memory (SRAM) that needs a backup power source. Since data in the RAM <NUM> is retained by a primary cell for data backup (not illustrated), important data, such as program control variables, can be stored without volatilization. The RAM <NUM> also includes a memory area for storing setting information about the information processing apparatus <NUM> and management data about the information processing apparatus <NUM>. The RAM <NUM> is also used as a main memory and a work memory for the CPU <NUM>.

The external storage device <NUM> stores an application providing a printing execution function and a print job generation program providing a print job interpretable by the communication apparatus <NUM>. The external storage device <NUM> also stores various programs such as an information transmission/reception control program for transmitting and receiving data to/from the communication apparatus <NUM> connected via a network interface <NUM> and a USB interface <NUM>, and stores various information to be used by these programs. The external storage device <NUM> also stores a setup program (described below).

An output I/F <NUM> is an interface that controls the display unit <NUM> to display data and provide a notification of statuses of the information processing apparatus <NUM>.

The display unit <NUM> includes light emitting diodes (LEDs) and a liquid crystal display (LCD) and displays data and provides a notification of statuses of the information processing apparatus <NUM>. The display unit <NUM> is also provided with an operation unit including numerical input keys, a mode setting key, a determination key, a cancellation key, and a power key. The information processing apparatus <NUM> can receive an input from the user via the display unit <NUM>.

The network interface <NUM> controls wireless communication and communication processing via a wired local area network (LAN) cable. More specifically, the network interface <NUM> connects with the communication apparatus <NUM> and an external apparatus external to both the information processing apparatus <NUM> and the communication apparatus <NUM> via a wireless or wired LAN to perform data communication. For example, the network interface <NUM> connects to an access point (not illustrated) in the communication apparatus <NUM>. When the network interface <NUM> connects to an access point in the communication apparatus <NUM>, the information processing apparatus <NUM> and the communication apparatus <NUM> can communicate with each other. In addition, the network interface <NUM> can directly communicate with the communication apparatus <NUM> via wireless communication or via an external apparatus external to both the information processing apparatus <NUM> and the communication apparatus <NUM>. External apparatuses include an external access point and an apparatus that replays communication other than an access point. While, in the present exemplary embodiment, an Institute of Electrical and Electronics Engineers (IEEE) <NUM> series standard (Wireless Fidelity (Wi-Fi®)) is used, for example, Bluetooth® is also usable. Wireless communication methods include, for example, Wi-Fi® and Bluetooth®. External access points include, for example, a router apparatus. According to the present exemplary embodiment, a connection method in which the information processing apparatus <NUM> and the communication apparatus <NUM> directly connect with each other without intervention of an external access point is referred to as a direct connection method. A connection method in which the information processing apparatus <NUM> and the communication apparatus <NUM> connect with each other via an external access point is referred to as an infrastructure connection method. The information processing apparatus <NUM> can include a plurality of the network interfaces <NUM> to perform communication through a plurality of communication methods. More specifically, the information processing apparatus <NUM> can include communication interfaces based on short-range wireless communication methods such as Bluetooth® Low Energy, Near Field Communication, and WiFi Aware™. The information processing apparatus <NUM> does not necessarily need to include the network interface <NUM> for wireless communication. More specifically, the information processing apparatus <NUM> can have only the network interface <NUM> for wired communication and a USB interface <NUM> (described below) as interfaces for communicating with other apparatuses.

The USB interface <NUM> controls USB connection via a USB cable. More specifically, the USB interface <NUM> connects with the communication apparatus <NUM> and an apparatus such as an external access point via USB, and performs data communication.

The communication apparatus <NUM> includes a network I/F (communication unit) <NUM>, a RAM <NUM>, a print engine <NUM>, a ROM <NUM>, a CPU <NUM>, and a USB interface <NUM>.

The network interface <NUM> controls wireless communication and communication processing via a wired local area network (LAN) cable. More specifically, the network interface <NUM> includes an access point for connecting with an apparatus, such as the information processing apparatus <NUM>, as an access point in the communication apparatus <NUM>. The access point connects with the network interface <NUM> of the information processing apparatus <NUM>. The network interface <NUM> can directly communicate with the information processing apparatus <NUM> through wireless communication or via an external access point. More specifically, the network interface <NUM> itself can operate as an access point as well as a child station that connects to an external access point. While, in the present exemplary embodiment, the IEEE-<NUM> series standard (Wi-Fi®) is used, for example, Bluetooth® can also be utilized. The network interface <NUM> can include a hardware component that functions as an access point, and can operate as an access point by software for instructing the interface to function as an access point. The communication apparatus <NUM> can include a plurality of the network interfaces <NUM> to perform communication based on a plurality of communication methods. More specifically, the communication apparatus <NUM> can also include communication interfaces based on short-range wireless communication methods, such as Bluetooth® Low Energy, Near Field Communication, and WiFi Aware™.

The RAM <NUM> includes a SRAM that needs a backup power source. The RAM <NUM> stores data by using a primary battery for data backup (not illustrated) and can store important data including program control variables without volatilization. The RAM <NUM> also includes a memory area that stores setting information of the communication apparatus <NUM> and management data of the communication apparatus <NUM>. The RAM <NUM> is also used as a main memory and a work memory for the CPU <NUM>, and serves as a reception buffer for temporarily storing print information received from the information processing apparatus <NUM> and other various information.

The ROM <NUM> stores fixed data including control programs to be executed by the CPU <NUM>, data tables, and OS programs. According to the present exemplary embodiment, each control program stored in the ROM <NUM> performs software execution control, such as scheduling, task switching, and interruption processing under control of the built-in OS stored in the ROM <NUM>.

The CPU <NUM> is a system control unit and a processor for controlling the entire communication apparatus <NUM>.

Based on the information stored in the RAM <NUM> or a print job received from the information processing apparatus <NUM>, a print engine <NUM> performs image forming processing to apply a recording agent, such as ink, to a recording medium, such as paper, to form an image on the recording medium, and outputs the result of printing. A print job is a job instructing the communication apparatus <NUM> to perform the image forming processing.

According to the present exemplary embodiment, the communication apparatus <NUM> uses, for wireless connection, at least one or more of the <NUM> and <NUM> frequency bands based on the IEEE-<NUM> series standard. The communication apparatus <NUM> includes communication channels corresponding to available frequency bands. For example, if the <NUM> frequency band is available, the communication apparatus <NUM> includes <NUM> communication channels assigned to predetermined frequency bands out of the <NUM> frequency band. For example, if the <NUM> frequency band is available, the communication apparatus <NUM> includes <NUM> communication channels assigned to predetermined frequency bands out of the <NUM> frequency band.

While the information processing apparatus <NUM> and the communication apparatus <NUM> share processing as described above as an example, the form of processing share is not limited thereto and other forms of processing share are also applicable.

<FIG> illustrates a configuration of a communication system according to the present exemplary embodiment. The information processing apparatus <NUM> is connected to an access point <NUM> via a wired LAN or wireless LAN. The access point <NUM> is a router apparatus that relays data communication between apparatuses (e.g., between an information processing apparatus and a communication apparatus). According to the present exemplary embodiment, a router apparatus serves as an access point to relay data communication between apparatuses connected to the access point (router apparatus). Communication methods used by the router apparatus include a wireless communication method and/or wired communication method. According to the present exemplary embodiment, the router apparatus includes at least a wireless LAN router function that performs communication via a wireless communication method.

The communication apparatus <NUM> is connected to the access point <NUM> via a wireless LAN. The information processing apparatus <NUM> is in a state that it can communicate with the communication apparatus <NUM> via the access point <NUM>. A method of connection via an access point in this way is generally referred to as an infrastructure connection. When an infrastructure connection is configured, the communication apparatus <NUM> and the information processing apparatus <NUM> can communicate with apparatuses belonging to a network formed by the access point <NUM>. When the access point <NUM> is connected to the Internet, the communication apparatus <NUM> and the information processing apparatus <NUM> can also use the Internet via the access point <NUM>.

The present exemplary embodiment will be described below centering on a case where the information processing apparatus <NUM> performs setting processing (network setting processing) for establishing the infrastructure connection with the communication apparatus <NUM>, the information processing apparatus <NUM>, and the access point <NUM>. More specifically, the information processing apparatus <NUM> transmits network setting information to the communication apparatus <NUM> to connect the communication apparatus <NUM> and the access point <NUM>.

The communication apparatus <NUM> can connect to the access point <NUM> through an operation on the main body of the communication apparatus <NUM> even without receiving the network setting information from the information processing apparatus <NUM>. However, a display unit or operation unit mounted on the communication apparatus <NUM> can be small, or the communication apparatus <NUM> may not be provided with a display unit or operation unit. In such a case, it is difficult to connect the communication apparatus <NUM> and the access point <NUM> through an operation on the main body of the communication apparatus <NUM>. Therefore, according to the present exemplary embodiment, the communication apparatus <NUM> and the access point <NUM> are connected via the information processing apparatus <NUM>.

More specifically, as the network setting processing, the information processing apparatus <NUM> transmits the network setting information to the communication apparatus <NUM> via wired or wireless communication. The network setting information includes, for example, connection information (Service Set Identifier, hereinafter referred to as SSID, and password) used to connect to the access point <NUM> as a connection destination of the communication apparatus <NUM>. The connection information is transmitted from the communication apparatus <NUM> to the access point <NUM> in a case where the communication apparatus <NUM> requests the access point <NUM> for connection. The information processing apparatus <NUM> transmits such information to the communication apparatus <NUM> to wirelessly connect the communication apparatus <NUM> and the access point <NUM>.

Wireless connection refers to a connection performed by using a specific frequency band. In recent years, apparatuses acting as the communication apparatus <NUM> have used a plurality of frequency bands (e.g., <NUM> and <NUM>). It is assumed that the communication apparatus <NUM> according to the present exemplary embodiment also performs wireless connection by using a plurality of frequency bands. In a case where the communication apparatus <NUM> connects to an access point, the communication apparatus <NUM> first searches for an access point (AP search) by using the communication channel corresponding to an available frequency band. Subsequently, by using the communication channel corresponding to the available frequency band, the communication apparatus <NUM> transmits a connection request to the access point corresponding to the thus-received connection information to wirelessly connect to the access point.

The communication apparatus <NUM> performing processing in this way has the following issue. If the communication apparatus <NUM> does not know which frequency band is to be used to wirelessly connect to an access point, the apparatus is unable to connect to the access point even if the apparatus receives the above-described connection information.

In a possible configuration of the communication apparatus <NUM>, for example, if the communication apparatus <NUM> does not know which frequency band is to be used, the apparatus performs the AP search by using an available frequency band and then makes an attempt to connect to an access point. However, the communication apparatus <NUM> is generally unable to use a plurality of frequency bands at the same time. Therefore, in the above-described configuration, the communication apparatus <NUM> sequentially uses available frequency bands one by one. In this case, the communication apparatus <NUM> can make an attempt to connect to an access point by using a frequency band other than the frequency bands for connecting to an access point. More specifically, also in the above-described configuration, there is an issue that the communication apparatus <NUM> consumes time to connect to an access point or performs useless processing.

To that end, in the present exemplary embodiment, the communication apparatus <NUM> identifies which frequency band is to be used to wirelessly connect to an access point before making an attempt to connect to the access point.

<FIG> is a flowchart illustrating the network setting processing performed by the information processing apparatus <NUM> according to the first exemplary embodiment. The flowchart illustrated in <FIG> is implemented by the CPU <NUM> loading a program stored in the ROM <NUM> or the external storage device <NUM> into the RAM <NUM> and then executing the program. More specifically, the processing of the flowchart illustrated in <FIG> is implemented by a setup program that is a program for performing the network setting processing. The processing of the flowchart illustrated in <FIG> is started when a user operation (instruction for performing the network setting processing) that triggers the network setting processing is performed on a screen displayed by the setup program. The processing of the flowchart illustrated in <FIG> is started, for example, in response to activation of the setup program.

In step S301, the CPU <NUM> identifies an apparatus subjected to the network setting processing. More specifically, the CPU <NUM> acquires information about apparatuses in the vicinity of the information processing apparatus <NUM> by using an Application Program Interface (API) of the OS in the information processing apparatus <NUM>. More specifically, the CPU <NUM> acquires information about apparatuses to be searched for by the network interface <NUM> and apparatuses connected via the USB interface <NUM>. Then, using the acquired information, the CPU <NUM> displays a list of apparatuses connected to the interfaces included in the information processing apparatus <NUM> on the display unit <NUM>. Apparatuses to be searched for by the network interface <NUM> include, for example, apparatuses operating as access points and apparatuses belonging to the network to which the information processing apparatus <NUM> belongs. According to the present exemplary embodiment, when performing the network setting processing on the communication apparatus <NUM>, the user operates the main body of the communication apparatus <NUM> to instruct the communication apparatus <NUM> to operate in a predetermined mode called a setup mode. The setup mode refers to a mode in which the communication apparatus <NUM> receives the network setting processing and operates as a predetermined access point with a predetermined SSID. In a case where the communication apparatus <NUM> is operating in the setup mode, the communication apparatus <NUM> is detected in a search by the network interface <NUM> and is therefore displayed in the list. The information processing apparatus <NUM> may not include the network interface <NUM> for wireless communication, or the network interface <NUM> for wired communication may not be connected with any apparatus. In this case, only apparatuses connected via the USB interface <NUM> are displayed in the list. When the user selects the communication apparatus <NUM> in the displayed list, the CPU <NUM> identifies the communication apparatus <NUM> as an apparatus subjected to the network setting processing.

In step S302, the CPU <NUM> acquires information about whether the information processing apparatus <NUM> includes the network interface <NUM> for wireless communication by using an API of the OS in the information processing apparatus <NUM>.

In step S303, the CPU <NUM> determines whether the information processing apparatus <NUM> includes the network interface <NUM> for wireless communication based on the information acquired in step S302. If the CPU <NUM> determines that the information processing apparatus <NUM> includes the network interface <NUM> for wireless communication (YES in step S303), the processing proceeds to step S304. If the CPU <NUM> determines that the information processing apparatus <NUM> does not include the network interface <NUM> for wireless communication (NO in step S303), the processing proceeds to step S313.

In step S304, the CPU <NUM> acquires information indicating whether the information processing apparatus <NUM> is connected to the access point <NUM> by using an API of the OS in the information processing apparatus <NUM>.

In step S305, the CPU <NUM> determines whether the information processing apparatus <NUM> is wirelessly connected to the access point <NUM> based on the information acquired in step S304. If the CPU <NUM> determines that the information processing apparatus <NUM> is wirelessly connected to the access point <NUM> (YES in step S305), the processing proceeds to step S306. If the CPU <NUM> determines that the information processing apparatus <NUM> is not wirelessly connected to the access point <NUM> (NO in step S305), the processing proceeds to step S308.

In step S306, the CPU <NUM> identifies the access point <NUM> to which the information processing apparatus <NUM> is wirelessly connected as a connection destination of the communication apparatus <NUM>. Then, the CPU <NUM> makes an inquiry to the access point <NUM> to which the information processing apparatus <NUM> is wirelessly connected, and acquires setting information related to the access point <NUM>. The setting information related to the access point <NUM> includes, for example, setting information (SSID) for connecting to the access point <NUM> and information about frequency bands and encryption method currently used by the access point <NUM>. According to the present exemplary embodiment, the access point <NUM> includes communication channels corresponding to at least one or more of the <NUM> and <NUM> frequency bands, and uses the communication channels for wireless connection.

In step S307, the CPU <NUM> performs processing for generating a setting packet based on the setting information acquired in step S306. The setting packet refers to information, corresponding to the network setting information, for connecting the communication apparatus <NUM> to the access point <NUM>. In a case where the communication apparatus <NUM> is connected to the access point <NUM> to which the information processing apparatus <NUM> is wirelessly connected, infrastructure connection between the information processing apparatus <NUM> and the communication apparatus <NUM> is established. Thus, the CPU <NUM> generates a setting packet for connecting the communication apparatus <NUM> to the access point <NUM> to which the information processing apparatus <NUM> is wirelessly connected. More specifically, the setting packet includes setting information (SSID and password) for connecting to the access point <NUM> and information about the frequency bands and encryption method currently used by the access point <NUM>. The frequency bands currently used by the access point <NUM> refer to frequency bands used to wirelessly connect to the access point <NUM>. Upon completion of step S307, the processing proceeds to step S312.

In step S308, the CPU <NUM> searches for access points in the vicinity of the information processing apparatus <NUM> via the network interface <NUM> (AP search (search processing)). The AP search is performed by a known discovery process based on (in conformance with) the IEEE-<NUM> series standard. More specifically, the AP search is performed by passive scan.

In step S309, the CPU <NUM> makes an inquiry to access points detected in the search in step S308 and acquires the setting information related to the access points. Details of the setting information are as described above. The CPU <NUM> acquires the setting information related to all of access points detected in the search in step S308.

In step S310, the CPU <NUM> displays on the display unit <NUM> a list of access points detected in the search in step S308 based on the setting information acquired in step S309. More specifically, the CPU <NUM> displays an access point selection screen <NUM> as illustrated in <FIG> on the display unit <NUM>. The access point selection screen <NUM> displays SSIDs and encryption methods of the access points detected in search in step S308. This screen is not limited to the configuration illustrated in <FIG>. The screen can display, for example, information about the frequency bands used for wireless connection by the access points detected in the search in step S308. The CPU <NUM> prompts the user to select any one access point from the list and identifies the selected access point (access point <NUM>) as a connection destination of the communication apparatus <NUM>. In this case, the CPU <NUM> also displays a cancel button <NUM> for canceling the network setting processing together with the list. In a case where the user selects the cancel button <NUM>, the CPU <NUM> ends the processing. In a case where the user selects a set key <NUM>, the CPU <NUM> displays a password (passphrase) input screen <NUM> as illustrated in <FIG> on the display unit <NUM>. The user inputs a password for using the selected access point in an input area <NUM>. In a case where the cancel button <NUM> is selected, the CPU <NUM> ends the processing. In a case where the set key <NUM> is selected, the processing proceeds to step S311.

In step S311, the CPU <NUM> performs processing to generate a setting packet based on the setting information acquired from the access point selected in step S310 and the password input in step S310. Details of a setting packet are as described above.

In step S312, the CPU <NUM> wirelessly connects the setting target apparatus identified in step S301 (here, communication apparatus <NUM>) and the information processing apparatus <NUM>. In a case where another apparatus, such as the access point <NUM>, and the information processing apparatus <NUM> are wirelessly connected, the CPU <NUM> stores the setting information related to the other apparatus and then disconnects the connection between the other apparatus and the information processing apparatus <NUM>. Subsequently, the CPU <NUM> wirelessly connects the communication apparatus <NUM> and the information processing apparatus <NUM>. Upon completion of step S312, the processing proceeds to step S319.

In step S313, by using an API of the OS in the information processing apparatus <NUM>, the CPU <NUM> detects the apparatus identified in step S301 (communication apparatus <NUM>) that is connected via the USB interface <NUM> or the network interface <NUM> for wired communication. In this case, the CPU <NUM> acquires information about whether the communication apparatus <NUM> includes the network interface <NUM> for wireless communication from the communication apparatus <NUM>. If there is no apparatus connected via the USB interface <NUM> or the network interface <NUM> for wired communication, the CPU <NUM> ends the processing.

In step S314, the CPU <NUM> determines whether the communication apparatus <NUM> includes the network interface <NUM> for wireless communication based on the information acquired in step S313. If the CPU <NUM> determines that the communication apparatus <NUM> includes the network interface <NUM> for wireless communication (YES in step S314), the processing proceeds to step S315. If the CPU <NUM> determines that the communication apparatus <NUM> does not include the network interface <NUM> for wireless communication (NO in step S314), the CPU <NUM> ends the processing.

The communication apparatus <NUM> can also search for access points in the vicinity of the communication apparatus <NUM> (AP search) via the network interface <NUM> for wireless communication. Thus, in step S315, the CPU <NUM> requests the communication apparatus <NUM> for the result of the AP search by the communication apparatus <NUM>.

In step S316, the CPU <NUM> acquires the result of the AP search by the communication apparatus <NUM> (setting information about the access points detected in the AP search by the communication apparatus <NUM>) from the communication apparatus <NUM>. The communication apparatus <NUM> can perform the AP search upon receipt of the request in step S315 or at an arbitrary timing, for example, when power of the communication apparatus <NUM> is turned on.

In step S317, the CPU <NUM> displays on the display unit <NUM> a list of the access points detected by the communication apparatus <NUM> based on the setting information acquired in step S316. More specifically, the CPU <NUM> displays the access point selection screen <NUM> as illustrated in <FIG> on the display unit <NUM>. The access point selection screen <NUM> displays SSIDs and encryption methods of the access points detected by the communication apparatus <NUM>. This screen is not limited to the configuration illustrated in <FIG>. The screen can display, for example, information about the frequency bands used for wireless connection by the access points detected by the communication apparatus <NUM>. The CPU <NUM> prompts the user to select an access point from the list and then identifies the selected access point (access point <NUM>) as a connection destination of the communication apparatus <NUM>. In this case, the CPU <NUM> also displays the cancel button <NUM> for canceling the network setting processing together with the list. If the user selects the cancel button <NUM>, the CPU <NUM> ends the processing. If the user selects the set key <NUM>, the CPU <NUM> displays the password (passphrase) input screen <NUM> as illustrated in <FIG> on the display unit <NUM>. The user inputs a password for using the selected access point in an input area <NUM>. If the cancel button <NUM> is selected, the CPU <NUM> ends the processing. If the set key <NUM> is selected, the processing proceeds to step S318.

In step S318, the CPU <NUM> performs processing to generate a setting packet based on the setting information acquired from the access point selected in step S317 and the password input in step S317. Details of a setting packet are as described above. The information about the frequency bands used for wireless connection by the access point selected in step S317 may not be included in the setting packet. This is because the communication apparatus <NUM> recognizes which frequency band is used by which access point in a case where the AP search is performed.

In step S319, the CPU <NUM> transmits the generated setting packet to the communication apparatus <NUM> identified in step S301. More specifically, the CPU <NUM> transmits the setting packet by using Simple Network Management Protocol (SNMP). SNMP is a protocol for performing monitoring and control of devices (including the communication apparatus <NUM>) on the network to which the information processing apparatus <NUM> belongs. The CPU <NUM> performs communication using SNMP to enable performing information acquisition and setting on a database called Management Information Base (MIB) of the monitoring and control target device. Upon receipt of the setting packet, the communication apparatus <NUM> identifies the connection destination apparatus (access point <NUM>) and the frequency bands used for wireless connection by the connection destination apparatus (frequency bands corresponding to the information about the frequency bands included in the setting packet) based on the setting packet. The communication apparatus <NUM> then searches for an apparatus with the SSID included in the setting packet by using the identified frequency bands. More specifically, the communication apparatus <NUM> performs only the search using the identified frequency bands and does not perform the search using frequency bands other than the identified frequency bands. This search is performed by a well-known discovery process based on the IEEE-<NUM> series standard. More specifically, the communication apparatus <NUM> searches for an apparatus with the SSID included in the setting packet through an active scan using the identified frequency bands based on the setting packet. More specifically, the communication apparatus <NUM> broadcasts by sequentially using the communication channels corresponding to the frequency bands identified based on the setting packet, and waits for a response from an apparatus having the SSID included in the setting packet. The communication apparatus <NUM> receives a response to the broadcasting to detect an apparatus with the SSID included in the setting packet. Then, the communication apparatus <NUM> transmits a connection request by using the password included in the setting packet to the detected apparatus. This connects the communication apparatus <NUM> and the access point <NUM>, and thus, infrastructure connection is established between the communication apparatus <NUM> and the information processing apparatus <NUM> if the information processing apparatus <NUM> connects to the access point <NUM>.

In step S320, the CPU <NUM> restores the connection state of the information processing apparatus <NUM> to the connection state before the network setting processing. More specifically, in step S312, in a case where wireless connection is established between the communication apparatus <NUM> and the information processing apparatus <NUM> after the connection between another apparatus and the information processing apparatus <NUM> is disconnected, the CPU <NUM> reconnects the other apparatus and the information processing apparatus <NUM> by using the setting information stored at that time. If the connection state of the information processing apparatus <NUM> remains unchanged from the connection state before the network setting processing, the CPU <NUM> omits the processing in step S320.

As described above, according to the present exemplary embodiment, the CPU <NUM> identifies the frequency bands currently used by the access point <NUM> based on the acquired setting information, and then transmits a setting packet including information about the identified frequency bands to the communication apparatus <NUM>. This configuration enables the communication apparatus <NUM> to identify which frequency band to use to wirelessly connect to the access point <NUM>, thus enabling the communication apparatus <NUM> to promptly connect to the access point <NUM> by using the setting packet.

A second exemplary embodiment will be described in detail below. Specifically, according to the second exemplary embodiment, the communication apparatus <NUM> identifies the apparatus detected by the communication apparatus <NUM> as a connection destination apparatus of the communication apparatus <NUM>, in preference to the apparatus to which the information processing apparatus <NUM> is connected and apparatuses detected by the information processing apparatus <NUM>. More specifically, according to the second exemplary embodiment, in a case where access points using different frequency bands have the same SSID, the information processing apparatus <NUM> determines which access point is to be preferentially used by the communication apparatus <NUM>. According to the second exemplary embodiment, a communication system similar to the one in the first exemplary embodiment is used, and, unless otherwise noted, elements similar to those described in the first exemplary embodiment are to be assumed.

<FIG> is a flowchart illustrating the network setting processing performed by the information processing apparatus <NUM> according to the second exemplary embodiment. The flowchart illustrated in <FIG> is implemented by the CPU <NUM> loading a program stored in the ROM <NUM> or the external storage device <NUM> into the RAM <NUM> and then executing the program. More specifically, the processing of the flowchart illustrated in <FIG> is implemented by the setup program. The processing of the flowchart illustrated in <FIG> is started when a user operation that triggers the network setting processing is performed on a screen displayed by the setup program. The processing of the flowchart illustrated in <FIG> is started, for example, in response to activation of the setup program.

Steps S301 to S320 are similar to those according to the first exemplary embodiment, and redundant descriptions thereof will be omitted.

According to the present exemplary embodiment, before performing the processing in steps S301, S302, and S303, the CPU <NUM> performs processing in steps S313 and S314.

More specifically, in step S313, by using an API of the OS in the information processing apparatus <NUM>, the CPU <NUM> detects an apparatus (here, communication apparatus <NUM>) connected via the USB interface <NUM> or the network interface <NUM> for wired communication. In this case, the CPU <NUM> acquires from the communication apparatus <NUM> information about whether the communication apparatus <NUM> includes the network interface <NUM> for wireless communication. In a case where there is no apparatus connected via the USB interface <NUM> or the network interface <NUM> for wired communication, the processing proceeds to step S301.

If the CPU <NUM> determines that the communication apparatus <NUM> includes the network interface <NUM> for wireless communication (YES in step S314), the processing proceeds to step S315. If the CPU <NUM> determines that the communication apparatus <NUM> does not include the network interface <NUM> for wireless communication (NO in step S314), the processing proceeds to step S301.

If the CPU <NUM> determines that the information processing apparatus <NUM> includes the network interface <NUM> for wireless communication (YES in step S303), the processing proceeds to step S304. If the CPU <NUM> determines that the information processing apparatus <NUM> does not include the network interface <NUM> for wireless communication (NO in step S303), the CPU <NUM> ends the processing.

According to the present exemplary embodiment, the CPU <NUM> performs the processing in step S317 and then processing in step S501. In a case where access points using different frequency bands and with the same SSID are included in the list, in step S317, the CPU <NUM> displays these access points not individually, but as one access point on the access point selection screen <NUM>. The case where access points using different frequency bands and with the same SSID are included in the list is where, through a band steering function, a single wireless LAN router corresponding to a plurality of frequency bands enables access points using individually different frequency bands. While a plurality of access points using different frequency bands are enabled through the band steering function, an identical password is used to connect to each of the access points. When password input is completed in the processing in step S317, the processing proceeds to step S501.

In step S501, the CPU <NUM> identifies an access points as a connection destination of the communication apparatus <NUM>. The processing in step S501 will be described in detail below with reference to <FIG>.

<FIG> is a flowchart illustrating processing in which the information processing apparatus <NUM> identifies an access point as a connection destination of the communication apparatus <NUM>. The flowchart illustrated in <FIG> is implemented by the CPU <NUM> loading a program stored in the ROM <NUM> or the external storage device <NUM> into the RAM <NUM> and then executing the program. More specifically, the processing of the flowchart illustrated in <FIG> is implemented by the setup program. The processing of the flowchart illustrated in <FIG> is performed as the processing in step S501 illustrated in <FIG>.

In step S601, the CPU <NUM> identifies the number of access points detected by the communication apparatus <NUM> based on the setting information acquired from the communication apparatus <NUM> in step S316.

In step S602, the CPU <NUM> determines whether the SSID of the i-th access point out of the access points detected by the communication apparatus <NUM> is identical to the SSID of the access point selected by the user in step S317. The setting value i has an initial value of <NUM>, and is incremented each time the processing in step S602 is repeated. If the CPU <NUM> determines that the two SSIDs are identical (YES in step S602), the processing proceeds to step S603. In step S603, the CPU <NUM> adds the i-th access point to the same AP list. If the CPU <NUM> determines that the two SSIDs are not identical (NO in step S602), the CPU <NUM> increments i and performs the processing in step S602 again. If the incremented setting value i exceeds the number identified in step S601, the processing proceeds to step S604.

If no other access points exist that have the same SSID of the access point selected by the user, then only a single access point is added to the same AP list in this processing. If a plurality of access points from among access points detected by the communication apparatus <NUM>, that have the SSID of the access point selected by the user exist, this processing adds a plurality of access points to the same AP list.

In step S604, the CPU <NUM> automatically selects one access point from access points added to the same AP list (without a user operation). Each access point emits a beacon containing, for example, its own SSID. The communication apparatus <NUM> searches for access points in the vicinity of the communication apparatus <NUM> (performs the AP search) by searching for beacons emitted by the access points. The higher electric wave intensity of a beacon received in the AP search means that an access point emitting the beacon exists closer to the communication apparatus <NUM>. As a result, the higher electric wave intensity of a received beacon means that the communication apparatus <NUM> can communicate with the access point emitting the beacon at higher rates. In step S604, the CPU <NUM> selects the access point emitting the beacon with the highest electric wave intensity from the access points added to the same AP list. According to the present exemplary embodiment, information about the electric wave intensity of the beacon emitted by the access point is included in the setting information about the access point, and the CPU <NUM> performs the processing in step S604 with reference to this piece of information. The CPU <NUM> identifies the access point selected in this way as a connection destination of the communication apparatus <NUM>. Subsequently, the CPU <NUM> ends the processing of the flowchart illustrated in <FIG>, and the processing proceeds to step S318.

According to the present exemplary embodiment, even if a plurality of access points using different frequency bands and having the same SSID is detected by the communication apparatus <NUM>, these access points are displayed as one access point in the list. This restricts the number of access points displayed in the list, improving the visibility of the list. In a case where the user selects an access point into which a plurality of the access points is consolidated as one access point in this way, any one of the plurality of the access points using different frequency bands and having the same SSID is automatically selected based on the electric wave intensity of the beacon. More specifically, the CPU <NUM> automatically selects a frequency band of which information is to be added to the setting packet. This configuration enables improving the usability in selecting an access point as a connection destination of the communication apparatus <NUM>.

A third exemplary embodiment will be described in detail below. According to third exemplary embodiment, in a case where the information processing apparatus <NUM> does not include the network interface <NUM> for wireless communication, the user manually sets an access point as a connection destination of the communication apparatus <NUM>.

According to the third exemplary embodiment, a communication system similar to the system in the first exemplary embodiment is used, and, unless otherwise noted, elements similar to those in the first exemplary embodiment are to be assumed.

<FIG> is a flowchart illustrating the network setting processing performed by the information processing apparatus <NUM> according to the third exemplary embodiment. The flowchart illustrated in <FIG> is implemented by the CPU <NUM> loading a program stored in the ROM <NUM> or the external storage device <NUM> into the RAM <NUM> and then executing the program. More specifically, the processing of the flowchart illustrated in <FIG> is implemented by the setup program. The processing of the flowchart illustrated in <FIG> is started when a user operation that triggers the network setting processing is performed on a screen displayed by the setup program. The processing of the flowchart illustrated in <FIG> is started, for example, in response to activation of the setup program.

Steps S301 to S312, S319, and S320 are similar to those according to the first exemplary embodiment, and redundant descriptions thereof will be omitted.

If the CPU <NUM> determines that the information processing apparatus <NUM> does not include the network interface <NUM> for wireless communication (NO in step S303), the processing proceeds to step S701.

In step S701, the CPU <NUM> displays a manual setting screen on the display unit <NUM>. The manual setting screen is a screen enabling the user to input the setting information about an access point as a connection destination of the communication apparatus <NUM>. The CPU <NUM> displays a screen <NUM> illustrated in <FIG> on the display unit <NUM> as the manual setting screen. The screen <NUM> includes, for example, areas <NUM> to <NUM>. The area <NUM> is an area for inputting an SSID of the access point as a connection destination of the communication apparatus <NUM>. The area <NUM> is an area for inputting an encryption method (WEP, WPA, etc.) used for connection. The area <NUM> is an area for inputting a password (passphrase) used for connection. The area <NUM> is an area for inputting a frequency band used for connection. The area <NUM> is a set key that is pressed in a case where input is completed. The area <NUM> is a cancel button for canceling the network setting. The CPU <NUM> completes the processing in a case where the Cancel button is selected. In a case where the set key is selected in a state where input to the areas <NUM> to <NUM> is completed, the processing proceeds to step S702.

In step S702, the CPU <NUM> generates a setting packet based on the information input by the user via the manual setting screen. More specifically, the setting packet includes the information about the SSID, encryption method, password, and frequency band input by the user via the manual setting screen. Then, the processing proceeds to step S319, where the CPU <NUM> transmits the setting packet to the communication apparatus <NUM>.

The communication apparatus <NUM>, based on receipt of the setting packet, can then connect to the access point corresponding to the information input by the user. Since the setting packet includes the information about the frequency band, the communication apparatus <NUM> can identify which frequency band to use to connect to the access point corresponding to the information input by the user.

A fourth exemplary embodiment will be described in detail below. While, in the above-described exemplary embodiments, the communication apparatus <NUM> supports at least one of <NUM> and <NUM> frequency bands, the configuration is not limited thereto. More specifically, the communication apparatus <NUM> can support any frequency bands. The communication apparatus <NUM> can support three or more frequency bands.

Before steps S306 and S307, the CPU <NUM> can perform the AP search result acquisition processing in steps S315 and S316. Then, the CPU <NUM> can perform the processing in steps S306 and S307 in a case where the acquired AP search result includes information about the access point <NUM> to which the information processing apparatus <NUM> is wirelessly connected. In such a case, before steps S306 and S307, the CPU <NUM> wirelessly connects with the communication apparatus <NUM> in step S312 and performs the AP search result acquisition processing. In a case where the acquired AP search result does not include information about the access point <NUM> to which the information processing apparatus <NUM> is wirelessly connected, the CPU <NUM> can display the access point selection screen <NUM> as in step S317 without performing step S307. Then, the CPU <NUM> can identify the access point selected via the access point selection screen <NUM> as a connection destination of the communication apparatus <NUM>.

The CPU <NUM> can perform the AP search result acquisition processing in steps S315 and S316, instead of steps S308 and S309, and display information based on the setting information acquired in the AP search result acquisition processing on the access point selection screen <NUM> in step S310. Also, in such a case, before steps S308 and S309, the CPU <NUM> wirelessly connects with the communication apparatus <NUM> in step S312 and performs the AP search acquisition processing. The CPU <NUM> can generate a setting packet based on the information manually input by the user by performing steps S701 and S702, instead of steps S308 to S310.

Aspects of the present disclosure are also achieved in the following configuration. A storage medium storing a software program for implementing the functions of the above-described exemplary embodiments is supplied to a system or apparatus, and a computer (including a CPU or micro processing unit (MPU)) of the system or apparatus reads and executes the program stored in the storage medium. In such a case, the program itself read from the storage medium implements the functions of the above-described exemplary embodiments. In this case, the storage medium storing the program is included in the present disclosure.

Usable storage media for supplying a program include, for example, a flexible disk, hard disk, optical disc, magneto-optical disk, compact disc read only memory (CD-ROM), compact disc recordable (CD-R), magnetic tape, nonvolatile memory card, ROM, and digital versatile disc (DVD).

The functions of the above-described exemplary embodiments are implemented by the computer executing the read program. However, the applicable configuration is not limited thereto. A configuration in which an OS operating on the computer performs a part or all of actual processing based on instructions of the program, and the functions of the above-described exemplary embodiments are implemented by the processing is also included in the present disclosure.

A program read from a storage medium is written in a memory included in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Subsequently, a CPU included in the function expansion board or function expansion unit performs a part of all of actual processing based on instructions of the program, and the functions of the above-described exemplary embodiments are implemented by the processing. Such a configuration is also included in the present disclosure.

According to the present disclosure, processing for connecting a communication apparatus that utilizes a plurality of frequency bands and an external apparatus can easily be accomplished.

Claim 1:
A control method of a communication system, wherein the communication system includes a communication apparatus (<NUM>) capable of performing at least one by one wireless communication using a first frequency band and wireless communication using a second frequency band, and an information processing apparatus (<NUM>) that communicates with the communication apparatus (<NUM>), the control method comprising:
receiving, by the information processing apparatus (<NUM>), an execution instruction to execute processing for wirelessly connecting the communication apparatus (<NUM>) and an external apparatus (<NUM>); and
transmitting (S319), by the information processing apparatus (<NUM>), upon reception of the execution instruction, connection information and frequency band information to the communication apparatus (<NUM>), the connection information being used to wirelessly connect to an external apparatus (<NUM>),
the method being characterised in that said frequency band information is related to a frequency band which the external apparatus (<NUM>) uses for wireless connection among the first frequency band and the second frequency band that the communication apparatus (<NUM>) is capable of using;
and the method further comprises:
in a case where the connection information and the frequency band information are transmitted to the communication apparatus (<NUM>) and the frequency band corresponding to the frequency band information transmitted to the communication apparatus (<NUM>) is the first frequency band, establishing a connection by the communication apparatus (<NUM>) by using the received connection information to the external apparatus (<NUM>) found as a result of a search executed by the communication apparatus (<NUM>) by using the received connection information and the first frequency band, and,
in a case where the connection information and the frequency band information are transmitted to the communication apparatus (<NUM>) and the frequency band corresponding to the frequency band information transmitted to the communication apparatus (<NUM>) is the second frequency band, establishing a connection by the communication apparatus (<NUM>) by using the received connection information to the external apparatus (<NUM>) found as a result of a search executed by the communication apparatus (<NUM>) by using the received connection information and the second frequency band.