Electronic device for wireless LAN communication and operation method thereof
By establishing multiple NDP links and streams for NAN data communication, the electronic device addresses the bandwidth limitations in TCP layer capacity, enhancing transmission speed and efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2025-10-30
- Publication Date
- 2026-05-07
AI Technical Summary
The transmission speed of NAN data communication in wireless LAN systems is limited by the capacity of the TCP layer when using a relatively wide transmission bandwidth.
The electronic device establishes multiple NDP links and streams for NAN data communication with an external device, allowing data transmission through a plurality of TCP streams.
This approach enhances the transmission speed of NAN data communication to match the allocated transmission bandwidth, improving overall communication efficiency.
Smart Images

Figure KR2025017526_07052026_PF_FP_ABST
Abstract
Description
Electronic device for wireless LAN communication and method of operation thereof
[0001] An embodiment of the present disclosure relates to an electronic device for wireless LAN communication and a method of operating the same.
[0002] A wireless local area network (WLAN) system can support wireless connections for various electronic devices, such as smartphones, tablet PCs, or notebooks, using designated frequency bands (e.g., approximately 2.4 GHz band, approximately 5 GHz band, and / or approximately 6 GHz band).
[0003] Wireless LAN systems can be installed not only in private spaces such as homes but also in public spaces such as airports, train stations, offices, or department stores. Wireless LAN systems can be defined by the IEEE (Institute of Electrical and Electronics Engineers) 802.11 standard. For example, the IEEE 802.11 standard is continuously evolving, such as IEEE 802.11b, IEEE 802.11a, IEEE 802.11g, IEEE 802.11n, IEEE 802.11ac, IEEE 802.11ax, and IEEE 802.11be.
[0004] The information described above may be provided as related art for the purpose of aiding understanding of the present disclosure. No claim or determination is made as to whether any of the foregoing may be applied as prior art related to the present disclosure.
[0005] A wireless LAN system can support NAN data communication between electronic devices through low-power short-range communication technology based on NAN (neighbor awareness networking) (or Wi-Fi aware). For example, an electronic device can transmit and / or receive data with an external electronic device via a NAN data path established using wireless resources between discovery windows (DW).
[0006] Wireless LAN systems (e.g., Wi-Fi 7) can support a relatively wide transmission bandwidth (e.g., about 320 MHz) to increase the transmission speed of NAN data communication. When an electronic device performs NAN data communication with an external electronic device using a relatively wide transmission bandwidth, the improvement in the transmission speed of NAN data communication resulting from the use of the relatively wide transmission bandwidth may be limited due to the limited capacity of the TCP (transmission control protocol) layer.
[0007] Embodiments of the present disclosure disclose an apparatus and method for improving the transmission efficiency of NAN data communication in an electronic device.
[0008] The technical problems to be solved in this document are not limited to those mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which this disclosure belongs from the description below.
[0009] According to one embodiment, the electronic device may include a communication circuit supporting wireless LAN communication, at least one processor including a processing circuit, and a memory for storing instructions. According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to detect an external electronic device for NAN data communication based on the execution of an application related to NAN (neighbor awareness networking) data communication. According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to check information related to the NAN data communication of an external electronic device. According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to establish a plurality of NDP links with an external electronic device if it is determined that the information related to the NAN data communication of the electronic device and the information related to the NAN data communication of the external electronic device satisfy specified NDP setting conditions. According to one embodiment, the instructions may include instructions that cause an electronic device to set up a plurality of streams corresponding to a plurality of NDP links when executed individually or collectively by at least one processor. According to one embodiment, the instructions may include instructions that cause an electronic device to transmit data to an external electronic device through a plurality of streams when executed individually or collectively by at least one processor.
[0010] According to one embodiment, the method of operation of an electronic device may include an operation of detecting an external electronic device for NAN data communication based on the execution of an application related to NAN data communication. According to one embodiment, the method of operation of an electronic device may include an operation of checking information related to NAN data communication of an external electronic device. According to one embodiment, the method of operation of an electronic device may include an operation of establishing a plurality of NDP links with an external electronic device when it is determined that the information related to NAN data communication of the electronic device and the information related to NAN data communication of the external electronic device satisfy specified NDP setting conditions. According to one embodiment, the method of operation of an electronic device may include an operation of establishing a plurality of streams corresponding to the plurality of NDP links. According to one embodiment, the method of operation of an electronic device may include an operation of transmitting data to an external electronic device through a plurality of streams.
[0011] According to one embodiment, a non-transient computer-readable storage medium (or computer program product) storing one or more programs may be described. According to one embodiment, the one or more programs may include instructions that, when executed by at least one processor of an electronic device, cause the electronic device to perform the following operations: detecting an external electronic device for NAN data communication based on the execution of an application related to NAN data communication; verifying information related to NAN data communication of the external electronic device; establishing a plurality of NDP links with the external electronic device when it is determined that the information related to NAN data communication of the electronic device and the information related to NAN data communication of the external electronic device satisfy specified NDP setting conditions; establishing a plurality of streams corresponding to the plurality of NDP links; and transmitting data to the external electronic device through the plurality of streams.
[0012] According to an exemplary embodiment of the present disclosure, an electronic device can increase the transmission speed of NAN data communication to correspond to the transmission capacity (e.g., transmission bandwidth) allocated to NAN data communication with an external electronic device by performing NAN data communication with an external electronic device through a plurality of TCP streams allocated to at least one NDP with the external electronic device.
[0013] In addition, various effects that can be identified directly or indirectly through this document may be provided.
[0014] The effects obtainable from the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure belongs from the description below.
[0015] In relation to the description of the drawings, the same or similar reference numerals may be used for identical or similar components.
[0016] FIG. 1 is a block diagram of an electronic device in a network environment according to one embodiment.
[0017] FIG. 2 is a drawing illustrating a NAN cluster according to one embodiment.
[0018] FIG. 3 is a diagram illustrating a protocol for transmitting signals of electronic devices included in a NAN cluster according to one embodiment.
[0019] FIG. 4 is a diagram illustrating an example of data transmission and / or reception within a NAN cluster according to one embodiment.
[0020] FIG. 5 is a block diagram of an electronic device for wireless LAN communication according to one embodiment.
[0021] FIG. 6 is a flowchart for performing NAN data communication in an electronic device according to one embodiment.
[0022] FIG. 7 is an example of performing NAN data communication using a plurality of NDPs with an external electronic device in an electronic device according to one embodiment.
[0023] FIG. 8 is a flowchart for performing NAN data communication through a plurality of NDPs with an external electronic device in an electronic device according to one embodiment.
[0024] FIG. 9 is a flowchart for setting up a plurality of NDPs with an external electronic device in an electronic device according to one embodiment.
[0025] FIG. 10 is a flowchart for setting up a plurality of NDPs with an external electronic device in an electronic device according to one embodiment.
[0026] FIG. 11 is a flowchart for performing NAN data communication using a plurality of TCP streams in an electronic device according to one embodiment.
[0027] FIG. 12 is an example of performing NAN data communication using a plurality of TCP streams with an external electronic device in an electronic device according to one embodiment.
[0028] FIG. 13 is a flowchart for updating the number of multiple TCP streams set with an external electronic device in an electronic device according to one embodiment.
[0029] The following embodiments are described in detail with reference to the attached drawings.
[0030] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to one embodiment. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or may communicate with at least one of an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through the server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input module (150), sound output module (155), display module (160), audio module (170), sensor module (176), interface (177), connection terminal (178), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., connection terminal (178)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (176), camera module (180), or antenna module (197)) may be integrated into a single component (e.g., display module (160)).
[0031] The processor (120) can control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., a program (140)), and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor). For example, if the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.
[0032] The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)). According to one embodiment, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of these, but is not limited to the examples mentioned above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.
[0033] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).
[0034] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0035] The input module (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input module (150) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0036] The sound output module (155) can output a sound signal to the outside of the electronic device (101). The sound output module (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.
[0037] The display module (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by the touch.
[0038] The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150) or output sound through the sound output module (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (101).
[0039] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0040] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0041] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0042] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that can be perceived by the user through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.
[0043] The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0044] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).
[0045] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0046] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, Wi-Fi Direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).
[0047] The wireless communication module (192) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. The NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (192) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate (or throughput), for example. The wireless communication module (192) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), external electronic device (e.g., electronic device (104)), or network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) may support a peak data rate for eMBB realization (e.g., 20 Gbps or more), loss coverage for mMTC realization (e.g., 164 dB or less), or U-plane latency for URLLC realization (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less).According to one embodiment, the subscriber identification module (196) may include a plurality of subscriber identification modules. For example, the plurality of subscriber identification modules may store different subscriber identification information.
[0048] An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).
[0049] According to one embodiment, the antenna module (197) may form a high frequency (e.g., mmWave) antenna module. According to one embodiment, the high frequency (e.g., mmWave) antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band. For example, the plurality of antennas may include a patch array antenna and / or a dipole array antenna.
[0050] At least some of the components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.
[0051] According to one embodiment, commands or data may be transmitted or received between an electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In one embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and / or neural networks. According to one embodiment, the external electronic device (104) or the server (108) may be included within a second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0052] An electronic device according to one embodiment disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiment of this document is not limited to the aforementioned devices.
[0053] The embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.
[0054] As used in one embodiment of this document, the term “module” may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0055] One embodiment of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.
[0056] A method according to one embodiment disclosed in this document may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or an application store (e.g., Play Store). TM It can be distributed online (e.g., downloaded or uploaded) through ) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0057] According to one embodiment, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to one embodiment, one or more of the components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to one embodiment, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0058] FIG. 2 is a diagram illustrating a neighborhood awareness network (NAN) cluster according to one embodiment.
[0059] According to one embodiment, FIG. 2 may illustrate an example configuration of a neighbor awareness networking (NAN) cluster (200) for a neighborhood network. For example, the NAN cluster (200) may mean a set of electronic devices (101, 210, 220 and / or 230) that have formed a neighborhood network so that each electronic device (or NAN device) (101, 210, 220 and / or 230) can transmit and / or receive data from each other.
[0060] According to one embodiment, a NAN cluster (200) may be composed of a plurality of electronic devices (101, 210, 220 and / or 230). The electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) may transmit and / or receive a beacon (or synchronization beacon, discovery beacon), a service discovery frame (SDF) and / or a NAN action frame (NAF) within a synchronized time duration (or communication duration) (e.g., a discovery (or discovery, discovery) window (DW)).
[0061] According to one embodiment, electronic devices (101, 210, 220 and / or 230) within a NAN cluster (200) may have their time clocks synchronized with one another. For example, the electronic devices (101, 210, 220 and / or 230) may be synchronized based on the time clock of one electronic device (e.g., electronic device (101)) and may transmit and / or receive beacons, SDFs and / or NAFs in a synchronized (or identical) discovery window (DW).
[0062] According to one embodiment, an electronic device (101) supporting NAN-based low-power short-range communication technology may broadcast a search signal (e.g., beacon) to discover at least one of the external electronic devices (210, 220 and / or 230) at a preset first period (e.g., about 100 msec). The electronic device (101) may perform scanning at a preset second period (e.g., about 10 msec) to receive a search signal broadcast from at least one of the external electronic devices (210, 220 and / or 230).
[0063] According to one embodiment, an electronic device (101) can detect at least one of an external electronic device (210, 220 and / or 230) located around the electronic device (101) based on a search signal received through scanning. The electronic device (101) can perform NAN cluster synchronization with at least one of the external electronic device (210, 220 and / or 230) detected as being located around the electronic device (101). NAN cluster synchronization may include receiving time clock information of an electronic device (e.g., electronic device (101)) representing the NAN cluster so that the electronic devices (101, 210, 220 and / or 230) included in the NAN cluster transmit and / or receive data on the same channel and / or at the same time.
[0064] According to one embodiment, each of a plurality of electronic devices (101, 210, 220 and / or 230) can form a single NAN cluster (200) that operates according to a synchronized time clock by transmitting a beacon and receiving a beacon from other electronic devices (101, 210, 220 and / or 230). The electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) can perform NAN cluster synchronization (e.g., time and / or channel synchronization).
[0065] According to one embodiment, NAN cluster synchronization may be performed based on the time and channel of the electronic device (e.g., electronic device (101)) having the highest master preference within the NAN cluster (200). For example, electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) formed through discovery may exchange signals regarding master preference information indicating a preference for acting as an anchor master device. The electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) may determine the electronic device (e.g., electronic device (101)) having the highest master preference as the anchor master device (or master electronic device) through signals related to the master preference information.
[0066] According to one embodiment, an anchor master device (e.g., electronic device (101)) may refer to an electronic device that serves as the reference for time and channel synchronization of electronic devices (101, 210, 220 and / or 230) included in a NAN cluster (200). The anchor master device may change according to the master preference of the electronic devices (101, 210, 220 and / or 230). Each of the time and channel synchronized electronic devices (101, 210, 220 and / or 230) may transmit beacons and / or SDFs and receive beacons and SDFs from other electronic devices (101, 210, 220 and / or 230) within the NAN cluster (200) within a discovery window (or search interval) that repeats according to a preset period. For example, beacons may be transmitted and / or received periodically during each discovery window to maintain time and channel synchronization of electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200). SDF may be transmitted and / or received during the discovery window as needed to provide services to the discovered electronic devices (101, 210, 220 and / or 230). For example, among the electronic devices (101, 210, 220 and / or 230) with time and channel synchronization, an electronic device acting as an anchor master device (e.g., electronic device (101)) may transmit a beacon (e.g., discovery beacon) to detect a new electronic device during the interval between discovery windows.
[0067] According to one embodiment, each of the electronic devices (101, 210, 220 and / or 230) synchronized with a NAN cluster (e.g., time and / or channel synchronization) can transmit a NAN action frame (NAF) within a discovery window (or search interval) that repeats according to a preset period, and can receive an NAF from other electronic devices (101, 210, 220 and / or 230) within the NAN cluster (200). For example, the NAF may include at least one of information related to the setup of a NAN data path (NDP: NAN data path) to enable data communication in intervals between discovery windows, information related to scheduling updates, or information related to NAN ranging. For example, the NAF may control the scheduling of wireless resources for the coexistence of NAN operations and non-NAN operations (e.g., Wi-Fi Direct, mesh, IBSS, WLAN, Bluetooth, or NFC). NAF may include time and / or channel information for NAN communication availability.
[0068] According to one embodiment, each of the electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) operates in an active state only during the discovery window, and operates in a low-power state (e.g., sleep state) during the remaining period outside the discovery window, thereby reducing current consumption.
[0069] According to one embodiment, the discovery window is the time (e.g., milliseconds) during which the electronic device (101, 210, 220, or 230) is in an active state (or wake state), and while a large amount of current is consumed, the electronic device (101, 210, 220, or 230) maintains a sleep state during periods other than the discovery window, thereby enabling low-power discovery.
[0070] According to one embodiment, electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) can be simultaneously activated at the start of a synchronized discovery window (e.g., DW start) and simultaneously switched to a sleep state at the end of a discovery window (e.g., DW end).
[0071] According to one embodiment, each of the electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) can transmit and / or receive data in the discovery window interval as well as in the interval between the discovery windows. The electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) can perform additional communication by setting an active time slot in the interval between the discovery windows. For example, the electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) can transmit and / or receive SDF that was not transmitted and / or received within the discovery window interval through the active time slot. For example, electronic devices (101, 210, 220 and / or 230) included in the NAN cluster (200) can perform NAN communication and / or non-NAN communication during the active time slot by setting (or specifying) a NAN communication operation period and / or a Non-NAN communication operation period during the active time slot.
[0072] According to one embodiment, electronic devices (101, 210, 220 and / or 230) included in a NAN cluster (200) can perform discovery, synchronization, and / or data exchange operations using the protocol illustrated in FIG. 3 described below.
[0073] FIG. 3 is a diagram illustrating a protocol for transmitting signals of electronic devices included in a NAN cluster according to one embodiment. According to one embodiment, FIG. 3 may represent an example diagram of a discovery window. FIG. 3 may illustrate, as an example, that electronic devices (e.g., electronic devices (101, 210, 220 and / or 230)) included in a single NAN cluster (e.g., NAN cluster (200) of FIG. 2) transmit signals through a specific channel (e.g., channel 6 (Ch6) and / or channel 149 (CH149)) based on NAN standards.
[0074] According to one embodiment with reference to FIG. 3, electronic devices (101, 210, 220 and / or 230) included in one NAN cluster (e.g., NAN cluster (200) of FIG. 2) can transmit a synchronization beacon (310) and an SDF (320) in a synchronized discovery window (DW) (325). In a period (340) other than the discovery window (325) (e.g., an interval between discovery windows), a discovery beacon (330) can be transmitted by at least one electronic device (101, 210, 220 and / or 230). For example, electronic devices (101, 210, 220 and / or 230) may transmit synchronous beacons (310) and SDFs (320) on a contention basis. For example, synchronous beacons (310) and SDFs (320) may be transmitted on a contention basis between each electronic device (101, 210, 220 and / or 230) belonging to a NAN cluster (e.g., NAN cluster (200) of FIG. 2).
[0075] According to one embodiment, electronic devices (101, 210, 220 and / or 230) included in a single NAN cluster (e.g., NAN cluster (200) of FIG. 2) may transmit and / or receive an NAF in a discovery window (DW) (325). For example, the NAF may include at least one of information related to the setup of a NAN data path (NDP), information related to scheduling updates, or information related to NAN ranging, so as to enable data communication in the interval (340) between discovery windows (325).
[0076] According to one embodiment, the discovery window (325) may be a period during which the electronic devices (101, 210, 220 and / or 230) are activated from a communication standby state (e.g., sleep state) in a power-saving mode to a communication state (e.g., wake-up state) for data exchange between each electronic device (101, 210, 220 and / or 230). For example, the discovery window (325) may be divided into time units (TU, time unit) in milliseconds. For example, the discovery window (325) for transmitting and / or receiving the synchronization beacon (310) and SDF (320) may occupy 16 time units (TUs) (16 TUs) and may have a cycle (or interval) that repeats for 512 time units (512 TUs).
[0077] According to one embodiment, the discovery beacon (330) may represent a signal transmitted to enable other electronic devices that have not joined the NAN cluster (e.g., the NAN cluster (200) of FIG. 2) to discover the NAN cluster (e.g., the NAN cluster (200) of FIG. 2). For example, the discovery beacon (330) is a signal to announce the presence of the NAN cluster, and electronic devices that have not joined the NAN cluster can discover and join the NAN cluster by performing a passive scan and receiving the discovery beacon (330).
[0078] According to one embodiment, the discovery beacon (330) may include information necessary to synchronize with a NAN cluster (e.g., the NAN cluster (200) of FIG. 2). For example, the discovery beacon (330) may include at least one of a frame control (FC) field indicating the function (e.g., beacon) of the signal, a broadcast address, a media access control (MAC) address of the transmitting electronic device, a cluster identifier (ID), a sequence control field, a time stamp for the beacon frame, a beacon interval indicating the transmission interval of the discovery beacon (330), or capability information for the electronic device transmitting the discovery beacon (330).
[0079] According to one embodiment, the discovery beacon (330) may include at least one information element related to a proximity network (or NAN cluster). In one embodiment, the proximity network information may be referred to as attribute information.
[0080] According to one embodiment, a synchronization beacon (310) may represent a signal for maintaining synchronization between synchronized electronic devices (101, 210, 220 and / or 230)) within a NAN cluster (e.g., NAN cluster (200) of FIG. 2). The synchronization beacon (310) may be transmitted by a synchronization device among the electronic devices (101, 210, 220 and / or 230) within the NAN cluster. For example, the synchronization device may include an anchor master device, a master device, or a non-master sync device as defined in the NAN specification.
[0081] According to one embodiment, the synchronization beacon (310) may include information necessary for electronic devices (101, 210, 220 and / or 230) to synchronize within a NAN cluster (e.g., NAN cluster (200) of FIG. 2). For example, the synchronization beacon (310) may include at least one of an FC field indicating the function of the signal (e.g., beacon), a broadcast address, a MAC address of the transmitting electronic device, a cluster identifier, a sequence control field, a timestamp for the beacon frame, a beacon interval indicating the interval between the start points of the discovery window (325), or capability information for the transmitting electronic device. According to one embodiment, the synchronization beacon (310) may include at least one proximity network (or cluster) related information element. For example, the proximity network related information may include contents for services provided through the proximity network.
[0082] According to one embodiment, the SDF (320) may represent a signal for exchanging data through a proximity network. For example, the SDF (320) may represent a vendor-specific public action frame and may include various fields. For example, the SDF (320) may include a category or action field and may include at least one proximity network-related information.
[0083] According to one embodiment, the synchronous beacon (310), SDF (320), and discovery beacon (330) may include proximity network-related information. For example, the proximity network-related information may include an identifier indicating the type of information, the length of the information, and a body field which is the corresponding information. For example, the corresponding information may include at least one of master indication information, cluster information, service identifier list information, service descriptor information, connectivity capability information, wireless LAN infrastructure information, peer-to-peer (P2P) operation information, independent basic service set (IBSS) information, mesh information, additional proximity network service discovery information, further availability map information, country code information, ranging information, cluster discovery information, or vendor-specific information.
[0084] FIG. 4 is a diagram illustrating an example of data transmission and / or reception within a NAN cluster according to one embodiment.
[0085] According to one embodiment, FIG. 4 may illustrate an example in which an electronic device (101), an external electronic device 1 (210), and an external electronic device 2 (220) form a single NAN cluster (e.g., the NAN cluster (200) of FIG. 2) through wireless short-range communication technology. For example, each of the electronic devices (101, 210 and / or 220) may transmit and / or receive beacons, SDFs and / or NAFs to and from each other. For example, FIG. 4 may describe an example in which the electronic device (101) among the electronic devices (101, 210 and / or 220) constituting the NAN cluster performs the role of a master device.
[0086] According to one embodiment, an electronic device (101) may transmit a beacon, SDF, and / or NAF within a discovery window (450). The electronic device (101) may broadcast a beacon, SDF, and / or NAF within a discovery window (450) that is repeated at preset intervals (e.g., interval (460)).
[0087] According to one embodiment, external electronic device 1 (210) and external electronic device 2 (220) can receive beacons, SDFs, and / or NAFs transmitted by the electronic device (101). According to one embodiment, each of external electronic device 1 (210) and external electronic device 2 (220) can receive beacons, SDFs, and / or NAFs broadcast (or transmitted) by the electronic device (101) within a discovery window (450).
[0088] According to one embodiment, a beacon transmitted within a discovery window (450) may include a synchronization beacon and may include information for maintaining synchronization between electronic devices (101, 210 and / or 220). For example, at least one of external electronic device 1 (210) or external electronic device 2 (220) may perform NAN cluster synchronization based on the time clock information of the electronic device (101) included in the beacon transmitted by the electronic device (101) operating as a master device. At least one of external electronic device 1 (210) or external electronic device 2 (220) may be synchronized based on the time clock information of the electronic device (101) so as to recognize the discovery window (450) at the same time.
[0089] According to one embodiment, in a period other than the discovery window (450) (e.g., interval (460)), electronic devices (101, 210 and / or 220) may maintain a communication standby state (e.g., sleep state) to reduce current consumption. For example, electronic devices (101, 210 and / or 220) may reduce current consumption by operating in a communication state (e.g., wake state) only during the discovery window (450) period based on a synchronized time clock.
[0090] According to one embodiment, in a period other than the discovery window (450) (e.g., interval (460)), electronic devices (101, 210 and / or 220) can perform additional communication by setting an active time slot. For example, electronic devices (101, 210 and / or 220) can transmit and / or receive SDF that was not transmitted and / or received within the discovery window (450) period through the active time slot. For example, electronic devices (101, 210 and / or 220) can perform Wi-Fi legacy connection or discovery operations through the active time slot by specifying operations for Wi-Fi Direct, mesh, IBSS, WLAN, Bluetooth, or NFC connection in the active time slot.
[0091] In the following description, the electronic device (101) performs a scan based on the second wireless LAN protocol in cooperation with an external electronic device 1 (210), but is not limited thereto, and can perform a scan based on the second wireless LAN protocol in cooperation with a plurality of external electronic devices.
[0092] FIG. 5 is a block diagram of an electronic device for wireless LAN communication according to one embodiment. For example, the electronic device (101) of FIG. 5 may be at least partially similar to the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, or FIG. 4, or may include other embodiments of the electronic device. For example, an external electronic device may include the same components as the electronic device (101) of FIG. 5 or at least partially similar components.
[0093] According to one embodiment with reference to FIG. 5, the electronic device (101) may include at least one of a processor (500), a communication circuit (510), or a memory (520). For example, the processor (500) may be substantially identical to the processor (120) of FIG. 1 or may be included in the processor (120). The communication circuit (510) may be substantially identical to the wireless communication module (192) of FIG. 1 or may be included in the wireless communication module (192). The memory (520) may be substantially identical to the memory (130) of FIG. 1 or may be included in the memory (130). For example, the processor (500) may include at least one of an application processor or a communication processor. For example, the processor (500) may be operatively, functionally, and / or electrically connected to at least one of the communication circuit (510) or the memory (520). For example, the processor (500) may include at least one processor including a processing circuit.
[0094] According to one embodiment, the processor (500) can identify an external electronic device for neighbor awareness networking (NAN) data communication. For example, when an event related to NAN data communication is detected, the processor (500) can identify whether there is an external electronic device for performing NAN data communication with the electronic device (101) by using a service discovery frame (SDF) transmitted and / or received through a discovery window (DW) (e.g., DW (325) in FIG. 3 or DW (450) in FIG. 4). For example, when an event related to NAN data communication is detected, the processor (500) can identify whether there is an external electronic device for performing NAN data communication with the electronic device (101) via out-of-band (OOB) communication. For example, an event related to NAN data communication may include at least one of the execution of an application program or function related to NAN data communication, the reception of an input related to NAN data communication (e.g., touch input or gesture input), or the reception of a control signal related to NAN data communication. For example, OOB communication may be a communication method different from NAN communication, and may include at least one of Bluetooth, BLE (Bluetooth Low Energy), NFC (near field communication), QR (quick response), or a wireless LAN protocol different from NAN communication (e.g., Wi-Fi legacy, Wi-Fi direct (or Wi-Fi P2P), or mobile hotspot).
[0095] For example, the processor (500) may control the output circuit (e.g., display) of the electronic device (101) to output information related to at least one external electronic device when at least one external electronic device capable of performing NAN data communication with the electronic device (101) is detected. The processor (500) may identify (or select) the external electronic device for performing NAN data communication with the electronic device (101) based on user input corresponding to the information related to at least one external electronic device output to the output circuit of the electronic device (101). For example, the information related to the external electronic device is identified via SDF or OOB communication and may include at least one of identification information (e.g., name) of the external electronic device or the address of the external electronic device.
[0096] According to one embodiment, the processor (500) can check information related to NAN data communication of an external electronic device for performing NAN data communication. For example, the information related to NAN data communication may include at least one of EHT (extremely high throughput) based NDP (NAN data path) support information, wireless LAN mode (or Wi-Fi mode), available transmission bandwidth, or the number of additional connectable NDPs.
[0097] For example, the processor (500) may control the communication circuit (510) to transmit (or broadcast) an SDF containing information related to the NAN data communication of the electronic device (101) within the discovery window when an event related to NAN data communication is detected. When the processor (500) receives an SDF from an external electronic device within the discovery window, it may determine that the external electronic device is capable of NAN data communication with the electronic device. The processor (500) may verify information related to the NAN data communication of the external electronic device in the SDF received from the external electronic device.
[0098] For example, the processor (500) may control the communication circuit (510) to transmit (or broadcast) an OOB request message containing information related to the NAN data communication of the electronic device (101) when an event related to NAN data communication is detected. When the processor (500) receives an OOB response message corresponding to the OOB request message from an external electronic device, it may determine that the external electronic device is capable of NAN data communication with the electronic device. The processor (500) may verify information related to the NAN data communication of the external electronic device in the OOB response message received from the external electronic device.
[0099] According to one embodiment, the processor (500) can set up (or establish) a plurality of NDPs for NAN data communication with an external electronic device. For example, the plurality of NDPs may be distinguished by different identification information (e.g., NDP ID) and may use different NDIs (NAN data interface addresses). For example, the plurality of NDPs may use different IP (internet protocol) addresses.
[0100] For example, the processor (500) can determine whether specified NDP setting conditions are satisfied based on information related to NAN data communication of the electronic device (101) and information related to NAN data communication of the external electronic device. For example, a state satisfying specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device support EHT-based NDPs and additionally connect multiple NDPs. For example, a state satisfying specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device support EHT-based NDPs, support a specified transmission bandwidth (e.g., about 320 MHz), and additionally connect multiple NDPs. For example, a state not satisfying specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device do not support EHT-based NDPs, do not support a specified transmission bandwidth (e.g., about 320 MHz), or additionally cannot connect multiple NDPs. For example, a state supporting a specified transmission bandwidth (e.g., about 320 MHz) may include a state where a transmission bandwidth greater than the reference bandwidth (e.g., about 320 MHz) specified for NAN data communication is available.
[0101] For example, the processor (500) may set up multiple NDPs with an external electronic device when it determines that the specified NDP setting conditions are satisfied. For example, the processor (500) may control the communication circuit (510) to sequentially perform the setting for each of the multiple NDPs. For example, the NDP may be set up by sending and / or receiving messages (e.g., an NDP setting request message and an NDP setting response message) related to the NDP setting of the electronic device (101) and the external electronic device within the discovery window.
[0102] For example, the processor (500) can control the communication circuit (510) to perform a setting for one of the representative NDPs when multiple NDPs use the same wireless resource (or the same schedule) (e.g., time resource and / or frequency resource (or channel resource)). The processor (500) can set at least one remaining NDP among the multiple NDPs, excluding the representative NDP, based on the setting information of the representative NDP, by sharing information related to the multiple NDPs with an external electronic device. For example, the at least one remaining NDP may be set based on the setting information of the representative NDP without using a message related to NDP setting. For example, information related to the multiple NDPs may be shared through a message related to NDP setting or a separate message (e.g., a NAN action frame). For example, the number of multiple NDPs set with the external electronic device may include the number of NDPs that are additionally settable in the electronic device (101) and the number of NDPs that are additionally settable in the external electronic device, or a portion of the number of NDPs that are smaller. For example, the number of multiple NDPs configured with the external electronic device can be configured based on the transmission bandwidth (e.g., about 80 MHz, about 160 MHz, or about 320 MHz) or frequency band (e.g., about 2.4 GHz, about 5 GHz, or about 6 GHz) available for NAN data communication in the electronic device (101) and the external electronic device.
[0103] For example, if the processor (500) determines that the specified NDP setting conditions are not satisfied, it may set an NDP (or one NDP) for NAN data communication with an external electronic device.
[0104] According to one embodiment, the processor (500) may configure a plurality of streams (or TCP streams) corresponding to a plurality of NDPs. For example, the processor (500) may generate a TCP stream corresponding to each NDP by assigning a different TCP (transmission control protocol) port to each of the plurality of NDPs based on stream configuration information. For example, the stream configuration information may be predefined. For example, the stream configuration information may be shared with an external electronic device through a NAN message (e.g., SDF or NAF (NAN action frame)), an OOB message, or a data message through the NDP. For example, a data message through the NDP may include a layer 3 protocol message including at least one of UPnP (universal plug and play), Bonjour, or mDNS (multicast domain name system). For example, the stream configuration information may include at least one of the number of TCP streams created for NAN data communication or port information (e.g., port number) to be used for each stream. For example, some of the stream configuration information (e.g., port information to be used for the stream) may be shared with external electronic devices along with information related to NAN data communication.
[0105] According to one embodiment, the processor (500) can control the communication circuit (510) to transmit data to an external electronic device through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs. For example, data may be distributed to correspond to a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs and transmitted to the external electronic device in parallel. For example, data may be transmitted to the external electronic device through the same wireless resource (or schedule) through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs. For example, the processor (500) can control the communication circuit (510) to perform NAN data communication with the external electronic device through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs with the external electronic device.
[0106] According to one embodiment, the processor (500) can set up (or establish) an NDP for NAN data communication with an external electronic device. For example, the processor (500) can control the communication circuit (510) to set up an NDP with an external electronic device using messages related to the NDP setup transmitted and / or received with the external electronic device within a discovery window (e.g., an NDP setup request message and an NDP setup response message).
[0107] According to one embodiment, the processor (500) can determine the number of streams for NAN data communication with an external electronic device. For example, the number of streams for NAN data communication with an external electronic device may be set to a specified value related to the use of an EHT-based NDP. For example, the number of streams for NAN data communication with an external electronic device may be set based on at least one of the transmission bandwidth, channel state, TCP window size, or frequency band allocated to NAN data communication. For example, the number of streams for NAN data communication with an external electronic device may be set by conditions other than the transmission bandwidth or frequency band. For example, the channel state may include a transmission speed (or link-level speed) estimated based on at least one of the transmission bandwidth, frequency channel, or wireless LAN mode of the NDP.
[0108] According to one embodiment, the processor (500) may configure a plurality of streams (or TCP streams) that match the NDP with an external electronic device. For example, the processor (500) may generate a plurality of TCP (transmission control protocol) ports corresponding to the NDP by allocating a plurality of TCP (transmission control protocol) ports to the NDP with the external electronic device based on stream configuration information. For example, the stream configuration information may be predefined. For example, the stream configuration information may be shared with the external electronic device through a NAN message (e.g., SDF or NAF (NAN action frame)), an OOB message, or a data message via NDP. For example, the data message via NDP may include a layer 3 protocol message including at least one of UPnP (universal plug and play), Bonjour, or mDNS (multicast domain name system). For example, the stream configuration information may include at least one of the number of TCP streams created for NAN data communication or port information (e.g., port number) to be used for each stream. For example, some of the stream configuration information (e.g., port information to be used for the stream) may be shared with external electronic devices along with information related to NAN data communication.
[0109] According to one embodiment, the processor (500) can control the communication circuit (510) to transmit data to an external electronic device through a plurality of streams (e.g., TCP streams) mapped to an NDP with the external electronic device. For example, the data may be distributed to correspond to a plurality of streams (e.g., TCP streams) mapped to an NDP with the external electronic device and transmitted in parallel. For example, the processor (500) can control the communication circuit (510) to perform NAN data communication with the external electronic device through a plurality of streams (e.g., TCP streams) mapped to an NDP with the external electronic device.
[0110] According to one embodiment, the processor (500) can determine the number of streams for NAN data communication with the external electronic device when it determines that a specified stream update condition is satisfied during NAN data communication with the external electronic device through a plurality of streams (e.g., TCP streams) mapped to NDP with the external electronic device. For example, the processor (500) can determine that a specified stream update condition is satisfied when the transmission bandwidth for NAN data communication changes during NAN data communication with the external electronic device. For example, the processor (500) can determine that a specified stream update condition is satisfied when the frequency band for NAN data communication changes during NAN data communication with the external electronic device. For example, the processor (500) can determine that a specified stream update condition is satisfied when the channel state (e.g., transmission speed) for NAN data communication changes above a specified reference value during NAN data communication with the external electronic device. For example, the channel state may include an estimated transmission speed (or link-level speed) based on at least one of the transmission bandwidth, frequency channel, or wireless LAN mode of the NDP.
[0111] For example, the processor (500) may determine that the specified stream update condition is not satisfied if, while performing NAN data communication with an external electronic device, the transmission bandwidth and frequency band for NAN data communication are maintained and the channel state for NAN data communication (e.g., transmission speed) changes to less than a specified reference value.
[0112] For example, if the processor (500) determines that a specified stream update condition is satisfied, it can determine the number of streams for NAN data communication with an external electronic device based on at least one of the transmission bandwidth, channel state, TCP window size, or frequency band allocated to NAN data communication.
[0113] According to one embodiment, when the number of streams for NAN data communication with an external electronic device is updated, the processor (500) may set a plurality of streams (or TCP streams) that match the NDP with the external electronic device. For example, the processor (500) may generate a plurality of TCP streams corresponding to the NDP by allocating a plurality of TCP ports corresponding to the number of streams updated in the NDP with the external electronic device based on stream setting information. For example, updating the number of streams may include a series of operations to update the number of streams to be used for NAN data communication with the external electronic device to a value different from the number of streams currently being used for NAN data communication with the external electronic device.
[0114] According to one embodiment, the processor (500) can control the communication circuit (510) to transmit data to an external electronic device through a plurality of streams (e.g., TCP streams) newly mapped to the NDP with the external electronic device. For example, the data may be distributed to correspond to the plurality of streams (e.g., TCP streams) mapped to the NDP with the external electronic device and transmitted in parallel. For example, the processor (500) can control the communication circuit (510) to perform NAN data communication with the external electronic device through a plurality of streams (e.g., TCP streams) mapped to the NDP with the external electronic device.
[0115] According to one embodiment, the communication circuit (510) may support wireless LAN communication between the electronic device (101) and an external electronic device (e.g., the external electronic device (210, 220 and / or 230) of FIG. 2, FIG. 3 or FIG. 4). For example, the communication circuit (510) may support NAN communication (or NAN data communication) between the electronic device (101) and the external electronic device.
[0116] According to one embodiment, the memory (520) can store various data used by at least one component of the electronic device (101) (e.g., processor (500) or communication circuit (510)). For example, the memory (520) can store various instructions that can be executed through the processor (500). For example, the instructions can be executed individually or collectively by the processor (500) (e.g., at least one processor).
[0117] According to one embodiment, an electronic device (e.g., the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, FIG. 5 or FIG. 6) may include a communication circuit that supports wireless LAN communication (e.g., the wireless communication module (192) of FIG. 1 or the communication circuit (510) of FIG. 5), at least one processor including a processing circuit (e.g., the processor (120) of FIG. 1 or the processor (500) of FIG. 5), and a memory that stores instructions (e.g., the memory (130) of FIG. 1 or the memory (520) of FIG. 5). According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to detect an external electronic device for NAN (neighbor awareness networking) data communication based on the execution of an application related to NAN data communication (e.g., the external electronic device (210, 220 and / or 230) of FIG. 2, FIG. 3 or FIG. 4 or the external electronic device (700) of FIG. 7). According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to check information related to the NAN data communication of the external electronic device. According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to establish a plurality of NDP links with the external electronic device if it is determined that the information related to the NAN data communication of the electronic device and the information related to the NAN data communication of the external electronic device satisfy specified NDP setting conditions. According to one embodiment, the instructions may include instructions that cause an electronic device to set up a plurality of streams corresponding to a plurality of NDP links when executed individually or collectively by at least one processor.According to one embodiment, the instructions may include instructions that cause an electronic device to transmit data to an external electronic device through a plurality of streams when executed individually or collectively by at least one processor.
[0118] According to one embodiment, the instructions may include instructions that cause an electronic device to identify information related to NAN data communication of an external electronic device through a service discovery frame (SDF) when executed individually or collectively by at least one processor.
[0119] According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause an electronic device to check information related to NAN data communication of an external electronic device through OOB (out of band) communication.
[0120] According to one embodiment, information related to NAN data communication may include at least one of EHT-based NDP support information, a wireless LAN mode, a transmission bandwidth available for NAN data communication, or the number of additional connectable NDPs.
[0121] According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, determine that the electronic device satisfies a specified NDP setting condition when the transmission bandwidth supported by the electronic device and the external electronic device is greater than or equal to a specified reference bandwidth and the electronic device and the external electronic device determine that a plurality of NDPs can be additionally connected.
[0122] According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to determine the number of NDPs to be used for NAN data communication with the external electronic device based on the number of additionally connectable NDPs between the electronic device and the external electronic device. According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to establish a plurality of NDP links with the external electronic device corresponding to the number of determined NDPs.
[0123] According to one embodiment, the instructions may include instructions for sequentially setting up each NDP with an external electronic device when the electronic device determines to use a plurality of NDPs for NAN data communication with an external electronic device when executed individually or collectively by at least one processor.
[0124] According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to transmit information related to a plurality of NDPs to an external electronic device when a plurality of NDPs to be used for NAN data communication with an external electronic device use the same wireless resource. According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause the electronic device to set one of the plurality of NDPs based on the exchange of messages related to NDP setting with an external electronic device. According to one embodiment, the remaining NDPs among the plurality of NDPs may be set based on the setting information of one of the NDPs.
[0125] According to one embodiment, the instructions may include instructions that, when executed individually or collectively by at least one processor, cause an electronic device to set up multiple TCP streams corresponding to multiple NDP links by assigning different TCP ports to each of the multiple NDP links.
[0126] FIG. 6 is a flowchart (600) for performing NAN data communication in an electronic device according to one embodiment. In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. For example, the electronic device of FIG. 6 and FIG. 7 may be the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, or FIG. 5. For example, at least part of FIG. 6 may be described with reference to FIG. 7. FIG. 7 is an example of performing NAN data communication using a plurality of NDPs with an external electronic device in an electronic device according to one embodiment.
[0127] According to one embodiment with reference to FIGS. 6 and 7, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120) of FIG. 1 or processor (500) of FIG. 5) may, in operation 601, identify an external electronic device (e.g., external electronic device (210, 220 and / or 230) of FIG. 2, FIG. 3 or FIG. 4) for neighbor awareness networking (NAN) data communication with the electronic device (101). For example, if an event related to NAN data communication is detected, the processor (500) may control a communication circuit (510) to transmit (or broadcast) an SDF containing information related to NAN data communication of the electronic device (101) within a discovery window. If the processor (500) receives an SDF from an external electronic device within a discovery window, it may determine that the external electronic device is capable of NAN data communication with the electronic device. For example, an event related to NAN data communication may include at least one of the execution of an application program or function related to NAN data communication, the reception of an input related to NAN data communication (e.g., touch input or gesture input), or the reception of a control signal related to NAN data communication.
[0128] For example, the processor (500) may control the communication circuit (510) to transmit (or broadcast) an OOB request message containing information related to the NAN data communication of the electronic device (101) when an event related to NAN data communication is detected. When the processor (500) receives an OOB response message corresponding to the OOB request message from an external electronic device, it may determine that the external electronic device is capable of NAN data communication with the electronic device. For example, OOB communication may be a communication method different from NAN communication and may include at least one of Bluetooth, BLE, NFC, QR, or a wireless LAN protocol different from NAN communication (e.g., Wi-Fi legacy, Wi-Fi direct (or Wi-Fi P2P) or mobile hotspot).
[0129] For example, the processor (500) may control the output circuit (e.g., display) of the electronic device (101) to output information related to at least one external electronic device when at least one external electronic device capable of performing NAN data communication with the electronic device (101) is detected. The processor (500) may identify (or select) the external electronic device for performing NAN data communication with the electronic device (101) based on user input corresponding to the information related to at least one external electronic device output to the output circuit of the electronic device (101).
[0130] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 603, check information related to the NAN data communication of an external electronic device for performing NAN data communication. For example, the processor (500) may check information related to the NAN data communication of an external electronic device in an SDF received from an external electronic device. For example, the SDF received from an external electronic device may include information related to the external electronic device. For example, the information related to the external electronic device may include at least one of identification information of the external electronic device (e.g., name) or the address of the external electronic device.
[0131] For example, the processor (500) can identify information related to the NAN data communication of an external electronic device in an OOB response message received from an external electronic device. For example, the OOB response message received from an external electronic device may include information related to the external electronic device. For example, the information related to NAN data communication may include at least one of EHT (extremely high throughput) based NDP (NAN data path) support information, wireless LAN mode (or Wi-Fi mode), available transmission bandwidth, or the number of additional connectable NDPs.
[0132] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may set up (or establish) a plurality of NDPs for NAN data communication with an external electronic device in operation 605. For example, the plurality of NDPs may be distinguished by different identification information (e.g., NDP ID 1 (710), NDP ID 2 (720), NDP ID 3 (730) and NDP ID 4 (740)) and may use different NDI (NAN data interface address). For example, the plurality of NDPs may use different IP (internet protocol) addresses.
[0133] For example, the processor (500) can determine whether specified NDP setting conditions are satisfied based on information related to NAN data communication of the electronic device (101) and information related to NAN data communication of the external electronic device. For example, a state satisfying specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device support EHT-based NDPs and additionally connect multiple NDPs. For example, a state satisfying specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device support EHT-based NDPs, support a specified transmission bandwidth (e.g., about 320 MHz), and additionally connect multiple NDPs. For example, a state not satisfying specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device do not support EHT-based NDPs, do not support a specified transmission bandwidth (e.g., about 320 MHz), or additionally cannot connect multiple NDPs.
[0134] For example, the processor (500) may set up multiple NDPs with an external electronic device when it determines that specified NDP setting conditions are satisfied. For example, the processor (500) may control the communication circuit (510) to sequentially perform settings for each of the multiple NDPs. For example, an NDP may be set up by transmitting and / or receiving messages (e.g., an NDP setting request message and an NDP setting response message) related to the NDP settings of the electronic device (101) and the external electronic device within a discovery window. For example, if multiple NDPs use the same wireless resource (or the same schedule) (e.g., a time resource and / or a frequency resource (or channel resource)), the processor (500) may control the communication circuit (510) to perform settings for a representative NDP among the multiple NDPs. By sharing information related to the multiple NDPs with the external electronic device, the processor (500) may set up at least one remaining NDP among the multiple NDPs, excluding the representative NDP, based on the setting information of the representative NDP. For example, at least one remaining NDP may be configured based on the configuration information of the representative NDP without using messages related to NDP configuration. For example, information related to multiple NDPs may be shared through messages related to NDP configuration or separate messages (e.g., NAN action frames). For example, the number of multiple NDPs configured with the external electronic device may include the number of NDPs that are additionally configurable in the electronic device (101) and the number of NDPs that are additionally configurable in the external electronic device, or a portion of the number of NDPs that are smaller than the number of NDPs that are additionally configurable in the external electronic device. For example, the number of multiple NDPs configured with the external electronic device may include the transmission bandwidth (e.g., about 80 MHz, about 160 MHz, or about 320 MHz) or frequency band (e.g., about 2.0) available for NAN data communication between the electronic device (101) and the external electronic device.It can be set based on 4GHz, approximately 5GHz, or approximately 6GHz.
[0135] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 607, set up a plurality of streams (or TCP streams) corresponding to a plurality of NDPs. For example, the processor (500) may create a TCP stream corresponding to each NDP by assigning a different TCP (transmission control protocol) port (e.g., port 1 (711), port 2 (721), port 3 (731), or port 4 (741)) to each of the plurality of NDPs based on stream setting information. For example, stream setting information may be predefined. For example, stream setting information may be shared with an external electronic device through a NAN message (e.g., SDF or NAF), an OOB message, or a data message through an NDP. For example, a data message through an NDP may include a layer 3 protocol message including at least one of UPnP, Bonjour, or mDNS. For example, stream configuration information may include at least one of the number of TCP streams created for NAN data communication or port information (e.g., port number) to be used for each stream. For example, part of the stream configuration information (e.g., port information to be used for the stream) may be shared with an external electronic device along with information related to NAN data communication. For example, the TCP port may include TCP identification information for setting up streams of TCP (701) of the electronic device (101) and TCP (703) of the external electronic device (700).
[0136] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may transmit data to an external electronic device through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs in operation 609. For example, data may be distributed to correspond to a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs and transmitted to an external electronic device in parallel. For example, data may be transmitted to an external electronic device through the same wireless resource (or schedule) through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs.
[0137] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) can perform NAN data communication with an external electronic device through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs with an external electronic device.
[0138] FIG. 8 is a flowchart (800) for performing NAN data communication through a plurality of NDPs with an external electronic device in an electronic device according to one embodiment. For example, at least part of FIG. 8 may include detailed operations of operations 605 to 609 of FIG. 6. In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. For example, the electronic device of FIG. 8 may be the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, or FIG. 5.
[0139] According to one embodiment with reference to FIG. 8, when an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120) of FIG. 1 or processor (500) of FIG. 5) checks information related to NAN data communication of an external electronic device for performing NAN data communication (e.g., operation 603 of FIG. 6), in operation 801, it can check whether a specified NDP setting condition is satisfied. For example, the processor (500) can check whether a specified NDP setting condition is satisfied based on information related to NAN data communication of the electronic device (101) and information related to NAN data communication of the external electronic device. For example, a state satisfying a specified NDP setting condition may include a state in which the electronic device (101) and the external electronic device support EHT-based NDP and additionally connect a plurality of NDPs. For example, a state satisfying the specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device support EHT-based NDPs, support a specified transmission bandwidth (e.g., about 320 MHz), and additionally connect multiple NDPs. For example, a state not satisfying the specified NDP setting conditions may include a state in which the electronic device (101) and the external electronic device do not support EHT-based NDPs, do not support a specified transmission bandwidth (e.g., about 320 MHz), or additionally cannot connect multiple NDPs. For example, information related to NAN data communication may include at least one of EHT (e.g., Wi-Fi 7)-based NDP support information, wireless LAN mode (or Wi-Fi mode), available transmission bandwidth, or the number of additional connectable NDPs.
[0140] According to one embodiment, if an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) determines that a specified NDP setting condition is satisfied (e.g., 'Yes' of operation 801), then in operation 803, a plurality of NDPs for NAN data communication with an external electronic device may be set up (or established). For example, the plurality of NDPs may be distinguished by different identification information (e.g., NDP ID 1 (710), NDP ID 2 (720), NDP ID 3 (730), and NDP ID 4 (740)) and may use different NDI (NAN data interface address). For example, the plurality of NDPs may use different IP (internet protocol) addresses.
[0141] For example, the processor (500) can control the communication circuit (510) to sequentially perform settings for each of the plurality of NDPs. For example, an NDP may be set by transmitting and / or receiving messages (e.g., NDP setting request message and NDP setting response message) related to the NDP settings of the electronic device (101) and the external electronic device within a discovery window. For example, an NDP may include a communication path (or a virtual communication path) for performing NAN data communication using wireless resources in the interval between discovery windows.
[0142] For example, the processor (500) can control the communication circuit (510) to perform a setting for one of the representative NDPs when multiple NDPs use the same wireless resource (or the same schedule) (e.g., time resource and / or frequency resource (or channel resource)). The processor (500) can set at least one remaining NDP among the multiple NDPs, excluding the representative NDP, based on the setting information of the representative NDP, by sharing information related to the multiple NDPs with an external electronic device. For example, the at least one remaining NDP may be set based on the setting information of the representative NDP without using a message related to NDP setting. For example, information related to the multiple NDPs may be shared through a message related to NDP setting or a separate message (e.g., a NAN action frame). For example, the number of multiple NDPs set with the external electronic device may include the number of NDPs that are additionally settable in the electronic device (101) and the number of NDPs that are additionally settable in the external electronic device, or a portion of the number of NDPs that are smaller. For example, the number of multiple NDPs configured with the external electronic device can be configured based on the transmission bandwidth (e.g., about 80 MHz, about 160 MHz, or about 320 MHz) or frequency band (e.g., about 2.4 GHz, about 5 GHz, or about 6 GHz) available for NAN data communication in the electronic device (101) and the external electronic device.
[0143] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may set up a plurality of streams (or TCP streams) corresponding to a plurality of NDPs in operation 805. For example, the processor (500) may generate a TCP stream corresponding to each NDP by assigning a different TCP port to each of the plurality of NDPs based on stream setting information.
[0144] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may transmit data to an external electronic device through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs in operation 807. For example, data may be distributed to correspond to a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs and transmitted to an external electronic device in parallel. For example, data may be transmitted to an external electronic device through the same wireless resource (or schedule) through a plurality of streams (e.g., TCP streams) mapped to a plurality of NDPs.
[0145] According to one embodiment, if an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) determines that a specified NDP setting condition is not satisfied (e.g., 'No' in operation 801), then in operation 809, an NDP (or one NDP) for NAN data communication with an external electronic device may be set (or established). For example, the processor (500) may control the communication circuit (510) to send an NDP setting request message to an external electronic device within a discovery window. If the processor (500) receives an NDP setting response message from an external electronic device within a discovery window, it may determine that an NDP with the external electronic device has been established.
[0146] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 811, set up a stream (or TCP stream) corresponding to an NDP with an external electronic device. For example, the processor (500) may create a TCP stream corresponding to an NDP by assigning a TCP port to the NDP based on stream setting information.
[0147] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) can transmit data to an external electronic device through a stream mapped to an NDP (e.g., a TCP stream) in operation 813.
[0148] FIG. 9 is a flowchart (900) for setting up a plurality of NDPs with an external electronic device in an electronic device according to one embodiment. For example, at least part of FIG. 9 may include a detailed description of operation 605 of FIG. 6 or operation 803 of FIG. 8. In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. For example, the electronic device of FIG. 9 may be the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, or FIG. 5.
[0149] According to one embodiment with reference to FIG. 9, when an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120) of FIG. 1 or processor (500) of FIG. 5) determines that a specified NDP setting condition is satisfied (e.g., 'Yes' of operation 801 of FIG. 8), in operation 901, the number of NDPs for NAN data communication with an external electronic device can be determined based on information related to NAN data communication of the electronic device (101) and information related to NAN data communication of an external electronic device. For example, the information related to NAN data communication of the electronic device (101) may include at least one of the following: information on NDP support based on EHT (e.g., Wi-Fi 7) of the electronic device (101), the wireless LAN mode (or Wi-Fi mode) of the electronic device (101), the transmission bandwidth available in the electronic device (101), or the number of additional NDPs that can be connected in the electronic device (101). For example, information related to NAN data communication of an external electronic device may include at least one of the external electronic device's EHT (e.g., Wi-Fi 7) based NDP support information, the external electronic device's wireless LAN mode (or Wi-Fi mode), the transmission bandwidth available to the external electronic device, or the number of additional NDPs that can be connected to the external electronic device.
[0150] For example, the processor (500) may set the number of NDPs for NAN data communication with the external electronic device based on the smaller number of NDPs between the number of additionally configurable NDPs in the electronic device (101) and the number of additionally configurable NDPs in the external electronic device. For example, the number of NDPs for NAN data communication with the external electronic device may include the smaller number of NDPs between the number of additionally configurable NDPs in the electronic device (101) and the number of additionally configurable NDPs in the external electronic device. For example, the number of NDPs for NAN data communication with the external electronic device may include a portion of the smaller number of NDPs between the number of additionally configurable NDPs in the electronic device (101) and the number of additionally configurable NDPs in the external electronic device.
[0151] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 903, set up (or establish) a plurality of NDPs corresponding to the number of NDPs for NAN data communication with an external electronic device. For example, the plurality of NDPs may be distinguished by different identification information (e.g., NDP ID 1 (710), NDP ID 2 (720), NDP ID 3 (730) and NDP ID 4 (740)) and may use different NDI (NAN data interface address). For example, the plurality of NDPs may use different IP (internet protocol) addresses.
[0152] FIG. 10 is a flowchart (1000) for setting up a plurality of NDPs with an external electronic device in an electronic device according to one embodiment. For example, at least part of FIG. 10 may include a detailed description of operation 605 of FIG. 6 or operation 803 of FIG. 8. In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. For example, the electronic device of FIG. 10 may be the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, or FIG. 5.
[0153] According to one embodiment with reference to FIG. 10, if an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120) of FIG. 1 or processor (500) of FIG. 5) determines that a specified NDP setting condition is satisfied (e.g., 'Yes' of operation 801 of FIG. 8), then in operation 1001, the channel status of wireless LAN communication with an external electronic device may be checked. For example, the channel status may include a transmission speed (or link-level speed) estimated based on at least one of the transmission bandwidth, frequency channel, or wireless LAN mode of the NDP for NAN data communication with an external electronic device.
[0154] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may determine, in operation 1003, the number of streams (or TCP streams) for NAN data communication with an external electronic device based on the channel state of wireless LAN communication. For example, the processor (500) may determine the number of streams (or TCP streams) for NAN data communication with an external electronic device based on the channel state of wireless LAN communication and the predicted transmission speed (e.g., maximum transmission speed) based on the limited capacity of the TCP layer of the electronic device (101). For example, the number of streams (or TCP streams) for NAN data communication may be set based on the ratio of the channel state of wireless LAN communication and the predicted transmission speed (e.g., maximum transmission speed) based on the limited capacity of the TCP layer of the electronic device (101).
[0155] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 1005, set up (or establish) a plurality of NDPs corresponding to the number of streams for NAN data communication with an external electronic device. For example, the processor (500) may set up each NDP that is mapped (or matched) to each stream. For example, the plurality of NDPs may be distinguished by different identification information (e.g., NDP ID 1 (710), NDP ID 2 (720), NDP ID 3 (730), and NDP ID 4 (740)) and may use different NDI (NAN data interface address). For example, the plurality of NDPs may use different IP (internet protocol) addresses.
[0156] FIG. 11 is a flowchart (1100) for performing NAN data communication using a plurality of TCP streams in an electronic device according to one embodiment. In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. For example, the electronic device of FIG. 11 and FIG. 12 may be the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, or FIG. 5. For example, at least a part of FIG. 11 may be described with reference to FIG. 12. FIG. 12 is an example of performing NAN data communication using a plurality of TCP streams with an external electronic device in an electronic device according to one embodiment.
[0157] According to one embodiment with reference to FIGS. 11 and 12, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120) of FIG. 1 or processor (500) of FIG. 5) may, in operation 1101, identify an external electronic device (e.g., external electronic device (210, 220 and / or 230) of FIG. 2, FIG. 3 or FIG. 4) for neighbor awareness networking (NAN) data communication with the electronic device (101). For example, if an event related to NAN data communication is detected, the processor (500) may control a communication circuit (510) to transmit (or broadcast) an SDF containing information related to NAN data communication of the electronic device (101) within a discovery window. If the processor (500) receives an SDF from an external electronic device within a discovery window, it may determine that the external electronic device is capable of NAN data communication with the electronic device. For example, an event related to NAN data communication may include at least one of the execution of an application program or function related to NAN data communication, the reception of an input related to NAN data communication (e.g., touch input or gesture input), or the reception of a control signal related to NAN data communication.
[0158] For example, the processor (500) may control the communication circuit (510) to transmit (or broadcast) an OOB request message containing information related to the NAN data communication of the electronic device (101) when an event related to NAN data communication is detected. When the processor (500) receives an OOB response message corresponding to the OOB request message from an external electronic device, it may determine that the external electronic device is capable of NAN data communication with the electronic device. For example, OOB communication may be a communication method different from NAN communication and may include at least one of Bluetooth, BLE, NFC, QR, or a wireless LAN protocol different from NAN communication (e.g., Wi-Fi legacy, Wi-Fi direct (or Wi-Fi P2P) or mobile hotspot).
[0159] For example, the processor (500) may control the output circuit (e.g., display) of the electronic device (101) to output information related to at least one external electronic device when at least one external electronic device capable of performing NAN data communication with the electronic device (101) is detected. The processor (500) may identify (or select) the external electronic device for performing NAN data communication with the electronic device (101) based on user input (e.g., touch input) corresponding to the information related to at least one external electronic device output to the output circuit of the electronic device (101).
[0160] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 1103, check information related to the NAN data communication of an external electronic device for performing NAN data communication. For example, the processor (500) may check information related to the NAN data communication of an external electronic device in an SDF received from an external electronic device. For example, the processor (500) may check information related to the NAN data communication of an external electronic device in an OOB response message received from an external electronic device. For example, information related to NAN data communication may include at least one of EHT-based NDP support information, wireless LAN mode (or Wi-Fi mode), available transmission bandwidth, or the number of additional connectable NDPs.
[0161] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 1105, set up (or establish) an NDP (or one NDP) for NAN data communication with an external electronic device. For example, the processor (500) may control a communication circuit (510) to send an NDP setup request message to the external electronic device (1200) via an SDF or NAF within a discovery window. If the processor (500) receives an NDP setup response message from the external electronic device (1200) via an SDF or NAF within a discovery window, it may determine that an NDP with the external electronic device (1200) has been established. For example, the NDP may be assigned identification information (e.g., NDP ID 1 (1210)) and a NDI (NAN data interface address). For example, the NDP may be assigned an IP address.
[0162] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may determine the number of streams for NAN data communication with an external electronic device in operation 1107. For example, the processor (500) may determine the number of streams for NAN data communication with an external electronic device (1200) based on a specified value related to the use of an EHT-based NDP. For example, the processor (500) may determine the number of streams (or TCP streams) for NAN data communication with an external electronic device based on the predicted transmission speed (e.g., maximum transmission speed) based on the limited capacity of the TCP layer of the electronic device (101) and the channel state of the wireless LAN communication. For example, the number of streams (or TCP streams) for NAN data communication may be set based on the ratio of the channel state of the wireless LAN communication and the predicted transmission speed (e.g., maximum transmission speed) based on the limited capacity of the TCP layer of the electronic device (101). For example, the channel state may include a transmission speed (or link-level speed) estimated based on at least one of the transmission bandwidth, frequency channel, or wireless LAN mode of the NDP for NAN data communication with an external electronic device.
[0163] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 1109, set up a plurality of streams (or TCP streams) that match an NDP with an external electronic device. For example, the processor (500) may generate a plurality of TCP streams corresponding to the NDP by assigning a plurality of TCP ports (e.g., port 1 (1211), port 2 (1213), port 3 (1216) and / or port 4 (1217)) to the NDP with the external electronic device based on stream setting information. For example, stream setting information may be predefined. For example, stream setting information may be shared with the external electronic device through a NAN message (e.g., SDF or NAF (NAN action frame)), an OOB message, or a data message through the NDP. For example, a data message via NDP may include a layer 3 protocol message including at least one of UPnP (universal plug and play), Bonjour, or mDNS (multicast domain name system). For example, stream configuration information may include at least one of the number of TCP streams created for NAN data communication or port information (e.g., port number) to be used for each stream. For example, part of the stream configuration information (e.g., port information to be used for the stream) may be shared with an external electronic device along with information related to NAN data communication. For example, a TCP port may include TCP identification information for configuring streams of TCP (1201) of the electronic device (101) and TCP (1203) of the external electronic device (1200).
[0164] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 1111, transmit data to an external electronic device through a plurality of streams (e.g., TCP streams) mapped to an NDP with the external electronic device. For example, the processor (500) may control a communication circuit (510) to transmit data to be transmitted to an external electronic device in parallel by distributing it to correspond to a plurality of streams (e.g., TCP streams) mapped to an NDP with the external electronic device.
[0165] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) can perform NAN data communication with an external electronic device through a plurality of streams (e.g., TCP streams) mapped to NDP with an external electronic device.
[0166] FIG. 13 is a flowchart (1300) for updating the number of multiple TCP streams set with an external electronic device in an electronic device according to one embodiment. In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. For example, the electronic device of FIG. 13 may be the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, or FIG. 5.
[0167] According to one embodiment with reference to FIG. 13, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120) of FIG. 1 or processor (500) of FIG. 5) may perform NAN data communication with an external electronic device through a plurality of streams (e.g., TCP streams) mapped to an NDP with an external electronic device in operation 1301. For example, the processor (500) may control a communication circuit (510) to perform NAN data communication with an external electronic device through a plurality of streams (e.g., TCP streams) mapped to an NDP with an external electronic device, such as in operations 1101 to 1111 of FIG. 11.
[0168] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may determine in operation 1303 whether a specified stream update condition is satisfied during NAN data communication with an external electronic device. For example, the processor (500) may determine that the specified stream update condition is satisfied if the transmission bandwidth for NAN data communication changes during NAN data communication with an external electronic device. For example, the processor (500) may determine that the specified stream update condition is satisfied if the frequency band for NAN data communication changes during NAN data communication with an external electronic device. For example, the processor (500) may determine that the specified stream update condition is satisfied if the channel state (e.g., transmission speed) for NAN data communication changes above a specified reference value during NAN data communication with an external electronic device. For example, the channel state may include an estimated transmission speed (or link-level speed) based on at least one of the transmission bandwidth, frequency channel, or wireless LAN mode of the NDP.
[0169] For example, the processor (500) may determine that the specified stream update condition is not satisfied if, while performing NAN data communication with an external electronic device, the transmission bandwidth and frequency band for NAN data communication are maintained and the channel state for NAN data communication (e.g., transmission speed) changes to less than a specified reference value.
[0170] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may terminate one embodiment for updating the number of multiple TCP streams when it is determined that the specified stream update condition is not satisfied during NAN data communication with an external electronic device (e.g., 'No' of operation 1303). For example, if the processor (500) determines that the specified stream update condition is not satisfied during NAN data communication with an external electronic device, it may control the communication circuit (510) to perform NAN data communication with the external electronic device through multiple streams (or TCP streams) that match the NDP with the external electronic device.
[0171] According to one embodiment, if an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) determines that a specified stream update condition is satisfied during NAN data communication with an external electronic device (e.g., 'Yes' of operation 1303), then in operation 1305, the number of streams for NAN data communication with an external electronic device may be determined. For example, if the processor (500) determines that a specified stream update condition is satisfied, the number of streams for NAN data communication with an external electronic device may be determined based on at least one of the transmission bandwidth, channel state, TCP window size, or frequency band allocated to NAN data communication.
[0172] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 1307, update a plurality of streams (or TCP streams) that match the NDP with an external electronic device. For example, the processor (500) may generate a plurality of TCP streams corresponding to the NDP by allocating a plurality of TCP ports corresponding to the number of streams updated in the NDP with the external electronic device based on stream configuration information. For example, updating the number of streams may include a series of operations to update the number of streams to be used for NAN data communication with the external electronic device to a value different from the number of streams currently being used for NAN data communication with the external electronic device.
[0173] According to one embodiment, an electronic device (e.g., electronic device (101)) or a processor (e.g., processor (120 or 500)) may, in operation 1309, transmit data to an external electronic device through a plurality of streams (e.g., TCP streams) newly mapped to an NDP with the external electronic device. For example, the data may be distributed to correspond to a plurality of streams (e.g., TCP streams) mapped to an NDP with the external electronic device and transmitted in parallel.
[0174] According to one embodiment, a method of operation of an electronic device (e.g., the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4, or FIG. 5) may include an operation of detecting an external electronic device for NAN data communication (e.g., the external electronic device (210, 220, and / or 230) of FIG. 2, FIG. 3, or FIG. 4, or the external electronic device (700) of FIG. 7) based on the execution of an application related to NAN data communication. According to one embodiment, a method of operation of the electronic device may include an operation of checking information related to NAN data communication of the external electronic device. According to one embodiment, a method of operation of the electronic device may include an operation of establishing a plurality of NDP links with the external electronic device when it is determined that the information related to NAN data communication of the electronic device and the information related to NAN data communication of the external electronic device satisfy specified NDP setting conditions. According to one embodiment, a method of operation of the electronic device may include an operation of establishing a plurality of streams corresponding to the plurality of NDP links. According to one embodiment, the method of operating an electronic device may include the operation of transmitting data to an external electronic device through a plurality of streams.
[0175] According to one embodiment, the operation of checking information related to NAN data communication may include the operation of checking information related to NAN data communication of an external electronic device through a service discovery frame (SDF).
[0176] According to one embodiment, the operation of checking information related to NAN data communication may include the operation of checking information related to NAN data communication of an external electronic device through OOB (out of band) communication.
[0177] According to one embodiment, the method of operating an electronic device may include an operation of determining that a specified NDP setting condition is satisfied when the transmission bandwidth supported by the electronic device and the external electronic device is greater than or equal to a specified reference bandwidth, and when it is determined that the electronic device and the external electronic device can additionally connect a plurality of NDPs.
[0178] According to one embodiment, the operation of establishing a plurality of NDP links may include the operation of determining the number of NDPs to be used for NAN data communication with an external electronic device based on the number of additional NDPs that can be connected between the electronic device and the external electronic device. According to one embodiment, the operation of establishing a plurality of NDP links may include the operation of establishing a plurality of NDP links corresponding to the number of determined NDPs with the external electronic device.
[0179] According to one embodiment, the operation of establishing a plurality of NDP links may include the operation of sequentially establishing each NDP with an external electronic device when it is determined that a plurality of NDPs will be used for NAN data communication with an external electronic device.
[0180] According to one embodiment, the operation of establishing a plurality of NDP links may include the operation of transmitting information related to the plurality of NDPs to an external electronic device when the plurality of NDPs to be used for NAN data communication with an external electronic device use the same wireless resource. According to one embodiment, the operation of establishing a plurality of NDP links may include the operation of establishing one of the plurality of NDPs based on the exchange of messages related to NDP establishment with an external electronic device. According to one embodiment, the remaining NDPs among the plurality of NDPs may be established based on the establishment information of one of the NDPs.
[0181] According to one embodiment, the operation of setting up a plurality of streams may include the operation of setting up a plurality of TCP streams corresponding to the plurality of NDP links by assigning different TCP ports to each of the plurality of NDP links.
[0182] According to one embodiment, a non-transient computer-readable storage medium (or computer program product) for storing one or more programs may be described. According to one embodiment, one or more programs may include instructions that, when executed by at least one processor of an electronic device (e.g., the electronic device (101) of FIG. 1, FIG. 2, FIG. 3, FIG. 4 or FIG. 5), the electronic device performs the following operations: detecting an external electronic device for NAN data communication (e.g., the external electronic device (210, 220 and / or 230) of FIG. 2, FIG. 3 or FIG. 4 or the external electronic device (700) of FIG. 7) based on the execution of an application related to NAN data communication; checking information related to NAN data communication of the external electronic device; when it is determined that the information related to NAN data communication of the electronic device and the information related to NAN data communication of the external electronic device satisfy specified NDP setting conditions; setting multiple NDP links with the external electronic device; setting multiple streams corresponding to the multiple NDP links; and transmitting data to the external electronic device through the multiple streams.
[0183] The embodiments of the present invention disclosed in this specification and drawings are merely specific examples provided to facilitate the explanation of the technical content according to the embodiments of the present invention and to aid in understanding the embodiments of the present invention, and are not intended to limit the scope of the embodiments of the present invention. Accordingly, the scope of the embodiments of the present invention should be interpreted to include all modifications or variations derived based on the technical concept of the embodiments of the present invention, in addition to the embodiments disclosed herein.
Claims
1. In an electronic device (101), A communication circuit (192 or 510) that performs wireless LAN communication, At least one processor (120 or 500) including a processing circuit, and It includes memory (130 or 520) for storing instructions, When the above instructions are executed individually or collectively by the at least one processor (120 or 500), the electronic device (101), Based on the execution of an application related to NAN (neighbor awareness networking) data communication, an external electronic device (700) for NAN data communication is detected, and Check information related to NAN data communication of the above external electronic device, and If it is determined that the information related to NAN data communication of the electronic device and the information related to NAN data communication of the external electronic device satisfy the specified NDP setting conditions, a plurality of NDP links are established with the external electronic device, and Establish a plurality of streams corresponding to the above plurality of NDP links, and An electronic device that transmits data to the external electronic device through the aforementioned plurality of streams.
2. In Paragraph 1, When the above instructions are executed individually or collectively by the at least one processor (120 or 500), the electronic device (101), An electronic device that checks information related to NAN data communication of the external electronic device through SDF (service discovery frame) or OOB (out of band) communication.
3. In Paragraph 1, The electronic device comprising at least one of the information related to the above NAN data communication, EHT-based NDP support information, wireless LAN mode, transmission bandwidth available for the above NAN data communication, or the number of additional connectable NDPs.
4. In Paragraph 3, When the above instructions are executed individually or collectively by the at least one processor (120 or 500), the electronic device (101), An electronic device that determines that the specified NDP setting condition is satisfied when the transmission bandwidth supported by the electronic device and the external electronic device is greater than or equal to a specified reference bandwidth, and when the electronic device and the external electronic device determine that a plurality of additional NDPs can be connected.
5. In Paragraph 3, When the above instructions are executed individually or collectively by the at least one processor (120 or 500), the electronic device (101), The number of NDPs to be used for NAN data communication with the external electronic device is determined based on the number of additional NDPs that the electronic device and the external electronic device can connect, and An electronic device that establishes the plurality of NDP links corresponding to the number of external electronic devices and the determined number of NDPs.
6. In Paragraph 5, When the above instructions are executed individually or collectively by the at least one processor (120 or 500), the electronic device (101), An electronic device that sequentially sets up each NDP with the external electronic device when it is determined to use the plurality of NDPs for NAN data communication with the external electronic device.
7. In Paragraph 5, When the above instructions are executed individually or collectively by the at least one processor (120 or 500), the electronic device (101), When the plurality of NDPs to be used for NAN data communication with the external electronic device use the same wireless resource, information related to the plurality of NDPs is transmitted to the external electronic device, and Based on the exchange of messages related to NDP setting with the above external electronic device, one of the plurality of NDPs is set up, and The remaining NDPs among the above plurality of NDPs are electronic devices configured based on the configuration information of any one of the above NDPs.
8. In Paragraph 1, When the above instructions are executed individually or collectively by the at least one processor (120 or 500), the electronic device (101), An electronic device that assigns a different TCP port to each of the plurality of NDP links to establish a plurality of TCP streams corresponding to the plurality of NDP links.
9. In the method of operating the electronic device (101), An operation to detect an external electronic device (700) for NAN data communication based on the execution of an application related to NAN (neighbor awareness networking) data communication; An operation to verify information related to NAN data communication of the above external electronic device; When it is determined that information related to NAN data communication of the electronic device and information related to NAN data communication of the external electronic device satisfy specified NDP setting conditions, an operation to set a plurality of NDP links with the external electronic device; The operation of setting a plurality of streams corresponding to the plurality of NDP links above; and A method comprising the operation of transmitting data to the external electronic device through the plurality of streams.
10. In Paragraph 9, The operation of verifying information related to the above NAN data communication is, A method comprising the operation of verifying information related to NAN data communication of the external electronic device through SDF (service discovery frame) or OOB (out of band) communication.
11. In Paragraph 9, The information related to the above NAN data communication includes at least one of EHT-based NDP support information, a wireless LAN mode, a transmission bandwidth available for the above NAN data communication, or a number of additional connectable NDPs.
12. In Paragraph 11, A method further comprising the operation of determining that the specified NDP setting condition is satisfied when the transmission bandwidth supported by the electronic device and the external electronic device is greater than or equal to a specified reference bandwidth, and when it is determined that the electronic device and the external electronic device can additionally connect a plurality of NDPs.
13. In Paragraph 11, The operation of establishing the above plurality of NDP links is, The operation of determining the number of NDPs to be used for NAN data communication with the external electronic device based on the number of additional NDPs that can be connected to the electronic device and the external electronic device; and A method comprising the operation of establishing the plurality of NDP links corresponding to the number of external electronic devices and the determined number of NDPs.
14. In Paragraph 13, The operation of establishing the above plurality of NDP links is, When a plurality of NDPs to be used for NAN data communication with the external electronic device use the same wireless resource, the operation of transmitting information related to the plurality of NDPs to the external electronic device; and It includes an operation to set one of the plurality of NDPs based on the exchange of messages related to NDP setting with the above external electronic device, and A method in which the remaining NDPs among the above plurality of NDPs are set based on the setting information of any one of the above NDPs.
15. In Paragraph 9, The operation of setting the above plurality of streams is, A method comprising the operation of assigning different TCP ports to each of the plurality of NDP links to set up a plurality of TCP streams corresponding to the plurality of NDP links.
Citation Information
Patent Citations
Neighbor Awareness Networking Datapath
US20160165653A1
Method and apparatus for performing data exchange by nan terminal in wireless communication system
US20190007821A1
NAN Trusted Device Cluster
US20220353682A1
Neighbor aware networking communication with multi-nan data link operation
US20240205991A1
KR20240147340A