Communication apparatus, control method, and storage medium
The communication device optimizes detection and connection processes by supporting multiple detection methods and security-based execution, addressing inefficiencies in existing technologies to improve user convenience and connection efficiency.
Patent Information
- Application Number
- JP2024107640
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-03
- Publication Date
- 2026-01-16
AI Technical Summary
Existing communication technologies face challenges in efficiently detecting and establishing connections between wireless devices due to the mixing of multiple non-interoperable methods and procedures, particularly when different security methods are employed, leading to inefficient detection and connection processes.
A communication device that supports both Probe Request and Service Discovery frames for detection, and executes appropriate establishment procedures based on the security methods set, allowing parallel execution of detection methods to efficiently detect and connect with compatible devices.
Enhances user convenience by ensuring efficient detection and connection of wireless devices regardless of differing security methods, reducing the time required to establish communication links.
Smart Images

Figure 2026007635000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to techniques for establishing communication links between multiple stations in a wireless communication system. [Background technology]
[0002] In recent years, the increase in the amount of data being transmitted has led to the development of communication technologies such as wireless local area networks (WLANs). The IEEE (Institute of Electrical and Electronic Engineers) 802.11 standard series is known as the main communication standard for WLANs. The IEEE 802.11 standard series includes IEEE 802.11a / b / g / n / ac / ax standards. For example, the latest standard, IEEE 802.11ax, uses Orthogonal Frequency Division Multiple Access (OFDMA) to achieve a high peak throughput of up to 9.6 gigabits per second (Gbps) and improve communication speeds under congested conditions. OFDMA is an abbreviation for Orthogonal Frequency-Division Multiple Access.
[0003] Meanwhile, the Wi-Fi Alliance has formulated a program for authenticating wireless LAN devices. For example, the WFD standard has been formulated, which defines a procedure for establishing a communication link between wireless LAN stations (STAs) by exchanging communication parameters between STAs without going through an access point (AP). WFD is an abbreviation for Wi-Fi Direct. As a new function of the WFD standard, the use of Service Discovery Frame (SDF), which is adopted in the Wi-Fi Aware standard, is being considered in order to shorten the time from discovery of a potential communication partner STA to connection. For example, Patent Document 1 describes detecting a communication terminal using the provisions of the Wi-Fi Aware standard. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2019-201427 Summary of the Invention [Problem to be solved by the invention]
[0005] The present invention provides a technique for improving user convenience when a plurality of methods and procedures are mixed in the method of detecting a counterpart STA between STAs or the procedure of establishing a connection with the counterpart STA. [Means for solving the problem]
[0006] A communication device according to one embodiment of the present invention is a communication device that executes a wireless communication method that complies with the Wi-Fi Direct standard, and has: a detection means that is capable of detecting the presence of other communication devices using a first detection method that uses a Probe Request frame and a second detection method that uses a Service Discovery frame; and an establishment means that establishes a connection with the other communication device detected by the detection means using either a first establishment procedure associated with the first detection method or a second establishment procedure associated with the second detection method as an establishment procedure for establishing a connection with the other communication device; and when the first establishment procedure corresponds to a first security method and the second establishment procedure corresponds to a second security method as a security method to be used for communication, the detection means executes the first detection method based on the fact that the first security method is set in the communication device, and executes the second detection method based on the fact that the second security method is set. [Effects of the Invention]
[0007] According to the present invention, it is possible to improve user convenience when a plurality of methods and procedures are mixed in the method of detecting a counterpart STA between STAs or the procedure of establishing a connection with the counterpart STA. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of a wireless communication system. [Figure 2] FIG. 10 is a diagram illustrating an example of a sequence between communication devices in a first detection method. [Figure 3] FIG. 10 is a diagram illustrating an example of a sequence between communication devices in a second detection method. [Figure 4] FIG. 10 is a diagram illustrating an example of a first establishment procedure between communication devices. [Figure 5] FIG. 10 is a diagram illustrating an example of a second establishment procedure between communication devices. [Figure 6] FIG. 2 illustrates an example of a hardware configuration of a communication device. [Figure 7] FIG. 2 illustrates an example of a functional configuration of a communication device. [Figure 8] FIG. 10 is a diagram illustrating an example of a sequence between communication devices when a first detection method and a second detection method are used in parallel. [Figure 9] FIG. 10 is a diagram illustrating an example of a sequence between communication devices when only the second detection method is used. [Figure 10] FIG. 10 is a diagram illustrating an example of a processing flow executed by a communication device. [Figure 11] FIG. 10 is a diagram illustrating an example of an establishment procedure between communication devices. [Figure 12] FIG. 10 is a diagram illustrating an example of an SDF frame format. [Figure 13] FIG. 10 is a diagram illustrating an example of the configuration of a user interface for security settings. [Figure 14] FIG. 10 is a diagram illustrating an example of the configuration of a user interface for security settings. [Figure 15] FIG. 10 is a diagram illustrating an example of the configuration of a user interface for security settings. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.
[0010] (System Configuration) FIG. 1 shows an example of the configuration of a wireless communication system according to this embodiment. The wireless communication system may include two or more communication devices. For example, the wireless communication system may include a communication device 101 and a communication device 102. In this embodiment, the communication device 101 and the communication device 102 may be referred to as the communication device 100 without distinction. The communication device 100 is a communication device capable of performing wireless communication in accordance with the IEEE 802.11 series of standards. For example, the communication device 100 may have the functionality of a station (STA) in accordance with the IEEE 802.11 series of standards. The communication device 100 may also have the functionality of an access point (AP) in accordance with the IEEE 802.11 series of standards. IEEE stands for Institute of Electrical and Electronics Engineers. The communication device 101 and the communication device 102 are connected via a wireless link 121. A network 131 formed by the communication device 101 and the communication device 102 indicates the range in which the communication device 101 and the communication device 102 can communicate. That is, within the range of the network 131, the communication device 102 can receive a signal transmitted by the communication device 101, and the communication device 101 can receive a signal transmitted by the communication device 102. Although the network 131 in Fig. 1 shows a configuration in which two communication devices 100 are present, three or more communication devices 100 may be present. In this case, the communication devices 100 may be connected to each other, or one communication device 100 may be connected to multiple other communication devices 100.
[0011] In this embodiment, the communication device 100 may be configured to be able to execute a communication method conforming to the IEEE 802.11 series of standards. For example, the communication device 100 may be configured to be able to execute a communication method conforming to the IEEE 802.11bn standard. The IEEE 802.11bn standard is a successor to the IEEE 802.11be standard, which targets a maximum transmission speed of 46.08 Gbps (Giga bit per second). The main features of the IEEE 802.11bn standard are its functions of realizing highly reliable communication, low latency communication, and improved throughput when communication traffic is congested. The IEEE 802.11bn standard may also be referred to as the UHR standard. UHR is an abbreviation for Ultra High Reliability. The communication device 100 may execute a communication method conforming to a successor standard to the IEEE 802.11bn standard. The communication device 100 may also be compatible with at least one of legacy standards that predate the IEEE 802.11bn standard. Examples of legacy standards include the IEEE 802.11a / b / g / n / ac / ax / be standards. The communication device 100 may be compatible with a legacy standard but not the IEEE 802.11bn standard. The communication device 100 may also be compatible with other communication standards, such as Bluetooth (registered trademark), NFC, UWB, ZigBee, and MBOA. UWB stands for Ultra Wide Band, and MBOA stands for Multi Band OFDM Alliance. NFC stands for Near Field Communication. UWB includes wireless USB, wireless 1394, WiNET, and the like. The communication device 100 may also be compatible with communication standards such as wired LAN. The communication device 100 is, for example, but not limited to, a camera, a tablet, a smartphone, a PC, a mobile phone, a video camera, a headset, a printer, a display, etc. The communication device 100 may be an information processing device such as a wireless chip capable of performing wireless communication in accordance with the IEEE802.11bn standard or the like.
[0012] The communication device 100 may communicate using radio signals in frequency bands such as the 2.4 GHz band, the 3.6 GHz band, the 5 GHz band, the 6 GHz band, and the 45 GHz band and 60 GHz band, which are known as millimeter waves. The frequency bands used by the communication device 100 are not limited to these bands and may include, for example, the sub-1 GHz band. The communication device 100 may also communicate using bandwidths of 20 MHz, 40 MHz, 80 MHz, 160 MHz, 320 MHz, 540 MHz, 640 MHz, 1080 MHz, and 2160 MHz. The bandwidths used by the communication device 100 are not limited to these bands and may include, for example, 240 MHz and 4 MHz. The IEEE 802.11 series of standards specifies a frequency channel using a 20 MHz bandwidth as the basic channel in frequency bands such as the 2.4 GHz, 5 GHz, and 6 GHz bands. The standards also define multiple available channels in each of the 2.4 GHz, 5 GHz, and 6 GHz bands. For example, 2.4 GHz defines three non-overlapping frequency channels, 1ch, 6ch, and 11ch. This standard also allows a specific channel to be used in combination with adjacent channels. In this embodiment, using a specific channel in combination with adjacent channels is sometimes referred to as channel bonding. A channel bundle formed by one or two or more adjacent channels is sometimes referred to as a communication link. For example, one link formed by two channels with a bandwidth of 20 MHz uses a bandwidth of 40 MHz. A communication method in which multiple links are established and used in parallel between communication devices may be called multi-link communication. The communication device 100 may be a multi-link device (MLD) that supports multi-link. In FIG. 1, it is assumed that one wireless link (link 121) is established between the communication devices.
[0013] The communication device 100 may have a function for establishing a communication link in accordance with the Wi-Fi Direct (WFD) standard. The WFD standard defines a procedure for establishing a communication link between multiple STAs without an AP. In other words, a communication device 100 implementing the WFD standard may be an STA. For example, two or more communication devices 100 may detect each other's presence according to a detection procedure defined in the WFD standard and establish a connection with the detected communication device. For example, the communication device 100 may detect the presence of another communication device using a first detection method that uses a probe request frame and a probe response frame. The procedure for detecting another communication device using the first detection method and establishing a communication link with the detected communication device may be referred to as WFD R1. WFD R1 may be an abbreviation for Wi-Fi Direct Release 1. The communication device 100 may also detect the presence of another communication device using a second detection method that uses a service discovery frame (SDF). The procedure of discovering other communication devices using the second discovery method and establishing a communication link with the discovered communication devices may be referred to as WFD R2, which may be an abbreviation for Wi-Fi Direct Release 2.
[0014] FIG. 2 shows an example of a sequence executed between communication devices 100 in the first detection method. In this example, processing can be started in each communication device 100 based on input from a user, an application, or the like (F201, F202). When the communication device 101 receives an instruction from a user or the like to detect other communication devices, it attempts to detect other communication devices by repeatedly switching between a Listen state and a Search state. In the Listen state, the communication device 101 waits for a Probe Request frame on a specific frequency channel. In this case, when the communication device 101 receives a Probe Request frame, it responds with a Probe Response frame. Meanwhile, in the Search state, the communication device 101 transmits a Probe Request frame and waits for a Probe Response frame while switching frequency channels among one or more predetermined frequency channels. For example, in the Listen state, the communication device 101 selects channel 1 at 2.4 GHz and waits for a Probe Request frame from other communication devices. The duration of the Listen state can be, for example, N times a predetermined period designated as a unit period TU. That is, the period during which the communication device 101 performs the operation in the Listen state can be expressed as N×TU. TU is an abbreviation for Time Unit. TU can be, for example, 100 milliseconds. N can be an integer equal to or greater than 1 determined by a random number. N can be a value determined in advance by settings or the like, and can be a different value for each frequency channel. When the communication device 101 transitions from the Listen state to the Search state, it transmits a Probe Request frame while switching frequency channels and waits for a Probe Response frame (F203, F204, F206). The communication device 101 can transition from the Search state to the Listen state again. When the communication device 101 transitions from the Search state to the Listen state again, it can perform a detection operation using a channel that is the same as or different from the channel selected in the previous Listen state.2 shows an example in which the communication device 101 first executes the Listen state, but the communication device 101 may execute the Search state first. Furthermore, before executing operations in these states, the communication device 101 may execute a scan operation on each channel available to the device itself to detect other communication devices that have already started operating. In the scan operation, a frequency channel other than the frequency channel selected by the communication device 101 for the detection operation in the Listen state or Search state may be selected.
[0015] On the other hand, when the communication device 102 receives an instruction from a user or the like to detect other communication devices, it attempts to detect other communication devices by repeatedly switching between a Listen state and a Search state, similar to the communication device 101. For example, in the Listen state, the communication device 102 selects channel 6 in the 2.4 GHz band and waits for a Probe Request frame from another communication device. In FIG. 2, while the communication device 102 is waiting on channel 6 in the Listen state, the communication device 101 transitions to the Search state and transmits a Probe Request frame on channel 6. In response to receiving this Probe Request frame, the communication device 102 transmits a Probe Response frame (F205). The communication device 102 can detect the communication device 101 by receiving the Probe Request frame. Furthermore, the communication device 102 can be detected by the communication device 101 by receiving the Probe Response frame. The communication device 101 and the communication device 102 may report to a user or the like that they have detected the communication device 102 and the communication device 101, respectively. In this way, in the detection operation using the first detection method, the communication device 100 may detect other communication devices using a Probe Request frame or a Probe Response frame while repeatedly transitioning between the Listen state and the Search state.
[0016] FIG. 3 illustrates an example of a sequence executed between communication devices 100 in the second detection method. In this example, each communication device 100 detects other communication devices by performing processing based on whether the device itself is a service-providing communication device or a service-requesting communication device. A service-providing communication device may be referred to as a publisher, listener, advertiser, etc. A service-requesting communication device may be referred to as a subscriber, searcher, seeker, etc. For example, a service-requesting communication device may transmit frames to detect other communication devices. A service-providing communication device may receive and respond to frames transmitted by other communication devices. The role assigned to each communication device 100 may be determined by a higher layer (such as a service layer). FIG. 3 illustrates an example in which communication device 101 operates as a service-requesting communication device and communication device 102 operates as a service-providing communication device. For example, communication device 101 intermittently performs a detection operation and transmits frames to detect other communication devices. Rectangles in FIG. 3 indicate detection periods during which each communication device 100 performs a detection operation. For example, the communication device 101 transmits an SDF on channel 6 in the 2.4 GHz band (F301). SDF may be an abbreviation for Service Discovery frame. An SDF transmitted from a service requesting communication device may be called a Search frame or a Subscribe frame. The communication device 101 may transmit multiple SDFs in one detection period (F301, F302). The detection period may be defined as N×TU, similar to the period of the Listen state in the first detection method. During the first detection period, the communication device 102 is not performing a detection operation at the timing (F301, F302) when the SDF is transmitted by the communication device 101, and therefore the communication device 101 does not receive a response from the communication device 102. Therefore, the communication device 101 does not detect the communication device 102. During the subsequent detection periods for the communication device 102, the communication device 101 is not in a detection period, and therefore the communication device 101 does not transmit an SDF. Therefore, the communication device 102 does not detect the communication device 101.Thereafter, when the communication device 101 transmits an SDF in F303, the communication device 102 receives this SDF. Then, the communication device 102 transmits an SDF in response to the received SDF. The SDF transmitted from the service providing side may be called a Publish frame or a Follow up frame. Then, a predetermined message exchange using the SDF is executed (F305), and detection of the communication device 102 by the communication device 101 is completed. The communication device 101 detects the communication device 102 by receiving the SDF transmitted by the communication device 102. Furthermore, the communication device 101 may detect the communication device 101 by receiving the SDF transmitted by the communication device 101. The communication devices 101 and 102 may report to a user or the like that they have detected the communication device 102 and the communication device 101, respectively. Note that the communication device 102, which is a communication device on the service providing side, may transmit the Publish SDF in response to receiving a Subscribe SDF from the communication device 101, or may transmit the Publish SDF spontaneously. For example, the communication device 102 may periodically transmit a Publish SDF. In this way, in the detection procedure using the second detection method, the communication device 100 may detect other communication devices by performing processes according to the respective roles of the service provider and the service requester.
[0017] The communication device 100 may execute an establishment procedure defined in the WFD standard following the detection procedure to establish a wireless communication link between the communication devices. In the establishment procedure defined in the WFD standard, communication parameters used for communication are shared between the communication devices. For example, in WFD R1, which establishes a communication link with a communication device detected using a first detection method, a first establishment procedure including WPS and GO Negotiation processing may be executed. WPS is an abbreviation for Wi-Fi Protected Setup. FIG. 4 shows an example of the first establishment procedure. The procedure in FIG. 4 includes a detection operation using the first detection method, in which the communication device 101 transmits a Probe Request frame (F401) and the communication device 102 receives a Probe Response frame (F402). When the communication device 101 and the communication device 102 detect each other's communication device, they execute a GO Negotiation processing (F403). In the GO Negotiation processing, it is determined which communication device will assume the role of Group Owner (GO) and which will assume the role of Client (CL). In addition, the GO negotiation process determines the frequency channel on which the GO operates. The GO performs functions equivalent to an AP, for example, periodically transmitting Beacon frames. For example, the communication device 101 can temporarily operate as an AP. The communication devices 101 and 102 also perform WPS processing to share communication parameters used for communication (F404). Note that the communication device operating as the GO may broadcast a Beacon to notify the communication device operating as the CL of the communication parameters. Then, based on their respective roles determined in the GO negotiation process, the communication devices 101 and 102 establish a link and communicate using the communication parameters shared in the WPS process. For example, the GO communication device starts transmitting a Beacon frame (F405). The CL communication device transmits a frame requesting a connection, such as a Probe Request frame, an Authentication frame, or an Association Request frame (F406, F408, F410).On the other hand, the GO communication device transmits a Probe Response frame, an Authentication frame, and an Association Response frame in response to these frames (F407, F409, F411). These frames may include a Multi-Link element for performing Multi-Link communication. The Multi-Link element may include communication parameters used for Multi-Link communication defined in the IEEE 802.11be standard. This enables multiple links to be established between communication devices in a single connection procedure. For example, a Probe Request frame and a Probe Response frame including a Multi-Link element may be referred to as an ML Probe Request frame and an ML Probe Response frame, respectively. For example, assume that communication device 101 is the GO and communication device 102 is the CL. The GO communication device 101 may provide communication parameters to communication device 102 and establish network 131. On the other hand, the CL communication device 102 may receive communication parameters from communication device 101 and join network 131. In this way, when a communication link between the communication device 101 and the communication device 102 is established, data communication can be performed between the communication device 101 and the communication device 102. Note that the communication device 101 and the communication device 102 can perform a 4-Way Hand Shake (4WHS) process before performing data communication.
[0018] On the other hand, in WFD R2, which establishes a communication link with a communication device detected using the second detection method, a second establishment procedure including a bootstrapping process and a GO negotiation process can be executed. Fig. 5 shows an example of the second establishment procedure. The procedure in Fig. 5 can be executed after a detection operation using the second detection method in which the communication device 101 and the communication device 102 transmit and receive an SDF. In Fig. 5, the same steps as those in Fig. 4 are given the same reference numerals, and descriptions thereof will be omitted. When the communication device 101 and the communication device 102 detect each other's communication device through the detection operation, they execute a bootstrapping process.
[0019] In the bootstrap process, a method for exchanging communication parameters is determined between the communication devices, and the communication parameters are exchanged using the determined method. For example, when exchanging communication parameters using a QR code, one communication device may display a QR code indicating information that can identify the communication parameters, and the other communication device may read the QR code to identify the communication parameters. In this case, the communication parameter exchange method may be determined by one communication device indicating to the other communication device that it can display QR codes and the other communication device indicating to the other communication device that it can read QR codes. The presentation of the communication parameter exchange method may include information such as whether a QR code can be displayed or read, whether an NFC tag or reader is supported, and whether a communication parameter exchange can be triggered by pressing a button. The presentation of the communication parameter exchange method may also include information such as whether a passphrase can be displayed or input as a character string, whether a passphrase can be displayed or input as a numeric value, and whether a PIN code or a passcode can be displayed or input. Furthermore, in presenting the exchange method for exchanging communication parameters, the availability of a method for exchanging PASN parameters required to use the PASN specified in the WFD standard may be presented. PASN is an abbreviation for Preassociation Security Negotiation. The PASN parameters may include, for example, the public keys of each communication device. The method for exchanging PASN parameters may include, for example, an exchange method using Bluetooth. Note that the method for exchanging PASN parameters may or may not be specified in the WFD standard. In other words, a method not specified in the WFD standard may be used as the method for exchanging PASN parameters. Note that in presenting the exchange method for exchanging communication parameters, the availability of a method for exchanging communication parameters other than the above may be presented. For example, communication parameters may be exchanged by configuring a temporary network including an AP and connecting the communication device to the network.In this case, it may be decided to exchange communication parameters between the communication devices using a temporary network including the AP.
[0020] Communication parameters exchanged between communication devices may include parameters used in wireless communication, such as an SSID (Service Set Identifier), encryption method, encryption key, authentication method, AKM, BSSID, and MAC address. AKM is an abbreviation for Authentication and Key Management. AKM indicates an authentication protocol and key exchange algorithm used in wireless communication. For example, if the AKM is "SAE," the communication parameters may include a password for connecting to an AP or GO compatible with WPA (Wi-Fi Protected Access) 3. If the AKM is "psk," the communication parameters may include a PSK (Pre Shared Key) / passphrase for connecting to an AP or GO compatible with WPA2. If the AKM is "1X," the communication parameters may include an ID, password, public key, etc. for connecting to an AP compatible with WPA-Enterprise. The password and PSK / passphrase are encryption keys used for authentication and key exchange based on WPA or IEEE 802.11.
[0021] The communication device 101 transmits a Bootstrapping Request frame (F501). The Bootstrapping Request frame may indicate a communication parameter exchange method that the communication device 101 can use. For example, if the communication device 101 supports displaying and reading QR codes, the communication device 101 may indicate that it can perform these functions. The communication device 102 responds with a Bootstrapping Response frame (F502). The Bootstrapping Response frame may indicate a communication parameter exchange method that the communication device 102 can use. For example, if the communication device 102 supports displaying QR codes and NFC tags, the communication device 102 may indicate that it can perform these functions. Note that the communication device 102 may respond based on the communication parameter exchange method notified by the communication device 101. For example, if the communication device 101 supports displaying and reading QR codes and supports displaying QR codes and NFC tags, the communication device 102 may indicate that it will display a QR code and that the communication device 101 will read the QR code. In this way, the communication parameter exchange method can be determined by exchanging these frames. The communication device 101 and the communication device 102 share communication parameters using the determined communication parameter exchange method (F503). For example, the communication device 102 may display a QR code containing information that can identify the communication parameters, and the communication device 101 may read the QR code to exchange communication parameters. The communication device 101 and the communication device 102 may also perform a GO negotiation process to determine their respective roles and the channel on which the GO operates (F504). Note that the communication device 101 and the communication device 102 may mutually authenticate each other during the GO negotiation process. For example, the communication device 101 and the communication device 102 may execute PASN using the PASN parameters exchanged during the bootstrap processing. In this case, if the mutual authentication using the PASN is successful, subsequent processing may be executed, and if the authentication is unsuccessful, subsequent processing may be aborted.Then, similar to the first establishment procedure, the communication device 101 and the communication device 102 establish a connection and communicate using the communication parameters shared by the bootstrapping process based on their respective roles determined by the GO Negotiation process.
[0022] As described above, the communication device 100 can detect other communication devices according to the WFD standard, establish a wireless communication link, and communicate with each other. Here, if the WFD standard specifies multiple non-interoperable methods or procedures, a communication device that can execute only some of the methods or procedures may be unable to detect or communicate with other communication devices. For example, if the communication device 101 can execute only WFD R2 and the communication device 102 can execute only WFD R1, the communication device 101 may not be able to detect the presence of the communication device 102. That is, when the communication device 101 transmits a Service Discovery frame, if the communication device 102 does not support WFD R2, it will not respond to the frame, and the communication device 101 will not be able to detect the communication device 102. Also, when the communication device 102 transmits a Probe Request frame, if the communication device 101 does not respond to the frame, the communication device 102 will not be able to detect the communication device 101. As such, due to differences in the detection methods specified in the WFD standards supported by each communication device 100, each communication device 100 may not be able to detect the other communication device.
[0023] In contrast, a communication device 100 that supports both WFD R1 and WFD R2 can detect both a communication device that supports WFD R1 and a communication device that supports WFD R2 by executing the first detection method and the second detection method in parallel. In this case, the communication device 100 that supports both WFD R1 and WFD R2 can be detected by both a communication device that supports WFD R1 and a communication device that supports WFD R2. Therefore, with this configuration, even if the WFD standard specifies different methods or procedures that do not interoperate, communication devices that use these methods or procedures can easily mutually detect each other's communication device.
[0024] However, when the communication device 100 executes the first detection method and the second detection method in parallel, it may be unable to communicate with some of the detected communication devices. For example, if the security methods used for communication between the communication device 101 and the communication device 102 are different, the communication device 101 cannot communicate with the communication device 102. For example, if the security method used for communication by the communication device 101 is WPA3 and the security method used for communication by the communication device 102 is WPA2, the communication devices 101 and 102 cannot communicate with each other. WPA is an abbreviation for Wi-Fi Protected Access. Furthermore, WPS used in WFD R1 supports WPA2 but does not support WPA3. Therefore, for example, when the communication device 102 that supports WPA2 attempts to establish a connection with the communication device 101 that supports WPA3 using the first establishment procedure, the connection cannot be established because the communication device 101 does not support WPS. In this way, if the detected communication devices include a communication device that does not support the subsequent connection establishment procedure or the communication method after connection, the processing until communication device 100 is able to communicate with other communication devices may become inefficient. For example, communication device 101 may attempt a connection establishment procedure with communication device 102, and after that fails, may attempt a connection establishment procedure with another communication device. This may result in a long time being required for communication device 101 to establish a connection with the communication device to which it should originally connect.
[0025] In consideration of these circumstances, the communication device of this embodiment performs a detection operation based on the security method set in the communication device itself when the first establishment procedure corresponds to a first security method and the second establishment procedure corresponds to a second security method. For example, the communication device 100 performs a first detection method based on the first security method being set in the communication device itself, and performs a second detection method based on the second security method being set in the communication device itself. The communication device 100 can detect the presence of other communication devices using a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame. Furthermore, the communication device 100 can establish a connection with a detected other communication device using either a first establishment procedure associated with the first detection method or a second establishment procedure associated with the second detection method as an establishment procedure for establishing a connection with the other communication device. With this configuration, the communication device 100 can perform the first detection method and the second detection method based on the security method set in the communication device itself. As a result, communication device 100 will no longer perform detection operations using frequency channels or methods that detect communication devices that cannot establish a connection or communicate with itself, making it possible to efficiently detect other communication devices.
[0026] For example, when one or more security schemes configured in the communication device 100 include a second security scheme but not a first security scheme, the communication device 100 may execute the second detection method but not the first detection method. Furthermore, when one or more security schemes configured in the communication device 100 include a first security scheme and a second security scheme, the communication device 100 may execute the first detection method and the second detection method in parallel. For example, when the first security scheme is WPA2 and the second security scheme is WPA3, the communication device 100 may perform detection operations only on channel 6 in the 2.4 GHz band using SDF if only WPA3 is configured. This avoids performing detection operations on other frequency channels where a communication device 100 that only supports WPA2 may be detected, thereby enabling efficient detection operations. On the other hand, when WPA2 and WPA3 are configured, the communication device 100 may perform detection operations on channels 1, 6, and 11 in the 2.4 GHz band using a Probe Request frame. Furthermore, the communication device 100 can perform detection operations using SDF on channel 6 in the 2.4 GHz band. This enables the communication device 100 to comply with the Wi-Fi Direct standard and to detect a wide range of communication devices that can communicate with the communication device 100. The device configuration, functional configuration, and processing flow of the communication device 100 of this embodiment will be described below.
[0027] (Device configuration) 6 shows an example of the hardware configuration of the communication device 100 of this embodiment. As an example of the hardware configuration, the communication device 100 has, for example, a storage unit 601, a control unit 602, a function unit 603, an input unit 604, an output unit 605, a communication unit 606, and an antenna 607. The communication device 100 may have multiple antennas.
[0028] The storage unit 601 is configured with one or more memories including ROM, RAM, etc., and may store various information such as control programs for each functional unit constituting the communication device 100 to perform various operations, and parameters for communication. ROM and RAM are abbreviations for Read Only Memory and Random Access Memory, respectively. The storage unit 601 may be configured to include, in addition to memories such as ROM and RAM, storage media such as a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, and a DVD. The storage unit 601 may also include multiple memories. The storage unit 601 may store setting information input by a user to the device itself, information regarding the status of the device itself, such as the remaining battery charge of the device itself, and whether or not power saving operation is being performed.
[0029] The control unit 602 is configured with one or more processors including, for example, a CPU, an MPU, etc., and controls the entire communication device 100 by executing a control program stored in the storage unit 601. The control unit 602 may control the entire communication device 100 in cooperation with the control program stored in the storage unit 601 and an OS (Operating System). The CPU and MPU are abbreviations for Central Processing Unit and Micro Processing Unit, respectively. When the control unit 602 has multiple processors that can be implemented using a multi-core or the like, the entire communication device 100 may be configured to be controlled by the multiple processors.
[0030] Furthermore, the control unit 602 controls the functional unit 603 to perform predetermined processes such as wireless communication, image capture, printing, and projection. The functional unit 603 is hardware that enables the communication device 100 to perform the predetermined processes described above. For example, if the device is a camera, the functional unit 603 is an image capture unit that performs image capture processing. Also, for example, if the device is a printer, the functional unit 603 is a print unit that performs print processing. Also, for example, if the device is a projector, the functional unit 603 is a projection unit that performs projection processing.
[0031] The input unit 604 receives various operations from the user. The output unit 605 outputs various types of information to the user via a monitor screen or a speaker. For example, the input unit 604 may receive an input from the user for executing the first detection method and the second detection method in parallel. Here, the output by the output unit 605 may be a display on a monitor screen, an audio output by a speaker, a vibration output, or the like. Note that the input unit 604 and the output unit 605 may both be implemented by a single module, such as a touch panel. Furthermore, the input unit 604 and the output unit 605 may be devices integrated with the communication device 100, or may be separate devices.
[0032] The communication unit 606 controls wireless communication compliant with the IEEE 802.11bn standard. The communication unit 606 may also control wireless communication compliant with other IEEE 802.11 series standards, such as legacy standards, in addition to the IEEE 802.11bn standard, and wired communication, such as a wired LAN. The communication unit 606 controls the antenna 607 to transmit and receive signals for wireless communication generated by the control unit 602. The communication unit 606 may be configured with multiple communication circuits corresponding to multiple links. The communication unit 606 may be a so-called wireless chip and may itself include one or more processors and memories. If the communication device 100 supports other wireless communication standards, such as the NFC standard or the Bluetooth standard, or wired communication, such as a wired LAN, in addition to the IEEE 802.11bn standard, the communication unit 606 may control communication compliant with these communication standards. If the communication device 100 can perform wireless communication compliant with multiple communication standards, the communication device 100 may be configured to have separate communication units and antennas corresponding to each communication standard. Communication device 100 communicates data such as image data, document data, and video data with a communication device of a partner via communication unit 606. Antenna 607 may be configured as a separate unit from communication unit 606, or may be configured together with communication unit 606 as a single module.
[0033] Antenna 607 is an antenna capable of communication in, for example, the 2.4 GHz band, the 5 GHz band, the 6 GHz band, millimeter waves, etc. Although Fig. 6 shows a configuration in which communication device 100 has two antennas 607, communication device 100 may have one or three or more antennas, or may have one or more antennas for each frequency band that the device can use. Furthermore, if communication device 100 has multiple antennas, communication device 100 may have a communication unit 606 for each antenna.
[0034] (Functional configuration) The functional configuration of the communication device 100 according to this embodiment will be described. FIG. 7 shows an example of a block diagram of the communication device 100. The communication device 100 may include a WFD R1 control unit 701, a WFD R2 control unit 702, a frame control unit 703, a channel control unit 704, a communication control unit 705, a device detection unit 706, and a connection establishment unit 707. The WFD R1 control unit 701 performs a detection operation using a first detection method and establishes a connection with a partner communication device using a first establishment procedure. For example, the WFD R1 control unit 701 may perform a detection operation using a Probe Request frame or a Probe Response frame. The WFD R1 control unit 701 may also perform connection establishment using a WPS process or a GO Negotiation process. The WFD R2 control unit 702 performs a detection operation using a second detection method and establishes a connection with a partner communication device using a second establishment procedure. For example, the WFD R2 control unit 702 may perform a detection operation using an SDF. Furthermore, the WFD R2 control unit 702 can execute connection establishment using a bootstrap process or a GO negotiation process.
[0035] The frame control unit 703 generates frames to be used in other functional units. The frame control unit 703 also analyzes received frames. For example, the frame control unit 703 may determine whether to process the frame in accordance with the WFD R1 specifications or the WFD R2 specifications. The channel control unit 704 performs a detection operation to detect other communication devices and sets a frequency channel for communication with the detected communication devices. For example, the channel control unit 704 may set a frequency channel for performing the detection operation based on instructions from a user or the like. The communication control unit 705 transmits the frames generated by the frame control unit using the communication unit 606. The communication control unit 705 also notifies the frame control unit 703 of frames received by the communication unit 606.
[0036] The device detection unit 706 detects other communication devices using the WFD R1 control unit 701 and the WFD R2 control unit 702. For example, the device detection unit 706 may perform a detection operation using the WFD R1 control unit 701 based on the fact that a first security scheme is set as the security scheme of the device itself. For example, the device detection unit 706 may perform a detection operation using the WFD R2 control unit 702 based on the fact that a second security scheme is set as the security scheme of the device itself. The device detection unit 706 may perform a detection operation using a Beacon frame received by the communication unit 606. For example, if the first security scheme is set in the device itself, the device detection unit 706 may detect other communication devices based on the reception of a Beacon frame. Furthermore, if the second security scheme is set in the device itself, the device detection unit 706 may detect other communication devices based on the reception of a Beacon frame including information indicating that the other communication devices support the second establishment procedure.
[0037] The connection establishment unit 707 establishes a connection with a communication device detected by the device detection unit 706. For example, the connection establishment unit 707 may establish a connection with another communication device using the WFD R1 control unit 701 based on the fact that the security method set in the own device is a first security method. Furthermore, the connection establishment unit 707 may establish a connection with another communication device using the WFD R2 control unit 702 based on the fact that the security method set in the own device is a second security method. Furthermore, the connection establishment unit 707 may establish a connection with another communication device using the WFD R1 control unit 701 based on the fact that another communication phase has been detected by the first detection method. Furthermore, the connection establishment unit 707 may establish a connection with another communication device using the WFD R2 control unit 702 based on the fact that another communication phase has been detected by the second detection method. The connection establishment unit 707 may perform authentication processing, association processing, 4-Way Hand Shake (4WHS) processing, etc.
[0038] (Processing flow) The flow of processing executed by the communication device 100 as described above, and sequences between communication devices will be described.
[0039] <First detection operation example> A first example of a detection operation performed by communication device 100 in this embodiment when detecting the presence of another communication device will be described. In this example, a case will be described in which a first security method and a second security method are set in communication device 100.
[0040] FIG. 8 is a diagram illustrating an example of a message sequence between communication devices 100 when a first security scheme and a second security scheme are set in communication device 100. In this example, it is assumed that a first security scheme and a second security scheme are set in communication device 101 and communication device 102, respectively. The first security scheme is, for example, WPA2. The second security scheme is, for example, WPA3. FIG. 8 illustrates an example in which communication device 101 transmits a request frame to detect other communication devices, and communication device 102 responds to the request frame. For example, communication device 101 executes the operation of a Search state in the first detection method. Also, communication device 101 executes the operation of a service requesting communication device in the second detection method. For example, communication device 102 may execute the operation of a Listen state in the first detection method. Also, communication device 102 may execute the operation of a service requesting communication device in the second detection method. Note that communication device 102 may transmit a frame, and communication device 101 may receive the frame and respond. For example, the communication device 101 may execute the operation of the Search state in the first detection method and the operation of the service provider in the second detection method, and the communication device 102 may execute the operation of the Listen state in the first detection method and the operation of the service requester in the second detection method.
[0041] The first and second security schemes may be security schemes other than WPA2 and WPA3. For example, they may be WPA or WEP. WEP is an abbreviation for Wired Equivalent Privacy. The first and second security schemes may be successors to WPA2 and WPA3. The first and second security schemes may include multiple security schemes that are further subdivided. For example, WPA3 may include WPA3-SAE and WPA3-EAP. In this case, each of the subdivided security schemes may correspond to the first and second security schemes, respectively. The communication device 100 may support security schemes other than the first and second security schemes.
[0042] First, the communication device 101 accepts input from a user, an application, or the like (F801). For example, the communication device 101 may accept an instruction to detect another communication device or an instruction to connect to another communication device from the user via the input unit 604. As an example, the communication device 101 may display, in a user interface configured by the output unit 605, a button containing text such as "Wi-Fi Direct" or a button with notation related to the operation of Wi-Fi Direct. Furthermore, the communication device 101 may recognize, via the input unit 604, that the user has clicked on this button or that the communication device 100 has selected to execute Wi-Fi Direct. Note that the user's input is not limited to these, and it is sufficient if it indicates to the communication device 100 that the user has input that detection of another communication device based on the Wi-Fi Direct standard should be started. For example, if the input unit 604 is a microphone, the user's input may be voice. Note that the communication device 101 may accept an instruction to detect another communication device or an instruction to connect to another communication device from a source other than the user. For example, the communication device 101 may receive an instruction from an application, an OS, or the like. For example, when an application that requires connection with another communication device is launched, the communication device 101 may receive an instruction from the application to connect with the other communication device. The communication device 100 may operate to execute the first detection method and the second detection method in parallel based on a single instruction from a user, an application, or the like. This may reduce the amount of work required for the user to perform operations. Note that triggers for the communication device 101 to start the process shown in FIG. 8 are not limited to these. For example, the communication device 101 may start detecting other communication devices based on the power of the communication device 101 being turned on and launched.
[0043] When the communication device 101 starts an operation to detect other communication devices, it may first perform a scanning operation (not shown) to detect other communication devices operating as GOs. For example, as the scanning operation, the communication device 101 may wait for a Beacon frame transmitted by other communication devices. Furthermore, as the scanning operation, the communication device 101 may transmit a Probe Request frame and wait for a Probe Response frame transmitted by other communication devices. For example, the communication device 101 may perform a scanning operation on each channel available to the communication device itself. As a result, if the frequency channel selected by the communication device itself in the Search state is ch 1, ch 6, or ch 11 in the 2.4 GHz band, the communication device 101 may be able to detect other communication devices operating as GOs on frequency channels other than these. On the other hand, the communication device 101 may perform a scanning operation only on specific frequency channels. By performing a scanning operation only on specific frequency channels, the time required for the scanning operation can be shortened, and therefore, if there are no other communication devices operating as GOs, the communication device 101 can quickly perform the next process. For example, the communication device 101 may perform a scanning operation in Preferred Scanning Channels (PSC) in the 6 GHz band. The PSC may be one or more frequency channels spaced 20 MHz apart that are set as frequency channels to be scanned preferentially. For example, the PSC may be frequency channels with channel numbers 5, 21, 37, 53, 69, 85, 101, 117, 133, 149, 165, 181, 197, 213, and 229. When the communication device 101 detects another communication device operating as a GO through the scanning operation, the communication device 101 may establish a connection with the communication device based on the Wi-Fi Direct standard and communicate with the communication device.
[0044] Following the scanning operation, the communication device 101 checks its own security settings (F803). In this example, the communication device 101 checks that a first security method and a second security method are configured in the device. The communication device 101 executes a detection operation based on its own security settings. That is, since the security settings of the communication device 101 are the first security method and the second security method, the communication device 101 executes the first detection method and the second detection method in parallel. For example, assume that the frequency channels on which the detection operation is performed using the first detection method are 2.4 GHz frequency channels 1, 6, and 11. Also assume that the frequency channel on which the detection operation is performed using the second detection method is 2.4 GHz frequency channel 6. In this case, the communication device 101 can operate to transmit Probe Request frames on 1 and 11, and transmit Probe Request frames and Service Discovery frames on 6. For example, the communication device 101 first transmits a Probe Request frame on ch1 (F805) and waits to receive a Probe Response frame. The communication device 101 then switches the frequency channel to ch6, transmits a Probe Request frame (F807), and waits to receive the Probe Response frame. The communication device 101 then transmits a Service Discovery frame (F808), and waits to receive the Service Discovery frame. The communication device 101 then switches the frequency channel to ch11, transmits a Probe Request frame (F810), and waits to receive the Probe Response frame.
[0045] On the other hand, similar to the communication device 101, the communication device 102 starts a detection operation when it receives input from a user, an application, or the like (F802). For example, when the communication device 102 starts detecting other communication devices, it may first perform a scanning operation. The communication device 102 also checks its own security settings (F804). Because the first and second security methods are configured in the communication device 102, the communication device 102 executes the first and second detection methods in parallel. For example, when the communication device 102 receives a Probe Request frame on channel 1 (F805), it transmits a Probe Response frame (F806). When the communication device 102 switches the frequency channel to channel 6 and receives a Service Discovery frame (F808), it transmits the Service Discovery frame (F809). If the communication device 102 does not receive a frame after switching the frequency channel to channel 11, it may switch to the next frequency channel without transmitting a frame. Note that a Probe Request frame transmitted from the communication device 101 on Channel 6 while the communication device 102 is waiting on Channel 1 is not received by the communication device 102 (F807). Similarly, a Probe Request frame transmitted from the communication device 101 on Channel 11 while the communication device 102 is waiting on Channel 6 is not received by the communication device 102 (F810). Therefore, Probe Response frames in response to these Probe Request frames are not transmitted. Note that the communication device 102 may maintain the Listen state for a predetermined period of time without switching frequency channels. In this case, the communication device 102 may maintain the Listen state on Channel 6, for example, 2.4 GHz. Since Channel 6, 2.4 GHz, is a channel for which execution of a detection procedure is recommended in WFD R2, it is likely to be detected by a communication device 100 capable of executing WFD R2. Note that the above description uses an example in which the communication device 102 switches frequency channels while waiting to receive a frame. However, the communication device 102 may also wait to receive a frame while transmitting a frame.For example, the communication device 102 may transmit a Probe Request frame or an SDF. In this manner, the communication device 101 and the communication device 102 each perform a series of detection operations on each frequency channel that is the target of the detection operation.
[0046] Through the above series of detection operations, the communication device 101 receives a Probe Response frame on 1ch (F806) and a Service Discovery frame on 6ch (F809). These frames allow the communication device 101 to detect the communication device 102. The communication device 101 can detect the communication device 102 even when it receives only a Probe Request frame or only a Service Discovery frame. In this manner, if the communication device 102 is capable of executing both the first detection method and the second detection method, the communication device 101 can detect the communication device 102 using at least one of the detection methods. If the communication device 102 is capable of executing only the first detection method, a Service Discovery frame in response to the Service Discovery frame transmitted by the communication device 101 in F808 is not transmitted in F809. However, the communication device 101 receives a Probe Response frame transmitted in F806 in response to the Probe Request frame transmitted in F805. This allows the communication device 101 to detect the communication device 102. Furthermore, if the communication device 102 is capable of executing only the second detection method, a Probe Response frame in response to the Probe Request frame transmitted by the communication device 101 in F805 is not transmitted in F806. However, the communication device 101 receives a Service Discovery frame transmitted in F809 in response to the Service Discovery frame transmitted in F808. This allows the communication device 101 to detect the communication device 102.
[0047] Furthermore, if the communication device 101 is capable of executing both the first detection method and the second detection method, the communication device 102 can be detected by the communication device 101 using at least one of the detection methods. Note that if the communication device 101 is capable of executing only the first detection method, the communication device 101 does not transmit a Service Discovery frame in F808. However, the communication device 102 responds with a Probe Response frame in F806 to the Probe Request frame transmitted in F805. As a result, the communication device 102 can be detected by the communication device 101. Note that the communication device 102 can detect the communication device 101 by receiving the Probe Request frame. Note that if the communication device 101 is capable of executing only the second detection method, the communication device 101 does not transmit a Probe Request frame in F805. However, the communication device 102 responds with a Service Discovery frame in F809 to the Service Discovery frame transmitted in F808. As a result, the communication device 101 can be detected by the communication device 102. The communication device 102 can detect the communication device 101 by receiving a Service Discovery frame.
[0048] The communication device 100 may repeatedly execute the Listen state and the Search state until it receives a request to establish a connection from another communication device. For example, the communication device 100 may repeatedly execute a detection operation in these states until it receives a Probe Request frame, an Association Request frame, or the like for requesting the establishment of a connection. The communication device 100 may repeatedly execute only the Listen state or only the Search state, or may execute a detection operation by combining these. Furthermore, the communication device 100 may repeatedly execute a detection operation in the Listen state or the Search state until it receives an instruction to establish a connection from a user, an application, or the like. Note that the instruction to establish a connection may include information capable of identifying the communication device with which the connection is to be established.
[0049] The predetermined period during which the communication device 100 performs the detection operation using the first detection method and the second detection method on each frequency channel may be set in advance. For example, the predetermined period may be 100 msec. The predetermined period may be longer or shorter than 100 msec. For example, the predetermined period may be a multiple of 100 msec. Using 100 msec as the unit time and setting a multiple of 100 msec as the predetermined period may increase the likelihood of detecting other communication devices. The predetermined period may be different for each frequency channel. For example, when performing the detection operation on channel 6 in the 2.4 GHz band, the predetermined period may be set longer than that for other frequency channels such as channels 1 and 11 in the 2.4 GHz band. For example, while the predetermined period for other frequency channels is 100 msec, the predetermined period for channel 6 may be 200 msec. Alternatively, the predetermined period for channel 6 may be 100 msec, and the predetermined period for other channels may be 50 msec, for example. This makes it easier to detect other communication devices compatible with the second detection method.
[0050] The communication device 100 may perform a series of detection operations on each of the frequency channels targeted for the detection operation, and then standby on one or more specific frequency channels. For example, after the detection operation on channel 11 in FIG. 8, the communication device 101 may select a specific channel and standby for a specific period to receive signals from other communication devices. This may increase the likelihood of detecting other communication devices. For example, if the communication devices 101 and 102 perform detection operations while switching frequency channels at the same time, they may not be able to detect each other because they continue to select different frequency channels. In such a case, one communication device 100 may be able to detect the other communication device by standby on a specific channel after the series of detection operations. For example, the specific channel may be channel 6 in the 2.4 GHz band. This increases the likelihood of detecting the communication device 100 executing the second detection method. Alternatively, the specific channel may be randomly determined. This results in standby being performed on a different channel each time standby is performed, thereby increasing the likelihood of detecting communication devices that perform detection operations only on some frequency channels. Alternatively, the specific channel may be a fixed channel. This increases the likelihood of detection when another communication device is performing a detection operation including this specific channel. The specific period may be a random period. Since the periods during which the communication devices 100 perform standby differ among the communication devices, the timing of switching frequencies during the detection operation differs, which may increase the likelihood of detecting another communication device during the detection operation. The communication device 101 may perform the above standby before performing a series of detection operations on a frequency channel that is the target of the detection operation. For example, the communication device 101 may perform a scan operation before performing a series of detection operations on a frequency channel that is the target of the detection operation, and then perform the above standby. In this case, the frequency channel on which the standby operation is performed may be channel 6 in the 2.4 GHz band. This increases the likelihood that the communication device 101 can detect a communication device that executes the second detection method.
[0051] The frequency channels selected by the communication device 100 when performing a series of detection operations do not have to be in the order of 1ch, 6ch, and 11ch in the 2.4 GHz band. For example, the communication device 100 may preferentially select 6ch in the 2.4 GHz band, such as in the order 6ch, 1ch, and 11ch, or 6ch, 11ch, and 1ch. This enables early detection of communication devices executing the second detection method. Furthermore, the communication device 100 may select a specific frequency channel more frequently than other frequency channels when performing a series of detection operations. For example, the communication device 100 may perform detection operations such that 6ch is selected more frequently than other frequency channels, such as in the order 6ch, 1ch, 6ch, and 11ch. This enables preferential detection of communication devices executing the second detection method, for example. Note that the frequency channel that is preferentially selected is not limited to 6ch in the 2.4 GHz band. For example, if the communication device 100 knows the frequency channel on which another communication device to be detected preferentially performs a detection operation, the communication device 100 may preferentially select that frequency channel. For example, if the communication device 101 and the communication device 102 have agreed to preferentially perform a detection operation on a specific frequency channel, the communication device 100 may preferentially select that specific frequency channel. For example, the preferred frequency channel may be set by a user or an application. For example, the preferred frequency channel may be channel 7 in the 6 GHz band.
[0052] <Second detection operation example> A second example of a detection operation performed by communication device 100 in this embodiment when detecting the presence of another communication device will be described. In this example, a case will be described in which the second security method is set in communication device 100 and the first security method is not set.
[0053] FIG. 9 is a diagram illustrating an example of a message sequence between communication devices 100 when a second security scheme is set in communication device 100 but a first security scheme is not set. In this example, it is assumed that a second security scheme is set in communication device 101 and communication device 102, but a first security scheme is not set. The first security scheme is, for example, WPA2. The second security scheme is, for example, WPA3. In FIG. 9, the same operations as those in FIG. 8 are assigned the same reference numerals, and description thereof will be omitted. For example, upon receiving input from a user, an application, or the like (F801), communication device 101 checks the security settings of its own device (F803). In this example, communication device 101 checks that the second security scheme is set in the device but the first security scheme is not set. Then, communication device 101 performs a detection operation of the service requesting communication device using the second detection method. For example, the communication device 101 transmits an SDF on channel 6 in the 2.4 GHz band (F808) and waits to receive an SDF from another communication device.
[0054] When the communication device 102 receives an input from a user, an application, or the like (F802), it checks the security settings of its own device (F804). In this example, the communication device 102 checks that the second security method is set in the device and that the first security method is not set. Then, the communication device 102 executes a detection operation for a service-providing communication device in the second detection method. For example, the communication device 102 waits for an SDF from another communication device on channel 6 in the 2.4 GHz band, and upon receiving an SDF (F808), it transmits an SDF in response to the SDF (F809). When the communication device 101 and the communication device 102 detect the other communication device by receiving the SDF, they may report this to the user, an application, or the like. If the communication device 101 and the communication device 102 do not receive an SDF, they may execute the detection operation again at a predetermined time interval. Note that the communication device 102 does not execute a detection operation for the Search state or the Listen state in the first detection method. This allows the communication device 101 and the communication device 102 to efficiently perform detection operations. In this way, when the second security method is configured in the communication device 101 and the communication device 102 and the first security method is not configured, the communication device 101 and the communication device 102 do not perform the first detection method because they cannot communicate with a communication device detected using the first detection method. This allows the communication device 100 to efficiently perform detection operations. Note that, similar to the first detection operation example, when the communication device 101 and the communication device 102 start an operation to detect other communication devices, they may perform a scanning operation to detect other communication devices operating as GOs. Furthermore, the SDF communicated between the communication device 101 and the communication device 102 may be any of a Publish frame, a Subscribe frame, and a Follow up frame.
[0055] The communication device 102 may receive frames other than SDF while performing a detection operation on channel 6 in the 2.4 GHz band. For example, the communication device 102 may receive a Beacon frame, a Probe Request frame, a Probe Response frame, or the like. In this case, the communication device 102 may respond based on an information element (IE) included in the received frame. For example, the communication device 102 may respond based on the presence or absence of an IE associated with a security scheme supported by the sending communication device or with a WFD standard establishment procedure. For example, these frames may include a Robust Security Network Element (RSNE). The RSNE may include information capable of identifying an AKM indicating a security scheme supported by the communication device transmitting the frame. Information capable of identifying an AKM may be called an AKM Suite. For example, an AKM Suite value of 00-0F-AC-02 or 00-0F-AC-05 may indicate that the communication device supports WPA2. Furthermore, an AKM Suite value of 00-0F-AC-08 or 00-0F-AC-24 may indicate that the communication device supports WPA3. The communication device 102 may determine whether to transmit a Probe Response frame based on, for example, the RSNE included in the received Probe Request frame. For example, if the communication device 102 determines from the RSNE that the communication device 101 supports WPA3, it may decide to transmit a Probe Response frame. On the other hand, if the communication device 102 determines from the RSNE included in the received frame that the communication device 101 does not support WPA3, it may decide not to transmit a Probe Response frame. In this way, by responding based on the RSNE information included in the Probe Request frame, the communication device 102 may control whether or not the communication device 102 is detected based on the security scheme supported by the communication device 101. For example, the communication device 102 may avoid being detected by communication devices that cannot communicate with the communication device 102 that supports the second security scheme by responding only to frames that include an IE associated with WFD R2.
[0056] The IE included in the above frame is not limited to RSNE. For example, the above frame may include a P2P IE. The P2P IE may include different information depending on the version of the WFD standard supported by the communication device. For example, the P2P IE of a communication device that supports WFD R2 may include a P2P Capability Extension Attribute (PCEA) and a Pairing Bootstrapping Method Attribute (PBMA). Furthermore, the P2P IE of a communication device that supports WFD R2 may include version information associated with WFD R2. Note that the IE supported by WFD R2 may also be referred to as an IE supported by P2P R2 or an IE specified in a standard later than P2P R2. The communication device 102 may determine whether to respond with a Probe Response frame based on the information in the P2P IE included in the received Probe Request frame. For example, the communication device 102 may determine to transmit a Probe Response frame if the received frame includes an IE specified in a standard later than P2P R2. In this case, the Probe Response frame may include an IE defined in the P2P R2 or later standard. On the other hand, if the received frame does not include an IE defined in the P2P R2 or later standard, the communication device 102 may decide not to transmit a Probe Response frame. In this way, the communication device 102 may respond based on the information in the P2P IE included in the Probe Request frame. In other words, the communication device 101 may control whether or not the device is detected based on whether the device supports WFD R1 or WFD R2.
[0057] Note that, when the RSNE included in a Beacon frame or the like received from the communication device 101 indicates only support for WPA2, the communication device 102 may perform subsequent processing assuming that the communication device 101 supports both WPA2 and WPA3. In this case, the communication device 102 may confirm whether the communication device 101 supports WPA3 using a P2P IE included in the same frame or a subsequent frame. For example, when the P2P IE indicates support for WFD R2, the communication device 101 may determine that the communication device 101 supports WPA3. Furthermore, when the P2P IE included in the same frame or a subsequent frame indicates that the communication device 101 supports WFD R1, the communication device 101 may determine that the communication device 101 supports WPA2.
[0058] <Processing flow of communication device> An example of a process flow executed when the communication device 100 detects another communication device will be described. The communication device 100 is capable of detecting another communication device using both a first detection method and a second detection method. The communication device 100 is also capable of connecting to the detected communication device using either a first establishment procedure or a second establishment procedure, depending on the detection method. This process may be initiated when a user, an application, or the like inputs an instruction to detect another communication device or an instruction to connect to another communication device. For example, this process may be initiated when a user, an application, or the like indicates that another communication device should be detected according to the WFD standard.
[0059] The communication device 100 first performs a scanning operation (S1001). For example, in order to detect other communication devices already operating as GOs, the communication device 100 may wait for Beacon frames or Probe Response frames on each frequency channel that the communication device 100 can use. When the communication device 100 receives a Beacon frame or Probe Response frame transmitted from another communication device through the scanning operation and detects the other communication device (YES in S1002), the communication device 100 checks the security settings of the communication device 100 (S1014). When the security settings of the communication device 100 support the first security method and the second security method (NO in S1014), the communication device 100 adds the detected communication device to a device list that is notified to a user or an application. For example, when the communication device 100 supports WPA2 and WPA3, the communication device 100 may add the detected communication device to the device list. On the other hand, if the communication device 100's security settings support the second security method but not the first security method (for example, if the communication device 100 supports WPA3 but not WPA2), the communication device 100 determines whether a connection can be established with the detected communication device. For example, the communication device 100 determines whether an IE of P2P R2 or later is included in a Beacon frame or a Probe Response frame. For example, if an IE of P2P R2 or later is included (YES in S1015), the communication device 100 may determine whether a combination that allows bootstrapping exists with the communication device. The determination of a combination that allows bootstrapping will be described later. If the communication device 100 determines that a combination that allows bootstrapping exists (YES in S1016), the communication device 100 adds the detected communication device to the device list (S1017). On the other hand, if the received Beacon frame or the like does not include an information element of P2P R2 or later, the communication device 100 does not add the detected communication device to the device list. Furthermore, if the communication device 100 determines that there is no combination that allows bootstrapping, the communication device 100 does not add the detected communication device to the device list. In other words, in these cases, the communication device 100 determines that it cannot connect to the detected communication device.
[0060] The communication device 100 may present communication devices registered in a device list to a user, an application, or the like, and accept a selection of a communication device with which a connection should be established. The communication device 100 may use the device name included in the received P2P IE or the P2P Device address of the sender of the received frame as information that enables a user, or the like, to identify the detected communication device. Furthermore, when the communication device 100 receives an SDF, it may display the service name included in the received SDF. When the communication device 100 accepts the selection of a communication device with which a connection should be established (YES in S1003), it terminates or suspends the detection operation of the communication device and executes a procedure for establishing a connection with the selected communication device. The communication device 100 may continue the detection operation until it accepts the selection of a communication device with which a connection should be established from a user, or the like (NO in S1003). The communication device 100 may accept registration of a communication device with which a connection should be established from a user or an application in advance, and, when it detects a registered communication device, execute a procedure for automatically establishing a connection. This enables a connection to be established quickly without waiting for a selection from a user or an application.
[0061] Note that the communication device 100 may perform a detection operation (described later) without performing a scan operation. The communication device 100 may also perform the scan operation one or more times. For example, the communication device 100 may perform a scan operation each time a series of detection operations is performed. A series of detection operations may, for example, involve performing a detection operation one or more times on each of the frequency channels targeted by the detection operations. The communication device 100 may also periodically perform a scan operation. Furthermore, the communication device 100 may receive an instruction from the user or an application to abort the connection establishment procedure while performing a procedure to establish a connection with the communication device after receiving a selection of the communication device with which a connection is to be established by the user or an application. In this case, the communication device 100 may perform a scan operation again, or may start the detection operation without performing a scan operation. For example, if the time between receiving a selection of the communication device with which a connection is to be established by the user or an application and receiving an instruction to abort the connection establishment procedure is shorter than a predetermined time, the communication device 100 may start the detection operation without performing a scan operation. On the other hand, if the time between when the communication device 100 receives a user or application's selection of a communication device to establish a connection and when it receives an instruction to stop the connection establishment procedure is longer than a predetermined time, the communication device 100 may perform a scanning operation and then start a detection operation.
[0062] The communication device 100 may also update the device list. For example, when the communication device 100 detects a new communication device, it may add the new communication device to the device list. For example, the communication device 100 may maintain a specific communication device in the device list while it continues to detect the specific communication device, and may delete the specific communication device from the device list based on the passage of a predetermined period of time since the communication device 100 stopped detecting the specific communication device. The communication device 100 may retain the date and time when the specific communication device was detected. The date and time when the specific communication device was detected may be updated with the date and time when the specific communication device was last detected. The date and time of detection may be retained in association with the detected communication device and presented to a user or an application.
[0063] Following the scanning operation, the communication device 100 checks its own security settings and performs a detection operation based on the settings. For example, if a first security method and a second security method are configured in the communication device 100 (NO in S1004), the communication device 100 performs a detection operation using a first detection method and a second detection method (S1005). For example, if WPA2 and WPA3 are configured in the communication device 100, the communication device 100 performs a detection operation using a first detection method and a second detection method. In this case, the communication device 100 performs a detection operation on a first frequency channel and a second frequency channel. The second frequency channel may be included in the first frequency channel. For example, the communication device 100 may perform a detection operation on channels 1, 6, and 11 in the 2.4 GHz band as the first frequency channel. The communication device 100 may also perform a detection operation on channel 6 in the 2.4 GHz band as the second frequency channel. The first frequency channel may include frequency channels other than those mentioned above, or may not include some or all of the frequency channels mentioned above. The second frequency channel may include two or more frequency channels and may be different from the first frequency channel. The first frequency channel and the second frequency channel may be in the 5 GHz band, 6 GHz band, or other bands other than the 2.4 GHz band. In this example, it is assumed that channels 1, 6, and 11 in the 2.4 GHz band are set as the first frequency channels, and channel 6 is set as the second frequency channel. For example, the communication device 100 may perform a detection operation using a Probe Request frame and an SDF on channels 1, 6, and 11 in the 2.4 GHz band. The communication device 100 may transmit an SDF on channel 6 in the 2.4 GHz band, but may not transmit an SDF on channels 1 and 11. The communication device 100 determines whether or not another communication device has been detected on each frequency channel (S1006). For example, the communication device 100 may detect other communication devices by receiving a Beacon frame, a Probe Request frame, a Probe Response frame, or an SDF. If another communication device is detected (YES in S1006), the communication device 100 determines whether to add the detected communication device to a device list.For example, the communication device 100 may add the detected communication device to the device list (S1008) if the detected communication device is not registered in the device list (YES in S1007), or may determine not to add the detected communication device if the detected communication device is registered in the device list (NO in S1007). The communication device 100 registers or adds the communication devices detected on each frequency channel to the device list, presents the list to a user, an application, etc., and determines whether a connection destination has been selected by the user, an application, etc. (S1003).
[0064] On the other hand, if the second security method is set in the communication device 100 but the first security method is not set (YES in S1004), the communication device 100 performs a detection operation using the second detection method but not the first detection method (S1009). For example, if WPA3 is set in the communication device 100 but WPA2 is not set, the communication device 100 performs a detection operation using the second detection method but not the first detection method. In this case, the communication device 100 performs a detection operation on the second frequency channel. The communication device 100 can detect other communication devices by receiving an SDF on channel 6 in the 2.4 GHz band (S1010). If the communication device 100 detects other communication devices (YES in S1010), the communication device 100 determines whether to add the detected communication device to a device list. For example, the communication device 100 may add the detected communication device to the device list (S1008) if the detected communication device is not registered in the device list (YES in S1011), or may determine not to add the detected communication device if the detected communication device is registered in the device list (NO in S1011). The communication device 100 registers or adds the communication devices detected in each frequency channel to the device list, presents them to a user, an application, or the like, and determines whether the user, an application, or the like has selected a connection destination (S1003). Note that the communication device 100 may receive frames other than SDF, such as Beacon frames, Probe Request frames, and Probe Response frames, transmitted from other communication devices on channel 6 in the 2.4 GHz band (YES in S1010). In this case, the communication device 100 determines whether the received frame contains information elements (IEs) after P2P R2. If the IE for P2P R2 or later is included (YES in S1012), communication device 100 may determine whether or not there is a combination that allows bootstrapping with that communication device based on the information included in the IE. Determining a combination that allows bootstrapping will be described later. If communication device 100 determines that there is a combination that allows bootstrapping (YES in S1013), it adds the detected communication device to the device list (S1007).The communication device 100 registers or adds the detected communication device to a device list, presents it to the user, an application, or the like, and determines whether or not a connection destination has been selected by the user, an application, or the like (S1003).
[0065] The following describes a process performed by the communication device 100 to determine a combination that allows bootstrapping between the communication device and another communication device. In the bootstrapping process, a method for exchanging communication parameters, PASN parameters, and the like between the communication devices is determined, and parameter exchange is performed using that method. Here, if each communication device presents a combination of functions required for the method for exchanging parameters between the communication devices, it may be determined that a combination that allows bootstrapping exists. On the other hand, if the combination of functions presented by each communication device does not allow the method for exchanging parameters to be performed, it may be determined that a combination that allows bootstrapping does not exist. For example, to perform a method for exchanging parameters using a QR code, one communication device must display a QR code and the other communication device must read the QR code. Therefore, if one communication device presents that it is capable of displaying a QR code and the other communication device presents that it is capable of reading the QR code, it may be determined that a combination that allows bootstrapping exists. Furthermore, if one communication device only presents that it is capable of displaying a QR code but the other communication device does not present that it is capable of reading the QR code, it may be determined that a combination that allows bootstrapping does not exist. For example, if one communication device can display a pin code and the other communication device can input a pin code, it may be determined that a bootstrappable combination exists. For example, if one communication device can display a passphrase and the other communication device can input a pass frame, it may be determined that a bootstrappable combination exists. For example, if one communication device can operate as an NFC tag and the other communication device can operate as an NFC reader, it may be determined that a bootstrappable combination exists. If each communication device can perform oppurtunistic bootstrapping, it may be determined that a bootstrappable combination exists.Furthermore, parameter exchange may be performed using Service Managed Bootstrapping, which is performed in the service layer or application layer. In this case, if each communication device can exchange parameters using a method defined in the service layer or application layer, it may be determined that a combination that allows bootstrapping exists. Note that if passphrases and parameters are exchanged between communication devices using a method other than the above, it may be determined that a combination that allows bootstrapping exists. Combinations that are determined to allow bootstrapping are not limited to the above, and it is sufficient that each communication device presents a combination of functions necessary to execute a method for exchanging parameters between communication devices. On the other hand, if parameters cannot be exchanged using any combination of one or more functions presented by one communication device and one or more functions presented by the other communication device, it may be determined that a combination that allows bootstrapping does not exist.
[0066] In this example, the following description has been given regarding a case where a first security scheme and a second security scheme are configured in the communication device 100, and a case where the second security scheme is configured but the first security scheme is not configured. When the first security scheme is configured but the second security scheme is not configured in the communication device 100, the communication device 100 may perform a detection operation using the first detection method but not the second detection method. In this case, the communication device 100 may perform a detection operation using a Probe Request frame and a Probe Response frame on the first frequency channel. Furthermore, in this case, the communication device 100 may add a detected communication device that supports the first security scheme to a device list based on IEs included in a Beacon frame, a Probe Response frame, or the like received during the scan operation. Furthermore, in this case, the communication device 100 may transmit a Probe Response frame based on IEs included in a received Beacon, a Probe Request frame, or the like, when the detected communication device supports the first security scheme. The communication device 100 may perform a scan operation before performing a detection operation. For example, the communication device 100 may detect the presence of another communication device by receiving a Beacon frame during a scanning operation. With this configuration, when the communication device 100 supports the first security method but does not support the second security method, it becomes possible to efficiently detect another communication device.
[0067] <Connection establishment procedure> When the communication device 100 detects another communication device, it establishes a connection based on, for example, receiving a selection from a user or an application. For example, the communication device 100 exchanges parameters such as communication parameters and establishes a connection by exchanging frames using the parameters. The communication device 100 also communicates with the other communication device using the exchanged parameters. The communication device 100 may establish a connection using the first establishment procedure or the second establishment procedure described above. For example, if the communication device 100 detects another communication device using the first detection method, it may establish a connection using the first establishment procedure. As an example, if the communication device 100 detects a communication device by receiving a Beacon frame, a Probe Request frame, a Probe Response frame, or the like, it may establish a connection using the first establishment procedure. Also, if the communication device 100 detects another communication device using the second detection method, it may establish a connection using the second establishment procedure. As an example, when communication device 100 detects a communication device by receiving an SDF or the like, it may establish a connection using the second establishment procedure. Note that communication device 100 may also establish a connection using the second establishment procedure when a received Beacon frame, Probe Request frame, Probe Response frame, or the like includes an IE of P2P R2 or later. Note that the establishment procedures used by communication device 100 are not limited to these, and other establishment procedures may be used.
[0068] When the communication device 100 executes the first detection method and the second detection method in parallel, the communication device 100 may detect the same communication device using each detection method. For example, in FIG. 8, the communication device 101 may detect the communication device 102 using the Probe Response frame received at F806 and the SDF received at F809. In this case, the communication device 100 may establish a connection using either the first establishment procedure or the second establishment procedure. For example, the communication device 100 may assign a priority to each establishment procedure and determine which establishment procedure to use based on the priority. The priority for each establishment procedure may be specified by, for example, a user or an application. Furthermore, the priority for each establishment procedure may be determined based on the level of security when the establishment procedure is executed. For example, a higher priority may be assigned to the second establishment procedure, which includes authentication using a PASN, and a lower priority may be assigned to the first establishment procedure. This enables increased security of communication. On the other hand, the priority may be determined based on the likelihood that each establishment procedure will succeed. For example, when using the second connection establishment procedure, there is a possibility that no combinations that can be bootstrapped exist. Therefore, a high priority may be assigned to the first connection establishment procedure and a low priority may be assigned to the second connection establishment procedure. This increases the probability of successful connection establishment, allowing for quick connection establishment.
[0069] If the communication device 100 fails to establish a connection after executing a higher-priority establishment procedure, it may subsequently execute a lower-priority establishment procedure. The communication device 100 may not prioritize each establishment procedure, but may simply assign an order in which to attempt the establishment procedures. FIG. 11 illustrates an example sequence in which the communication device 101 attempts to establish a connection with the communication device 102 using the second establishment procedure and then establishes a connection using the first establishment procedure. In this example, it is assumed that the communication device 101 performs detection operations using the first and second detection methods and detects the communication device 102 using each detection method. Furthermore, it is assumed that the communication device 101 attempts to establish a connection with the communication device 102 using the second establishment procedure and determines that there is no combination that allows bootstrapping. Based on this determination, the communication device 101 then establishes a connection with the communication device 102 using the first establishment procedure. In FIG. 11, operations similar to those in FIGS. 4 and 5 are denoted by the same reference numerals, and descriptions thereof will be omitted.
[0070] First, the communication device 101 notifies a user or an application that the communication device 102 has been detected, and accepts a selection for establishing a connection with the communication device 102. The communication device 101 transmits a Bootstrapping Request frame to execute the Bootstrapping process of the second establishment procedure (F401). The Bootstrapping Request frame may indicate a communication parameter exchange method usable by the communication device 101. The communication device 102 responds with a Bootstrapping Response frame (F402). The Bootstrapping Response frame may indicate a communication parameter exchange method usable by the communication device 102. Assume that the communication device 101 determines, based on the received Bootstrapping Response frame, that there is no combination that allows a Bootstrapping Response frame between the communication device 101 and the communication device 102. For example, if the communication device 101 cannot execute a communication parameter exchange method even when combining a function usable by the communication device 101 with a function notified by the communication device 102, the communication device 101 may determine that there is no combination that allows a Bootstrapping Response frame. In this case, the communication device 101 may switch from the second establishment procedure to the first establishment procedure and execute the GO negotiation process without executing the bootstrap processing (F403). That is, the communication device 101 determines which communication device will operate as the GO and which communication device will operate as the CL, and also determines the frequency channel on which the GO will operate. Note that the communication device 101 has not executed the bootstrap processing and therefore does not share PASN parameters with the communication device 102, and therefore does not execute authentication using the PASN. The communication device 101 executes the WPS process in accordance with the role determined by the GO negotiation process and shares communication parameters with the communication device 102 (F404). When operating as the GO, the communication device 101 broadcasts a Beacon frame using the frequency channel determined by the GO negotiation process (F405).The communication device 101 and the communication device 102 establish a connection using the communication parameters shared in the WPS process (F406 to F411). In this way, when the communication device 100 detects another communication device using the first detection method and the second detection method, it can execute the second establishment procedure and the first establishment procedure in that order. This increases the likelihood of establishing a connection because even if a connection cannot be established using one of the establishment procedures, the other establishment procedure is attempted. Furthermore, convenience can be improved for users, applications, etc. because they do not need to receive a notification that the connection establishment has failed and then instruct the user to establish the connection again.
[0071] When the communication device 100 is unable to establish a connection using one of the connection establishment procedures and switches to the other connection establishment procedure, the communication device 100 may check whether the other communication device can execute the other connection establishment procedure. For example, when the communication device 101 determines in F502 of FIG. 11 that there is no combination that can perform the bootstrapping process, the communication device 101 may check whether the communication device 102 supports the first connection establishment procedure before switching to the first connection establishment procedure. For example, the communication device 101 may confirm that the communication device 102 supports the first connection establishment procedure by transmitting a Probe Request frame to the communication device 102 and receiving a Probe Response frame from the communication device 102. In this case, the communication device 101 may transmit a Probe Request frame that does not include IEs after P2P R2 to the communication device 102. Then, the communication device 101 may determine that the communication device 102 supports the first connection establishment procedure based on the fact that the Probe Response frame received from the communication device 102 does not include IEs after P2P R2. The method by which communication device 101 checks whether communication device 102 supports the first establishment procedure is not limited to this, and any method capable of checking whether communication device 102 supports the first establishment procedure can be implemented.
[0072] <Frame configuration example> The configuration of an SDF used by the communication device 100 when performing the second detection method will be described. FIG. 12 shows an example of the SDF configuration. The SDF may be configured in the format of an Action frame defined in the IEEE 802.11 series of standards. The SDF includes a Category field 1201, an Action field 1202, an OUI field 1203, an OUI Type field 1204, and a NAN Attributes field 1205. NAN may be an abbreviation for Neighbor Awareness Networking. The Category field 1201 and the Action field 1202 are set to values of 0x04 and 0x09, respectively, indicating that this frame is a Vendor Specific Action frame. The OUI field 1203 is set to a value of 0x50-6F-9A, indicating that this frame is a frame defined in the standard established by the Wi-Fi Alliance. The OUI Type field 1204 is set to a value of 0x13, indicating that this frame is a frame defined in the Wi-Fi Aware standard. The OUI Type field 1204 may indicate the version and type of the NAN included in the subsequent NAN Attributes field. Note that the OUI Type field 1204 may indicate that the frame conforms to the Wi-Fi Direct standard by being set to a value of 0x02 or 0x09.
[0073] The NAN Attributes field 1205 may include one or more attributes. For example, the attributes included in the NAN Attributes field 1205 may be Service Descriptor Attributes indicating information about a service. The Service Descriptor Attribute may include, for example, an Attribute ID field 1211, a Length field 1212, a Service ID field 1213, and an Instance ID field 1214. The Service Descriptor Attribute may include a Requestor ID field 1215 and a Service Control field 1216. The Service Descriptor Attribute may include a Service Info Length field 1217 and a Service Info field 1218. The Attribute ID field 1211 indicates the type of attribute, and when set to a value of 0x03, indicates that the subsequent field is a Service Descriptor Attribute. The Length field 1212 indicates the length of the attribute. The Service ID field 1213 indicates the name of a service provided or requested by the communication device 100. The service name may be expressed as a value obtained by hashing. The Instance ID field 1214 indicates an ID assigned to a service managed, provided, or requested by the communication device 100. For example, the Instance ID field 1214 may be an Advertise ID or a Seeker ID. If an SDF has been received from a partner communication device, the Requestor ID field 1215 may be set to the Instance ID included in the SDF. The Service Control field 1216 may include information indicating, for example, Publish, Subscribe, or Follow up. The Service Control field 1216 may also indicate whether or not a subsequent Service Info Length field 1217 and Service Info field 1218 are present.The Service Info Length field 1217 indicates the length of the following Service Info field 1218. The Service Info field 1218 indicates information about the service. For example, the Service Info field 1218 may include the device name of the communication device 100, a UUID, a service name, a port number, the type of protocol to be used after connection, etc. If more information needs to be included in the Service Info field 1218, the Service Info field 1218 indicates a value of 0x0E. In this case, a Service Descriptor Extension Attribute (SDEA) may be included following this field.
[0074] The NAN Attributes field 1205 may be a Bootstrapping Method Attribute that notifies the communication device 100 of a communication parameter exchange method that can be executed in the Bootstrapping process. The Bootstrapping Method Attribute may include an Attribute ID 1211, a Length 1212, a Cookie 1221, and a Bootstrapping Method 1222. The Attribute ID 1211 is set to a value of 0x33, indicating that the subsequent field is a Bootstrapping Method Attribute. The Length field 1212 indicates the length of the Attribute. The Cookie field 1221 may be used to maintain a session with a partner communication device. For example, if the communication device 100 attempts to determine an exchange method using Bootstrapping with a specific communication device and fails, the Cookie value used at that time may be used when attempting to determine an exchange method again with that specific communication device. This makes it possible to determine whether another attempt is being made to determine an exchange method with the same communication device and in the same session. The Bootstrapping Method field 1222 indicates a bootstrapping exchange method that can be executed by the device itself. The Bootstrapping Method field 1222 may indicate a bootstrapping method that the device itself desires to execute. For example, the Bootstrapping Method field 1222 may be expressed in bitmap format. As an example, the Bootstrapping Method field 1222 may be composed of 16 bits, each of which may indicate whether an exchange method is available. For example, the 0th bit may be set to a value of 1 if the bootstrapping exchange method by pressing a button is available. For example, the 1st bit may be set to a value of 1 if a numeric PIN code can be displayed. For example, the 2nd bit may be set to a value of 1 if a character string passphrase can be displayed. For example, the 3rd bit may be set to a value of 1 if a QR code can be displayed.For example, the fourth bit may be set to a value of 1 if the exchange method can be performed as an NFC tag. For example, the fifth bit may be set to a value of 1 if a UI for inputting numerical values is available. For example, the sixth bit may be set to a value of 1 if a passphrase can be input as a character string. For example, the seventh bit may be set to a value of 1 if a camera for reading QR codes is available. For example, the eighth bit may be set to a value of 1 if the device can operate as an NFC reader. For example, the fourteenth bit may be set to a value of 1 if parameter exchange for PASN defined in the WFD standard can be performed. PASN parameter exchange can be performed using, for example, Bluetooth. For example, the fifteenth bit may be set to a value of 1 if connection parameters can be exchanged by other methods. Note that the names of each IE and attribute included in the format in this example are for illustrative purposes only and may be called by other names. Furthermore, the arrangement of each IE and attribute within the format is for illustrative purposes only, and each IE and attribute may be arranged in an appropriate location inside or outside the format.
[0075] <Accept security settings> The communication device 100 may accept security settings from a user, an application, or the like. For example, the communication device 100 may accept, from a user, an application, or the like, a request to use either or both of a first security method and a second security method. FIG. 13 shows an example of a screen configuration of a user interface through which the communication device 100 accepts security method settings from a user. For example, the communication device 100 may accept security settings by the user selecting one of the security methods shown in a pull-down list 1302 that is displayed when the user selects a box located to the right of an "Encryption" indicator 1301. For example, when any of WPA2-PSK (TKIP / AES) to WPA2-EAP (AES) is selected, the communication device 100 may accept that WPA2 has been selected as the security method. Furthermore, when either WPA3-SAE (AES) or WPA3-EAP (AES) is selected, the communication device 100 may accept that WPA3 has been selected as the security method. Furthermore, when either WPA2-PSK / WPA3-SAE(AES) or WPA2 / WPA3-EAP(AES) is selected, communication device 100 may accept that WPA2 and WPA3 have been selected as the security scheme. FIG. 14 shows an example in which WPA3-SAE(AES) has been selected by the user. In this case, communication device 100 may accept that WPA3 has been selected as the security scheme. Then, when communication device 100 receives an instruction from the user or an application to establish a connection with another communication device using Wi-Fi Direct, communication device 100 may perform a detection operation using a second detection method and establish a connection with the other communication device detected using the second establishment procedure.
[0076] Note that the screen through which the communication device 100 accepts security settings from a user, an application, or the like is not limited to this. For example, components not included in FIGS. 13 and 14 may be included on the screen, or some of the components included in FIGS. 13 and 14 may be omitted. The method by which the user inputs security settings does not have to be a pull-down list. For example, as a method by which the user inputs security settings, selectable security methods may be displayed in advance using radio buttons, a list, or the like, and the user may select from among them. FIG. 15 shows an example screen configuration of another user interface through which the communication device 100 accepts security setting input from the user. In FIG. 15, each security method that can be set on the communication device 100 is configured as a button. In FIG. 15, the security method currently set on the communication device 100 is indicated by shading. That is, it may be indicated that WPA3-SAE is set on the communication device 100. The communication device 100 may accept that another security method has been set when the user clicks a button corresponding to the other security method. For example, when a button corresponding to WPA2 / WPA3-EAP is clicked, communication device 100 may receive a selection of WPA2 and WPA3 as security methods. In this case, when communication device 100 receives an instruction from a user or an application to establish a connection with another communication device using Wi-Fi Direct, communication device 100 may perform a detection operation using a first detection method and a second detection method. Furthermore, communication device 100 may select one of the establishment procedures based on the detection method used to detect the other communication device, and establish a connection with the detected other communication device.
[0077] As described above, the communication device 100 of this embodiment performs a detection operation using either the first detection method or the second detection method, or both in parallel, based on the security method set in the communication device as the security method to be used for communication. For example, when one or more security methods set in the communication device include the second security method but not the first security method, the communication device 100 performs the second detection method and does not perform the first detection method. Furthermore, when one or more security methods set in the communication device include the first security method and the second security method, the communication device 100 performs the first detection method and the second detection method in parallel. With this configuration, for example, when WPA3 is set in the communication device 100, the communication device 100 does not perform a detection operation on channels 1 and 11 in the 2.4 GHz band. This prevents the detection operation from being performed on frequency channels in which communication devices with which the communication device 100 cannot communicate are detected, thereby shortening the time required for the detection operation and allowing a connection to be quickly established with a communication device desired by the user, improving user convenience. Furthermore, communication devices with which the communication device 100 cannot communicate are not presented to the user, thereby improving user convenience. Meanwhile, for example, when WPA2 and WPA3 are configured on the communication device 100, the communication device 100 performs detection operations on channels 1 and 11 in the 2.4 GHz band. This allows the communication device 100 to detect both communication devices compatible with WFD R1 and communication devices compatible with WFD R2. Therefore, even if the WFD standard specifies multiple detection methods and connection establishment procedures, the communication device 100 can connect to other communication devices without the user being aware of the method, thereby improving user convenience. Note that, although the present embodiment has been described assuming WPA2 as the first security method and WPA3 as the second security method, the respective security methods may be different security methods. For example, the second security method may be a successor standard to WPA3 or a security method other than WPA. For example, the second security method may be WPA3 Release 3, WPA3 Release 4, WPA4, or the like.The first security method may be WPA or a security method other than WPA.
[0078] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.
[0079] (Summary of the embodiment) At least some of the above-described embodiments can be summarized as follows. (Item 1) A communication device that executes a wireless communication method conforming to the Wi-Fi Direct standard, a detection means capable of detecting the presence of another communication device using a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; an establishment means for establishing a connection with the other communication device detected by the detection means, using either a first establishment procedure associated with the first detection method or a second establishment procedure associated with the second detection method as an establishment procedure for establishing a connection with the other communication device; When the first establishment procedure corresponds to a first security scheme and the second establishment procedure corresponds to a second security scheme as security schemes to be used for communication, the detection means detects in the communication device: Executing the first detection method based on the first security scheme being set; Executing the second detection method based on the second security method being set A communication device comprising: (Item 2) The detection means executes the second detection method and does not execute the first detection method when one or more security methods set in the communication device as security methods to be used for the communication include the second security method but do not include the first security method. 2. The communication device according to item 1, (Item 3) The detection means executes the first detection method and the second detection method in parallel when the one or more security methods set in the communication device as security methods to be used for the communication include the first security method and the second security method. 2. The communication device according to item 1, (Item 4) the first security method is WPA (Wi-Fi Protected Access) 2, The second security method is WPA3. 4. The communication device according to any one of items 1 to 3. (Item 5) The detection means When performing the first detection method, detecting the presence of other communication devices on each of one or more first frequency channels; When the second detection method is performed, the presence of another communication device is detected in each of one or more second frequency channels included in the first frequency channel. 5. The communication device according to any one of items 1 to 4, (Item 6) The first frequency channel includes 1ch, 6ch, or 11ch in the 2.4GHz band. 6. The communication device according to item 5, (Item 7) The second frequency channel includes 6ch in the 2.4GHz band. 7. The communication device according to item 5 or 6, (Item 8) In executing the first detection method, the detection means transmits a Probe Request frame and receives a Probe Response frame transmitted from another communication device after the transmission, thereby detecting the presence of the other communication device. 8. The communication device according to any one of items 1 to 7, (Item 9) In the first detection method, the detecting means detects the presence of another communication device by receiving a Probe Request frame transmitted from the other communication device. 9. The communication device according to any one of items 1 to 8, (Item 10) In performing the second detection method, the detection means detects the presence of another communication device by receiving a Service Discovery frame transmitted from the other communication device. 10. The communication device according to any one of items 1 to 9, (Item 11) The detection means further executes a third detection method for detecting the presence of the other communication device by receiving a Beacon frame including information specified in the Wi-Fi Direct standard transmitted from the other communication device, and selects as a security method to be used for communication in the communication device: If the first security method is set, the presence of the other communication device is detected by receiving the Beacon frame; If a second security method is set, the presence of the other communication device is detected by receiving the Beacon frame including information indicating that the other communication device supports the second security establishment procedure. 11. The communication device according to any one of items 1 to 10, (Item 12) When the detecting means receives a Probe Request frame from another communication device, transmitting a probe response based on the one or more security schemes configured in the communication device including the first security scheme; not transmitting a probe response based on the fact that one or more security schemes configured in the communication device do not include the first security scheme; 12. The communication device according to any one of items 1 to 11, (Item 13) When the detection means receives a Subscribe Service Discovery frame from another communication device, transmitting a Publish Service Discovery frame based on the fact that the one or more security schemes configured in the communication device include the second security scheme; not transmitting a Publish Service Discovery frame based on the fact that one or more security schemes configured in the communication device do not include the second security scheme; 13. The communication device according to any one of items 1 to 12, (Item 14) further comprising a receiving means for receiving an input from a user; The detecting means detects the presence of the other communication device based on a single instruction from the user. 14. The communication device according to any one of items 1 to 13, (Item 15) A control method executed by a communication device that performs a wireless communication method conforming to the Wi-Fi Direct standard, a detection step capable of detecting the presence of other communication devices using a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; an establishment step of establishing a connection with the other communication device detected by the detection step, using either a first establishment procedure associated with the first detection method or a second establishment procedure associated with the second detection method as an establishment procedure for establishing a connection with the other communication device; In the detecting step, when the first establishment procedure corresponds to a first security scheme and the second establishment procedure corresponds to a second security scheme as security schemes to be used for communication, the communication device: Executing the first detection method based on the first security scheme being set; Executing the second detection method based on the second security method being set A control method comprising: (Item 16) A program for causing a computer to function as each of the means possessed by the communication device according to any one of items 1 to 14. [Explanation of symbols]
[0080] 101:STA, 102:STA
Claims
1. A communication device that executes a wireless communication method conforming to the Wi-Fi Direct standard, a detection means capable of detecting the presence of another communication device using a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; an establishment means for establishing a connection with the other communication device detected by the detection means, using either a first establishment procedure associated with the first detection method or a second establishment procedure associated with the second detection method as an establishment procedure for establishing a connection with the other communication device; When the first establishment procedure corresponds to a first security scheme and the second establishment procedure corresponds to a second security scheme as security schemes to be used for communication, the detection means detects in the communication device: Executing the first detection method based on the setting of a first security scheme; Executing the second detection method based on the second security method being set A communication device comprising:
2. The detection means executes the second detection method and does not execute the first detection method when one or more security methods set in the communication device as security methods to be used for the communication include the second security method but do not include the first security method.
2. The communication device according to claim 1.
3. The detection means executes the first detection method and the second detection method in parallel when the one or more security methods set in the communication device as security methods to be used for the communication include the first security method and the second security method.
2. The communication device according to claim 1.
4. the first security method is WPA (Wi-Fi Protected Access) 2, The second security method is WPA3.
2. The communication device according to claim 1.
5. The detection means When performing the first detection method, detecting the presence of other communication devices on each of one or more first frequency channels; When the second detection method is performed, the presence of another communication device is detected in each of one or more second frequency channels included in the first frequency channel.
2. The communication device according to claim 1.
6. The first frequency channel includes 1ch, 6ch, or 11ch in the 2.4 GHz band.
6. The communication device according to claim 5.
7. The second frequency channel includes 6ch in the 2.4 GHz band.
6. The communication device according to claim 5.
8. In executing the first detection method, the detection means transmits a Probe Request frame and receives a Probe Response frame transmitted from another communication device after the transmission, thereby detecting the presence of the other communication device.
2. The communication device according to claim 1.
9. In the first detection method, the detection means detects the presence of another communication device by receiving a Probe Request frame transmitted from the other communication device.
2. The communication device according to claim 1.
10. In the second detection method, the detection means detects the presence of another communication device by receiving a Service Discovery frame transmitted from the other communication device.
2. The communication device according to claim 1.
11. The detection means further executes a third detection method for detecting the presence of the other communication device by receiving a beacon frame including information specified in the Wi-Fi Direct standard transmitted from the other communication device, and selects as a security scheme to be used for communication in the communication device: If the first security method is set, the presence of the other communication device is detected by receiving the Beacon frame; When a second security method is set, the presence of the other communication device is detected by receiving the Beacon frame including information indicating that the other communication device supports the second establishment procedure.
2. The communication device according to claim 1.
12. When the detection means receives a Probe Request frame from another communication device, transmitting a probe response based on the fact that one or more security schemes set in the communication device include the first security scheme; not transmitting a probe response based on the fact that one or more security schemes set in the communication device do not include the first security scheme; 2. The communication device according to claim 1.
13. When the detection means receives a Subscribe Service Discovery frame from another communication device, transmitting a Publish Service Discovery frame based on the fact that the one or more security schemes set in the communication device include the second security scheme; not transmitting a Publish Service Discovery frame based on the fact that one or more security schemes configured in the communication device do not include the second security scheme; 2. The communication device according to claim 1.
14. further comprising a receiving means for receiving an input from a user; The detecting means detects the presence of the other communication device based on a single instruction from the user.
2. The communication device according to claim 1.
15. A control method executed by a communication device that performs a wireless communication method compliant with the Wi-Fi Direct standard, a detection step capable of detecting the presence of other communication devices using a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; an establishment step of establishing a connection with the other communication device detected by the detection step, using either a first establishment procedure associated with the first detection method or a second establishment procedure associated with the second detection method as an establishment procedure for establishing a connection with the other communication device; In the detecting step, when the first establishment procedure corresponds to a first security scheme and the second establishment procedure corresponds to a second security scheme as security schemes to be used for communication, the communication device: Executing the first detection method based on the setting of a first security scheme; Executing the second detection method based on the second security method being set A control method comprising:
16. A program for causing a computer to function as each of the means included in the communication device according to claim 1.
Citation Information
Patent Citations
Communication device, search method, and program
JP2019201427A