Electronic device and communication method thereof
The electronic device addresses the challenge of exchanging device information by using mDNS messages to share and receive device type information, improving network management and user experience through accurate device identification.
Patent Information
- Application Number
- PCT/KR2024/019294
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-12
- Filing Date
- 2024-11-29
- Publication Date
- 2025-06-26
AI Technical Summary
Existing communication methods between wireless communication devices within a short distance, such as WLAN, Bluetooth, or NFC, lack efficient mechanisms for exchanging device information, particularly device type information, which is crucial for accurate network management and user interface displays.
An electronic device equipped with a processor and memory, capable of activating a WLAN hotspot function, transmitting and receiving multicast Domain Name System (mDNS) messages to request and share device information with external devices, thereby providing accurate device type information on its display.
Enables efficient exchange of device information, allowing for accurate device type identification and display, which enhances network management and user experience by providing precise information about connected devices.
Smart Images

Figure KR2024019294_26062025_PF_FP_ABST
Abstract
Description
Electronic devices and communication methods thereof
[0001] The present disclosure relates to an electronic device and a communication method thereof.
[0002] To communicate between wireless communication devices located within a short distance, various communication standards such as wireless local area network (WLAN), Bluetooth, or near field communication (NFC) can be used.
[0003] Each wireless communication device can transmit its device information (e.g., device name) to other devices through communication.
[0004] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above-described matters constitute prior art related to the present disclosure.
[0005] An electronic device (101, 201) according to one embodiment may include at least one processor (120) and a memory (130) storing instructions. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to activate a wireless local area network (WLAN) hotspot function of the electronic device (101, 201). The instructions, when executed by the processor (120), may cause the electronic device (101, 201) to transmit a first multicast domain name system (mDNS) message requesting device information to an external electronic device (203) while a network connection is provided to the external electronic device (203) based on the activation of the WLAN hotspot function. The above instructions, when individually or collectively executed by the processor (120), may cause the electronic device (101, 201) to receive a second mDNS message including device information of the external electronic device (203) from the external electronic device (203) while a network connection is provided to the external electronic device (203) based on activation of the WLAN hotspot function.The above instructions, when individually or collectively executed by the processor (120), may provide device type information of the external electronic device (203) on the display of the electronic device (101, 201) based on the device information included in the second mDNS message.
[0006] A method of operating an electronic device (101, 201) according to one embodiment may include an operation of activating a wireless local area network (WLAN) hotspot function of the electronic device (101, 201). The method may include an operation of transmitting a first multicast domain name system (mDNS) message requesting device information to an external electronic device (203) while a network connection is provided to the external electronic device (203) based on the activation of the WLAN hotspot function. The method may include an operation of receiving a second mDNS message including device information of the external electronic device (203) from the external electronic device (203) while a network connection is provided to the external electronic device (203) based on the activation of the WLAN hotspot function. The method may include an operation of providing device type information of the external electronic device (203) on a display of the electronic device (101, 201) based on device information included in the second mDNS message.
[0007] An electronic device (101, 201) according to one embodiment may include at least one processor (120) and a memory (130) storing instructions. The instructions, when executed by the at least one processor (120), may cause the electronic device (101, 201) to activate a WLAN hotspot function of the electronic device (101, 201). The instructions, when executed by the at least one processor (120), may cause the electronic device (101, 201) to obtain a device type of the external electronic device (203) based on an mDNS protocol while a network connection is provided to the external electronic device (203) based on the activation of the WLAN hotspot function.
[0008] According to one embodiment, a computer-readable recording medium storing one or more computer programs may include instructions for performing the method in a processor.
[0009] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0010] Figure 2 is a diagram for explaining a network environment according to one embodiment.
[0011] FIG. 3 is a flowchart illustrating a process for network connection according to one embodiment.
[0012] FIG. 4 is a flowchart illustrating a process for providing device information according to one embodiment.
[0013] FIG. 5 is a drawing for explaining a user interface according to one embodiment.
[0014] FIG. 6 is a flowchart illustrating a process for providing device information according to one embodiment.
[0015] FIG. 7 is a drawing for explaining a user interface according to one embodiment.
[0016] FIG. 8 is a drawing for explaining a user interface according to one embodiment.
[0017] FIG. 9 is a flowchart illustrating a procedure for exchanging mDNS messages according to one embodiment.
[0018] FIG. 10 is a diagram illustrating an example of blocking an mDNS message according to one embodiment.
[0019] FIG. 11 is a flowchart illustrating an mDNS message exchange procedure according to one embodiment.
[0020] FIG. 12 is a diagram for explaining data traffic control according to one embodiment.
[0021] Fig. 13 is a flowchart for explaining the operation of an electronic device according to one embodiment.
[0022] Fig. 14 is a flowchart for explaining the operation of an electronic device according to one embodiment.
[0023] Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are assigned the same reference numerals regardless of the drawing numbers, and redundant descriptions thereof will be omitted.
[0024]
[0025] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0026] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to one embodiment. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via 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) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0027] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a 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 a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0028] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, 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. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can 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 can include multiple artificial neural network layers.The artificial neural network may be one of 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 the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0029] The memory (130) can store various data used by at least one component (e.g., the processor (120) or the sensor module (176)) of the electronic device (101). The data can include, for example, input data or output data for software (e.g., the program (140)) and commands related thereto. The memory (130) can include a volatile memory (132) or a non-volatile memory (134). According to one embodiment, instructions stored in the memory (130) can cause the electronic device (101) to perform one or more operations when individually or collectively executed by at least one processor (e.g., the main processor (121) and / or the auxiliary processor (123)). For example, instructions stored in the memory (130) may be executed by one processor (e.g., a main processor (121) or an auxiliary processor (123) such as a communication processor) or by multiple processors operating cooperatively (e.g., a main processor (121) and an auxiliary processor (123)).
[0030] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0031] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0032] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0033] The display module (160) can visually provide information to an external party (e.g., a 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 the device. In 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 a force generated by the touch.
[0034] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0035] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0036] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In 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.
[0037] The connection terminal (178) may include a connector through which the electronic device (101) may 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).
[0038] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0039] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0040] 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 a part of a power management integrated circuit (PMIC).
[0041] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0042] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the 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 operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that 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., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as 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 can 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 verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0043] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), 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), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0044] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In 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 the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the 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. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0045] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0046] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0047] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via 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 executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an 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 process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the 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.
[0048]
[0049] An electronic device according to an embodiment disclosed in this document may take 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 home appliance. The electronic device according to an embodiment of this document is not limited to the aforementioned devices.
[0050] The embodiments of this document and the terminology used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the 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 the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0051] The term "module" used in the embodiments of this document 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. A module may be an integral component, or a minimum unit or part of such a component 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).
[0052] One embodiment of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate 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 executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0053] According to one embodiment, the method according to one embodiment disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0054] According to one embodiment, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and arranged in other components. According to one embodiment, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to one embodiment, the operations performed by a module, program, or other component 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.
[0055]
[0056] Figure 2 is a diagram for explaining a network environment according to one embodiment.
[0057] Referring to FIG. 2, according to one embodiment, an electronic device (201) (e.g., the electronic device (101) of FIG. 1) may broadcast a wireless communication signal. For example, the electronic device (201) (e.g., an access point (AP), a mobile device with WLAN hotspot functionality) may create a wireless network (e.g., a wireless local area network (WLAN)) by broadcasting a Wi-Fi signal.
[0058] According to one embodiment, a physical location that can access the Internet via a WLAN created by an electronic device (201) may be referred to as a hotspot (20), and the ability of the electronic device (201) to share its Internet connection with other devices (e.g., external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207))) may be referred to as a hotspot function.
[0059] According to one embodiment, each of one or more external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) (e.g., client devices) located around the electronic device (201) can create a network connection with the electronic device (201). A procedure for creating a network connection is described in detail in FIG. 3. Each of the external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) can communicate with the electronic device (201) and / or other external electronic devices network-connected to the electronic device (201) through the created network connection.
[0060] According to one embodiment, the electronic device (201) can provide internet access to external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) by sharing the internet connection (or data traffic) of the electronic device (201) with the external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) through the generated network connection.
[0061]
[0062] FIG. 3 is a flowchart illustrating a process for network connection according to one embodiment.
[0063] Referring to FIG. 3, according to one embodiment, operations 310 to 350 may be operations performed by electronic devices (e.g., an access point device and a client device) to create a network connection (e.g., a Wi-Fi connection) between electronic devices.
[0064] In operation 310, an electronic device (e.g., electronic device (101) of FIG. 1 or electronic device (201) of FIG. 2) may activate a hotspot function (e.g., WLAN hotspot function) of the electronic device (101, 201).
[0065] In operation 320, an electronic device (e.g., electronic device (101) of FIG. 1 or electronic device (201) of FIG. 2) and / or an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207) of FIG. 2) may perform scanning for networks. For example, the external electronic devices (e.g., client devices such as external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207) of FIG. 2)) may listen for a beacon frame broadcast by the electronic device (101, 201) (e.g., passive scanning). The beacon frame may include information about the network (e.g., service set identifier (SSID), supported data rate). As another example, external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) may transmit a probe request frame to the electronic device (101, 201) to discover a network. After receiving the probe request frame, the electronic device (101, 201) may transmit a probe response frame to the external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)).
[0066] In operation 330, an electronic device (e.g., an electronic device (101) of FIG. 1 or an electronic device (201) of FIG. 2) and / or an external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207) of FIG. 2) may perform authentication for the external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)). The external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)) may transmit an authentication request frame to the electronic device (101, 201). After receiving the authentication request frame, the electronic device (101, 201) may transmit an authentication response frame to external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). According to one embodiment, the authentication process for the external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) may be omitted. For example, when the network security type is open security, the authentication process may be omitted.
[0067] In operation 340, an electronic device (e.g., electronic device (101) of FIG. 1 or electronic device (201) of FIG. 2) and / or an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207) of FIG. 2) may create a network association. The external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) may transmit an association request frame to the electronic device (101, 201). After receiving the association request frame, the electronic device (101, 201) may transmit an association response frame to the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)).
[0068] In operation 350, an electronic device (e.g., an electronic device (101) of FIG. 1 or an electronic device (201) of FIG. 2) and / or an external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207) of FIG. 2) may configure an Internet Protocol (IP) address (Internet Protocol address) of the external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207) of FIG. 2). The external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)) may be assigned an IP based on a dynamic host configuration protocol (DHCP). For example, an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) may transmit a DHCP discover packet to the electronic device (101, 201) to request network configuration information. After receiving the DHCP discover packet, the electronic device (101, 201) may transmit a DHCP offer packet to the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). The DHCP offer packet may include network configuration information, such as an IP address and a subnet mask, of the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)).According to one embodiment, when a static IP rather than a dynamic IP is used for communication between an electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2) and an external electronic device (e.g., the external electronic device (203), the external electronic device (205) and / or the external electronic device (207) of FIG. 2), the IP address configuration procedure (internet protocol address process) may be omitted.
[0069]
[0070] FIG. 4 is a flowchart illustrating a process for providing device information according to one embodiment.
[0071] Referring to FIG. 4, according to one embodiment, operations 410 to 430 may be performed sequentially, but are not limited thereto. For example, two or more operations may be performed in parallel.
[0072] In operation 410, an electronic device (e.g., the electronic device (101) of FIG. 1, the electronic device (201) of FIG. 2) may activate a hotspot function (e.g., a WLAN hotspot function) of the electronic device (101, 201). For example, when the electronic device (101, 201) is a mobile device (e.g., a smart phone, a laptop) having a hotspot function, the electronic device (101, 201) may activate the hotspot function in response to a user input. For example, when the electronic device (101, 201) is an access point (AP), the hotspot function of the electronic device (101, 201) may be activated when the electronic device (101, 201) is powered on.
[0073] In operation 420, the electronic device (101, 201) may detect (or determine) a new network connection (e.g., a Wi-Fi connection) between the electronic device (101, 201) and an external electronic device (e.g., a client device such as the external electronic devices of FIG. 2 (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207))).
[0074] In operation 430, the electronic device (101, 201) can acquire device information (e.g., device name) for an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) newly connected to the electronic device (101, 201) based on DHCP. The electronic device (101, 201) can provide the acquired device information to a user. For example, the electronic device (101, 201) can output a user interface including the acquired device information through a display of the electronic device (101, 201). A user interface including device information based on DHCP will be described in detail with reference to FIG. 5.
[0075]
[0076] FIG. 5 is a drawing for explaining a user interface according to one embodiment.
[0077] Referring to FIG. 5, according to one embodiment, a user interface (500) may be provided to a user through a display of an electronic device (201) (e.g., the electronic device (101) of FIG. 1).
[0078] According to one embodiment, the user interface (500) may include device information of an external electronic device (e.g., the external electronic device (203) of FIG. 2) having a network connection (e.g., a Wi-Fi connection) with the electronic device (201). The device information of the external electronic device (203) (e.g., a client device) included in the user interface (500) may be acquired based on DHCP.
[0079] According to one embodiment, the user interface (500) may include a device name (520) of the external electronic device (203). Device information about the external electronic device (203) may be included in a specific field of a DHCP packet (or message) transmitted to allocate an IP to the external electronic device (203). A field may mean a specific part (or segment) within the DHCP packet. Since DHCP uses ASCII (American standard code for information interchange), it may be difficult to transmit a device name written in a language other than English as is via DHCP. For example, when the device name of the external electronic device (203) is set in English and Korean, such as 'Galaxy-S-Hong Gil-dong', the device name of the external electronic device (203) transmitted to the electronic device (201) may be an English name, such as 'Galaxy-S-gildong-hong'.
[0080] According to one embodiment, the user interface (500) may include an indicator (510) (e.g., an icon) for the external electronic device (203). However, since it may be difficult to transmit the type of the external electronic device (203) (e.g., a phone, a tablet, a laptop, a smartwatch, an AR / VR device, or an audio output device) to the electronic device (201) using DHCP, the user interface (500) may not be able to provide accurate device type information of the external electronic device (203). For example, the user interface (500) may include an indicator (510) (e.g., an icon) that always displays the type of the external electronic device (203) as only “other device,” regardless of the actual type of the external electronic device (203).
[0081] According to one embodiment, the electronic device (201) may use the multicast domain name system (mDNS) protocol to provide the user with accurate device information of an external electronic device (203) connected to the electronic device (201).
[0082]
[0083] FIG. 6 is a flowchart illustrating a process for providing device information according to one embodiment.
[0084] Referring to FIG. 6, according to one embodiment, operations 610 to 660 may be operations performed to describe a process for obtaining device information of an external electronic device (e.g., a client device such as the external electronic devices (e.g., the external electronic device 203, the external electronic device 205, and / or the external electronic device 207) of FIG. 2) connected to an electronic device (e.g., the electronic device 101 of FIG. 1, or the electronic device 201 of FIG. 2) based on the mDNS protocol. A procedure for exchanging mDNS messages between the electronic device (101, 201) and the external electronic device (e.g., the external electronic device 203, the external electronic device 205, and / or the external electronic device 207)) will be described in detail with reference to FIGS. 9 to 11. Operations 610 to 660 may be performed sequentially, but are not limited thereto. For example, two or more operations may be performed in parallel.
[0085] In operation 610, the electronic device (101, 201) may activate a hotspot function (e.g., a WLAN hotspot function) of the electronic device (101, 201). For example, when the electronic device (101, 201) is a mobile device (e.g., a smart phone or a laptop) having a hotspot function, the electronic device (101, 201) may activate the hotspot function in response to a user input. For example, when the electronic device (101, 201) is an access point (AP), the hotspot function of the electronic device (101, 201) may be activated when the electronic device (101, 201) is powered on.
[0086] In operation 620, the electronic device (101, 201) may detect (or determine) a new network connection (e.g., a Wi-Fi connection) between the electronic device (101, 201) and an external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)) generated based on an activated hotspot function (e.g., the hotspot function activated in operation 610).
[0087] In operation 630, the electronic device (101, 201) may transmit a first mDNS message to an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) newly connected to the electronic device (101, 201) via the generated network connection. That is, the electronic device (101, 201) may transmit the first mDNS message to the external electronic device (203) while a network connection (e.g., the network connection generated in operation 620) is provided to the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) based on activation of a hotspot function (e.g., the hotspot function activated in operation 610). The first mDNS message may be an mDNS query requesting device information of an external electronic device (203 to 207). In the present disclosure, mDNS messages may be exchanged between an electronic device (101, 201) and an external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)) while a network connection (e.g., a network connection generated in operation 620) is provided to the external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)) based on activation of a hotspot function of the electronic device (101, 201). Hereinafter, redundant descriptions will be omitted.
[0088] In operation 640, the electronic device (101, 201) may determine whether a second mDNS message has been received from an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). The second mDNS message may be an mDNS response that the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) transmits to the electronic device (101, 201) in response to receiving the first mDNS. The second mDNS message may include device information of the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). For example, the second mDNS message may include device information as shown in Table 1.
[0089]
[0090]
[0091]
[0092] According to one embodiment, the second mDNS message may include a name, a type, an identifier, and / or information about applications running on the external electronic device (e.g., an application list, an application category, and / or an application type) of the external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)).
[0093] According to one embodiment, the ID of the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) included in the second mDNS message may be a unique ID of the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). For example, the ID may be a unique ID other than the MAC address of the external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). The electronic device (101, 201) can accurately identify the external electronic device (e.g., the external electronic device (203), the external electronic device (205), or the external electronic device (207)) and provide device information to the user even when a specific event (e.g., a change in the name of the hotspot network of the electronic device (101, 201), a change in the security type, a change in the password) related to the properties of the hotspot network of the electronic device (101, 201) occurs based on the ID of the external electronic device (e.g., the external electronic device (203), the external electronic device (205), or the external electronic device (207)) included in the second mDNS message. A user interface that provides device information based on the ID of the external electronic device (e.g., the external electronic device (203), the external electronic device (205), and / or the external electronic device (207)) will be described in detail in FIG. 8.
[0094] In operation 650, in response to determining that the second mDNS has not been received, the electronic device (101, 201) may provide the user with device information (e.g., device information obtained in operation 620) of an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) acquired via DHCP. For example, when the electronic device (101, 201) has not received the second mDNS message within a preset time (e.g., 5 seconds) after the first mDNS message is transmitted, the electronic device (101, 201) may provide the user with device information of an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) acquired via DHCP. According to one embodiment, the electronic device (101, 201) may transmit the first mDNS message multiple times (e.g., 5 times) based on a set time interval (e.g., 1 second) for a set time period (e.g., 5 seconds). According to one embodiment, when the electronic device (101, 201) receives a second mDNS message after a preset time period (e.g., 5 seconds) from when the first mDNS message was transmitted, the electronic device (101, 201) may update device information of an external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)) acquired based on DHCP based on the second mDNS message. The electronic device (101, 201) may provide the updated device information of the external electronic device (e.g., an external electronic device (203), an external electronic device (205), and / or an external electronic device (207)) to a user based on the second mDNS message. Action 650 may be substantially identical to action 430 of FIG. 4. Therefore, any redundant description will be omitted.
[0095] In operation 660, the electronic device (101, 201) may, in response to receiving the second mDNS message, provide the user with device information of an external electronic device (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) based on the second mDNS message. A user interface including device information based on the mDNS protocol will be described in detail in FIG. 7.
[0096]
[0097] FIG. 7 is a drawing for explaining a user interface according to one embodiment.
[0098] Referring to FIG. 7, according to one embodiment, a user interface (700) may be provided to a user through a display of an electronic device (201) (e.g., the electronic device (101) of FIG. 1).
[0099] According to one embodiment, the user interface (700) may include device information of an external electronic device (e.g., the external electronic device (203) of FIG. 2) having a network connection (e.g., a Wi-Fi connection) with the electronic device (201). The device information of the external electronic device (203) (e.g., a client device) included in the user interface (700) may be obtained based on the mDNS protocol (e.g., an mDNS message).
[0100] According to one embodiment, the user interface (700) may include a device name (720) of the external electronic device (203). The external electronic device (203) may transmit the device name (e.g., original device name) of the external electronic device (203) written in a language other than English (e.g., Korean) to the electronic device (201) via an mDNS message (e.g., the second mDNS message received in operation 640 of FIG. 6). For example, when the device name of the external electronic device (203) is set to English and Korean, such as 'Galaxy-S-Hong Gil-dong', the external electronic device (203) may transmit the original device name 'Galaxy-S-Hong Gil-dong' to the electronic device (201) via an mDNS message. The electronic device (201) may provide the original device name of the external electronic device (203) to the user using information included in the received mDNS message.
[0101] According to one embodiment, the user interface (700) may include device type information of the external electronic device (700). For example, the user interface (700) may include an indicator (e.g., an icon or text) (710) related to the type of the external electronic device (203). The external electronic device (203) may transmit the type of the external electronic device (203) (e.g., a phone, a tablet, a laptop, a smartwatch, an AR / VR device, or an audio output device) to the electronic device (201) via an mDNS message. The electronic device (201) may use the information included in the received mDNS message to provide the device type information of the external electronic device (203) to the user.
[0102] According to one embodiment, the electronic device (201) may provide a user with an auditory user interface that includes device type information of the external electronic device (700) either alone or together with a visual user interface (e.g., user interface (700)).
[0103]
[0104] FIG. 8 is a drawing for explaining a user interface according to one embodiment.
[0105] Referring to FIG. 8, according to one embodiment, the electronic device (201) may use an ID of the external electronic device (203) included in an mDNS message (e.g., the second mDNS message received in operation 640 of FIG. 6) to provide a user interface (800) including information about an external electronic device (e.g., a client device such as the external electronic device (203) of FIG. 2) connected to the electronic device (201). The ID of the external electronic device (203) included in the mDNS message may be a unique ID. By using the ID of the external electronic device (203), the electronic device (201) may provide accurate device information about the external electronic device (203) despite the occurrence of a specific event related to the electronic device (201) and / or the external electronic device (203). For example, an Android device (e.g., electronic device (201), external electronic device (203)) can use a random MAC address to prevent device tracking based on MAC (media access control address) addresses. The Android device can use the random MAC address instead of the MAC address of the Android device when the Android device connects to a new network (e.g., a Wi-Fi network). For example, when the properties of a hotspot network of an electronic device (201) connected to an external electronic device (203) (e.g., a name of the hotspot network, a security type, and / or a password) are changed, an existing connection (e.g., a hotspot network connection) between the external electronic device (203) and the electronic device (201) is disconnected, and the external electronic device (203) can determine the electronic device (201) as a new AP device (access point device).The external electronic device (201) can create a new connection with the electronic device (201) determined to be a new AP device using a new random MAC address. In this case, the electronic device (201) can accurately identify the external electronic device (203) through the ID of the external electronic device (203) included in the mDNS message received from the external electronic device (203) (e.g., the mDNS message received from the external electronic device (203) after the existing connection with the external electronic device (201) is terminated), despite the change in the random MAC address of the external electronic device (203).
[0106]
[0107] FIG. 9 is a flowchart illustrating a procedure for exchanging mDNS messages according to one embodiment.
[0108] Referring to FIG. 9, according to one embodiment, operations 910 to 950 may be performed sequentially, but are not limited thereto. For example, the order of some operations (e.g., operations 910 to 930) may be changed, or two or more operations (e.g., operations 910 to 930) may be performed in parallel.
[0109] In operation 910, the electronic device (201) (e.g., the electronic device (101) of FIG. 1) may create (or register) an mDNS service. The electronic device (201) may create (or register) the mDNS service in response to activation of a hotspot function (e.g., a WLAN hotspot function) of the electronic device (201). For example, the electronic device (201) may create the mDNS service to use an mDNS message (e.g., an mDNS request). Operation 910 may be performed after operation 920 or operation 930, or may be performed in parallel with operations 920 and 930.
[0110] In operation 920, the electronic device (201) and an external electronic device (e.g., the external electronic device (203) of FIG. 2) may create a network connection (e.g., a Wi-Fi connection). To create the network connection, the electronic device (201) and the external electronic device (203) may perform a network connection creation procedure (e.g., operations 310 to 350 of FIG. 3). The external electronic device (203) may be assigned an IP address based on DHCP.
[0111] In operation 930, the external electronic device (203) may create (or register) an mDNS service. For example, the external electronic device (203) may create an mDNS service to register information to be included in an mDNS message (e.g., an mDNS response).
[0112] In operation 940, the electronic device (201) may transmit a first mDNS message (e.g., the first mDNS message transmitted in operation 630 of FIG. 6) requesting device information of the external electronic device (203) to the external electronic device (203).
[0113] In operation 950, the electronic device (201) may receive a second mDNS message (e.g., the second mDNS message received in operation 640 of FIG. 6) from the external electronic device (203). The second mDNS message may include device information of the external electronic device (203). For example, the second mDNS message may include a name, a type, an identifier, an internet protocol, a media access control address (MAC), a security type, a supported band (e.g., 2.4 GHz, 5 GHz, and / or 6 GHz), and / or information about applications running on the external electronic device (203) (e.g., an application list, an application category, and / or an application type).
[0114] According to one embodiment, the electronic device (201) may provide a user interface (e.g., the user interface (700) of FIG. 7 or the user interface (800) of FIG. 8) based on device information of the external electronic device (203) included in the received second mDNS message (e.g., the name, type, and / or ID of the external electronic device (203).
[0115] According to one embodiment, the electronic device (201) may control data traffic to the external electronic device (203) based on device information of the external electronic device (203) included in the received second mDNS message (e.g., the type of the external electronic device (203) and / or information about an application running on the external electronic device (203). A process for controlling data traffic is described in detail in FIG. 12.
[0116]
[0117] FIG. 10 is a diagram illustrating an example of blocking an mDNS message according to one embodiment.
[0118] Referring to FIG. 10, according to one embodiment, the electronic device (201) may perform blocking on mDNS messages related to the remaining devices (e.g., the external electronic device (203), the external electronic device (205)) excluding the target device (e.g., the external electronic device (203)) among the external electronic devices (e.g., the external electronic device (203), the external electronic device (205)) (e.g., client devices) having a network connection (e.g., a Wi-Fi connection) with the electronic device (201). For example, the electronic device (201) may not forward packets (e.g., mDNS messages) received from the remaining devices (e.g., the external electronic device (205)) to the target device (e.g., the external electronic device (203)). The electronic device (201) may also perform blocking on messages related to the target device (e.g., the external electronic device (203)). For example, the electronic device (201) may not forward packets (e.g., mDNS messages) received from the remaining devices (e.g., the external electronic device (205)) to the target device (e.g., the external electronic device (203)). The electronic device (201) may not forward packets (e.g., mDNS messages) received from the target device (203) to the remaining devices (e.g., external electronic devices (205)). According to one embodiment, the electronic device (201) may reduce unnecessary power consumption by blocking mDNS messages related to external electronic devices (e.g., external electronic devices (205) and external electronic devices (207)) other than the target device (203).
[0119]
[0120] FIG. 11 is a flowchart illustrating an mDNS message exchange procedure according to one embodiment. FIG. 11 may be a diagram illustrating a process for encrypting device information and transmitting the encrypted device information via an mDNS message.
[0121] Referring to FIG. 11, according to one embodiment, operations 1110 to 1190 may be performed sequentially, but are not limited thereto. For example, the order of some operations (e.g., operations 1110 to 1130) may be changed, two or more operations may be performed in parallel, or one or more operations (e.g., operation 1140) may be omitted.
[0122] In operation 1110, an electronic device (201) (e.g., the electronic device (101) of FIG. 1) may create (or register) an mDNS service. The electronic device (201) may create an mDNS service in response to activation of a hotspot function of the electronic device (201). For example, the electronic device (201) may specify information necessary for a client to use the mDNS service, such as a name and / or type of the mDNS service. The electronic device (201) may generate an encryption key before, after, or together with the creation of the mDNS service. The electronic device (201) may generate an encryption key based on symmetric encryption or asymmetric encryption based on a network environment. For example, the electronic device (201) may generate an encryption key based on symmetric encryption when it can securely share an encryption key with an external electronic device (e.g., the external electronic device (203) of FIG. 2). For another example, the electronic device (201) may generate an encryption key based on asymmetric encryption when it is difficult to securely share an encryption key with an external electronic device (203). Operation 1110 may be performed after operation 1120 or operation 1130, or may be performed in parallel with operations 1120 and 1130.
[0123] In operation 1120, the electronic device (201) and the external electronic device (203) may create a network connection (e.g., a Wi-Fi connection). To create the network connection, the electronic device (201) and the external electronic device (203) may perform a network connection creation procedure (e.g., operations 310 to 350 of FIG. 3). The external electronic device (203) may be assigned an IP address based on DHCP.
[0124] In operation 1130, an external electronic device (203) can create (or register) an mDNS service.
[0125] In operation 1140, the external electronic device (203) may transmit a first mDNS message (e.g., an mDNS query) requesting an encryption key (e.g., a public key) to the electronic device (201). In one embodiment, the operation of the external electronic device (203) transmitting the first mDNS message may be omitted.
[0126] In operation 1150, the electronic device (201) may transmit a second mDNS message (e.g., an mDNS response) in response to receiving the first mDNS message. The second mDNS message may include a cryptographic key (e.g., a public key) generated by the electronic device (201).
[0127] According to one embodiment, if operation 1140 is omitted, the electronic device (201) may transmit a second mDNS message to the external electronic device (203) based on a predetermined policy, regardless of the reception of the first mDNS message. For example, the electronic device (201) may transmit the second mDNS message to the external electronic device (203) when a predetermined time has elapsed since a network connection (e.g., a network connection created in operation 1120) is created between the electronic device (201) and the external electronic device (203).
[0128] In operation 1160, the external electronic device (203) can encrypt device information (e.g., device information of Table 1) of the external electronic device (203) using an encryption key (e.g., a public key) included in the received second mDNS message.
[0129] In operation 1170, the electronic device (201) may transmit a third mDNS message (e.g., an mDNS query) requesting device information of the external electronic device (203) to the external electronic device (203).
[0130] In operation 1180, the electronic device (201) may receive a fourth mDNS message (e.g., an mDNS response) from an external electronic device (203). The fourth mDNS message may include encrypted device information of the external electronic device (203).
[0131] In operation 1190, the electronic device (201) can decrypt the encrypted device information included in the fourth mDNS message using an encryption key (e.g., a private key) corresponding to the encryption key (e.g., a public key) used to encrypt the device information of the external electronic device (203).
[0132] According to one embodiment, the electronic device (201) may provide a user interface (e.g., the user interface (700) of FIG. 7 or the user interface (800) of FIG. 8) based on device information of the external electronic device (203) restored through decryption (e.g., the name, type, and / or ID of the external electronic device (203).
[0133] According to one embodiment, the electronic device (201) can control data traffic to the external electronic device (203) based on device information of the external electronic device (203) restored through decryption (e.g., the type of the external electronic device (203) and / or information about an application running on the external electronic device (203). The process of controlling data traffic is described in detail in FIG. 12.
[0134]
[0135] FIG. 12 is a diagram for explaining data traffic control according to one embodiment.
[0136] Referring to FIG. 12, according to one embodiment, operations 1210 and 1220 may be performed sequentially, but are not limited thereto. For example, operations 1210 to 1220 may be performed in parallel.
[0137] In operation 1210, an electronic device (e.g., electronic device (101) of FIG. 1 or electronic device (201) of FIG. 2) may obtain device information of one or more external electronic devices (e.g., external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207) of FIG. 2)) having a network connection (e.g., a Wi-Fi connection) with the electronic device (101, 201). For example, the electronic device (101, 201) may obtain information about the type of the external electronic device and / or information about an application running on the external electronic device (e.g., an application list, an application category, and / or an application type).
[0138] In operation 1220, the electronic device (101, 201) may control data traffic for the external electronic devices (e.g., the external electronic device (203), the external electronic device (205), and / or the external electronic device (207)) based on device information of the external electronic devices (e.g., the external electronic device (203), the external electronic device (205), and / or the external electronic device (207)). For example, the electronic device (101, 201) may determine a priority of data traffic for the external electronic devices (e.g., the external electronic device (203), the external electronic device (205), and / or the external electronic device (207)). For another example, the electronic device (101, 201) can manage the bandwidth (e.g., channel bandwidth) allocated to external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)).
[0139] According to one embodiment, the electronic device (101, 201) can control data traffic to external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) based on the type of the external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). For example, the electronic device (101, 201) can preferentially process data traffic to an external electronic device that uses real-time data traffic, such as a VR device, among the external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). As another example, the electronic device (101, 201) can allocate a channel with a wide bandwidth to the corresponding external electronic device.
[0140] According to one embodiment, the electronic device (101, 201) can control data traffic to external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)) based on the category (or type) of applications running on the external electronic devices (e.g., external electronic device (203), external electronic device (205), and / or external electronic device (207)). For example, the electronic device (101, 201) can classify applications into a first application that uses real-time data traffic and a second application that uses non-real-time data traffic. The electronic device (101, 201) can set a higher priority for data traffic to the external electronic device running the first application than for data traffic to the external electronic device running the second application. For another example, the electronic device (101, 201) may segment the application into multiple categories (or types), such as real-time applications, interactive applications (e.g., messaging), transaction applications (e.g., banking apps), or background applications. The electronic device (101, 201) may control data traffic based on the segmented application categories.
[0141]
[0142] Fig. 13 is a flowchart for explaining the operation of an electronic device according to one embodiment.
[0143] Referring to FIG. 13, according to one embodiment, operations 1310 to 1330 may be performed sequentially, but are not limited thereto. For example, two or more operations may be performed in parallel. Operations 1310 to 1330 may be substantially identical to the operations of the electronic device described with reference to FIGS. 1 to 12 (e.g., the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2). Therefore, any redundant description will be omitted.
[0144] In operation 1310, the electronic device (101, 201) may activate a WLAN hotspot function of the electronic device (101, 201).
[0145] In operation 1320, the electronic device (101, 201) may transmit a first mDNS message requesting device information to an external electronic device (e.g., the external electronic device (203) of FIG. 2).
[0146] In operation 1330, the electronic device (101, 201) may receive a second mDNS message including device information of the external electronic device (203) from the external electronic device (203).
[0147] In operation 1340, the electronic device (101, 201) may provide device type information of the external electronic device (203) on the display of the electronic device (101, 201) based on the device information included in the second mDNS message.
[0148]
[0149] Fig. 14 is a flowchart for explaining the operation of an electronic device according to one embodiment.
[0150] Referring to FIG. 14, according to one embodiment, operations 1410 and 1420 may be performed sequentially, but are not limited thereto. For example, operations 1410 and 1420 may be performed in parallel. Operations 1410 and 1420 may be substantially the same as the operations of the electronic device described with reference to FIGS. 1 to 12 (e.g., the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2). Therefore, any redundant description will be omitted.
[0151] In operation 1410, the electronic device (101, 201) may activate a WLAN hotspot function of the electronic device (101, 201).
[0152] In operation 1420, the electronic device (101, 201) can obtain the type of an external electronic device (e.g., the external electronic device (203) of FIG. 2) based on the mDNS protocol.
[0153]
[0154] An electronic device (101, 201) according to one embodiment may include at least one processor (120) and a memory (130) storing instructions. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to activate a wireless local area network (WLAN) hotspot function of the electronic device (101, 201). The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to transmit a first multicast domain name system (mDNS) message requesting device information to an external electronic device (203). The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to receive a second mDNS message including device information of the external electronic device (203) from the external electronic device (203) while a network connection is provided to the external electronic device (203) based on activation of the WLAN hotspot function. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to provide device type information of the external electronic device (203) on a display of the electronic device (101, 201) based on the device information included in the second mDNS message.
[0155] The external electronic device (203) may be assigned an IP (internet protocol) based on DHCP (dynamic host configuration protocol) before transmitting the first mDNS message.
[0156] The second mDNS message may include one or more of the name, type, supported bandwidth, identifier, and information about an application running on the external electronic device (203) of the external electronic device (203).
[0157] Information about an application running on the external electronic device (203) may include information about a type of application running on the external electronic device (203). The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to control data traffic for the external electronic device (203) based on the second mDNS message.
[0158] The above instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to transmit a third mDNS message (e.g., the second mDNS message of FIG. 11) including an encryption key to the external electronic device (203) prior to transmission of the first mDNS message (e.g., the third mDNS message of FIG. 11).
[0159] The above instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to receive a second mDNS message (e.g., the fourth mDNS message of FIG. 11) containing device information of the external electronic device (203) encrypted by the encryption key from the external electronic device (203).
[0160] The above instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to block forwarding of mDNS messages received from devices other than the external electronic device (203) among external electronic devices (203, 205, 207) communicating with the electronic device (101, 201) through network connections generated based on activation of the WLAN hotspot function to the external electronic device (203).
[0161] The above instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to transmit the third mDNS message to the external electronic device (203) in response to receiving the fifth mDNS message (e.g., the first mDNS message of FIG. 11) from the external electronic device (203).
[0162] A method of operating an electronic device (101, 201) according to one embodiment may include an operation of activating a wireless local area network (WLAN) hotspot function of the electronic device (101, 201). The method may include an operation of transmitting a first multicast domain name system (mDNS) message requesting device information to an external electronic device (203) while a network connection is provided to the external electronic device (203) based on the activation of the WLAN hotspot function. The method may include an operation of receiving a second mDNS message including device information of the external electronic device (203) from the external electronic device (203) while a network connection is provided to the external electronic device (203) based on the activation of the WLAN hotspot function. The method may include an operation of providing device type information of the external electronic device (203) on a display of the electronic device (101, 201) based on device information included in the second mDNS message.
[0163] The external electronic device (203) may be assigned an IP (internet protocol) based on DHCP (dynamic host configuration protocol) before transmitting the first mDNS message.
[0164] The second mDNS message may include one or more of the name, type, supported bandwidth, identifier, and information about an application running on the external electronic device (203) of the external electronic device (203).
[0165] Information about an application running on the external electronic device (203) may include information about the type of application running on the external electronic device (203).
[0166] The method may further include an operation of controlling data traffic for the external electronic device (203) based on the second mDNS message.
[0167] The method may further include transmitting a third mDNS message (e.g., the second mDNS message of FIG. 11) including an encryption key to the external electronic device (203) prior to transmitting the first mDNS message (e.g., the third mDNS message of FIG. 11).
[0168] The operation of receiving the second mDNS message may include an operation of receiving, from the external electronic device (203), a second mDNS message (e.g., the fourth mDNS message of FIG. 11) including device information of the external electronic device (203) encrypted by the encryption key.
[0169] The method may further include an operation of blocking mDNS messages associated with devices other than the external electronic device (203) among external electronic devices (203, 205, 207) that communicate with the electronic device (101, 201) through network connections generated based on activation of the WLAN hotspot function.
[0170] The operation of transmitting the third mDNS message to the external electronic device (203) may include an operation of transmitting the third mDNS message to the external electronic device (203) in response to receiving a fifth mDNS message (e.g., the first mDNS message of FIG. 11) from the external electronic device (203).
[0171] An electronic device (101, 201) according to one embodiment may include at least one processor (120) and a memory (130) storing instructions. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to activate a WLAN hotspot function of the electronic device (101, 201). The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101, 201) to obtain a device type of an external electronic device (203) based on an mDNS protocol while a network connection is provided to the external electronic device (203) based on the activation of the WLAN hotspot function.
[0172] According to one embodiment, a computer-readable recording medium storing one or more computer programs may include instructions for performing the method in a processor.
[0173]
[0174] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0175] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the 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 the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0176] The term "module" used in various embodiments of this document 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. A module may be an integral component, or a minimum unit or part of such a component 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).
[0177] Various embodiments of the present document may be implemented as software (e.g., a program (1740)) including one or more instructions stored in a storage medium (e.g., an internal memory (1736) or an external memory (1738)) readable by a machine (e.g., an electronic device (1701)). For example, a processor (e.g., a processor (1720)) of the machine (e.g., an electronic device (1701)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate 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 executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0178] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers 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 may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0179] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component 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.
[0180] The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects that are not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs from this document.
Claims
1. In an electronic device (101, 201), at least one processor (120); and Memory for storing instructions (130) Including, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101, 201) to: Activate the WLAN (wireless local area network) hotspot function of the above electronic device (101, 201), While a network connection is provided to an external electronic device (203) based on the activation of the above WLAN hotspot function, a first mDNS (multicast domain name system) message requesting device information is transmitted to the external electronic device (203), While a network connection is provided to an external electronic device (203) based on the activation of the above WLAN hotspot function, a second mDNS message including device information of the external electronic device (203) is received from the external electronic device (203), An electronic device (101, 201) that provides device type information of the external electronic device (203) on the display of the electronic device (101, 201) based on the device information included in the second mDNS message.
2. In paragraph 1, The above external electronic device (203) is, An electronic device (101, 201) that is allocated an IP (internet protocol) based on DHCP (dynamic host configuration protocol) prior to transmission of the first mDNS message.
3. In any one of paragraphs 1 and 2, The second mDNS message above is: At least one of the name, type, supported bandwidth, identifier, and information about an application running on the external electronic device (203) An electronic device (101, 201) comprising:
4. In any one of paragraphs 1 to 3, Information about the application running on the external electronic device (203) includes information about the type of the application running on the external electronic device (203). An electronic device (101, 201) comprising:
5. In any one of paragraphs 1 to 4, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101, 201) to: An electronic device (101, 201) for controlling data traffic for the external electronic device (203) based on the second mDNS message.
6. In any one of paragraphs 1 to 5, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101, 201) to: An electronic device (101, 201) that transmits a third mDNS message containing an encryption key to the external electronic device (203) prior to transmission of the first mDNS message.
7. In any one of paragraphs 1 to 6, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101, 201) to: An electronic device (101, 201) configured to receive a second mDNS message from the external electronic device (203) that includes device information of the external electronic device (203) encrypted by the encryption key.
8. In any one of paragraphs 1 to 7, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101, 201) to: An electronic device (101, 201) that blocks forwarding of mDNS messages received from devices other than the external electronic device (203) to the external electronic device (203), among external electronic devices (203, 205, 207) that communicate with the electronic device (101, 201) through network connections generated based on activation of the WLAN hotspot function.
9. In any one of paragraphs 1 to 8, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101, 201) to: An electronic device (101, 201), in response to receiving a fifth mDNS message from the external electronic device (203), causing the electronic device to transmit the third mDNS message to the external electronic device (203).
10. In the operating method of an electronic device (101, 201), An action of activating a WLAN (wireless local area network) hotspot function of the above electronic device (101, 201); An operation of transmitting a first mDNS (multicast domain name system) message requesting device information to an external electronic device (203) while a network connection is provided to the external electronic device (203) based on activation of the above WLAN hotspot function; An operation of receiving a second mDNS message including device information of the external electronic device (203) from the external electronic device (203) while a network connection is provided to the external electronic device (203) based on activation of the WLAN hotspot function; and An operation of providing device type information of the external electronic device (203) on the display of the electronic device (101, 201) based on the device information included in the second mDNS message. A method comprising:
11. In paragraph 10, The above external electronic device (203) is, A method for allocating an IP (internet protocol) based on DHCP (dynamic host configuration protocol) prior to transmitting the first mDNS message.
12. In any one of paragraphs 10 to 11, The second mDNS message above is: At least one of the name, type, supported bandwidth, identifier, and information about an application running on the external electronic device (203) A method comprising:
13. In any one of paragraphs 10 to 12, An operation for controlling data traffic for the external electronic device (203) based on the second mDNS message. A method further comprising:
14. In any one of paragraphs 10 to 13, An operation of transmitting a third mDNS message including an encryption key to the external electronic device (203) prior to transmitting the first mDNS message. A method further comprising:
15. In electronic devices (101, 201), at least one processor (120); and Memory for storing instructions (130) Including, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101, 201) to: Activate the WLAN hotspot function of the above electronic device (101, 201), An electronic device (101, 201) that obtains the device type of an external electronic device (203) based on the mDNS protocol while providing a network connection to the external electronic device (203) based on activation of the above WLAN hotspot function.
Citation Information
Patent Citations
Dog cardiometry device for simultaneous measurement of EKG and ECG
KR1020210045031A
Technology to calculate the optimal evacuation route for underground spaces in case of fire
KR1020210136401A
Protocol for establishing a secure communications session with an anonymous host over a wireless network
US20190230503A1
Systems and methods of initial onboarding and steering for wi-fi devices
US20230247522A1
Method and apparatus for performing discovery using mdns in wireless communication system
WO2016209019A1