Communication device, control method, and program
By simultaneously using Probe Request and Service Discovery frames, the communication device ensures detection and connection with diverse devices, addressing interoperability issues in existing wireless standards, enhancing user convenience and connectivity.
Patent Information
- Application Number
- PCT/JP2025/014503
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-17
- Filing Date
- 2025-04-11
- Publication Date
- 2025-10-23
AI Technical Summary
Existing wireless communication standards like IEEE 802.11 and Wi-Fi Direct (WFD) lack interoperability between different detection methods, leading to potential failures in establishing connections between devices due to non-interoperable detection procedures.
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 other devices, allowing for connection establishment regardless of the other device's detection method capability.
Enhances user convenience by ensuring detection and connection with multiple devices, even if they support different detection methods, thereby improving overall connectivity and interoperability.
Smart Images

Figure JP2025014503_23102025_PF_FP_ABST
Abstract
Description
Communication device, control method, and program
[0001] The present invention relates to techniques for establishing communication links between multiple stations in a wireless communication system.
[0002] In recent years, with the increase in the amount of data being communicated, development of communication technologies such as wireless LANs (Local Area Networks) has been progressing. The Institute of Electrical and Electronic Engineers (IEEE) 802.11 standard series is known as a major communication standard for wireless LANs. The IEEE 802.11 standard series includes IEEE 802.11a / b / g / n / ac / ax standards, etc. For example, the latest standard, IEEE 802.11ax, uses Orthogonal Frequency Division Multiple Access (OFDMA) to standardize technology that achieves a high peak throughput of up to 9.6 gigabits per second (Gbps) and improves communication speeds under congested conditions. OFDMA is an abbreviation for Orthogonal Frequency-Division Multiple Access.
[0003] Meanwhile, the Wi-Fi Alliance has developed a program for authenticating wireless LAN devices. For example, the WFD standard has been developed, which defines a procedure for establishing a communication link between wireless LAN stations (STAs) by exchanging communication parameters between the STAs without going through an access point (AP). WFD is an abbreviation for Wi-Fi Direct. As a new function of the WFD standard, the use of the Service Discovery Frame (SDF) 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.
[0004] Japanese Patent Application Laid-Open No. 2019-201427
[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.
[0006] A communication device according to one aspect of the present invention is a communication device that executes a wireless communication method compliant with the Wi-Fi Direct standard, and includes: a detection means that detects the presence of another communication device 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 device whose presence has been detected by the first detection method or the second detection method.
[0007] According to the present invention, it is possible to improve user convenience when a plurality of connection procedures are mixed in establishing a connection between stations.
[0008] Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings, in which the same or similar elements are designated by the same reference numerals.
[0009] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments of the present invention, and together with the description, are used to explain the principles of the present invention. FIG. 1 is a diagram showing an example of the configuration of a wireless communication system. FIG. 2 is a diagram showing an example of a detection procedure using a first detection method. FIG. 3 is a diagram showing an example of a detection procedure using a second detection method. FIG. 4 is a diagram showing an example of the hardware configuration of a communication device. FIG. 5 is a diagram showing an example of the functional configuration of a communication device. FIG. 6 is a diagram showing an example of a detection procedure when the first detection method and the second detection method are used in parallel. FIG. 7 is a diagram showing an example of a connection procedure between communication devices. FIG. 8 is a diagram showing another example of a connection procedure between communication devices. FIG. 9A is a diagram showing an example of a processing flow executed by a communication device. FIG. 9B is a diagram showing an example of a processing flow executed by a communication device. FIG. 10A is a diagram showing an example of an SDF frame format. FIG. 10A is a diagram showing an example of the configuration of a Service Descriptor Attribute field. FIG. 10C is a diagram showing an example of the configuration of a Bootstrapping Method Attribute field.
[0010] 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.
[0011] (System Configuration) FIG. 1 shows an example 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 standard series. For example, the communication device 100 may have the functionality of a station (STA) in accordance with the IEEE 802.11 standard series. The communication device 100 may also have the functionality of an access point (AP) in accordance with the IEEE 802.11 standard series. 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 a range in which the communication device 101 and the communication device 102 can communicate with each other. That is, within the range of the network 131, the communication device 102 can receive signals transmitted by the communication device 101, and the communication device 101 can receive signals 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.
[0012] In this embodiment, the communication device 100 is configured to be able to execute a communication method compliant with a successor standard to the IEEE 802.11 standard. 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 its functions of realizing highly reliable communication, low latency communication, and improved throughput when communication traffic is congested. The IEEE 802.11bn standard may also be referred to as the UHR standard. UHR is an abbreviation for Ultra High Reliability. The communication device 100 may perform a communication method compliant with a successor standard to the IEEE 802.11bn standard. Furthermore, the communication device 100 may support at least one legacy standard that predates 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 support a legacy standard and not the IEEE 802.11bn standard. Furthermore, the communication device 100 may support 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. Furthermore, NFC is an abbreviation for Near Field Communication. UWB includes wireless USB, wireless 1394, WiNET, etc. Furthermore, the communication device 100 may be compatible with communication standards such as wired LAN. The communication device 100 is, for example, a camera, a tablet, a smartphone, a PC, a mobile phone, a video camera, a headset, etc., but is not limited to these. The communication device 100 may be an information processing device such as a wireless chip capable of performing wireless communication compatible with the IEEE 802.11bn standard, etc.
[0013] 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 called millimeter waves. The frequency bands used by the communication device 100 are not limited to these and may be, 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 and may be, for example, 240 MHz, 4 MHz, etc. The IEEE 802.11 standard series specifies a frequency channel using a 20 MHz bandwidth as a basic channel in frequency bands such as the 2.4 GHz, 5 GHz, and 6 GHz bands. This standard also defines multiple available channels in each of the 2.4 GHz, 5 GHz, and 6 GHz frequency bands. For example, three non-overlapping frequency channels, 1ch, 6ch, and 11ch, are defined for 2.4 GHz. This standard also allows a specific channel to be used in combination with adjacent channels. In this embodiment, the use of a specific channel in combination with adjacent channels is sometimes referred to as channel bonding. Furthermore, a bundle of channels formed by one or two or more adjacent channels is sometimes referred to as a communication link (link). In other words, one link formed by two channels with a 20 MHz bandwidth uses a 40 MHz bandwidth. 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) compatible with multi-link. In FIG. 1, it is assumed that one wireless link (link 121) is established between the communication devices.
[0014] The communication device 100 may have a function for 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 execute 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.
[0015] FIG. 2 shows an example of a detection procedure using the first detection method. In this detection procedure, each communication device 100 may initiate 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. While FIG. 2 shows an example in which the communication device 101 first executes the Listen state, 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 at 2.4 GHz and waits for a Probe Request frame from another communication device. The duration of the Listen state may be, for example, N times the unit period TU, which is a predetermined period. In other words, the duration of the Listen state may be expressed as N×TU. TU is an abbreviation for Time Unit. TU may be, for example, 100 milliseconds. N may be an integer equal to or greater than 1 determined by a random number. N may be a value determined in advance by settings or the like, or 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.
[0016] 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 may detect the communication device 101 by receiving the Probe Request frame. The communication devices 101 and 102 may report to a user or the like that they have detected the communication devices 102 and 101, respectively. In this way, in the detection procedure using the first detection method, the communication device 100 may detect other communication devices using Probe Request frames and Probe Response frames while repeatedly transitioning between the Listen state and the Search state.
[0017] 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, and detects 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 for detecting 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 the communication device 101 operates as a service-requesting communication device, and the communication device 102 operates as a service-providing communication device. For example, the communication device 101 intermittently performs a detection operation and transmits frames for detecting other communication devices. The 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. The SDF transmitted from a service requesting communication device may also be called a Search frame or a Subscribe frame. The communication device 101 may transmit multiple SDFs during the detection period (F301, F302). The detection period may be defined as N×TU, similar to the period of the Listen state in the first detection method. During the first detection period, at the timing (F301, F302) when the communication device 101 transmits an SDF, the communication device 102 is not performing a detection operation, 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 period of the communication device 102, the communication device 101 is not in the detection period, so no SDF is transmitted from the communication device 101. As a result, 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 may be referred to as an SDF Follow up. After that, a predetermined message exchange using the SDF is performed (F305), and the communication device 101 completes its detection of the communication device 102. 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 and the service requester.
[0018] Following the detection procedure, the communication devices 100 may execute a connection procedure defined in the WFD standard 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. Furthermore, one of the communication devices 100 may act as a group owner (GO), while the other acts as a client (CL) to execute 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 GO communication device 101 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 will be 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 the communication parameters by broadcasting a beacon. Note that the communication device 102 may become the GO and the communication device 101 may become the CL. Furthermore, communication parameters may be shared by another method. For example, the communication device 100 may share communication parameters using an exchange method based on Bootstrapping. In Bootstrapping, a method for exchanging communication parameters is determined between the communication devices, and the exchange of communication parameters may be performed using that method. The 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, etc. For example, in a method for exchanging communication parameters using a QR code, one communication device may display a QR code indicating information that can identify the communication parameters, and the other communication device may read the QR code to identify the communication parameters.The communication parameters may include parameters used in wireless communication, such as an SSID (Service Set Identifier), encryption method, encryption key, authentication method, AKM, BSSID, and MAC Address. AKM is an abbreviation for Authentication and Key Management. AKM indicates an authentication protocol and key exchange algorithm used in wireless communication. For example, if the AKM is "SAE," the communication parameters may include a password for connecting to an AP or GO that supports WPA (Wi-Fi Protected Access) 3. Furthermore, 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," it may include an ID, password, public key, etc. for connecting to a WPA-Enterprise compatible AP. The password and PSK / passphrase are encryption keys used when performing authentication and key exchange based on WPA or IEEE 802.11.
[0019] 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 them. Here, if the WFD standard specifies multiple procedures that do not interoperate, a communication device that can only execute some of the procedures may not be able to communicate with other communication devices. For example, if the communication device 101 can only execute WFD R2 and the communication device 102 can only execute WFD R1, the communication device 101 may not be able to detect the presence of the communication device 102. That is, if the communication device 101 transmits a Service Discovery frame, the communication device 102 will not respond to this frame unless it supports WFD R2, and therefore the communication device 101 will not be able to detect the communication device 102. Furthermore, if the communication device 102 transmits a Probe Request frame and the communication device 101 does not respond to this 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 the communication device 100 cannot detect. As described above, since the WFD standard specifies multiple detection methods and detection procedures that do not interoperate, there is a possibility that even communication devices that comply with the WFD standard will not be able to connect to each other.
[0020] 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 another communication device 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 will be described below.
[0021] 4 shows an example of the hardware configuration of the communication device 100 according to the present 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.
[0022] 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. The storage unit 401 may be configured to include, in addition to memories such as ROM and RAM, storage media such as a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, and a DVD.
[0023] 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.
[0024] The control unit 402 also controls the functional unit 403 to perform predetermined processes such as communication, image capture, printing, and projection. The functional unit 403 is hardware that enables the communication device 100 to perform the predetermined processes described above. For example, if the device is a camera, the functional unit 403 is an image capture unit that performs image capture processing. For example, if the device is a printer, the functional unit 403 is a print unit that performs print processing. For example, if the device is a projector, the functional unit 403 is a projection unit that performs projection processing.
[0025] 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 the 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 into the communication device 100 or may be separate devices.
[0026] The communication unit 406 controls wireless communication compliant with the IEEE 802.11bn standard. Furthermore, the communication unit 406 may control wireless communication compliant with other IEEE 802.11 standard series, 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. Note that 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. Furthermore, if the communication device 100 can perform wireless communication compliant with multiple communication standards, the communication device 100 may be configured to have separate communication units and antennas corresponding to each communication standard. Communication device 100 communicates data with a partner communication device via communication unit 406. Antenna 407 may be configured as a separate unit from communication unit 406, or may be configured together with communication unit 406 as a single module.
[0027] 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, if communication device 100 has multiple antennas, communication device 100 may have a communication unit 406 for each antenna.
[0028] (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 to be 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 a detection operation. For example, the channel control unit 503 may set a frequency channel for performing a detection operation based on instructions from a user or the like. The communication control unit 504 transmits frames generated by the frame control unit. The communication control unit 504 also notifies the frame control unit of received frames. 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 may perform WPS (Wi-Fi Protected Setup) processing, bootstrapping processing, and GO negotiation processing. Furthermore, the communication establishment unit 505 can execute authentication processing, association processing, 4-Way Hand Shake (4WHS) processing, etc. The information notification unit 506 notifies other communication devices of communication parameter exchange methods that the device itself can execute. For example, the information notification unit 506 performs notification using a Service Discovery frame. The information acquisition unit 507 acquires communication parameter exchange methods that the other communication devices can execute.For example, the information acquisition unit 507 performs the acquisition using a Service Discovery frame.
[0029] (Processing Flow) The processing flow executed by the communication device 100 as described above and the sequence between the communication devices will be described.
[0030] <Detection Process> The 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 executes a Search state operation in a first detection method. The communication device 101 also executes a service requesting communication device operation in a second detection method. For example, the communication device 102 may execute a Listen state operation in the first detection method. The communication device 102 may also execute a service requesting communication device operation 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 an instruction to connect to another communication device from a source other than the user. For example, the communication device 101 may receive an instruction from an application, an 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 shown 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.
[0031] The communication device 101 detects other communication devices while switching frequency channels. For example, assume that the frequency channels on which the detection operation is performed using the first detection method are 2.4 GHz channel 1, 6, and 11. Also assume that the frequency channel on which the detection operation is performed using the second detection method is 2.4 GHz channel 6. In this case, the communication device 101 may operate to transmit Probe Request frames on channels 1 and 11, and transmit Probe Request frames and Service Discover frames on channel 6. For example, the communication device 101 may first transmit a Probe Request frame on channel 1 (F603) and wait for reception of a Probe Response frame. The communication device 101 also switches the frequency channel to 6ch, transmits a Probe Request frame (F605), and waits to receive a Probe Response frame. Furthermore, the communication device 101 transmits a Service Discovery frame (F606), and waits to receive the Service Discovery frame. The communication device 101 then switches the frequency channel to 11ch, transmits a Probe Request frame (F608), and waits to receive the Probe Response frame.
[0032] On the other hand, similar to the communication device 101, when the communication device 102 receives input from a user, an application, or the like (F602), it starts a detection operation. For example, the communication device 102 waits for frames from other communication devices while switching between their 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 channel 1 (F603), it transmits a Probe Response frame (F604). When the communication device 102 switches the frequency channel to channel 6 and receives a Service Discovery frame (F606), it transmits the Service Discovery frame (F607). If the communication device 102 does not receive a frame after switching the frequency channel to channel 11, it may switch to the next frequency channel without transmitting a frame. Note that a Probe Request frame transmitted from the communication device 101 while the communication device 102 is in standby mode on channel 1 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 in standby mode on channel 6 is not received by the communication device 102 (F608). Note that the communication device 102 may maintain a Listen state for a predetermined period of time without switching frequency channels. In this case, the communication device 102 may maintain a Listen state on channel 6 of 2.4 GHz. Because 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.
[0033] Through the above sequence, the communication device 101 receives a Probe Response frame on channel 1 (F604) and a Service Discovery frame on channel 6 (F607). These frames allow the communication device 101 to detect the communication device 102. The communication device 101 can detect the communication device 102 even when it receives only a Probe Request frame or only a Service Discovery frame. In this way, when 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. Note that if the communication device 102 can only execute 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 allows the communication device 101 to detect the communication device 102. Also, if the communication device 102 can only execute 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 apparatus 101 receives a Service Discovery frame transmitted in F607 in response to the Service Discovery frame transmitted in F606, thereby enabling the communication apparatus 101 to detect the communication apparatus 102.
[0034] Furthermore, if the communication device 101 is capable of executing both the first detection method and the second detection method, the communication device 102 can be detected by the communication device 101 using at least one of the detection methods. Note that if the communication device 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 to the Probe Request frame transmitted in F603 with a Probe Request frame in F604. This allows the communication device 102 to be detected by the communication device 101. Note that the communication device 102 can detect the communication device 101 by receiving the Probe Request frame. Note that if the communication device 101 is capable of executing only the second detection method, the communication device 101 does not transmit a Probe Request frame in F603. However, the communication apparatus 102 responds to the Service Discovery frame transmitted in F606 with a Service Discovery frame in F607. As a result, the communication apparatus 101 is detected by the communication apparatus 102. Note that the communication apparatus 102 can detect the communication apparatus 101 by receiving the Service Discovery frame.
[0035] In the above example, 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 the request frame it transmitted. The communication device 101 may detect other communication devices by receiving a request frame received from the other communication devices. 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.
[0036] The communication device 101 may scan all channels before executing the Search state. For example, if the communication device 101 is already operating as 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 mutual inability to detect each other. The specific period may be N×TU, 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.
[0037] The frequency channels on which the communication device 100 performs the detection operation are not limited to 2.4 GHz channels 1ch, 6ch, and 11ch. For example, the communication device 100 may perform the detection operation on another 2.4 GHz frequency channel, or on a frequency channel in another frequency band, such as 5 GHz or 6 GHz. Furthermore, the order of the frequency channels on which the communication device 100 performs the detection operation does not have to be 1ch, 6ch, and 11ch. For example, the order of the frequency channels on which the communication device 100 performs the detection operation may be 6ch, 1ch, and 11ch. By performing the detection operation on 6ch 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. Furthermore, 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. Furthermore, 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. Furthermore, if a predetermined channel is configured to be used with a specific communication device, it may be possible to detect the specific communication device earlier. Furthermore, 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 at 2.4 GHz, or channel 7 at 6 GHz.
[0038] 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.
[0039] <Connection Processing Example 1> A connection processing after the communication device 100 detects another communication device will be described. When the communication device 100 detects the presence of another communication device, it performs the connection processing. For example, if the communication device 100 detects the presence of another communication device using a first detection method, it may perform the connection processing using WPS. Furthermore, if the communication device 100 detects the presence of another communication device using a second detection method, it may perform the connection processing using Bootstrapping. In this way, 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.
[0040] FIG. 7 shows an example of a connection procedure using Bootstrapping. First, the communication apparatus 101 transmits a request for an exchange method for exchanging communication parameters to the communication apparatus 102 (F701). For example, the communication apparatus 101 may transmit the request using a Bootstrapping Request frame. Using this frame, the communication apparatus 101 may notify the communication apparatus 102 of an exchange method that the communication apparatus 101 can execute, from among exchange methods for communication parameters that use, for example, button press, PIN code, passphrase, QR code, NFC tag, etc. For example, if the communication apparatus 101 can execute an exchange method using a QR code, the communication apparatus 101 may indicate at least one of whether the communication apparatus 101 can display or read QR codes. Furthermore, if the communication apparatus 101 can execute an exchange method using a passphrase, the communication apparatus 101 may indicate whether it can use either a character string, a numeric value, or both. If the communication device 101 is capable of executing an exchange method using a passphrase, it may indicate at least one of whether a passphrase can be displayed or entered. Furthermore, the communication device 101 may indicate whether triggering the exchange of communication parameters by pressing a button is available. The 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 key 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 communication parameters. In this procedure example, it is assumed that the communication device 101 has notified 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 can 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).
[0041] 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 and perform mutual authentication. In this procedure example, it is assumed that the communication device 101 has determined to operate as GO and the communication device 102 as CL.
[0042] 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 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 makes it possible to set up multiple links between communication devices with a single connection procedure. A Probe Request frame and a Probe Response frame that include a Multi-Link element may be referred to as an ML Probe Request frame and an ML Probe Response frame, respectively. Upon receiving the Probe Response frame, the communication apparatus 102 transmits an Authentication frame (F708). Upon receiving the Authentication frame, the communication apparatus 101 transmits an Authentication frame (F709). Upon receiving the Authentication frame, the communication apparatus 102 transmits an Association Request frame (F710). Upon receiving the Association Request frame, the communication apparatus 101 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.
[0043] <Connection Processing Example 2> In Connection Processing Example 1, the connection procedure was described using an example in which the connection process was 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, when the communication device 100 detects the presence of another communication device using a first detection method, the communication device 100 may perform the connection process using WPS. On the other hand, even when the communication device 100 detects the presence of another communication device using a second detection method, the communication device 100 may perform the connection process using WPS. For example, when the communication device 100 detects the presence of another communication device using the second detection method, the communication device 100 may exchange a Bootstrapping Request frame and a Bootstrapping Response frame as described above. The exchange of these frames may determine the method of exchanging communication parameters. In this case, the exchange method executable by the communication device 101 may not match the exchange method executable by the communication device 102. That is, when one or more exchange methods executable by the communication device 101 are designated as first exchange methods and one or more exchange methods executable by the communication device 102 are designated as second exchange methods, there are cases where none of the second exchange methods are included in the first exchange methods. Furthermore, even if the communication device 100 is capable of executing the second detection method, there are cases where it is unable to perform 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 is unable to perform pairing defined in WFD R2. In this case, communication parameters may be exchanged between the communication devices using WPS. The communication device 100 may select between a connection procedure using Bootstrapping and a connection procedure using WPS based on the Probe Request frame and Probe Response frame received during the detection process. For example, when a P2P IE is included in a Probe Request frame or a Probe Response frame, the version information in the P2P IE can identify the connection procedure that the partner 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. Alternatively, if the P2P IE does not include version information, the communication device 100 may determine that the other communication device complies with WFD R1 but not WFD R2. In this case, the communication device 100 may execute a connection procedure using WPS.
[0044] FIG. 8 shows an example of a connection procedure when WPS is used. 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 establishes a connection using WPS after detecting the presence of the communication device 102 using the second detection method. 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 regarding 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 the communication parameter exchange methods that the communication device 101 can execute using a Bootstrapping Request frame. In this example procedure, the communication device 101 notifies the communication device 102 that the communication device supports both the NFC tag and button press exchange methods. On the other hand, the communication device 102 supports 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. The communication device 102 may notify the communication device 101 that there is no matching exchange method in response to the Bootstrapping Request frame (F702). Instead of or in addition to notifying the communication device 102 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 notify the communication device 101 using a Bootstrapping Response frame or another method. Upon receiving the response from the communication device 102, the communication device 101 switches from the connection procedure using Bootstrapping to the connection procedure using WPS and continues the connection procedure. That is, the communication apparatus 101 may execute GO Negotiation (F704) to determine the roles of each communication apparatus, and then execute communication parameter exchange using WPS (F801). Note that the communication apparatus 101 may execute processing to confirm whether the communication apparatus 102 can execute WPS or whether it supports WFD R1.For example, the communication apparatus 101 can perform the confirmation by transmitting a Probe Request frame including a P2P IE to the communication apparatus 102 and receiving a Probe Response including a P2P IE from the communication apparatus 102 .
[0045] 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 in 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 using WPS when it detects a communication apparatus at a remote location using the first detection method, when the communication apparatus 100 and the communication apparatus 102 do not agree on the exchange method of communication parameters that can be used with the communication apparatus at a remote location, or when the communication apparatus 100 and the communication apparatus 102 do not agree on the exchange method of communication parameters that can be used with the communication apparatus at a remote location.
[0046] <Communication Device Processing Flow> FIGS. 9A and 9B show 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 when a user or an application inputs an instruction to detect another communication device or an instruction to connect to another communication device. In this processing flow example, the communication device 100 is configured to use 2.4 GHz frequency channels 1ch, 6ch, and 11ch for the first detection method and 6ch for the second detection method. Furthermore, the communication device 100 performs detection operations on 6ch, 1ch, and 11ch in order to quickly detect communication devices capable of implementing WFD R2. The communication device 100 may detect other communication devices by receiving a request frame and transmitting a response frame, similar to the listen state operation in the first detection method and the service-providing communication device operation in the second detection method. This operation is referred to as a first detection operation. The request frame is, 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, like 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 to transmit a request frame and wait for a response frame, and then transmit a response frame upon receiving the request frame. This operation is referred to as a third detection operation. Which detection operation, from the first to third detection operations, the communication device 100 will perform may be determined based on the role of the communication device 100 or an instruction from a user, an application, or the like. In addition, when a user or an application, etc. issues a detection instruction specifying the first detection method or the 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.
[0047] 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 the SDF in response to the SDF and performs the process of S912. When the received SFD is a Subscribe SFD, the communication device 100 may transmit a Publish SFD. When the received SFD is a Publish SFD, the communication device 100 may transmit a Subscribe SFD. Furthermore, the communication device 100 may transmit a Follow up response. If the communication device 100 does not receive an SDF (NO in S903), the communication device 100 determines whether or not a Probe Request frame has been received (S904). If the communication device 100 receives a Probe Request frame (YES in S904), the communication device 100 transmits a Probe Response frame and executes the process of S919. After transmitting the SDF or 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 has been in standby mode on Channel 6 for a predetermined period, the communication device 100 switches the frequency channel on which the detection operation is performed to Channel 1 (S905). The predetermined period during which the communication device 100 performs the detection operation on Channel 6 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 performing a detection operation on channel 6, the predetermined period may be set longer than that on other frequency channels. For example, when the predetermined period on other frequency channels is 100 msec, the predetermined period on channel 6 may be 200 msec. Alternatively, the predetermined period on channel 6 may be 100 msec, and the predetermined period on other channels may be 50 msec, etc.
[0048] 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 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 the Probe Response frame (YES in S904), the communication device 100 executes the process of S919. If the communication device 100 does not receive a Probe Response frame (NO in S904), the communication device 100 executes the process of S905. Note that, when setting a frequency channel for performing a detection operation, the communication device 100 may determine whether the frequency channel is a frequency channel for which the second detection method should be performed. If the communication device 100 determines that the frequency channel is a frequency channel for which the second detection method should be performed, the communication device 100 may transmit an SDF, and if the communication device 100 determines that the frequency channel is not a frequency channel for which the second detection method should be performed, the communication device 100 may perform control not to transmit the SDF.
[0049] When the communication device 100 performs the third detection operation, the communication device 100 waits for a Probe Request frame or an 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 an SDF, a Probe Request frame, or a Probe Response frame has been received (S903, S904). If the communication device 100 receives an SDF (YES in S903), the communication device 100 performs the process of S912. If the communication device 100 receives a Probe Request frame or a Probe Response frame (YES in S904), the communication device 100 performs the process of S919. If the communication device 100 does not receive any of the frames (NO in S904), the communication device 100 performs the process of S905.
[0050] 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 performing the first detection operation, the communication device 100 waits for reception of 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 performing the first detection operation, S906 may be skipped. When performing the second detection operation, the communication device 100 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 performing the third detection operation, the communication device 100 transmits a probe request frame (S906) while waiting for reception of a probe response frame (S905). When the communication device 100 receives the 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 perform the second detection method on 1ch, 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 performing 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 the SDF, it may transmit the SDF in response and execute the process of S912. If the communication device 100 does not receive any frames (NO in S907), it sets the frequency channel to 11ch and continues the detection operation (S908).
[0051] 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 channel 6 at 2.4 GHz. 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 differ from that shown in FIGS. 9A and 9B. 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 a detection operation on another frequency channel. 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 other party's communication device is capable of performing the second detection method, only the SDF may be transmitted. Furthermore, before performing S901, the communication device 100 may perform a scan operation on all channels to attempt to detect a communication device already operating as 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 the connection method that the communication device can perform 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 may 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 another communication device and identify a connection method that the communication device can implement, based on information elements defined in the WFD standard that are included in the received Beacon frame.
[0052] 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). 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 user's selection of a connection destination (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 also 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 an exchange of communication parameters 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 steps S916 and S917 may be executed together. For example, if simultaneous button presses are selected as the exchange method, the exchange of communication parameters and GO Negotiation may be executed together. In this case, the public keys of the communication devices and the information used in GO Negotiation may be exchanged as 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 onward. 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 onward may be executed in response to a request from the other communication device.
[0053] 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 a Probe Response frame or a 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 other detected communication devices and display this to the user as a connection candidate list via the output unit 405. 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 and determines the respective roles of its own device 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 role determined by the 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, if the communication device 100 receives a Probe Request frame and responds with a Probe Response frame, the processes of S921 and subsequent steps may be executed in response to a request from the other communication device.
[0054] <Frame Configuration Example> The configuration of an SDF used when the communication device 100 executes the second detection method will be described. FIGS. 10A to 10C show an example of an SDF configuration. The SDF may be configured in the format of an Action frame defined in the IEEE 802.11 standard series. 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. When the OUI field 1003 is set to a value of 0x50-6F-9A, it indicates that the frame conforms to the standard established by the Wi-Fi Alliance. When the OUI Type field 1004 is set to a value of 0x13, it indicates that the frame conforms to the Wi-Fi Aware standard. Furthermore, the OUI Type field 1004 may indicate the version and type of the NAN included in the subsequent NAN Attributes field. When the OUI Type field 1004 is set to a value of 0x02 or 0x09, it may indicate that the frame conforms to the Wi-Fi Direct standard.
[0055] 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 that indicate information about the 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 hash processing. 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 the 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 the presence or absence of a subsequent Service Info Length field 1017 and a Service Info field 1018.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.
[0056] The NAN Attributes field 1005 may be a Bootstrapping Method Attribute that notifies the communication device 100 of an exchange method that can be performed 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 that an attempt to determine an exchange method is being made again with the same communication device and in the same session. The Bootstrapping Method field 1022 indicates an exchange method using Bootstrapping that the device itself can execute. The Bootstrapping Method field 1022 may also indicate a Bootstrapping method that the device itself desires to execute. For example, the Bootstrapping Method field 1022 may be represented 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 a 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 a numerical value 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.
[0057] As described above, according to this 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 avoids a situation in which only some communication devices are detected, even if the WFD standard specifies multiple non-interoperable detection methods or procedures, and enables the detection of more communication devices. Note that by executing the first and second detection methods in parallel, the communication device 100 can 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 establish a connection with another communication device without the user being aware of the connection, even if the WFD standard specifies multiple connection procedures, thereby improving user convenience. The present invention can also be realized by a process in which a program that realizes one or more functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., an ASIC) that realizes one or more functions.
[0058] 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.
[0059] This application claims priority based on Japanese Patent Application No. 2024-066826, filed April 17, 2024, the entire contents of which are incorporated herein by reference.
Claims
1. A communications device that executes a wireless communications method compliant with the Wi-Fi Direct standard, comprising: a detection means that detects the presence of other communications 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 communications devices whose presence is detected by the first detection method or the second detection method.
2. The communication device according to claim 1, further comprising a receiving means for receiving input from a user, wherein 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.
3. A communication device according to claim 1 or 2, wherein the detection means executes the second detection method in a second frequency channel included in one or more first frequency channels on which the first detection method is executed.
4. The communication device according to claim 3, wherein the first frequency channel includes 1ch, 6ch, or 11ch in the 2.4 GHz band.
5. The communication device according to claim 3, wherein the second frequency channel includes 6ch in the 2.4 GHz band.
6. The communication device according to any one of claims 1 to 5, wherein the detection means, in executing the first detection method, transmits a Probe Request frame to the other communication device, and detects the presence of the other communication device by receiving a Probe Response frame transmitted from the other communication device after the transmission.
7. A communication device according to any one of claims 1 to 5, wherein said detection means detects the presence of said other communication device by transmitting or receiving a Service Discovery frame in executing the second detection method.
8. The communication device according to any one of claims 1 to 5, wherein the detection means further executes a third detection method for detecting the presence of the other communication device by receiving a beacon frame including information specified in the Wi-Fi Direct standard transmitted from the other communication device.
9. A communication device according to any one of claims 1 to 8, further comprising 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, and wherein the establishment means establishes the connection by exchanging communication parameters using the first exchange method.
10. The communication device according to claim 9, wherein said notification means performs said notification using a Service Discovery frame.
11. A communication device according to any one of claims 1 to 8, further comprising an acquisition means for acquiring, from the other communication device, information indicating one or more second exchange methods that the other communication device can use to exchange communication parameters, and wherein the establishment means establishes the connection by exchanging communication parameters using the second exchange methods.
12. The communication device according to claim 11, wherein the establishing means establishes the connection by exchanging communication parameters using Wi-Fi Protected Setup if 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.
13. The communication device according to claim 11 or 12, wherein the acquisition means performs the acquisition using a Service Discovery frame.
14. A control method executed by a communication device that executes a wireless communication method compliant with the Wi-Fi Direct standard, the control method including: 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 a connection with the other communication device whose presence is detected by the first detection method or the second detection method.
15. A program for causing a computer to function as each of the means possessed by the communication device according to any one of claims 1 to 13.
Citation Information
Patent Citations
Communication device, control method, and program
JP2017063310A
Communication device, control method and program
JP2017135677A
Apparatus, system, and method of peer-to-peer (P2P) communication
US20230308506A1