Communication device, control method, and program

A communication device using both Probe Request and Service Discovery frames for detection methods ensures interoperability and improves connectivity by accommodating diverse detection methods in wireless communication standards.

JP2025163514APending Publication Date: 2025-10-29CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024066826
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-17
Publication Date
2025-10-29

AI Technical Summary

Technical Problem

Existing wireless communication standards like IEEE 802.11 and Wi-Fi Direct (WFD) have multiple non-interoperable detection and connection procedures, leading to difficulties in establishing connections between communication devices.

Method used

A communication device that concurrently executes both a Probe Request frame-based detection method (WFD R1) and a Service Discovery frame-based detection method (WFD R2) to detect and establish connections with other devices, allowing for interoperability regardless of the detection method used by the other device.

Benefits of technology

Improves user convenience by ensuring detection and connection with multiple devices, even when they use different detection methods, enhancing compatibility and connectivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025163514000001_ABST
    Figure 2025163514000001_ABST
Patent Text Reader

Abstract

To improve user convenience when multiple connection procedures are mixed in establishing a connection between stations.SOLUTION: A communication device that performs a wireless communication method compliant with the Wi-Fi Direct standard detects the presence of another communication device by executing in parallel a first detection method using Probe Request frames and a second detection method using Service Discovery frames, and establishes a connection with the other communication device whose presence has been detected by either the first or second detection method.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

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 them 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 station 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 connection procedures are mixed in establishing a connection between stations. [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 detects the presence of other communication devices by concurrently executing 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 devices whose presence is detected by the first detection method or the second detection method. [Effects of the Invention]

[0007] According to the present invention, when a plurality of connection procedures are mixed in establishing a connection between stations, it is possible to improve user convenience. [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 detection procedure according to a first detection method. [Figure 3] FIG. 10 is a diagram illustrating an example of a detection procedure according to a second detection method. [Figure 4] FIG. 2 illustrates an example of a hardware configuration of a communication device. [Figure 5] FIG. 2 illustrates an example of a functional configuration of a communication device. [Figure 6]FIG. 10 is a diagram showing an example of a detection procedure when a first detection method and a second detection method are used in parallel. [Figure 7] FIG. 10 is a diagram illustrating an example of a connection procedure between communication devices. [Figure 8] FIG. 10 is a diagram illustrating another example of a connection procedure between communication devices. [Figure 9] FIG. 10 is a diagram illustrating an example of a processing flow executed by a communication device. [Figure 10] FIG. 10 is a diagram illustrating an example of an SDF frame format. 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 using a wireless channel 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 is configured to be able to execute a communication method compliant with a successor standard to IEEE 802.11. For example, the communication device 100 is configured to be able to execute a communication method compliant with the IEEE 802.11bn standard. The IEEE 802.11bn standard is a successor standard 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 that it has functions that realize 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 can execute a communication method compliant with 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, 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 of establishing a communication link in accordance with the Wi-Fi Direct (WFD) standard. For example, the communication device 100 may mutually detect the presence of other communication devices according to a detection procedure defined in the WFD standard and perform a connection procedure with the detected communication devices. For example, the communication device 100 may detect the presence of other communication devices using a first detection method that uses a Probe Request frame. The first detection method may be referred to as WFD R1. The communication device 100 may also detect the presence of other communication devices using a second detection method that uses a Service Discovery frame. The second detection method may be referred to as WFD R2.

[0014] FIG. 2 shows an example of a detection procedure using the first detection method. In this detection procedure, each communication device 100 may start the detection procedure 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. Note that FIG. 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, these states may be preceded by a period in which each channel is scanned. For example, in the Listen state, the communication device 101 selects channel 1 in the 2.4 GHz band and waits for a Probe Request frame from another communication device. The period of the Listen state may be, for example, N times the unit period TU, which is a predetermined period. In other words, the period of the Listen state may be expressed as N×TU. TU is an abbreviation for Time Unit. A TU may be, for example, 100 milliseconds. N may be an integer equal to or greater than 1 and determined by a random number. N may be a value determined in advance by settings or the like, and may 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 may transition from the Search state back to the Listen state.

[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 at 2.4 GHz 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 101 detects the communication device 102 by receiving the Probe Response frame. Note that the communication device 102 can detect the communication device 101 by receiving the Probe Request frame. The communication devices 101 and 102 can 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 procedure using the first detection method, the communication device 100 can detect other communication devices using Probe Request frames and Probe Response frames while repeatedly transitioning between the Listen state and the Search state.

[0016] FIG. 3 illustrates an example of a detection procedure using the second detection method. In this detection procedure, each communication device 100 performs processing based on whether the device is a service-providing communication device or a service-requesting communication device to detect other communication devices. 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 of 2.4 GHz (F301). SDF may be an abbreviation for Service Discovery frame. Furthermore, 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 during a detection period (F301, F302). The detection period may be determined 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 no SDF is transmitted from the communication device 101. 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 provider side may be called an SDF Follow up. After that, a predetermined message exchange using the SDF is executed (F305), and the 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. In this way, in the detection procedure using the second detection method, the communication device 100 may detect other communication devices by performing processing according to its respective roles as the service provider side and the service requester side.

[0017] The communication devices 100 may perform a connection procedure defined in the WFD standard following the discovery procedure to establish a wireless communication link between the devices. In the connection procedure defined in the WFD standard, communication parameters used for communication are shared between the communication devices. In addition, one of the communication devices 100 may act as a Group Owner (GO), while the other acts as a Client (CL) to perform the connection procedure. For example, the CL communication device transmits frames requesting a connection, such as a Probe Request frame or an Association Request frame. Meanwhile, the GO communication device transmits a Probe Response frame or an Association Response frame in response to these frames. For example, assume that the communication device 101 is the GO and the communication device 102 is the CL. The communication device 101, which is the GO, may provide communication parameters to the communication device 102 and establish a network 131. For example, the communication device 101 may provide communication parameters using Wi-Fi Protected Setup (WPS). Meanwhile, the communication device 102, which is the CL, may receive communication parameters from the communication device 101 and join the network 131. In this case, the communication device 101 may operate as a temporary AP. For example, the communication device 101 may notify the communication device 102 of communication parameters by broadcasting a Beacon. Note that the communication device 102 may be the GO and the communication device 101 may be the CL. The communication parameters may also be shared by another method. For example, the communication device 100 may share communication parameters by an exchange method using bootstrapping. In bootstrapping, a method for exchanging communication parameters is determined between the communication devices, and the communication parameters may be exchanged using that method. The exchange method for exchanging communication parameters may be a QR code (registered trademark), an NFC tag, pressing a button, a PIN code, a passcode, a passphrase, or the like. For example, in a communication parameter exchange method 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.Communication parameters may include parameters used in wireless communication, such as the 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 the 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 that supports 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 that supports WPA2. If the AKM is "1X," the communication parameters may include an ID, password, public key, etc. for connecting to an AP that supports WPA-Enterprise. The password and PSK / passphrase are encryption keys used for authentication and key exchange based on WPA or IEEE 802.11.

[0018] 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 procedures, a communication device that can execute only some of the procedures may not be able to communicate with the 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. Therefore, even if other communication devices are present in the vicinity, the communication device 100 may not be able to connect to the other communication devices that it cannot detect. As described above, the WFD standard specifies multiple detection methods and procedures that do not interoperate, which may result in communication devices that are compliant with the WFD standard not being able to interconnect with each other.

[0019] In consideration of these circumstances, the communication device 100 of this embodiment detects the presence of other communication devices by executing a first detection method and a second detection method in parallel. The first method may be WFD R1, which uses a Probe Request frame. The second detection method may be WFD R2, which uses a Service Discovery frame. The communication device 100 then establishes a connection with other communication devices whose presence is detected by the first detection method or the second detection method. This configuration enables the communication device 100 to detect other communication devices regardless of which detection method the other communication device to be detected is capable of executing. Note that 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 configuration makes it possible to accept a detection operation instruction without the user being aware of the existence of multiple detection methods or the differences between them. The device configuration, functional configuration, and processing flow of the communication device 100 of this embodiment are described below.

[0020] (Device configuration) 4 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 401, a control unit 402, a function unit 403, an input unit 404, an output unit 405, a communication unit 406, and an antenna 407. The communication device 100 may have multiple antennas.

[0021] The storage unit 401 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 stand for Read Only Memory and Random Access Memory, respectively. In addition to memories such as ROM and RAM, the storage unit 401 may also be configured to include 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.

[0022] The control unit 402 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 401. The control unit 402 may control the entire communication device 100 in cooperation with the control program stored in the storage unit 401 and an OS (Operating System). The CPU and MPU are abbreviations for Central Processing Unit and Micro Processing Unit, respectively. When the control unit 402 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.

[0023] Furthermore, the control unit 402 controls the functional unit 403 to execute predetermined processes such as communication, image capture, printing, and projection. The functional unit 403 is hardware that enables the communication device 100 to execute the predetermined processes described above. For example, if the device is a camera, the functional unit 403 is an image capture unit that performs image capture processing. Also, for example, if the device is a printer, the functional unit 403 is a print unit that performs print processing. Also, for example, if the device is a projector, the functional unit 403 is a projection unit that performs projection processing.

[0024] The input unit 404 receives various operations from the user. The output unit 405 outputs various types of information to the user via a monitor screen or a speaker. The output from the output unit 405 may be a display on a monitor screen, an audio output from a speaker, a vibration output, or the like. The input unit 404 and the output unit 405 may both be implemented as a single module, such as a touch panel. The input unit 404 and the output unit 405 may be integrated with the communication device 100 or may be separate devices.

[0025] The communication unit 406 controls wireless communication compliant with the IEEE 802.11bn standard. The communication unit 406 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. The communication unit 406 controls the antenna 407 to transmit and receive signals for wireless communication generated by the control unit 402. The communication unit 406 is 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 406 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 compatible with each communication standard. The communication device 100 communicates data with a partner communication device via the communication unit 406. The antenna 407 may be configured as a separate unit from the communication unit 406, or may be configured together with the communication unit 406 as a single module.

[0026] Antenna 407 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. 4 shows a configuration in which communication device 100 has two antennas 407, 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, when communication device 100 has multiple antennas, communication device 100 may have a communication unit 406 for each antenna.

[0027] (Functional configuration) The functional configuration of the communication device 100 according to this embodiment will be described. FIG. 5 shows an example of a block diagram of the communication device 100. The communication device 100 may include a device detection unit 501, a frame control unit 502, a channel control unit 503, a communication control unit 504, a communication establishment unit 505, an information notification unit 506, and an information acquisition unit 507. The device detection unit 501 may execute a first detection method or a second detection method. For example, the device detection unit 501 may detect other communication devices using a Probe Request frame or a Probe Response frame in accordance with the WFD R1 standard. The device detection unit 501 may also detect other communication devices using a Service Discovery frame in accordance with the WFD R2 standard. The device detection unit 501 may also detect other communication devices by executing a third detection method using a Beacon frame. The frame control unit 502 generates frames used in other functional units. The frame control unit 502 also analyzes received frames. For example, the frame control unit 502 determines whether processing should be performed based on the WFD R1 standard or the WFD R2 standard. The channel control unit 503 sets a frequency channel for performing the detection operation. For example, the channel control unit 503 can set a frequency channel for performing the detection operation based on an instruction from a user or the like. The communication control unit 504 transmits a frame generated by the frame control unit. The communication control unit 504 also notifies the frame control unit of a received frame. The communication establishment unit 505 establishes communication with a communication device detected by the device detection unit 501. For example, the communication establishment unit 505 can perform a WPS (Wi-Fi Protected Setup) process, a bootstrap process, and a GO negotiation process. The communication establishment unit 505 can also perform an authentication process, an association process, a 4-Way Hand Shake (4WHS) process, etc. The information notification unit 506 notifies other communication devices of communication parameter exchange methods that the device itself can perform. For example, the information notification unit 506 performs notification using a Service Discovery frame. The information acquisition unit 507 acquires a communication parameter exchange method that can be executed by other communication devices.For example, the information acquisition unit 507 performs the acquisition using a Service Discovery frame.

[0028] (Processing flow) The flow of processing executed by the communication device 100 as described above, and sequences between communication devices will be described.

[0029] <Detection process> A detection process performed by the communication device 100 in this embodiment when detecting the presence of another communication device will be described. FIG. 6 is a diagram showing an example of a message sequence between the communication devices 100. FIG. 6 illustrates an example in which the communication device 101 transmits a request frame for detecting another communication device, and the communication device 102 responds to the request frame. For example, the communication device 101 performs an operation in a Search state in a first detection method. Also, the communication device 101 performs an operation of a service requesting communication device in a second detection method. For example, the communication device 102 may perform an operation in a Listen state in the first detection method. Also, the communication device 102 may perform an operation of a service requesting communication device in the second detection method. First, the communication device 101 receives input from a user, an application, or the like (F601). For example, the communication device 101 may receive an instruction to detect another communication device or an instruction to connect to another communication device from a user via the input unit 404. As an example, the communication device 101 may display a button containing text such as "Wi-Fi Direct" on a user interface configured by the output unit 405. Furthermore, the communication device 101 may recognize, via the input unit 404, that the user has clicked or selected this button. The communication device 101 may receive an instruction to detect another communication device or 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 operating system, or the like. For example, when an application requiring a connection to another communication device is launched, the communication device 101 may receive an instruction from the application to connect to 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 the user, an application, or the like. The trigger for the communication device 101 to start the process illustrated in FIG. 6 is not limited to these. For example, the communication device 101 may start detecting another communication device based on the communication device 101 being powered on and launched.

[0030] The communication device 101 detects other communication devices while switching frequency channels. For example, suppose the frequency channels on which a detection operation is performed using a first detection method are 2.4 GHz channel 1, 6, and 11. Also, suppose the frequency channel on which a detection operation is performed using a second detection method is 2.4 GHz channel 6. In this case, the communication device 101 may 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 1 (F603) and waits to receive a Probe Response frame. Then, the communication device 101 switches the frequency channel to 6, transmits a Probe Request frame (F605), and waits to receive a Probe Response frame. Then, the communication device 101 transmits a Service Discovery frame (F606) and waits to receive a Service Discovery frame. Then, the communication device 101 switches the frequency channel to 11ch, transmits a probe request frame (F608), and waits for reception of a probe response frame.

[0031] On the other hand, similar to the communication device 101, the communication device 102 starts a detection operation upon receiving an input from a user, an application, or the like (F602). For example, the communication device 102 waits for a frame from another communication device while switching between respective frequency channels. When the communication device 102 receives a frame from another communication device, it transmits a frame in response to the frame. For example, when the communication device 102 receives a Probe Request frame on ch1 (F603), it transmits a Probe Response frame (F604). When the communication device 102 switches the frequency channel to ch6 and receives a Service Discovery frame (F606), it transmits a Service Discovery frame (F607). If the communication device 102 does not receive a frame after switching the frequency channel to ch11, it may switch to the next frequency channel without transmitting a frame. Note that a Probe Request frame transmitted from the communication device 101 while the communication device 102 is waiting on ch1 is not received by the communication device 102 (F605). Similarly, a Probe Request frame transmitted from the communication device 101 while the communication device 102 is waiting on channel 6 is not received by the communication device 102 (F608). 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 of 2.4 GHz. Since channel 6 of 2.4 GHz is a channel for which execution of a detection procedure is recommended in WFD R2, the communication device 102 is more likely to be detected by a communication device 100 capable of executing WFD R2.

[0032] Through the above sequence, the communication device 101 receives a Probe Response frame on 1ch (F604) and a Service Discovery frame on 6ch (F607). These frames enable 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 F606 is not transmitted in F607. However, the communication device 101 receives a Probe Request frame transmitted in F604 in response to the Probe Request frame transmitted in F603. This enables 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 F603 is not transmitted in F604. However, the communication device 101 receives a Service Discovery frame transmitted in F607 in response to the Service Discovery frame transmitted in F606. This allows the communication device 101 to detect the communication device 102.

[0033] Furthermore, when 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 when the communication device 102 is capable of executing only the first detection method, the communication device 101 does not transmit a Service Discovery frame in F606. However, the communication device 102 responds with a Probe Request frame in F604 to the Probe Request frame transmitted in F603. 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 when 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 F603. However, the communication device 102 responds with a Service Discovery frame in F607 to the Service Discovery frame transmitted in F606. 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.

[0034] In the above, an example has been described in which the communication device 101 transmits a request frame and the communication device 102 transmits a response frame. However, the communication device 102 may transmit a request frame and the communication device 101 may transmit a response frame. The communication device 102 may transmit a request frame while waiting for a request frame, or the communication device 101 may transmit a request frame while waiting for a request frame. In this case, the communication device 102 may detect other communication devices by receiving a response frame to a request frame transmitted by the communication device 102. The communication device 101 may detect other communication devices by receiving a request frame received from the other communication devices. Note that each communication device may perform a detection operation by repeatedly transitioning between a Listen state and a Search state, as in the first detection method, or may perform a detection operation based on the role of the communication device, as in the second detection method.

[0035] The communication device 101 may scan all channels before executing the Search state. For example, if the communication device 101 is already operating as a GO on 2.4 GHz channels 1, 6, 11, or another specific channel, the communication device 102 may be detected by scanning all channels. After switching the frequency channel to 11 and performing a detection operation, the communication device 101 may perform a standby operation on a specific channel for a specific period before executing the Listen state. This prevents the frequency channels on which the communication devices 101 and 102 perform their detection operations from accidentally matching, resulting in a state in which they cannot detect each other. The specific period may be N×TU, which is determined by the product of a random number and a unit period. The communication device 101 may perform a standby operation on a specific channel for a specific period after performing the above-mentioned scan of all channels. The specific channel may be 2.4 GHz channel 6.

[0036] The frequency channels on which the communication device 100 performs the detection operation are not limited to 2.4 GHz channels 1, 6, and 11. For example, the communication device 100 may perform the detection operation on another frequency channel in the 2.4 GHz band, or on a frequency channel in another frequency band, such as 5 GHz or 6 GHz. The order of the frequency channels on which the communication device 100 performs the detection operation does not have to be 1, 6, and 11. For example, the order of the frequency channels on which the communication device 100 performs the detection operation may be 6, 1, and 11. By performing the detection operation on 6 first, other communication devices executing the second detection method can be detected earlier, and the communication device 100 may be more easily detected by other devices executing the second detection method. The period during which the communication device 100 performs the detection operation may be the same for each frequency channel or may be different. For example, by performing the detection operation or standby operation on a specific channel for a longer period of time than on other channels, it may be possible to detect more communication devices on that channel. The frequency at which the detection operation is performed on a specific channel may be higher than on other channels. For example, if the predetermined channel is channel 6, which is recommended for use in the second detection method, it may be possible to detect more communication devices executing the second detection method. Also, if a setting is made to use a predetermined channel with a specific communication device, it may be possible to detect that specific communication device earlier. Also, if the use of a predetermined channel is recommended for a specific application, it may be easier to detect communication devices communicating with that application. For example, the predetermined channel may be channel 1, 6, or 11 in 2.4 GHz, or channel 7 in 6 GHz.

[0037] When the communication device 101 operates as a service requesting communication device in the second detection method, the type of SDF transmitted by the communication device 101 may be Subscribe. When the communication device 102 operates as a service providing communication device, the type of SDF transmitted by the communication device 102 may be Publish. The communication device 102 may actively transmit a Publish SDF in response to switching to a channel on which the communication device 102 executes the second detection method. The communication device 102 may also transmit a Publish SDF in response to receiving a Subscribe SDF from the communication device 101. The communication device 100 may transmit both Publish and Subscribe to detect other communication devices using the second detection method, regardless of whether the communication device 100 is a service providing device or a service requesting device.

[0038] <Connection processing example 1> The following describes a connection process performed after the communication device 100 detects another communication device. When the communication device 100 detects the presence of another communication device, it performs the connection process. For example, when the communication device 100 detects the presence of another communication device using a first detection method, it may perform the connection process using WPS. Furthermore, when the communication device 100 detects the presence of another communication device using a second detection method, it may perform the connection process using Bootstrapping. In this manner, the communication device 100 may select a subsequent connection procedure based on the method by which the other communication device was detected. This allows the communication device 100 to select an appropriate connection procedure and establish a connection, even if the WFD standard specifies multiple connection procedures and each communication device compliant with the WFD standard can execute different connection procedures.

[0039] FIG. 7 shows an example of a connection procedure using bootstrapping. First, the communication device 101 transmits a request for an exchange method for exchanging communication parameters to the communication device 102 (F701). For example, the communication device 101 may transmit the request using a bootstrapping request frame. Using this frame, the communication device 101 may notify the communication device 102 of an exchange method that the communication device can execute, from among exchange methods for communication parameters that use, for example, button pressing, a PIN code, a passphrase, a QR code, an NFC tag, or the like. For example, if the communication device 101 can execute an exchange method using a QR code, the communication device 101 may indicate at least one of whether the device can display or read a QR code. Furthermore, if the communication device 101 can execute an exchange method using a passphrase, the communication device 101 may indicate whether it can use a character string, a numeric value, or both. Furthermore, if the communication device 101 can execute an exchange method using a passphrase, the communication device 101 may indicate at least one of whether the passphrase can be displayed or entered. The communication device 101 may also indicate whether or not it is possible to trigger the exchange of communication parameters by pressing a button. Information that the communication device 101 can notify is not limited to this. For example, the communication device 101 may notify whether it is capable of exchanging communication parameters for using a PASN, or whether communication parameters can be exchanged using an exchange method other than the above. PASN is an abbreviation for Preassociation Security Negotiation. Communication parameters for using a PASN may include the public keys of each communication device. Communication parameters for using a PASN may be exchanged using a method not specified in the WFD standard, such as Bluetooth. Another exchange method may involve configuring a temporary network including an AP and connecting the communication device to that network to obtain the communication parameters. In this procedure example, it is assumed that the communication device 101 notifies the communication device 102 of a request indicating that it is capable of executing an exchange method using a QR code. In response to this request, the communication device 102 may notify the communication device 101 of the exchange method to be used for exchanging communication parameters (F702).For example, the communication device 102 may transmit a response using a Bootstrapping Response frame. As an example, the communication device 102 may select an exchange method that the communication device 102 can execute from among the exchange methods included in the request from the communication device 101, and may send a response including information that can identify the exchange method. In this procedure example, it is assumed that the communication device 102 notifies the communication device 101 of a response indicating that it will display a QR code. As a result, the communication device 102 displays the QR code, and the communication device 101 reads the QR code, thereby determining that communication parameters will be exchanged. The communication devices 101 and 102 exchange communication parameters using the determined exchange method (F703).

[0040] Once the exchange of communication parameters is complete, the communication device 101 and the communication device 102 determine their respective roles in the connection procedure. For example, the communication device 101 and the communication device 102 determine whether they will each play the role of GO or CL (F704). This procedure may be called GO Negotiation. In GO Negotiation, the communication device 101 and the communication device 102 may determine the channel to be used for communication, or may execute PASN to perform mutual authentication. In this procedure example, it is assumed that the communication device 101 has determined to act as the GO and the communication device 102 as the CL.

[0041] When the communication device 101 determines that it will operate as a GO, it starts transmitting a Beacon frame (F705). The Beacon frame may include communication parameters for communicating with the communication device 101. The Beacon frame may also include information elements (Information Elements) and attributes defined in the WFD standard. This allows communication devices other than the communication device 102 to detect the presence of the communication device 101 and connect to the communication device 101. For example, the communication device 100 may detect the presence of the communication device 101 by receiving a Beacon frame including information defined in the WFD standard. The communication device 102 transmits a Probe Request frame to execute a connection procedure with the communication device 101 (F706). Upon receiving the Probe Request frame, the communication device 101 transmits a Probe Response frame (F707). Note that the Probe Request frame and the Probe Response frame may include a Multi-Link element. The Multi-Link element may include communication parameters used for multi-link communication defined in the IEEE 802.11be standard. This allows multiple links to be set between communication devices using a single connection procedure. 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. When the communication device 102 receives the Probe Response frame, it transmits an Authentication frame (F708). When the communication device 101 receives the Authentication frame, it transmits an Authentication frame (F709). When the communication device 102 receives the Authentication frame, it transmits an Association Request frame (F710). When the communication device 101 receives the Association Request frame, it transmits an Association Response frame (F711).By executing such a connection procedure, a connection is established between the communication device 101 and the communication device 102. Note that the communication device 101 and the communication device 102 may execute a 4-way handshake following this procedure.

[0042] <Connection processing example 2> In connection processing example 1, the connection procedure was described using an example in which the connection process is performed using bootstrapping. In this procedure example, a connection procedure example will be described in which the communication device 100 establishes a connection using WPS. For example, if the communication device 100 detects the presence of another communication device using a first detection method, it may perform the connection process using WPS. On the other hand, even if the communication device 100 detects the presence of another communication device using a second detection method, it may perform the connection process using WPS. For example, if the communication device 100 detects the presence of another communication device using the second detection method, it may exchange a bootstrapping request frame and a bootstrapping response frame as described above. The exchange of these frames may determine the communication parameter exchange method. In this case, the exchange method executable by the communication device 101 may not match the exchange method executable by the communication device 102. In other words, when one or more exchange methods executable by the communication device 101 are set as first exchange methods and one or more exchange methods executable by the communication device 102 are set as second exchange methods, there are cases in which none of the second exchange methods are included in the first exchange methods. Furthermore, even if the communication device 100 can execute the second detection method, it may not be able to execute pairing defined in WFD R2 (e.g., a connection procedure using bootstrapping). In this case, the communication device 100 may notify, in the SDF it transmits, that it cannot execute pairing defined in WFD R2. In this case, communication parameters may be exchanged between the communication devices using WPS. Note that the communication device 100 may select a connection procedure using bootstrapping or a connection procedure using WPS based on a Probe Request frame or a Probe Response frame received in the detection process. For example, if a P2P IE is included in the Probe Request frame or the Probe Response frame, the version information in the P2P IE may identify a connection procedure that the other communication device can execute. For example, if the P2P IE includes version information indicating version 2, the communication device 100 may determine that the other communication device complies with WFD R2.In this case, the communication device 100 may execute a connection procedure using Bootstrapping. Also, if version information is not included in the P2P IE, the communication device 100 may determine that the other communication device complies with WFD R1 but not with WFD R2. In this case, the communication device 100 may execute a connection procedure using WPS.

[0043] FIG. 8 shows an example of a connection procedure when WPS is used. Note that operations similar to those in FIG. 7 are assigned the same reference numerals, and descriptions thereof will be omitted. FIG. 8 shows an example of a connection procedure when the communication device 101 detects the presence of the communication device 102 using the second detection method and then establishes a connection using WPS. Note that if the communication device 101 detects the presence of the communication device 102 using the first detection method, steps F701 and F702 may be omitted. First, the communication device 101 transmits a request for an exchange method for exchanging communication parameters to the communication device 102 (F701). For example, the communication device 101 notifies the communication device 102 of a communication parameter exchange method that the communication device 101 can execute, using a Bootstrapping Request frame. In this example procedure, it is assumed that the communication device 101 has notified the communication device 102 that it supports the exchange methods using an NFC tag and pressing a button. On the other hand, it is assumed that the communication device 102 supports the exchange methods using a QR code, a PIN code, and a passphrase. In this case, the exchange methods executable by the communication device 102 do not include the exchange method executable by the communication device 101. In response to the Bootstrapping Request frame, the communication device 102 may notify that there is no matching exchange method (F702). Instead of or in addition to notifying that there is no matching exchange method, the communication device 102 may indicate that communication parameters will be exchanged using WPS. The communication device 102 may make the notification using a Bootstrapping Response frame or another method. Upon receiving the response from the communication device 102, the communication device 101 switches from a connection procedure using Bootstrapping to a connection procedure using WPS and continues the connection procedure. That is, the communication device 101 may execute GO Negotiation (F704) to determine the roles of each communication device, and then execute communication parameter exchange using WPS (F801). Note that the communication device 101 may execute processing to confirm whether the communication device 102 can execute WPS or supports WFD R1.For example, the communication device 101 can perform the confirmation by transmitting a Probe Request frame including a P2P IE to the communication device 102 and receiving a Probe Response including a P2P IE from the communication device 102.

[0044] The communication apparatus 101 and the communication apparatus 102 determine their respective roles through GO Negotiation (F704) and exchange communication parameters using WPS (F801). In WPS, parameters used for wireless communication, such as SSID, encryption method, encryption key, authentication method, AKM, BSSID, and MAC Address, can also be exchanged. The communication apparatus 101 and the communication apparatus 102 can execute the subsequent connection procedure (F705 to F711) using the exchanged communication parameters. In this way, the communication apparatus 100 can establish a connection by using WPS when it detects a communication apparatus of a different party using the first detection method, or when the communication parameter exchange method that can be used by the communication apparatus of the different party does not match.

[0045] <Processing flow of communication device> FIG. 9 illustrates an example of a processing flow executed by the communication device 100 when establishing a connection with another communication device. This processing may be initiated by a user or application inputting an instruction to detect another communication device or to connect to another communication device. In this processing flow example, the communication device 100 is configured to use 2.4 GHz frequency channels 1, 6, and 11 for the first detection method and 6 for the second detection method. Furthermore, the communication device 100 performs detection operations on 6, 1, and 11 in this order to quickly detect communication devices capable of executing WFD R2. The communication device 100 may detect other communication devices by receiving a request frame and transmitting a response frame, similar to the operation of the Listen state in the first detection method and the operation of a service-providing communication device in the second detection method. This operation is referred to as a first detection operation. The request frame may be, for example, a Probe Request frame or an SDF. The response frame is an SDF transmitted in response to receiving a Probe Response frame or an SDF. Furthermore, the communication device 100 may operate to detect other communication devices by transmitting a request frame and receiving a response, similar to the operation of the Search state in the first detection method or the operation of a service requesting communication device in the second detection method. This operation is referred to as a second detection operation. Furthermore, the communication device 100 may operate by transmitting a request frame and waiting for a response frame, and then transmitting a response frame upon receiving the request frame. This operation is referred to as a third detection operation. Which detection operation the communication device 100 performs among the first to third detection operations may be determined based on the role of the communication device 100 or an instruction from a user, an application, or the like. Note that, when a user, an application, or the like issues a detection instruction specifying the first or second detection method, or when a detection instruction specifying the WFD standard is issued, the communication device 100 may execute only the detection method corresponding to the instruction.

[0046] First, the communication device 100 sets the frequency channel to 6ch and starts a detection operation (S901). For example, when the communication device 100 performs a first detection operation, the communication device 100 waits for reception of a Probe Request frame or an SDF. Note that when the communication device 100 performs the first detection operation, S902 may be skipped. When the communication device 100 receives an SDF (YES in S903), the communication device 100 transmits an SDF in response to the SDF and performs the process of S912. When the received SFD is Subscribe, the communication device 100 may transmit an SFD of Publish. When the received SFD is Publish, the communication device 100 may transmit an SFD of Subscribe. Furthermore, the communication device 100 may transmit a Follow up response. When an SDF is not received (NO in S903), the communication device 100 determines whether or not a Probe Request frame has been received (S904). When the communication device 100 receives a Probe Request frame (YES in S904), it transmits a Probe Response frame and executes the process of S919. After transmitting the SDF or the Probe Response frame, the communication device 100 may continue the detection operation to detect other communication devices without proceeding to S912 or S919. After the communication device 100 executes standby on 6ch for a predetermined period, it switches the frequency channel on which the detection operation is executed to 1ch (S905). The predetermined period on which the communication device 100 executes the detection operation on 6ch may be set in advance. For example, the predetermined period may be 100 msec. The predetermined period may differ for each frequency channel. For example, when executing the detection operation on 6ch, the predetermined period may be set longer than for other frequency channels. For example, when the predetermined period on other frequency channels is 100 msec, the predetermined period on 6ch may be 200 msec. Alternatively, the predetermined period for 6ch may be 100 msec, and the predetermined period for other channels may be 50 msec, for example.

[0047] When the communication device 100 performs the second detection operation, the communication device 100 transmits a Probe Request frame and an SDF (S902). The communication device 100 may transmit each of the Probe Request frame and the SDF multiple times. After transmitting the SDF, the communication device 100 determines whether or not the SDF has been received (S903). If the SDF has been received (YES in S903), the communication device 100 executes the process of S912. If the SDF has not been received (NO in S903), the communication device 100 determines whether or not a Probe Response frame has been received (S904). If the communication device 100 has received a Probe Response frame (YES in S904), the communication device 100 executes the process of S919. If the communication device 100 has not received a Probe Response frame (NO in S904), the communication device 100 executes the process of S905. When setting a frequency channel for performing a detection operation, communication device 100 may determine whether the frequency channel is a frequency channel for which the second detection method should be executed. If communication device 100 determines that the frequency channel is a frequency channel for which the second detection method should be executed, it may transmit an SDF, and if communication device 100 determines that the frequency channel is not a frequency channel for which the second detection method should be executed, it may perform control not to transmit an SDF.

[0048] When the communication device 100 performs the third detection operation, the communication device 100 waits for a Probe Request frame or SDF transmitted from another communication device (S901) and transmits a Probe Request frame and an SDF (S902). The communication device 100 determines whether or not it has received an SDF, a Probe Request frame, or a Probe Response frame (S903, S904). If the communication device 100 has received an SDF (YES in S903), it executes the process of S912. If the communication device 100 has received a Probe Request frame or a Probe Response frame (YES in S904), it executes the process of S919. If the communication device 100 has not received any frame (NO in S904), it executes the process of S905.

[0049] Next, the communication device 100 sets the frequency channel to 1ch and continues the detection operation in the same way as for 6ch. For example, when the communication device 100 performs the first detection operation, it waits to receive a Probe Response frame (S905). When the communication device 100 receives a Probe Request frame (YES in S907), it transmits the Probe Response frame and executes the process of S919. When the communication device 100 performs the first detection operation, S906 may be skipped. When the communication device 100 performs the second detection operation, it transmits a Probe Request frame (S906). When the communication device 100 receives a Probe Response frame (YES in S907), it executes the process of S919. When the communication device 100 performs the third detection operation, it transmits a Probe Request frame (S906) while waiting to receive a Probe Response frame (S905). When the communication device 100 receives a Probe Request frame (YES in S907), it transmits a Probe Response frame and executes the process of S919. When the communication device 100 receives a Probe Response frame (YES in S907), it executes the process of S919. Note that the communication device 100 in this example does not execute the second detection method on channel 1, and therefore does not spontaneously transmit an SDF. On the other hand, when the communication device 100 receives an SDF, it may transmit an SDF in response. For example, when executing the first detection operation or the third detection operation, the communication device 100 may wait for reception of an SDF. In this case, when the communication device 100 receives an SDF, it may transmit an SDF in response and execute the process of S912. When the communication device 100 does not receive any frames (NO in S907), it sets the frequency channel to channel 11 and continues the detection operation (S908).

[0050] The operations of S908 to S910 are similar to those of S905 to S907, and therefore description thereof will be omitted. After performing detection operations on each of channels 6, 1, and 11, the communication device 100 may perform standby operations for a predetermined period (S911). For example, the communication device 100 may perform standby operations on a specific channel for a specific period. The specific period may be a period N×TU determined by the product of a random number and a unit period. Furthermore, the communication device 101 may perform standby operations on a specific channel for a specific period after scanning all channels. The specific channel may be 2.4 GHz channel 6. The communication device 100 may repeatedly perform detection operations on each frequency channel. Note that the order of frequency channels on which detection operations are performed may be different from that shown in FIG. 9. For example, the communication device 100 may perform detection operations on channels 1, 6, and 11 in that order. The communication device 100 may perform detection operations on other frequency channels. For example, if a predetermined frequency channel (e.g., channel 7 in the 6 GHz band or channel 36 in the 5 GHz band) is set between the communication device and the other party by an application or the like, the processing of S901 to S904 may be performed using that frequency channel. If it is known in advance that the communication device is capable of executing the second detection method, only the SDF may be transmitted. Furthermore, before executing S901, the communication device 100 may perform a scan operation on all channels to attempt to detect a communication device already operating as a GO. In this case, the communication device 100 may detect the presence of another communication device by detecting a Beacon frame transmitted by the other communication device. Furthermore, the communication device 100 may determine a connection method that the communication device can execute based on information elements included in the Beacon frame. For example, if a Beacon frame indicates an exchange method that can be used in Bootstrapping, the communication device 100 may determine that the communication device transmitting the Beacon frame supports WFD R2. For example, if the communication device transmitting the Beacon frame supports WFD R2, the communication device 100 can execute the processes from S912 onwards.Furthermore, if the communication device transmitting the Beacon frame supports only WFD R1, the communication device 100 can execute the processes from S919 onwards. In this way, the communication device 100 can detect the presence of other communication devices and identify connection methods that the communication devices can implement, based on information elements defined in the WFD standard that are included in the received Beacon frame.

[0051] The operation of the communication device 100 when it receives an SDF will be described. Upon receiving the SDF, the communication device 100 reports to the user that it has detected another communication device (S912). For example, the communication device 100 may generate a list of the detected other communication devices and display it to the user via the output unit 405 as a connection candidate list. The communication device 100 may generate a list including information that can identify the other communication devices included in the SDF and present it to the user. The information that can identify the other communication devices may be the device name included in the P2P IE or the P2P Device address of the sender of the received frame. The communication device 100 may also display the service name included in the SDF. The communication device 100 accepts the user's selection of a connection destination (S913). Note that if the communication device 100 detects another communication device while waiting for the user to select a connection destination, it may update the connection candidate list. When the communication device 100 receives a connection destination selection from the user (YES in S913), it determines a communication parameter exchange method using bootstrapping (S914). For example, the communication device 100 may notify the other communication device selected by the user of an exchange method that the communication device 100 can execute. The communication device 100 may acquire an exchange method that the other communication device can execute. The exchange method may be determined by a user input from among exchange methods that both the communication device 100 and the other communication device can execute. If there is an exchange method that both the communication device 100 and the other communication device can execute (YES in S915), the communication device 100 executes a communication parameter exchange using bootstrapping (S916). The communication device 100 executes GO Negotiation using the communication parameters acquired through the exchange and determines the respective roles of the communication device 100 and the other communication device (S917). Note that S916 and S917 may be executed together. For example, if the simultaneous button press method is selected as the exchange method, the exchange of communication parameters and the GO Negotiation can be executed together. In this case, the public keys of each communication device and the information used for the GO Negotiation can be exchanged in a single message or frame.The communication device 100 executes a connection procedure with the other communication device in accordance with the role determined by the GO Negotiation (S918). For example, the communication device 100 may execute steps F705 to F711 in FIG. 7. On the other hand, if there is no exchange method that can be executed by both the communication device 100 and the other communication device (NO in S915), the communication device 100 may execute the processing from S921 onwards. That is, the communication device 100 may determine the respective roles of its own device and the other communication device through GO Negotiation (S917), exchange communication parameters using WPS (S922), and execute the connection procedure (S918). Note that if the communication device 100 is performing the first detection operation, the processing of S912 and S913 may be skipped. For example, if the communication device 100 is a service-providing communication device, the processing of S914 onwards may be executed in response to a request from the other communication device.

[0052] The operation of the communication device 100 when it receives a Probe Response frame or a Probe Request frame will be described. When the communication device 100 receives the Probe Response frame or the Probe Request frame, it reports to the user that it has detected another communication device (S919). For example, the communication device 100 may generate a list of the detected other communication devices and display this to the user via the output unit 405 as a connection candidate list. The communication device 100 accepts the user's selection of a connection destination (S920). When the communication device 100 accepts the user's selection of a connection destination (YES in S920), it executes GO Negotiation to determine the respective roles of the communication device itself and the other communication device (S921). The communication device 100 exchanges communication parameters using WPS (S922) and executes a connection procedure with the other communication device in accordance with the roles determined by GO Negotiation (S918). Note that if the communication device 100 is performing the first detection operation, the processes of S919 and S920 may be skipped. For example, when the communication device 100 receives a Probe Request frame and responds with a Probe Response frame, the processing from S921 onwards can be executed in response to a request from the other communication device.

[0053] <Frame configuration example> The configuration of an SDF used by the communication device 100 when performing the second detection method will be described. FIG. 10 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 1001, an Action field 1002, an OUI field 1003, an OUI Type field 1004, and a NAN Attributes field 1005. NAN may be an abbreviation for Neighbor Awareness Networking. The Category field 1001 and the Action field 1002 are set to values ​​of 0x04 and 0x09, respectively, indicating that this frame is a Vendor Specific Action frame. The OUI field 1003 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 1004 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 1004 may indicate the version and type of the NAN included in the subsequent NAN Attributes field. Note that the OUI Type field 1004 may indicate that the frame conforms to the Wi-Fi Direct standard by being set to a value of 0x02 or 0x09.

[0054] The NAN Attributes field 1005 may include one or more attributes. For example, the attributes included in the NAN Attributes field 1005 may be Service Descriptor Attributes indicating information about a service. The Service Descriptor Attribute may include, for example, an Attribute ID field 1011, a Length field 1012, a Service ID field 1013, and an Instance ID field 1014. The Service Descriptor Attribute may include a Requestor ID field 1015 and a Service Control field 1016. The Service Descriptor Attribute may include a Service Info Length field 1017 and a Service Info field 1018. The Attribute ID field 1011 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 1012 indicates the length of the attribute. The Service ID field 1013 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 1014 indicates an ID assigned to a service managed, provided, or requested by the communication device 100. For example, the Instance ID field 1014 may be an Advertise ID or a Seeker ID. If an SDF has been received from a partner communication device, the Requestor ID field 1015 may be set to the Instance ID included in that SDF. The Service Control field 1016 may include information indicating, for example, Publish, Subscribe, or Follow up. The Service Control field 1016 may also indicate whether or not a subsequent Service Info Length field 1017 and Service Info field 1018 are present.The Service Info Length field 1017 indicates the length of the following Service Info field 1018. The Service Info field 1018 indicates information about the service. For example, the Service Info field 1018 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, and the like.

[0055] The NAN Attributes field 1005 may be a Bootstrapping Method Attribute that notifies the communication device 100 of an exchange method that can be executed by the communication device 100 for bootstrapping communication parameters. The Bootstrapping Method Attribute may include an Attribute ID 1011, a Length 1012, a Cookie 1021, and a Bootstrapping Method 1022. The Attribute ID 1011 is set to a value of 0x33, indicating that the subsequent field is a Bootstrapping Method Attribute. The Length field 1012 indicates the length of the Attribute. The Cookie field 1021 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 an exchange method is being attempted again in the same session with the same communication device. The Bootstrapping Method field 1022 indicates a bootstrapping exchange method that can be executed by the device itself. The Bootstrapping Method field 1022 may indicate a bootstrapping method that the device itself desires to execute. For example, the Bootstrapping Method field 1022 may be expressed in a bitmap format. As an example, the Bootstrapping Method field 1022 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 an exchange method using an NFC tag is possible. 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.

[0056] As described above, according to the present embodiment, the communication device 100 executes the first detection method and the second detection method in parallel to establish a connection with a detected communication device. This configuration enables the communication device 100 to detect a communication device without relying on which of the first and second detection methods the communication device can execute. This makes it possible to detect a communication device without relying on which of the first and second detection methods the communication device can execute. Even if the WFD standard specifies multiple non-interoperable detection methods or procedures, this avoids a situation in which only some communication devices are detected, thereby enabling the detection of more communication devices. Note that the communication device 100 executes the first and second detection methods in parallel to detect a communication device even if the communication device is only capable of executing one of the detection methods. Furthermore, the communication device 100 executes the subsequent connection procedure based on which of the first and second detection methods the communication device was detected with. This configuration enables the communication device 100 to connect to another communication device without the user being aware of the connection, even if the WFD standard specifies multiple connection procedures, thereby improving user convenience.

[0057] 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.

[0058] (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 for detecting the presence of another communication device by concurrently executing a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; and establishing means for establishing a connection with the other communication device whose presence is detected by the first detection method or the second detection method. A communication device comprising: (Item 2) further comprising a receiving means for receiving an input from a user; The detection means performs the detection by executing the first detection method and the second detection method in parallel based on a single instruction from the user. 2. The communication device according to item 1, (Item 3) The detecting means executes the second detection method on a second frequency channel included in one or more first frequency channels on which the first detection method is executed. 3. The communication device according to item 1 or 2. (Item 4) The first frequency channel includes 1ch, 6ch, or 11ch in the 2.4GHz band. 4. The communication device according to item 3, (Item 5) The second frequency channel includes 6ch in the 2.4GHz band. 4. The communication device according to item 3, (Item 6) In executing the first detection method, the detection means transmits a Probe Request frame to the other communication device, and receives a Probe Response frame transmitted from the other communication device after the transmission, thereby detecting the presence of the other communication device. 6. The communication device according to any one of items 1 to 5, (Item 7) In performing the second detection method, the detection means detects the presence of the other communication device by transmitting or receiving a Service Discovery frame. 6. The communication device according to any one of items 1 to 5, (Item 8) The detecting means further executes a third detecting method for detecting the presence of the other communication device by receiving a Beacon frame including information defined in the Wi-Fi Direct standard transmitted from the other communication device. 6. The communication device according to any one of items 1 to 5, (Item 9) The communication device further includes a notification unit that notifies the other communication device of information indicating one or more first exchange methods that the communication device can use to exchange communication parameters; The establishing means establishes the connection by exchanging communication parameters using the first exchange method. 9. The communication device according to any one of items 1 to 8, (Item 10) The notification means performs the notification using a Service Discovery frame. 10. The communication device according to item 9, (Item 11) The communication device further includes an acquisition unit configured to acquire, from the other communication device, information indicating one or more second exchange methods that the other communication device can use to exchange communication parameters; The establishing means establishes the connection by exchanging communication parameters using the second exchange method. 9. The communication device according to any one of items 1 to 8, (Item 12) When none of the second exchange methods is included in one or more first exchange methods that the communication device can use to exchange communication parameters, the establishing unit establishes the connection by exchanging communication parameters using Wi-Fi Protected Setup. Item 12. A communication device according to item 11. (Item 13) The acquisition means performs the acquisition using a Service Discovery frame. 13. The communication device according to item 11 or 12. (Item 14) A control method executed by a communication device that executes a wireless communication method conforming to the Wi-Fi Direct standard, a detection step of detecting the presence of other communication devices by concurrently executing a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; and an establishing step of establishing a connection with the other communication device whose presence is detected by the first detection method or the second detection method. A control method comprising: (Item 15) 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 13.

[0059] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0060] 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 for detecting the presence of another communication device by concurrently executing a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; and establishing means for establishing a connection with the other communication device whose presence is detected by the first detection method or the second detection method. A communication device comprising:

2. further comprising a receiving means for receiving an input from a user; The detection means performs the detection by executing the first detection method and the second detection method in parallel based on a single instruction from the user.

2. The communication device according to claim 1.

3. The detecting means performs the second detection method on a second frequency channel included in one or more first frequency channels on which the first detection method is performed.

2. The communication device according to claim 1.

4. The first frequency channel includes 1ch, 6ch, or 11ch in the 2.4 GHz band.

4. The communication device according to claim 3.

5. The second frequency channel includes 6ch in the 2.4 GHz band.

4. The communication device according to claim 3.

6. In executing the first detection method, the detection means transmits a Probe Request frame to the other communication device, and receives a Probe Response frame transmitted from the other communication device after the transmission, thereby detecting the presence of the other communication device.

2. The communication device according to claim 1.

7. In the second detection method, the detection means detects the presence of the other communication device by transmitting or receiving a Service Discovery frame.

2. The communication device according to claim 1.

8. 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 defined in the Wi-Fi Direct standard transmitted from the other communication device.

2. The communication device according to claim 1.

9. The communication device further includes a notification means for notifying the other communication device of information indicating one or more first exchange methods that the communication device can use to exchange communication parameters; The establishing means establishes the connection by exchanging communication parameters using the first exchange method.

2. The communication device according to claim 1.

10. The notification means performs the notification using a Service Discovery frame.

10. The communication device according to claim 9.

11. The communication device further includes an acquisition unit configured to acquire, from the other communication device, information indicating one or more second exchange methods that the other communication device can use to exchange communication parameters; The establishing means establishes the connection by exchanging communication parameters using the second exchange method.

2. The communication device according to claim 1.

12. When none of the second exchange methods is included in one or more first exchange methods that the communication device can use to exchange communication parameters, the establishing means establishes the connection by exchanging communication parameters using Wi-Fi Protected Setup.

12. The communication device according to claim 11.

13. The acquisition means performs the acquisition using a Service Discovery frame.

12. The communication device according to claim 11.

14. A control method executed by a communication device that executes a wireless communication method compliant with the Wi-Fi Direct standard, a detection step of detecting the presence of another communication device by concurrently executing a first detection method using a Probe Request frame and a second detection method using a Service Discovery frame; an establishing step of establishing a connection with the other communication device whose presence is detected by the first detection method or the second detection method. A control method comprising:

15. 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