WO2026010076A1 - 식별 정보를 관리하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체 - Google Patents
식별 정보를 관리하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체Info
- Publication number
- WO2026010076A1 WO2026010076A1 PCT/KR2025/004019 KR2025004019W WO2026010076A1 WO 2026010076 A1 WO2026010076 A1 WO 2026010076A1 KR 2025004019 W KR2025004019 W KR 2025004019W WO 2026010076 A1 WO2026010076 A1 WO 2026010076A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- electronic device
- list
- irks
- external electronic
- rpa
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/23—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for mobile advertising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/79—Radio fingerprint
Definitions
- the disclosure relates to an electronic device, a method, and a non-transitory computer-readable recording medium for managing identification information.
- Bluetooth a short-range communication method, such as Bluetooth low energy (BLE)
- BLE allows for the transmission and/or reception of low-capacity data at low power in the approximately 2.4 GHz frequency band.
- an electronic device that receives a BLE advertising (ADV) packet containing information about an account can detect that the electronic device that transmitted the BLE ADV packet is an electronic device registered using the same account as the electronic device that received the BLE ADV packet, if the account information contained in the received BLE ADV packet is identical to the account information stored in the electronic device.
- ADV BLE advertising
- the current persistent service can broadcast account information by including it in a BLE ADV packet, allowing each electronic device registered with the same account to detect the presence of external electronic devices registered with the same account.
- the current persistent service does not provide a separate method for uniquely identifying each electronic device registered with the same account.
- the disclosed aspects are intended to address at least the problems and/or disadvantages mentioned above and provide at least the advantages described below. Accordingly, the disclosed aspects provide an electronic device, method, and non-transitory computer-readable recording medium for managing identification information.
- an electronic device comprises a communication circuit, at least one processor comprising a processing circuit, and a memory storing instructions and comprising one or more storage media, wherein the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to receive, through the communication circuit, an advertising packet advertised from an external electronic device, determine whether a resolvable private address (RPA) of the external electronic device in the advertising packet is resolved based on a first list of identity resolving keys (IRKs) of other electronic devices, and, based on a determination that the RPA of the external electronic device is not resolved, cause the electronic device to request, through the communication circuit, a version of a second list of IRKs from the external electronic device.
- RPA resolvable private address
- a method is provided that is performed by an electronic device including a communication circuit.
- the method may include receiving, through the communication circuit, an advertising packet advertised from an external electronic device; determining, based on a first list of identity resolution keys (IRKs) of other electronic devices, whether a resolvable private address (RPA) of the external electronic device in the advertising packet is resolved; and requesting, through the communication circuit, a version of a second list of IRKs from the external electronic device based on a determination that the RPA of the external electronic device is unresolved.
- IRS identity resolution keys
- RPA resolvable private address
- one or more non-transitory computer-readable recording media storing one or more computer programs comprising computer-executable instructions that, when executed individually or collectively by at least one processor of an electronic device including communication circuitry, cause the electronic device to perform operations.
- the operations may include receiving, via the communication circuitry, an advertising packet advertised from an external electronic device, determining whether a resolvable private address (RPA) of the external electronic device in the advertising packet is resolved based on a first list of identity resolution keys (IRKs) of other electronic devices, and requesting, via the communication circuitry, a version of a second list of IRKs from the external electronic device based on a determination that the RPA of the external electronic device is unresolved.
- RPA resolvable private address
- FIG. 1 is a block diagram of an electronic device within a network environment according to an embodiment of the disclosure.
- FIGS. 2A and 2B are block diagrams of electronic devices according to various embodiments of the disclosure.
- FIG. 3 is a flowchart illustrating an operation of an electronic device to determine whether to update an interpretation list according to an embodiment of the disclosure.
- FIG. 4 is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- FIG. 5 is a flowchart illustrating an operation of an electronic device to determine whether to update an interpretation list according to an embodiment of the disclosure.
- FIG. 6 is a flowchart illustrating an operation of an electronic device comparing versions of an interpretation list according to an embodiment of the disclosure.
- FIG. 7A is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- FIG. 7b is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- FIG. 8A is a diagram illustrating a user interface (UI) for querying an update of a list of interpretations displayed by an electronic device, according to one embodiment of the disclosure.
- UI user interface
- FIG. 8b is a diagram illustrating a UI for querying whether to share information in an interpretation list displayed by an electronic device according to an embodiment of the disclosure.
- FIG. 9 is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- CP e.
- FIG. 1 is a block diagram of an electronic device (101) within a network environment according to an embodiment of the disclosure.
- an electronic device (101) may communicate with an external electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an external electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network).
- the electronic device (101) may communicate with an external electronic device (104) via a server (108).
- an 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).
- at least one of these components e.g., the connection terminal (178)
- 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)).
- 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 operations.
- 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).
- the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary 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 with the main processor (121).
- a main processor (121) e.g., a central processing unit or an application processor
- an auxiliary 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
- the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function.
- the auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
- 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.
- the auxiliary processor (123) e.g., an image signal processor or a communication processor
- the auxiliary processor (123) 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, in 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 a plurality of artificial neural network layers.
- the artificial neural network can 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), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above.
- the artificial intelligence model can additionally or alternatively include a software structure.
- the memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101).
- the data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto.
- the memory (130) can include volatile memory (132) or non-volatile memory (134).
- 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).
- 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).
- 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. According to one embodiment of the disclosure, the receiver can be implemented separately from the speaker or as part of the speaker.
- 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.
- 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.
- the audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment of the disclosure, the audio module (170) can acquire sound through an input module (150), output sound through an audio output module (155), or an external electronic device (e.g., an external electronic device (102)) (e.g., a speaker or headphones) directly or wirelessly connected to the electronic device (101).
- an external electronic device e.g., an external electronic device (102)
- a speaker or headphones directly or wirelessly connected to the electronic device (101).
- 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.
- 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.
- the interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) to an external electronic device (e.g., the external electronic device (102)).
- 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.
- HDMI high definition multimedia interface
- USB universal serial bus
- SD card interface Secure Digital Card
- connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., an external electronic device (102)).
- 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).
- 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.
- the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module (180) can capture still images and moving images.
- the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module (188) can manage the power supplied to the electronic device (101). According to one embodiment of the disclosure, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- a battery (189) can power at least one component of the electronic device (101).
- the battery (189) can include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
- 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., external electronic device (102), external 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.
- 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).
- 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
- GNSS global navigation satellite system
- wired communication module (194) e.g., a local area network (LAN) communication module, or a power line communication module.
- 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 fifth generation (5G) network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)).
- a first network (198) e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
- a second network (199) e.g., a long-range communication network such as a legacy cellular network, a fifth generation (5G) network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)
- 5G fifth generation
- 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).
- subscriber information e.g., an international mobile subscriber identity (IMSI)
- the wireless communication module (192) can support a 5G network and next-generation communication technologies following the 4G (fourth generation) network, for example, 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.
- a high-frequency band e.g., mmWave band
- 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., an external electronic device (104)), or a network system (e.g., a second network (199)).
- the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for realizing eMBB, a loss coverage (e.g., 664 dB or less) for realizing mMTC, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 6 ms or less for round trip) for realizing URLLC.
- a peak data rate e.g., 20 Gbps or more
- a loss coverage e.g., 664 dB or less
- U-plane latency e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 6 ms or less for round trip
- the antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device).
- 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).
- 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, for example, by the communication module (190).
- a signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna.
- another component e.g., a radio frequency integrated circuit (RFIC)
- RFIC radio frequency integrated circuit
- the antenna module (197) may form a mmWave antenna module.
- 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.
- a first side e.g., a bottom side
- a plurality of antennas e.g., an array antenna
- 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)).
- peripheral devices e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
- 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).
- all or part of operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, or 104) or the server (108).
- the electronic device (101) 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.
- 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.
- 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.
- 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.
- FIGS. 2A and 2B are block diagrams of electronic devices according to various embodiments of the disclosure.
- an electronic device (101) can wirelessly communicate with an external electronic device (102) and/or a server (108).
- the electronic device (101) of FIG. 2A may correspond to the electronic device (101) of FIG. 1.
- the external electronic device (102) of FIG. 2A may correspond to the external electronic device (102) of FIG. 1.
- the server (108) of FIG. 2A may correspond to the server (108) of FIG. 1.
- the electronic device (101) may include a processor (120), a memory (130), a display (260), and a communication circuit (290).
- the memory (130) may include a resolving list (210).
- the processor (120), the memory (130), the display (260), and the communication circuit (290) of FIG. 2A may correspond to the processor (120), the memory (130), the display module (160), and the communication module (190) of FIG. 1, respectively.
- the processor (120) can manage an interpretation list (210) stored in the memory (130).
- the communication circuit (290) may include a communication circuit for wireless communication with an external electronic device (102) (e.g., a communication circuit for a Bluetooth low energy (BLE) communication technique and/or a legacy Bluetooth communication technique) and a communication circuit for wireless communication with a server (108) (e.g., a communication circuit for a cellular communication technique and/or a Wi-Fi communication technique).
- an external electronic device (102) e.g., a communication circuit for a Bluetooth low energy (BLE) communication technique and/or a legacy Bluetooth communication technique
- a communication circuit for wireless communication with a server (108) e.g., a communication circuit for a cellular communication technique and/or a Wi-Fi communication technique.
- the communication circuit (290) for wireless communication with the external electronic device (102) and the communication circuit for wireless communication with the server (108) may be the same.
- the electronic device (101) may include an interpretation list management unit (241), a data processing unit (242), a scan module (243), a communication channel management unit (244), a message transmission/reception unit (245), an MDE (multi-device experience) service (246), and a cloud communication module (247).
- the interpretation list management unit (241), the data processing unit (242), the scan module (243), the communication channel management unit (244), the message transmission/reception unit (245), the MDE service (246), and the cloud communication module (247) may be programs executable by the processor (120).
- communication between the scan module (243), the communication channel management unit (244), the message transmission/reception unit (245), and the MDE service (246) of the electronic device (101) and the advertisement module (253), the communication channel management unit (254), the message transmission/reception unit (255), and the MDE service (256) of the external electronic device (102) may be performed through the communication circuit (290) of the electronic device (101).
- communication between the cloud communication module (247) of the electronic device (101) and the cloud communication module (271) of the server (108) may be performed through the communication circuit (290) of the electronic device (101).
- the operations described below may be performed by the electronic device (101) based on the processor (120) executing instructions included in the interpretation list management unit (241), the data processing unit (242), the scan module (243), the communication channel management unit (244), the message transmission/reception unit (245), the MDE service (246), and/or the cloud communication module (247).
- the interpretation list management unit (241) may manage an interpretation list (210) of identity resolving keys (IRKs) of one or more electronic devices linked to a user account logged in (or registered) to the electronic device (101).
- the user account may be identical to or correspond to a user account used for the electronic device (101).
- the user account may be identical to or correspond to a user account used for an external electronic device (102).
- the user account may be a user account linked to a user account used for the external electronic device (102).
- the interpretation list management unit (241) may update the interpretation list (210) based on receiving a list of IRKs from the external electronic device (102) and/or the server (108). For example, the interpretation list management unit (241) may delete a list of existing IRKs included in the interpretation list (210) and add a list of received IRKs based on receiving a list of IRKs from the external electronic device (102) and/or the server (108). In one embodiment of the disclosure, the IRK included in the list of IRKs may be assigned or randomly generated by the electronic device that will use the IRK.
- the IRK may be a bit sequence of a specified length (e.g., 128 bits) for generating a random address (or resolvable private address (RPA)) of the electronic device.
- RPA can be used to protect or hide the actual address (e.g., medium access control (MAC) address) of the electronic device (101) and the external electronic device (102).
- the RPA can be a 48-bit bit sequence concatenating a hash value and a prand.
- the prand can be a 24-bit random number.
- the hash value can be a 24-bit bit sequence generated based on the following mathematical expression 1.
- ah() may be a function that generates a hash value based on IRK and prand. Based on the operation result of mathematical expression 1, a hash having a 24-bit bit sequence may be generated.
- the interpretation list management unit (241) can manage the interpretation list (210) as shown in Table 1 below.
- the interpretation list management unit (241) can manage the interpretation list (210) by mapping device identification information (ID) and IRK.
- the device identification information may be identification information (or fingerprint) of one or more electronic devices linked to a user account.
- the electronic devices linked to a user account may be referred to as peer electronic devices.
- the interpretation list management unit (241) can manage version information of the interpretation list (210). In one embodiment of the disclosure, the interpretation list management unit (241) can manage (or allocate) the version information of the interpretation list (210) based on an integer value. In one embodiment of the disclosure, the interpretation list management unit (241) can allocate the version information of the interpretation list (210) as a positive integer value. In one embodiment of the disclosure, the interpretation list management unit (241) can manage (or allocate) the version information of the interpretation list (210) as a bit sequence of a specified length (e.g., 32 bits).
- a specified length e.g., 32 bits
- the data processing unit (242) may receive an advertisement packet (or, a BLE advertisement (BLE ADV) packet) through the scan module (243). In one embodiment of the disclosure, the data processing unit (242) may obtain an advertisement packet from the scan module (243) that the scan module (243) receives through the communication circuit (290) of the electronic device (101).
- BLE ADV BLE advertisement
- the data processing unit (242) can process an advertising packet (or BLE ADV packet) received through the scan module (243).
- the data processing unit (242) can identify the RPA of the external electronic device (102) included in the advertising packet. For example, the data processing unit (242) can identify the RPA of the external electronic device (102) included in the advertising packet based on the identification information included in the advertising packet indicating a fingerprint (or fingerprinting information) of the electronic device (101) (or a user account of the electronic device (101)). For example, the data processing unit (242) can identify the RPA of the external electronic device (102) included in the advertising packet based on the identification information included in the advertising packet being included in a filter allow list of the electronic device (101) (or a user account of the electronic device (101)).
- the data processing unit (242) may resolve the RPA of the external electronic device (102) based on the IRKs included in the interpretation list (210). For example, the data processing unit (242) may obtain hash values for the prand of the RPA of the external electronic device (102) based on the IRKs included in the interpretation list (210) based on mathematical expression 1. For example, the data processing unit (242) may compare the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRKs included in the interpretation list (210) with the hash values corresponding to the hash values of the RPA of the external electronic device (102).
- the data processing unit (242) can identify whether there is a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210).
- the data processing unit (242) can determine that the RPA of the external electronic device (102) has been interpreted based on identifying a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210).
- the data processing unit (242) can identify a device ID (or electronic device) mapped to an IRK for generating a hash value corresponding to a hash value of an RPA of an external electronic device (102). In one embodiment of the disclosure, the data processing unit (242) can identify an electronic device mapped to an IRK for generating a hash value corresponding to a hash value of an RPA of an external electronic device (102) as an electronic device that transmitted an advertising packet.
- the data processing unit (242) may transmit an advertisement event to the MDE service (246) based on the interpretation of the RPA of the external electronic device (102). In one embodiment of the disclosure, the data processing unit (242) may transmit the contents of an advertisement packet to the MDE service (246) based on the interpretation of the RPA of the external electronic device (102). In one embodiment of the disclosure, based on the data processing unit (242) transmitting the contents of the advertisement packet to the MDE service (246), the electronic device (101) may provide a continuous service, a shared service, and/or a fast sharing service to the user.
- the data processing unit (242) may request the communication channel management unit (244) to establish a (temporary) communication channel with the external electronic device (102) based on the RPA of the external electronic device (102) not being interpreted. In one embodiment of the disclosure, the data processing unit (242) may transmit information for establishing a (temporary) communication channel with the external electronic device (102) (e.g., the RPA of the external electronic device (102)) to the communication channel management unit (244). In one embodiment of the disclosure, the data processing unit (242) may request the communication channel management unit (244) to establish a (temporary) communication channel with the external electronic device (102) based on the communication circuit (290) of the electronic device (101).
- the data processing unit (242) may request the communication channel management unit (244) to establish a (temporary) communication channel with the external electronic device (102) based on the communication circuit (290) of the electronic device (101).
- the data processing unit (242) may decrypt the payload of an advertising packet from the external electronic device (102) based on the RPA of the external electronic device (102) being uninterpreted. In one embodiment of the disclosure, the data processing unit (242) may determine whether the decrypted payload includes data in a specified format (or a specified field). For example, the data processing unit (242) may determine whether the decrypted payload includes an advertisement address (AdvA) field and/or an advertisement data (AdvData) field. For example, the data processing unit (242) may determine whether the AdvData field of the decrypted payload includes at least one advertising data (AD) element.
- AD advertising data
- the data processing unit (242) may determine that the decryption of the payload is successful based on determining that the decrypted payload includes data in a specified format (or a specified field). In one embodiment of the disclosure, the data processing unit (242) may determine that the decryption of the payload is unsuccessful based on determining that the decrypted payload does not include data in a specified format (or a specified field).
- the data processing unit (242) may request the communication channel management unit (244) to establish a (temporary) communication channel with the external electronic device (102) based on determining that the RPA of the external electronic device (102) is not interpreted and that the decoding of the payload is successful.
- the data processing unit (242) may filter advertising packets from the external electronic device (102) based on determining that the RPA of the external electronic device (102) is not interpreted and that the decoding of the payload is unsuccessful. For example, filtering advertising packets from the external electronic device (102) may include discarding advertising packets received from the external electronic device (102) without interpreting them.
- filtering advertising packets from the external electronic device (102) may include excluding identification information included in the advertising packet of the external electronic device (102) from a filter approval list.
- the identification information may represent a unique value (or fingerprint) generated for each user account.
- the identification information may be included in an advertising packet.
- the data processing unit (242) may display a user interface (UI) (e.g., the UI of FIG. 8A) through the display (260) that queries whether to update the interpretation list (210) based on the determination that the RPA of the external electronic device (102) is not interpreted.
- the data processing unit (242) may obtain a user input for the UI displayed based on the determination that the RPA of the external electronic device (102) is not interpreted.
- the data processing unit (242) may request the communication channel management unit (244) to establish a (temporary) communication channel with the external electronic device (102) based on the determination that the user input for the UI indicates an update of the interpretation list (210).
- the communication channel management unit (244) may manage the creation and/or termination of a communication channel between the electronic device (101) and the external electronic device (102). For example, the communication channel management unit (244) may create, maintain, and/or remove information for a communication channel between the electronic device (101) and the external electronic device (102). In one embodiment of the disclosure, the communication channel management unit (244) may manage the creation and/or termination of a communication channel between the electronic device (101) and the external electronic device (102) via the communication circuit (290).
- the communication channel management unit (244) may establish a (temporary) communication channel between the electronic device (101) and the external electronic device (102) by transmitting information for establishing a communication channel (e.g., an RPA of the external electronic device (102)) to the external electronic device (102).
- a communication channel e.g., an RPA of the external electronic device (102)
- the present invention is not limited thereto.
- the communication channel management unit (244) may determine whether the RPA of the external electronic device (102) is the RPA of the electronic device with which a (temporary) communication channel has been established with the electronic device (101) within a specified period of time (e.g., at least 10 minutes). In one embodiment of the disclosure, the communication channel management unit (244) may suspend (or suspend) the establishment of the (temporary) communication channel for a specified period of time based on the determination that the RPA of the external electronic device (102) is not interpreted and that the RPA of the external electronic device (102) is the RPA of the electronic device with which a (temporary) communication channel has been established with the electronic device (101) within the specified period of time.
- the present disclosure is not limited thereto.
- the communication channel management unit (244) may suspend (or stop) the establishment of a (temporary) communication channel with the external electronic device (102) based on the RPA of the external electronic device (102) being uninterpreted and the RPA of the external electronic device (102) being determined to be the RPA of an electronic device with which a (temporary) communication channel has been previously established with the electronic device (101).
- the (temporary) communication channel may be a communication channel based on L2CAP (Logical link control and adaptation protocol) by utilizing the RPA of the external electronic device (102).
- L2CAP Logical link control and adaptation protocol
- the present invention is not limited thereto.
- the (temporary) communication channel may be a communication channel based on a communication protocol other than BLE (e.g., Wi-Fi).
- the communication channel management unit (244) may transmit information for establishing a communication channel of a communication protocol other than BLE (e.g., Wi-Fi router information and/or an assigned IP (internet protocol) address) included in an advertising packet transmitted by the external electronic device (102).
- the data processing unit (242) may request the external electronic device (102) for version information of the interpretation list (211) through the message transmission/reception unit (245) based on the RPA of the external electronic device (102) not being interpreted. In one embodiment of the disclosure, the data processing unit (242) may request the external electronic device (102) for version information of the interpretation list (211) through the message transmission/reception unit (245) using a (temporary) communication channel.
- the data processing unit (242) can receive version information of the interpretation list (211) stored in the external electronic device (102) from the external electronic device (102) through the message transmission/reception unit (245).
- the data processing unit (242) can compare the version information of the interpretation list (211) from the external electronic device (102) with the version information of the interpretation list (210) stored in the electronic device (101).
- the data processing unit (242) may discard an advertisement packet received from the external electronic device (102) based on the fact that the version information of the interpretation list (210) stored in the electronic device (101) indicates newer version information than the version information of the interpretation list (211) from the external electronic device (102).
- the data processing unit (242) may filter an advertisement packet from the external electronic device (102) based on the fact that the version information of the interpretation list (210) indicates newer version information than the version information of the interpretation list (211).
- filtering an advertisement packet from the external electronic device (102) may include discarding an advertisement packet received from the external electronic device (102) without interpreting it.
- filtering an advertisement packet from the external electronic device (102) may include excluding identification information included in an advertisement packet of the external electronic device (102) from a filter approval list.
- the data processing unit (242) may request an interpretation list with latest version information based on the fact that the version information of the interpretation list (211) from the external electronic device (102) indicates more recent version information than the version information of the interpretation list (210) stored in the electronic device (101).
- the request for the interpretation list with latest version information may include the version information of the interpretation list (211) of the external electronic device (102).
- the data processing unit (242) may request the interpretation list (215) of the latest version information from the server (108) through the cloud communication module (247) based on the fact that the version information of the interpretation list (211) from the external electronic device (102) indicates newer version information than the version information of the interpretation list (210) stored in the electronic device (101).
- the present invention is not limited thereto.
- the data processing unit (242) may request the interpretation list (211) from the external electronic device (102) through the message transmission and reception unit (245) based on the fact that the version information of the interpretation list (211) from the external electronic device (102) indicates newer version information than the version information of the interpretation list (210) stored in the electronic device (101).
- the data processing unit (242) may receive an interpretation list (215) of the latest version information from the server (108) via the cloud communication module (247). However, this is not limited thereto. In one embodiment of the disclosure, the data processing unit (242) may receive an interpretation list (215) of version information corresponding to the version information of the interpretation list (211) of the external electronic device (102) from the server (108) via the cloud communication module (247).
- the data processing unit (242) can update the interpretation list (210) based on the interpretation list (215) of the latest version information from the server (108) through the interpretation list management unit (241). In one embodiment of the disclosure, the data processing unit (242) can replace the interpretation list (210) with the interpretation list (215) of the latest version information from the server (108) through the interpretation list management unit (241).
- the data processing unit (242) may interpret an RPA included in a new advertising packet advertised from an external electronic device (102) based on updating the interpretation list (210).
- the data processing unit (242) may re-interpret an RPA included in an advertising packet previously advertised from an external electronic device (102) (or an advertising packet cached in the memory (130)) (or an advertising packet temporarily stored in the memory (130)) based on updating the interpretation list (210).
- the data processing unit (242) may re-interpret an RPA included in an advertising packet acquired before updating the interpretation list (210) (or before establishing a temporary communication channel) based on updating the interpretation list (210).
- the MDE service (246) may include notifying, indicating, or guiding the status of the electronic device (101) to one or more devices (e.g., external electronic devices (102)) surrounding the electronic device (101).
- devices e.g., external electronic devices (102)
- the MDE service (246) may include providing a user environment that integrates at least a portion of the capabilities of the electronic device (101) and at least a portion of the capabilities of the external electronic device (102).
- the MDE service (246) may include executing a software application executed within the electronic device (101) within the external electronic device (102) and maintaining the execution state of the software application within the electronic device (101) within the external electronic device (102).
- the MDE service (246) may be referred to as a continuation service, but is not limited thereto.
- the MDE service (246) may include transmitting information about content within the electronic device (101) to one or more devices surrounding the electronic device (101) (e.g., the external electronic device (102)).
- the MDE service (246) may be referred to as a sharing service or a quick sharing service in that it shares content with one or more devices.
- the MDE service (246) may include pasting text, images, and/or files copied (or saved) to the clipboard in the electronic device (101) to the external electronic device (102).
- the MDE service (246) may include transmitting input to an input module (e.g., input module (155) of FIG. 1) connected to the electronic device (101) to the external electronic device (102).
- the data processing unit (242) may request the server (108) through the cloud communication module (247) for an interpretation list (215) of the latest version information based on the fact that the RPA of the external electronic device (102) is not interpreted.
- the data processing unit (242) may request the server (108) through the cloud communication module (247) for an interpretation list (215) of the latest version information without requesting the external electronic device (102) for the version information of the interpretation list (211) based on the fact that the RPA of the external electronic device (102) is not interpreted.
- an advertisement packet transmitted by an external electronic device (102) may include version information of an interpretation list (211).
- the data processing unit (242) may request an interpretation list with the latest version information from the server (108) and/or the external electronic device (102) based on the fact that the RPA of the external electronic device (102) is not interpreted and the version information of the interpretation list (211) included in the advertisement packet from the external electronic device (102) indicates the latest version information than the version information of the interpretation list (210) stored in the electronic device (101).
- the present disclosure is not limited thereto.
- the data processing unit (242) may request the server (108) and/or the external electronic device (102) for an interpretation list with the latest version information, based on the fact that the version information of the interpretation list (211) included in the advertisement packet from the external electronic device (102) indicates more recent version information than the version information of the interpretation list (210) stored in the electronic device (101), without interpreting the RPA of the external electronic device (102).
- an advertisement packet transmitted by an external electronic device (102) may include a field indicating whether transmission of version information of an interpretation list (211) is possible.
- the data processing unit (242) may request an interpretation list (215) of the latest version information from the server (108) through the cloud communication module (247) without requesting the version information of the interpretation list (211) from the external electronic device (102), based on the fact that the RPA of the external electronic device (102) is not interpreted and the advertisement packet from the external electronic device (102) indicates that transmission of version information of the interpretation list (211) is not possible.
- the external electronic device (102) may include a processor (221), a memory (231), a display (261), and a communication circuit (291).
- the memory (231) may include an interpretation list (211).
- the processor (221), the memory (231), the display (261), and the communication circuit (291) of FIG. 2A may correspond to the processor (120), the memory (130), the display module (160), and the communication module (190) of FIG. 1, respectively.
- the external electronic device (102) may include an interpretation list management unit (251), a data processing unit (252), an advertisement module (253), a communication channel management unit (254), a message transmission/reception unit (255), and an MDE service (256).
- the external electronic device (102) may further include a cloud communication module (not shown) for communication with the server (108).
- the external electronic device (102) may update the interpretation list (211) through the cloud communication module (not shown) for communication with the server (108).
- the interpretation list management unit (251), the data processing unit (252), the advertisement module (253), the communication channel management unit (254), the message transmission/reception unit (255), and the MDE service (256) may be programs executable by the processor (221).
- communication between the scan module (243), the communication channel management unit (254), the message transmission/reception unit (255), and the MDE service (256) of the external electronic device (102) and the advertisement module (243), the communication channel management unit (244), the message transmission/reception unit (245), and the MDE service (246) of the electronic device (101) may be performed through the communication circuit (291) of the external electronic device (102).
- the operations described below may be performed by an external electronic device (102) based on the processor (221) executing instructions included in the interpretation list management unit (251), the data processing unit (252), the advertisement module (253), the communication channel management unit (254), the message transmission/reception unit (255), and the MDE service (256).
- the interpretation list management unit (251) can manage an interpretation list (211) of IRKs of one or more electronic devices linked to a user account logged in (or registered) to an external electronic device (102).
- the data processing unit (252) may advertise an advertising packet (or, BLE ADV packet) through the advertising module (253). In one embodiment of the disclosure, the data processing unit (252) may transmit an advertising packet including an RPA of an external electronic device (102) to the electronic device (101). According to one embodiment of the disclosure, the data processing unit (252) may advertise an advertising packet including version information of an interpretation list (211).
- an advertising packet may include a preamble field, an access address field, a protocol data unit (PDU) field, and/or a cyclic redundancy check (CRC) field.
- the access address field may include information about an advertising physical channel over which the advertising packet is transmitted.
- the PDU field may include data of a variable length ranging from 2 to 258 bytes.
- the PDU field may include a header field and a payload field.
- the header field may include information indicating the type and length of data included in the payload field.
- the header field may include information indicating that the type of data included in the payload field is advertising data (e.g., information indicated by TxAdd).
- the payload field may include data of a variable length ranging from 1 to 255 bytes.
- the payload field may include an advertising address (AdvA) field and an advertising data (AdvData) field.
- the AdvA field may indicate an address (e.g., RPA) of an external electronic device (102) that transmitted the advertising packet.
- the AdvData field may include advertising data of 0 to 31 bytes.
- the AdvData field may include at least one advertising data (AD) element. At least one AD element may include a length field, a type field, and a data field.
- the present disclosure is not limited thereto.
- the AdvData field may include a plurality of different fields.
- the data processing unit (252) may transmit an advertisement packet including an RPA of an external electronic device (102) to the electronic device (101), and then receive a request from the electronic device (101) to establish a (temporary) communication channel with the external electronic device (102).
- the request to establish a communication channel may include an RPA of the external electronic device (102).
- the data processing unit (252) can establish a communication channel between the electronic device (101) and the external electronic device (102) by receiving information for a (temporary) communication channel from the electronic device (101) through the communication channel management unit (254).
- the data processing unit (252) may, after establishing a (temporary) communication channel with the electronic device (101), receive a request for version information of the interpretation list (211) of the external electronic device (102) from the electronic device (101) through the message transmission/reception unit (255).
- the data processing unit (252) may transmit version information of the interpretation list (211) to the electronic device (101) through the message transmission/reception unit (255). In one embodiment of the disclosure, the data processing unit (252) may transmit version information of the interpretation list (211) to the electronic device (101) through the message transmission/reception unit (255) based on determining (or parsing) that a message received from the electronic device (101) through the temporary communication channel requests version information of the interpretation list (211).
- the data processing unit (252) may, based on receiving a request for version information of the interpretation list (211) of the external electronic device (102) from the electronic device (101) through the message transmitting and receiving unit (255), display a user interface (UI) (e.g., UI (805) of FIG. 8B) for inquiring whether to share the version information of the interpretation list (211) through the display (261).
- UI user interface
- the data processing unit (252) may obtain a user input for the UI for inquiring whether to share the version information of the interpretation list (211).
- the data processing unit (252) may transmit the version information of the interpretation list (211) to the electronic device (101) through the message transmitting and receiving unit (255) based on determining that the user input for the UI indicates sharing the version information of the interpretation list (211).
- the data processing unit (252) may receive a request to share an interpretation list (211) from the electronic device (101). In one embodiment of the disclosure, the data processing unit (252) may, after establishing a (temporary) communication channel with the electronic device (101), receive a request to share an interpretation list (211) from the electronic device (101) through the message transmission and reception unit (255).
- the data processing unit (252) may transmit an interpretation list (211) to the electronic device (101) through the message transceiver (255). In one embodiment of the disclosure, the data processing unit (252) may transmit an interpretation list (211) to the electronic device (101) through the message transceiver (255) based on determining (or parsing) that a message received from the electronic device (101) through the temporary communication channel requests an interpretation list (211).
- the data processing unit (252) may receive a request for an MDE service (256) from the electronic device (101) based on a communication channel with the electronic device (101). In one embodiment of the disclosure, the data processing unit (252) may transmit the contents of the request to the MDE service (256) based on receiving the request for the MDE service (256) from the electronic device (101).
- the server (108) may include a processor (225), a memory (235), and a communication circuit (295).
- the memory (235) may include an interpretation list (215).
- the server (108) can manage an interpretation list (215) that includes user accounts of electronic devices (101, 102) and IRKs associated with the user accounts.
- the server (108) may include a cloud communication module (271). Descriptions of the cloud communication module (271) that overlap with descriptions of the cloud communication module (247) of the electronic device (101) may not be repeated.
- the server (108) may receive a request for an interpretation list (215) of the latest version information from the electronic device (101) through the cloud communication module (271). In one embodiment of the disclosure, the server (108) may transmit a request for an interpretation list (215) to the electronic device (101) through the cloud communication module (271) based on receiving the request for the interpretation list (215).
- the electronic device (101) can exclude identification information (or fingerprints) contained in an advertising packet, including an RPA that has failed to be interpreted, from the filter approval list. Accordingly, the electronic device (101) can prevent an external electronic device (102) that transmits an RPA that has failed to be interpreted from interpreting the advertising packet.
- the electronic device (101) can determine whether to update the interpretation list (210) stored in the electronic device (101) by obtaining version information of the interpretation list from the external electronic device (102). Accordingly, the number of requests for updating the interpretation list that the electronic device (101) and the external electronic device (102) transmit to the server (108) is reduced, so that the burden on the server (108) and/or the overall network data usage can be reduced.
- FIG. 3 is a flowchart illustrating an operation of an electronic device to determine whether to update an interpretation list according to an embodiment of the disclosure.
- FIG. 3 can be described with reference to FIGS. 2A and 2B.
- the operations of FIG. 3 can be performed by an electronic device (101) and/or an external electronic device (102).
- the external electronic device (102) may advertise an advertising packet (or a BLE ADV packet).
- the external electronic device (102) may transmit an advertising packet including an RPA of the external electronic device (102) to the electronic device (101).
- the external electronic device (102) may broadcast an advertising packet including an RPA.
- the advertising packet may include version information of the interpretation list (211).
- the advertising packet may include a field for including version information of the interpretation list (211). Accordingly, by receiving an advertising packet including a field for including version information of the interpretation list (211), the electronic device (101) may confirm the appearance of a new version of the interpretation list (210) during a message exchange with the external electronic device (102).
- the electronic device (101) may compare the version information of the interpretation list (210) with the version information of the interpretation list (211). For example, if the version information of the interpretation list (210) of the electronic device (101) indicates newer version information than the version information of the interpretation list (211) received from the external electronic device (102), the electronic device (101) may transmit the interpretation list (210) to the external electronic device (102).
- the electronic device (101) may transmit a message to the external electronic device (102) to induce the update of the interpretation list (211) via the server (108).
- the external electronic device (102) may advertise an advertising packet (or BLE ADV packet) that includes information indicating whether it can transmit version information of the interpretation list (211) to the electronic device (101).
- an advertising packet or BLE ADV packet
- the electronic device (101) may resolve the RPA. For example, the electronic device (101) may obtain hash values for the prand of the RPA of the external electronic device (102) based on the IRKs included in the resolution list (210). For example, the electronic device (101) may compare hash values for the prand of the RPA of the external electronic device (102) derived based on the IRKs included in the resolution list (210) with hash values corresponding to the hash values of the RPA of the external electronic device (102).
- the electronic device (101) may identify whether there is a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRKs included in the resolution list (210).
- the electronic device (101) can interpret the RPA of the external electronic device (102) included in the advertising packet based on the identification information included in the advertising packet indicating a fingerprint (or fingerprinting information) of the electronic device (101) (or a user account of the electronic device (101)).
- the electronic device (101) can interpret the RPA of the external electronic device (102) included in the advertising packet based on the identification information included in the advertising packet being included in a filter approval list of the electronic device (101) (or a user account of the electronic device (101)).
- the electronic device (101) can determine whether the interpretation of the RPA was successful.
- the electronic device (101) can determine that the RPA of the external electronic device (102) has been interpreted based on identifying a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210). For example, the electronic device (101) can determine that the RPA of the external electronic device (102) has not been interpreted based on not identifying a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210).
- the electronic device (101) may perform operation 340 based on determining that the interpretation of the RPA is successful. In one embodiment of the disclosure, the electronic device (101) may perform operation 350 based on determining that the interpretation of the RPA is unsuccessful.
- the electronic device (101) may transmit an advertisement event to the MDE service (246).
- the electronic device (101) may transmit the contents of an advertisement packet to the MDE service (246) as part of the information included in the advertisement event.
- the electronic device (101) may request version information of the interpretation list from the external electronic device (102).
- the external electronic device (102) may request version information of the interpretation list (211) from the external electronic device (102) using a (temporary) communication channel.
- the electronic device (101) may request the version information of the interpretation list from the server (108).
- the external electronic device (102) may transmit version information of the interpretation list to the electronic device (101).
- the electronic device (101) may disconnect the communication connection with the external electronic device (102).
- the electronic device (101) may disconnect the communication connection with the external electronic device (102) based on receiving the version information of the interpretation list from the external electronic device (102).
- the electronic device (101) may receive the version information of the interpretation list from the server (108).
- the electronic device (101) may compare version information of the interpretation list.
- the electronic device (101) may compare version information of the interpretation list (211) received from an external electronic device (102) with version information of the interpretation list (210) stored in the electronic device (101).
- the electronic device (101) may determine whether to update the interpretation list based on the comparison result. In one embodiment of the disclosure, the electronic device (101) may determine not to update the interpretation list based on the fact that the version information of the interpretation list (210) stored in the electronic device (101) indicates newer version information than the version information of the interpretation list (211) from the external electronic device (102). In one embodiment of the disclosure, the electronic device (101) may determine to update the interpretation list based on the fact that the version information of the interpretation list (211) from the external electronic device (102) indicates newer version information than the version information of the interpretation list (210) stored in the electronic device (101).
- FIG. 4 is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- FIG. 4 may be described with reference to FIGS. 2A and 2B.
- the operations of FIG. 4 may be performed by the electronic device (101) and/or the server (108).
- Operation 370 of FIG. 4 may correspond to operation 370 of FIG. 3.
- Operations 410, 420, 430, 440, and 450 of FIG. 4 may correspond to operation 380 of FIG. 3.
- the electronic device (101) can compare version information of the interpretation list.
- the electronic device (101) can determine whether to update the interpretation list.
- the electronic device (101) may perform operation 420 based on a determination not to update the interpretation list.
- the external electronic device (102) may perform operation 430 based on a determination to update the interpretation list.
- the electronic device (101) when an electronic device (101) receives an advertisement packet including version information of an interpretation list (211) from an external electronic device (102), the electronic device (101) may determine whether to perform operation 430 based on the version information of the interpretation list (211). For example, when the version information of the interpretation list (211) included in the advertisement packet received through operation 310 of FIG. 3 indicates newer version information than the version information of the interpretation list (210) of the electronic device (101), the electronic device (101) may perform operation 430. For example, even if the RPA interpretation is successful, when the version information of the interpretation list (211) received from the external electronic device (102) indicates newer version information than the version information of the interpretation list (210) of the electronic device (101), the electronic device (101) may perform operation 430.
- the electronic device (101) may discard an advertising packet.
- the electronic device (101) may filter an advertising packet from an external electronic device (102) based on the version information of the interpretation list (210) indicating more recent version information than the version information of the interpretation list (211).
- filtering an advertising packet from an external electronic device (102) may include discarding an advertising packet received from the external electronic device (102) without interpreting it.
- filtering an advertising packet from an external electronic device (102) may include excluding identification information included in an advertising packet of the external electronic device (102) from a filter approval list of the electronic device (101).
- the electronic device (101) may request an interpretation list (215) from the server (108).
- the electronic device (101) may request an interpretation list (215) of the latest version information based on the version information of the interpretation list (211) from the external electronic device (102) indicating a newer version information than the version information of the interpretation list (210) stored in the electronic device (101).
- the request for the interpretation list (215) of the latest version information may include the version information of the interpretation list (211) of the external electronic device (102).
- the server (108) may transmit an interpretation list (215) to the electronic device (101).
- the server (108) may transmit an interpretation list (215) of the latest version information to the electronic device (101) via the cloud communication module (271).
- the electronic device (101) may receive an interpretation list (215) of version information corresponding to the version information of the interpretation list (211) of the external electronic device (102) from the server (108) via the cloud communication module (247).
- the electronic device (101) may update the interpretation list (210). In one embodiment of the disclosure, the electronic device (101) may update the interpretation list (210) based on the interpretation list (215) of the latest version information from the server (108). In one embodiment of the disclosure, the electronic device (101) may replace the interpretation list (210) with the interpretation list (215) of the latest version information from the server (108).
- FIG. 5 is a flowchart illustrating an operation of an electronic device to determine whether to update an interpretation list according to an embodiment of the disclosure.
- FIG. 5 can be described with reference to FIGS. 2A and 2B.
- the operations of FIG. 5 can be performed by an electronic device (101) and/or an external electronic device (102).
- the electronic device (101) may include a data processing unit (242), a scan module (243), a communication channel management unit (244), and an MDE service (246).
- the external electronic device (102) may include an advertising module (253) and a communication channel management unit (254).
- the advertising module (253) may advertise an advertising packet.
- the advertising module (253) may advertise the advertising packet via the communication circuit (291).
- the scan module (243) may receive the advertising packet from the advertising module (253).
- the scan module (243) may receive the advertising packet from the advertising module (253) via the communication circuit (290).
- the scan module (243) may request the data processing unit (242) to interpret the RPA.
- the scan module (243) may transmit an advertisement packet received from the advertisement module (253) to the data processing unit (242).
- the data processing unit (242) can interpret the RPA.
- the data processing unit (242) can identify the RPA of the external electronic device (102) included in the advertising packet. For example, the data processing unit (242) can identify the RPA of the external electronic device (102) included in the advertising packet based on the identification information included in the advertising packet indicating a fingerprint of the electronic device (101) (or a user account of the electronic device (101)).
- the data processing unit (242) may resolve the RPA of the external electronic device (102) based on the IRKs included in the interpretation list (210). For example, the data processing unit (242) may obtain hash values for the prand of the RPA of the external electronic device (102) based on the IRKs included in the interpretation list (210). For example, the data processing unit (242) may compare hash values for the prand of the RPA of the external electronic device (102) derived based on the IRKs included in the interpretation list (210) with hash values corresponding to the hash values of the RPA of the external electronic device (102).
- the data processing unit (242) can identify whether there is a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210).
- the data processing unit (242) may determine that the RPA of the external electronic device (102) has been interpreted based on identifying a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210). For example, the data processing unit (242) may determine that the RPA of the external electronic device (102) has not been interpreted based on not identifying a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210).
- the data processing unit (242) can determine whether the interpretation list (210) is updated.
- the data processing unit (242) may determine not to update the interpretation list (210) based on determining that the interpretation of the RPA has been successful. In one embodiment of the disclosure, the electronic device (101) may determine to update the interpretation list (210) based on determining that the interpretation of the RPA has been unsuccessful.
- the electronic device (101) may perform operation 560 based on determining that the interpretation list (210) is to be updated. In one embodiment of the disclosure, the electronic device (101) may perform operation 550 based on determining that the interpretation list (210) is not to be updated.
- the data processing unit (242) may transmit an advertisement event to the MDE service (246).
- the MDE service (246) may perform an operation corresponding to the advertisement event.
- the operation corresponding to the advertisement event may include notifying, indicating, or guiding the state of the electronic device (101) to one or more devices (e.g., an external electronic device (102)) surrounding the electronic device (101).
- the operation corresponding to the advertisement event may include providing a user environment that integrates at least a portion of the capabilities of the electronic device (101) and at least a portion of the capabilities of the external electronic device (102).
- the operation corresponding to the advertisement event may include executing a software application executed within the electronic device (101) within the external electronic device (102) and maintaining the execution state of the software application within the electronic device (101) within the external electronic device (102).
- an action corresponding to an advertising event may include pasting text, images, and/or files copied (or saved) to a clipboard on the electronic device (101) onto an external electronic device (102).
- an action corresponding to an advertising event may include transmitting an input to an input module (e.g., input module (155) of FIG. 1) connected to the electronic device (101) to the external electronic device (102).
- the electronic device (101) may perform operation 560 to update the interpretation list (210) based on determining that the interpretation of the RPA has failed. For example, the electronic device (101) may perform operation 560 to obtain version information of the interpretation list (211) stored in the external electronic device (102) from the external electronic device (102).
- the data processing unit (242) may request the communication channel management unit (244) to create a communication channel.
- the data processing unit (242) may transmit information (e.g., RPA of the external electronic device (102)) for establishing a (temporary) communication channel with the external electronic device (102) to the communication channel management unit (244).
- the communication channel management unit (244) can create a communication channel with the communication channel management unit (254).
- the communication channel management unit (244) can establish a communication channel between the electronic device (101) and the external electronic device (102) by transmitting information for establishing a communication channel (e.g., an RPA of the external electronic device (102)) to the communication channel management unit (254).
- the communication channel management unit (244) can establish a communication channel between the electronic device (101) and the external electronic device (102) by transmitting information for establishing a communication channel (e.g., an RPA of the external electronic device (102)) to the communication channel management unit (254) through a communication circuit (290).
- the communication channel may be a communication channel based on L2CAP utilizing the RPA of the external electronic device (102).
- the present invention is not limited thereto.
- the communication channel may be a communication channel based on a communication protocol other than BLE (e.g., Wi-Fi).
- the communication channel management unit (244) may transmit information for establishing a communication channel of a communication protocol other than BLE (e.g., Wi-Fi router information and/or an assigned IP address) included in an advertising packet transmitted by the external electronic device (102).
- the communication channel management unit (244) may transmit a result to the data processing unit (242). For example, the communication channel management unit (244) may transmit information indicating that a communication channel is established between the electronic device (101) and the external electronic device (102) to the data processing unit (242).
- FIG. 6 is a flowchart illustrating an operation of an electronic device comparing versions of an interpretation list according to an embodiment of the disclosure.
- FIG. 6 can be described with reference to FIGS. 2A and 2B.
- the operations of FIG. 6 can be performed by an electronic device (101) and/or an external electronic device (102).
- an electronic device (101) may include a data processing unit (242) and a message transmitting and receiving unit (245).
- the external electronic device (102) may include a message transmitter and receiver (255).
- the data processing unit (242) can request version information from the message transmission/reception unit (245).
- the message transceiver (245) may request version information of the interpretation list from the message transceiver (255). In one embodiment of the disclosure, the message transceiver (245) may request version information of the interpretation list from the message transceiver (255) via the communication circuit (290). In one embodiment of the disclosure, the message transceiver (245) may request version information of the interpretation list (211) from the external electronic device (102) using a communication channel (e.g., a communication channel established through the operations of FIG. 5) to the message transceiver (255).
- a communication channel e.g., a communication channel established through the operations of FIG. 5
- the message transceiver (255) can transmit version information of the interpretation list (211) to the message transceiver (245).
- the message transceiver (255) can transmit version information of the interpretation list (211) to the message transceiver (245) via the communication circuit (291).
- the message transmitter/receiver (245) can transmit version information of the interpretation list (211) to the data processor (242).
- the data processing unit (242) may compare the version information of the interpretation list. In one embodiment of the disclosure, the data processing unit (242) may compare the version information of the interpretation list (211) with the version information of the interpretation list (210) stored in the electronic device (101).
- the data processing unit (242) may discard an advertisement packet received from an external electronic device (102) based on the fact that the version information of the interpretation list (210) stored in the electronic device (101) indicates newer version information than the version information of the interpretation list (211). In one embodiment of the disclosure, the data processing unit (242) may filter an advertisement packet from an external electronic device (102) based on the fact that the version information of the interpretation list (210) indicates newer version information than the version information of the interpretation list (211).
- the data processing unit (242) may perform the operations of FIG. 7a based on the fact that the version information of the interpretation list (211) from the external electronic device (102) indicates more recent version information than the version information of the interpretation list (210) stored in the electronic device (101).
- FIG. 7A is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- FIG. 7A can be described with reference to FIGS. 2A and 2B.
- the operations of FIG. 7A can be performed by an electronic device (101) and/or an external electronic device (102).
- the electronic device (101) may include an interpretation list management unit (241), a data processing unit (242), and a message transmission/reception unit (245).
- the external electronic device (102) may include a message transmitter/receiver (255).
- the data processing unit (242) can request an interpretation list (211) from the message transmission/reception unit (245).
- the message transmitter/receiver (245) may request the interpretation list (211) from the message transmitter/receiver (255).
- the message transmitter/receiver (245) may request the interpretation list (211) from the message transmitter/receiver (255) through the communication circuit (290).
- the message transceiver (255) can transmit an interpretation list (211) to the message transceiver (245).
- the message transceiver (255) can transmit the interpretation list (211) to the message transceiver (245) via the communication circuit (291).
- the message transmitter/receiver (245) can transmit the interpretation list (211) to the data processor (242).
- the data processor (242) can transmit the interpretation list (211) to the interpretation list management unit (241).
- the interpretation list management unit (241) may update the interpretation list.
- the interpretation list management unit (241) may update the interpretation list (210) based on the interpretation list (211) from the external electronic device (102).
- FIG. 7b is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- FIG. 7B can be described with reference to FIGS. 2A and 2B.
- the operations of FIG. 7B can be performed by the electronic device (101) and/or the server (108).
- the electronic device (101) may include an interpretation list management unit (241), a data processing unit (242), and a cloud communication module (247).
- the server (108) may include a cloud communication module (271).
- the data processing unit (242) may request an interpretation list (215) from the cloud communication module (247).
- the cloud communication module (247) may request the interpretation list (215) from the cloud communication module (271). For example, the cloud communication module (247) may request the interpretation list (215) from the cloud communication module (271) via the communication circuit (290).
- the cloud communication module (271) may transmit the interpretation list (215) to the cloud communication module (247).
- the cloud communication module (271) may transmit the interpretation list (215) to the cloud communication module (247) via the communication circuit (295).
- the cloud communication module (247) may transmit the interpretation list (215) to the data processing unit (242).
- the data processing unit (242) may transmit the interpretation list (215) to the interpretation list management unit (241).
- the interpretation list management unit (241) may update the interpretation list. In one embodiment of the disclosure, the interpretation list management unit (241) may update the interpretation list (210) based on the interpretation list (215) of the latest version information from the server (108). In one embodiment of the disclosure, the interpretation list management unit (241) may replace the interpretation list (210) with the interpretation list (215) of the latest version information from the server (108).
- FIG. 8A is a diagram illustrating a user interface (UI) for querying an update of a list of interpretations displayed by an electronic device, according to one embodiment of the disclosure.
- UI user interface
- the UI (801) can be displayed through the display (260) of the electronic device (101).
- the electronic device (101) may display a UI (801) through the display (260) that queries whether to update the interpretation list (210) based on the determination that the RPA of the external electronic device (102) is not interpreted.
- the data processing unit (242) can obtain user input for the UI (801).
- the data processing unit (242) may perform operations for updating the interpretation list (210) based on determining that the user input selects a visual object (811) of the UI (801) that instructs updating the interpretation list (210).
- the data processing unit (242) may not perform actions for updating the interpretation list (210) based on determining that the user input selects a visual object (815) of the UI (801) indicating that the interpretation list (210) should not be updated.
- FIG. 8b is a diagram illustrating a UI for querying whether to share information in an interpretation list displayed by an electronic device according to an embodiment of the disclosure.
- the UI (805) can be displayed through the display (261) of the external electronic device (102).
- the external electronic device (102) may, based on receiving a request for version information of the interpretation list (211) of the external electronic device (102), display a UI (805) through the display (261) that queries whether to share the version information of the interpretation list (211).
- an external electronic device (102) may obtain user input to the UI (805).
- the external electronic device (102) may transmit version information of the interpretation list (211) to the electronic device (101) based on determining that the user input selects a visual object (821) of the UI (805) that indicates sharing of version information of the interpretation list (211).
- the external electronic device (102) may not perform operations for transmitting version information of the interpretation list (211) to the electronic device (101) based on determining that the external electronic device (102) selects a visual object (825) of the UI (805) indicating not to share version information of the interpretation list (211).
- FIG. 9 is a flowchart illustrating an operation of an electronic device updating an interpretation list according to an embodiment of the disclosure.
- FIG. 9 can be described with reference to FIGS. 2A and 2B.
- the operations of FIG. 9 can be performed by an electronic device (101), an external electronic device (102), and/or a server (108).
- an external electronic device (102) may advertise an advertising packet (or a BLE ADV packet).
- the external electronic device (102) may transmit an advertising packet including an RPA of the external electronic device (102) to the electronic device (101).
- the external electronic device (102) may broadcast an advertising packet including an RPA.
- the advertising packet may include version information of the interpretation list (211).
- the electronic device (101) may resolve the RPA. For example, the electronic device (101) may obtain hash values for the prand of the RPA of the external electronic device (102) based on the IRKs included in the resolution list (210). For example, the electronic device (101) may compare hash values for the prand of the RPA of the external electronic device (102) derived based on the IRKs included in the resolution list (210) with hash values corresponding to the hash values of the RPA of the external electronic device (102).
- the electronic device (101) may identify whether there is a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRKs included in the resolution list (210).
- the electronic device (101) can interpret the RPA of the external electronic device (102) included in the advertising packet based on the identification information included in the advertising packet indicating a fingerprint (or fingerprinting information) of the electronic device (101) (or a user account of the electronic device (101)).
- the electronic device (101) can interpret the RPA of the external electronic device (102) included in the advertising packet based on the identification information included in the advertising packet being included in a filter approval list of the electronic device (101) (or a user account of the electronic device (101)).
- the electronic device (101) can determine whether the interpretation of the RPA was successful.
- the electronic device (101) can determine that the RPA of the external electronic device (102) has been interpreted based on identifying a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210). For example, the electronic device (101) can determine that the RPA of the external electronic device (102) has not been interpreted based on not identifying a hash value corresponding to the hash value of the RPA of the external electronic device (102) among the hash values for the prand of the RPA of the external electronic device (102) derived based on the IRK included in the interpretation list (210).
- the electronic device (101) may perform operation 904 based on determining that the interpretation of the RPA is successful. In one embodiment of the disclosure, the electronic device (101) may perform operation 905 based on determining that the interpretation of the RPA is unsuccessful.
- the electronic device (101) may transmit an advertisement event to the MDE service (246).
- the electronic device (101) may transmit the contents of an advertisement packet to the MDE service (246) as part of the information included in the advertisement event.
- the electronic device (101) may request version information of the interpretation list from the external electronic device (102).
- the external electronic device (102) may request version information of the interpretation list (211) from the external electronic device (102) using a (temporary) communication channel.
- the external electronic device (102) may transmit version information of the interpretation list to the electronic device (101).
- the electronic device (101) may disconnect the communication connection with the external electronic device (102).
- the electronic device (101) may disconnect the communication connection with the external electronic device (102) based on receiving version information of the interpretation list from the external electronic device (102).
- the electronic device (101) may compare version information of the interpretation list.
- the electronic device (101) may compare version information of the interpretation list (211) received from an external electronic device (102) with version information of the interpretation list (210) stored in the electronic device (101).
- the electronic device (101) may determine whether to update the interpretation list based on the comparison result. In one embodiment of the disclosure, the electronic device (101) may determine not to update the interpretation list based on the fact that the version information of the interpretation list (210) stored in the electronic device (101) indicates newer version information than the version information of the interpretation list (211) from the external electronic device (102). In one embodiment of the disclosure, the electronic device (101) may determine to update the interpretation list based on the fact that the version information of the interpretation list (211) from the external electronic device (102) indicates newer version information than the version information of the interpretation list (210) stored in the electronic device (101).
- the electronic device (101) may perform operation 909 based on a determination not to update the interpretation list.
- the external electronic device (102) may perform operation 910 based on a determination to update the interpretation list.
- the electronic device (101) may discard an advertising packet.
- the electronic device (101) may filter an advertising packet from an external electronic device (102) based on the version information of the interpretation list (210) indicating more recent version information than the version information of the interpretation list (211).
- filtering an advertising packet from an external electronic device (102) may include discarding an advertising packet received from the external electronic device (102) without interpreting it.
- filtering an advertising packet from an external electronic device (102) may include excluding identification information included in an advertising packet of the external electronic device (102) from a filter approval list of the electronic device (101).
- the electronic device (101) may request an interpretation list (215) from the server (108).
- the electronic device (101) may request an interpretation list (215) of the latest version information based on the version information of the interpretation list (211) from the external electronic device (102) indicating a newer version information than the version information of the interpretation list (210) stored in the electronic device (101).
- the request for the interpretation list (215) of the latest version information may include the version information of the interpretation list (211) of the external electronic device (102).
- the server (108) may transmit an interpretation list (215) to the electronic device (101).
- the server (108) may transmit an interpretation list (215) of the latest version information to the electronic device (101) via the cloud communication module (271).
- the electronic device (101) may receive an interpretation list (215) of version information corresponding to the version information of the interpretation list (211) of the external electronic device (102) from the server (108) via the cloud communication module (247).
- the electronic device (101) may update the interpretation list (210). In one embodiment of the disclosure, the electronic device (101) may update the interpretation list (210) based on the interpretation list (215) of the latest version information from the server (108). In one embodiment of the disclosure, the electronic device (101) may replace the interpretation list (210) with the interpretation list (215) of the latest version information from the server (108).
- the electronic device (101) may include a communication circuit (290), at least one processor (120) including a processing circuit, and a memory (130) storing instructions and including one or more storage media.
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to receive an advertising packet advertised from an external electronic device (102) via the communication circuit (290).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine whether a resolvable private address (RPA) of the external electronic device (102) in the advertising packet is resolved based on a first list (210) of identity resolving keys (IRKs) of other electronic devices.
- RPA resolvable private address
- INKs identity resolving keys
- the above instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to request, through the communication circuit (290), a version of the second list (211) of IRKs from the external electronic device (102) based on the determination that the RPA of the external electronic device (102) is not interpreted.
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to receive, via the communication circuit (290), the version of the second list (211) of IRKs from the external electronic device (102).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to compare the version of the second list (211) of IRKs from the external electronic device (102) with the version of the first list (210) of IRKs within the electronic device (101).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to: request, through the communication circuit (290), a server (108) for a third list (215) of IRKs associated with a user account of the electronic device (101), receive, through the communication circuit (290), from the server (108) the third list (215) of IRKs associated with the user account, and update, based on the third list (215) of IRKs associated with the user account received from the server (108), the first list (210) of IRKs associated with the user account.
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to receive another advertising packet containing the RPA advertised from the external electronic device (102) via the communication circuit (290).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine whether the RPA included in the other advertising packet is interpreted based on the updated first list (210) of IRKs.
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to temporarily store the advertisement packet in the memory (130) based on determining that the RPA included in the advertisement packet is not interpreted, and to determine, based on the updated first list (210) of IRKs, whether the RPA included in the advertisement packet temporarily stored in the memory (130) is interpreted.
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to identify fingerprinting information in the advertisement packet.
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine whether the RPA included in the advertisement packet is interpreted based on determining that the fingerprinting information is included in a filter approval list.
- the above instructions when executed individually or collectively by the at least one processor (120), may cause the electronic device (101) to discard the advertisement packet without interpreting the RPA included in the advertisement packet based on determining that the fingerprinting information is not included in the filter approval list.
- the instructions when executed individually or collectively by the at least one processor (120), may cause the electronic device (101) to: decrypt a payload included in the advertisement packet based on determining that the RPA included in the advertisement packet is not interpreted; determine whether the decoded payload includes data in a specified format; and request, through the communication circuit (290), the external electronic device (102) for the version of the first list (210) of IRKs based on determining that the decoded payload includes data in a specified format.
- the above instructions when executed individually or collectively by the at least one processor (120), may cause the electronic device (101) to discard the advertisement packet without requesting the version of the second list (211) of IRKs based on determining that the decrypted payload does not contain data in a specified format.
- the electronic device (101) may include a display (260).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to display a user interface (UI) (801) for inquiring about whether to update the first list (210) of IRKs through the display (260) based on the determination that the RPA included in the advertisement packet is not interpreted, and, in response to a user input to the UI, to request a version of the second list (211) of IRKs from the external electronic device (102) through the communication circuit (290).
- UI user interface
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to receive, via the communication circuit (290), the version of the second list (211) of IRKs from the external electronic device (102).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to compare the version of the second list (211) of IRKs from the external electronic device (102) with the version of the first list (210) of IRKs within the electronic device (101).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to: request the second list (211) of IRKs from the external electronic device (102) through the communication circuit (290), receive the second list (211) of IRKs from the external electronic device (102), and update the first list (210) of IRKs within the electronic device (101) based on determining that a version of the second list (211) of IRKs from the external electronic device (102) is newer than a version of the first list (210) of IRKs within the electronic device (101).
- the method may be performed by an electronic device (101) including a communication circuit (290).
- the method may include receiving an advertisement packet advertised from an external electronic device (102) via the communication circuit (290).
- the method may include determining whether a resolvable private address (RPA) of the external electronic device (102) in the advertisement packet is resolved based on a first list (210) of identity resolving keys (IRKs) of other electronic devices.
- the method may include requesting a version of the second list (211) of IRKs from the external electronic device (102) via the communication circuit (290) based on determining that the RPA of the external electronic device (102) is not resolved.
- the method may include receiving, via the communication circuit (290), from the external electronic device (102), the version of the second list (211) of IRKs.
- the method may include comparing the version of the second list (211) of IRKs from the external electronic device (102) with the version of the first list (210) of IRKs within the electronic device (101).
- the method may include: requesting a third list (215) of IRKs associated with a user account of the electronic device (101) from a server (108) via the communication circuit (290), based on determining that a version of the second list (211) of IRKs from the external electronic device (102) is more recent than a version of the first list (210) of IRKs within the electronic device (101); receiving, via the communication circuit (290), the third list (215) of IRKs associated with the user account from the server (108); and updating the list (210) of IRKs within the electronic device (101) based on the third list (215) of IRKs associated with the user account received from the server (108).
- the method may include receiving another advertising packet containing the RPA advertised from the external electronic device (102) via the communication circuit (290).
- the method may include determining whether the RPA included in the other advertising packet is interpreted based on the updated first list (210) of IRKs.
- the method may include an operation of temporarily storing the advertisement packet in the memory (130) based on the determination that the RPA included in the advertisement packet is not interpreted, and an operation of determining whether the RPA included in the advertisement packet temporarily stored in the memory (130) is interpreted based on the updated first list (210) of IRKs.
- the method may include an operation of identifying fingerprinting information in the advertising packet.
- the method may further include an operation of determining whether the RPA included in the advertising packet is interpreted based on determining that the fingerprinting information is included in a filter approval list.
- the method may include an action of discarding the advertisement packet without interpreting the RPA included in the advertisement packet, based on determining that the fingerprinting information is not included in the filter approval list.
- the method may include: an operation of decoding a payload included in the advertisement packet based on determining that the RPA included in the advertisement packet is not interpreted; an operation of determining whether the decoded payload includes data in a specified format; and an operation of requesting the version of the first list (210) of IRKs from the external electronic device (102) through the communication circuit (290) based on determining that the decoded payload includes data in a specified format.
- the method may include discarding the advertisement packet without requesting the version of the second list (211) of IRKs based on determining that the decrypted payload does not contain data in a specified format.
- the method may include an operation of displaying a user interface (UI) (801) for querying whether to update the first list (210) of IRKs through a display (260) based on the determination that the RPA included in the advertising packet is not interpreted, and an operation of requesting a version of the second list (211) of IRKs from the external electronic device (102) through the communication circuit (290) in response to a user input to the UI.
- UI user interface
- the method may include receiving, via the communication circuit (290), from the external electronic device (102), the version of the second list (211) of IRKs.
- the method may include comparing the version of the second list (211) of IRKs from the external electronic device (102) with the version of the first list (210) of IRKs within the electronic device (101).
- the method may include: requesting the second list (211) of IRKs from the external electronic device (102) through the communication circuit (290), receiving the second list (211) of IRKs from the external electronic device (102) through the communication circuit (290), and updating the first list (210) of IRKs in the electronic device (101) based on determining that a version of the second list (211) of IRKs from the external electronic device (102) is newer than a version of the first list (210) of IRKs in the electronic device (101).
- the method may include transmitting the content of the advertising packet to a multi-device experience (MDE) service based on determining that the RPA of the external electronic device has been interpreted.
- MDE multi-device experience
- the above method may include an operation of providing a continuity service, a sharing service, and/or a quick share service to a user based on transmitting the content of the advertising packet to an MDE service.
- a non-transitory computer readable storage medium as described above may store a program including instructions.
- the instructions when individually or collectively executed by at least one processor (120) of an electronic device (101) including a communication circuit (290), may cause the electronic device (101) to receive an advertisement packet advertised from an external electronic device (102) via the communication circuit (290).
- the instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine whether a resolvable private address (RPA) of the external electronic device (102) in the advertisement packet is resolved based on a first list (210) of identity resolving keys (IRKs) of other electronic devices.
- RPA resolvable private address
- INKs identity resolving keys
- the above instructions when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to request, through the communication circuit (290), a version of the second list (211) of IRKs from the external electronic device (102) based on the determination that the RPA of the external electronic device (102) is not interpreted.
- one or more non-transitory computer-readable storage media may store one or more computer programs including computer-executable instructions that, when individually or collectively executed by one or more processors of an electronic device including a communication circuit, cause the electronic device to perform operations.
- the operations include receiving an advertised advertising packet from an external electronic device via the communication circuit, determining whether a resolvable private address (RPA) of the external electronic device is identified in the advertising packet based on a first list of identity resolving keys (IRKs) of the electronic device, and requesting a version of a second list of IRKs from the external electronic device based on determining that the RPA of the external electronic device is not identified.
- RPA resolvable private address
- One or more non-transitory computer-readable storage media further include computer-executable instructions that, when individually or collectively executed by one or more processors of an electronic device including communication circuitry, cause the electronic device to: receive a version of an IRK list from an external electronic device via the communication circuitry, compare the version of a second IRK list from the external electronic device to a version of a first IRK list of the electronic device, and based on determining that the version of the second IRK list from the external electronic device is newer than the version of the first IRK list of the electronic device, request a third IRK list associated with a user account of the electronic device from a server via the communication circuitry, receive the third IRK list associated with the user account from the server via the communication circuitry, and update the first IRK list of the electronic device based on the third IRK list associated with the user account received from the server.
- Electronic devices 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.
- first,” “second,” or “first” or “second” may be used simply to distinguish the corresponding component from other corresponding components, and do not limit the corresponding components in any other respect (e.g., importance or order).
- a component e.g., a first component
- another component e.g., a second component
- functionally e.g., a third component
- 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.
- a module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments 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)).
- a processor e.g., a processor (120)
- the machine e.g., an electronic device (101)
- 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.
- '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.
- the method according to various embodiments disclosed in the present document may be provided as included in a computer program product.
- the computer program product may be traded as a commodity between a seller and a buyer.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., by download or upload) via an application store (e.g., Play Store TM ) or directly between two user devices (e.g., smart phones).
- an application store e.g., Play Store TM
- 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.
- each of the components described above may include one or more entities, and some of the entities may be separated and placed in other components.
- one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added.
- a plurality of components e.g., modules or programs
- 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.
- 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.
- Such software may be stored on a non-transitory computer-readable storage medium.
- the non-transitory computer-readable storage medium stores one or more computer programs (software modules), and the one or more computer programs include computer-executable instructions that, when executed by one or more processors of the electronic device, cause the electronic device to perform the method of disclosure.
- Such software may be stored in the form of volatile or non-volatile storage, such as, for example, a storage device such as read only memory (ROM), whether erasable or rewritable, or in the form of memory such as, for example, random access memory (RAM), memory chips, devices or integrated circuits, or in an optically or magnetically readable medium such as, for example, a compact disc (CD), a digital versatile disc (DVD), a magnetic disk or magnetic tape.
- ROM read only memory
- RAM random access memory
- CD compact disc
- DVD digital versatile disc
- the storage device and the storage medium are various embodiments of a computer program or non-transitory machine-readable storage suitable for storing a computer program comprising instructions that, when executed, implement various embodiments of the disclosure. Accordingly, various embodiments provide a program comprising code for implementing an apparatus or method as claimed in any one of the claims of the specification, and a non-transitory machine-readable storage storing such a program.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephone Function (AREA)
Abstract
전자 장치가 제공된다. 상기 전자 장치는, 통신 회로, 처리 회로를 포함하는 적어도 하나의 프로세서 및 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리를 포함할 수 있고, 상기 인스트럭션들은 상기 적어도 하나의 프로세서에 의해 실행될 시 상기 전자 장치가, 상기 통신 회로를 통해, 외부 전자 장치로부터 광고되는 광고 패킷을 수신하고, 다른 전자 장치들의 신원 해석 키(identity resolving key, IRK)들의 목록에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치의 RPA(resolvable private address)가 해석(resolve)되는지를 판별하고, 상기 외부 전자 장치의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로를 통해, 상기 외부 전자 장치에게 IRK들의 상기 목록의 버전을 요청하도록 야기한다.
Description
개시는, 식별 정보를 관리하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체에 관한 것이다.
최근 정보 통신 기술의 발전과 더불어 다양한 무선 통신 기술들 및 다양한 서비스들이 개발되고 있다. 특히, 근거리 통신 방식들 중 하나인 블루투스(Bluetooth) 방식, 일 예로 저 에너지 블루투스(Bluetooth low energy: BLE) 방식이 활발하게 사용되고 있으며, BLE 방식에서는 약 2.4GHz 주파수 대역에서 저전력으로 저용량 데이터가 송신 및/또는 수신될 수 있다.
무선 통신 네트워크에서, 지속성 서비스가 제공될 경우, 동일한 계정을 사용하여 다수의 전자 장치들이 등록될 수 있고, 동일한 계정을 사용하여 등록된 다수의 전자 장치들은 계정에 대한 정보를 공유할 수 있다. 따라서, 계정에 대한 정보를 포함하는 BLE 광고(advertising, ADV) 패킷을 수신한 전자 장치는 수신한 BLE ADV 패킷에 포함되어 있는 계정에 대한 정보가 전자 장치가 저장하고 있는, 전자 장치의 계정에 대한 정보와 동일할 경우, BLE ADV 패킷을 송신한 전자 장치가 BLE ADV 패킷을 수신한 전자 장치와 동일한 계정을 사용하여 등록된 전자 장치임을 검출할 수 있다.
이와 같이, 현재 지속성 서비스에서는 계정에 대한 정보를 BLE ADV 패킷에 포함시켜 브로드캐스트할 수 있고, 따라서 동일한 계정을 사용하여 등록된 다수의 전자 장치들 각각은 동일한 계정을 사용하여 등록된 외부 전자 장치들의 존재를 검출할 수 있다. 하지만, 현재 지속성 서비스에서는 동일한 계정을 사용하여 등록된 다수의 전자 장치들 각각을 고유하게 식별할 수 있는 별도의 방안을 제공하고 있지 않다.
상술한 정보가 개시의 이해를 돕기 위해서만 배경 정보로서 제시된다. 상술된 어느 것도 개시에 관하여 선행 기술로서 적용될 수 있는지에 대한 판단과 주장이 이뤄지지 않는다.
개시의 양상들은 적어도 상기 언급된 문제들 및/또는 단점들을 다루고, 적어도 아래에서 설명되는 이점들을 제공하기 위한 것이다. 따라서, 개시의 양상은 식별 정보를 관리하는 전자 장치, 방법, 비-일시적 컴퓨터 판독 가능 기록 매체를 제공하는 것이다.
추가적인 양상들은 이어지는 설명의 일부로서 제시되고, 설명으로부터 분명해지거나, 또는 제시된 실시 예들의 실행에 의해 학습될 수 있다.
개시의 양상에 따르면, 전자 장치가 제공된다. 상기 전자 장치는, 통신 회로, 처리 회로를 포함하는 적어도 하나의 프로세서 및 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리를 포함하며, 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서에 의해 실행될 시, 상기 전자 장치가, 상기 통신 회로를 통해, 외부 전자 장치로부터 광고되는 광고 패킷을 수신하고, 다른 전자 장치들의 신원 해석 키(identity resolving key, IRK)들의 제1 목록에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치의 RPA(resolvable private address)가 해석(resolve)되는지를 판별하고, 상기 외부 전자 장치의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로를 통해, 상기 외부 전자 장치에게 IRK들의 제2 목록의 버전을 요청하도록 야기한다.
개시의 양상에 따르면, 방법이 제공된다. 통신 회로를 포함하는 전자 장치에 의해 수행되는 방법이 제공된다. 상기 방법은, 상기 통신 회로를 통해, 외부 전자 장치로부터 광고되는 광고 패킷을 수신하는 동작, 다른 전자 장치들의 신원 해석 키들(IRKs)의 제1 목록에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치의 RPA(resolvable private address)가 해석되는지를 판별하는 동작, 상기 외부 전자 장치의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로를 통해, 상기 외부 전자 장치에게 IRK들의 제2 목록의 버전을 요청하는 동작을 포함할 수 있다.
개시의 양상에 따르면, 개별적으로 또는 집합적으로, 통신 회로를 포함하는 전자 장치의 적어도 하나의 프로세서에 의해 실행될 시, 동작들을 수행하도록 전자 장치를 야기하는 컴퓨터-실행가능 인스트럭션들을 포함하는 하나 이상의 컴퓨터 프로그램들을 저장하는 하나 이상의 비-일시적 컴퓨터 판독 가능 기록 매체들이 개시된다. 상기 동작들은, 상기 통신 회로를 통해, 외부 전자 장치로부터 광고되는 광고 패킷을 수신하는 동작, 다른 전자 장치들의 신원 해석 키들(IRKs)의 제1 목록에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치의 RPA(resolvable private address)가 해석되는지를 판별하는 동작, 및 상기 외부 전자 장치의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로를 통해, 상기 외부 전자 장치에게 IRK들의 제2 목록의 버전을 요청하는 동작을 포함할 수 있다.
개시의 다른 양상들, 이점들, 및 두드러지는 특징들이 첨부된 도면들과 함께 개시의 다양한 실시 예들을 개시하는 아래의 상세한 설명으로부터 당업자에게 보다 분명해질 것이다.
개시의 특정 실시 예들의 상술한 그리고 다른 양상들, 특징들, 및 이점들은 첨부 도면들과 함께 아래의 설명으로부터 보다 분명해질 것이다.
도 1은, 개시의 실시예에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2a 및 도 2b는 개시의 다양한 실시 예들에 따른, 전자 장치의 블록도이다.
도 3은 개시의 일 실시 예에 따른, 전자 장치가 해석 목록의 갱신 여부를 결정하는 동작을 나타내는 흐름도이다.
도 4는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도 5는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록의 갱신 여부를 결정하는 동작을 나타내는 흐름도이다.
도 6은 개시의 일 실시 예에 따른, 전자 장치가 해석 목록의 버전을 비교하는 동작을 나타내는 흐름도이다.
도 7a는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도 7b는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도 8a는 개시의 일 실시 예에 따른, 전자 장치가 표시하는 해석 목록의 갱신을 질의하는 UI(user interface)를 예시하는 도면이다.
도 8b는 개시의 일 실시 예에 따른, 전자 장치가 표시하는 해석 목록의 정보의 공유 여부를 질의하는 UI를 예시하는 도면이다.
도 9는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도면들에 걸쳐, 동일한 참조 번호들이 동일한 또는 유사한 요소들, 특징들, 및 구조들을 설명하는데 이용될 수 있음을 알아야 한다.
첨부 도면들을 참조하는 아래 설명은, 청구항들 및 이의 등가물들에 의해 정의되는 개시의 다양한 실시 예들의 포괄적인 이해를 돕기 위해 제공된다. 이는 이해를 돕지만 단지 예시로서 여겨지는 다양하고 구체적인 세부 항목들을 포함한다. 따라서, 동상의 기술자들은 여기에서 설명된 다양한 실시 예들의 다양한 변화들과 수정들이 본 개시의 범주와 사상을 벗어나지 않고 이뤄질 수 있음을 인지할 것이다. 또한, 잘 알려진 기능들과 구조들의 설명들은 명확성과 간결성을 위해 생략될 수 있다.
아래 설명과 청구항들에서 이용되는 용어들 및 단어들은 서지적 의미들에 국한되지 않고, 발명자에 의해 개시의 명확하고 일관되게 이해할 수 있도록 하기 위해 사용된 것이다. 따라서, 당업자에게는 개시의 다양한 실시 예들의 아래 설명이 단지 예시 목적으로 제공되며 첨부된 청구항들 및 이의 등가물들에 의해 정의된 개시를 제한하기 위한 것이 아니라는 것이 분명할 것이다.
단수 형태인 "a", "an" 및 "the"는 문맥상 명확히 달리 규정되지 않는 한 복수 참조 대상을 포함한다는 것이 이해되어야 한다. 그러므로, 예를 들어, "구성 요소 표면"에 대한 참조는 그러한 표면들 중 하나 이상에 대한 참조를 포함한다.
흐름도들의 조합들과 각 흐름도 내의 블록들이 컴퓨터-실행 가능 인스트럭션들을 포함하는 하나 이상의 컴퓨터 프로그램들에 의해 수행될 수 있음이 이해되어야 한다. 하나 이상의 컴퓨터 프로그램들의 전체는 단일 메모리 장치에 저장될 수 있거나 하나 이상의 컴퓨터 프로그램들은 서로 다른 부분들로 나뉘어 서로 다른 복수의 메모리 장치들에 저장될 수 있다.
여기에서 설명된 기능들 또는 동작들 중 어느 것도 하나의 프로세서 또는 프로세서들의 조합에 의해 처리될 수 있다. 하나의 프로세서 또는 프로세서들의 조합은 프로세싱을 수행하는 회로이고, 애플리케이션 프로세서(application processor, AP, 예: CPU(central processing unit)), CP(communication processor, 예: 모뎀), GPU(graphical processing unit), NPU(neural processing unit)(예: 인공 지능(artificial intelligence, AI) 칩), Wi-Fi(wireless-fidelity) 칩, BluetoothTM 칩, GPS(global positioning system) 칩, NFC(near field communication) 칩, 연결성(connectivity) 칩, 센서 컨트롤러, 터치 컨트롤러, 지문 센서 컨트롤러, 디스플레이 드라이브 IC(integrated circuit), 오디오 CODEC(coder/decoder) 칩, USB(universal serial bus) 컨트롤러, 카메라 컨트롤러, 이미지 처리 IC, MPU(microprocessor unit), SoC(system on chip), 또는 IC 등과 같은 회로를 포함한다.
도 1은, 개시의 실시 예에 따른, 네트워크 환경 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 외부 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 외부 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 개시의 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 외부 전자 장치(104)와 통신할 수 있다. 개시의 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 개시의 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 개시의 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 개시의 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 개시의 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))과 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 개시의 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 개시의 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 개시의 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 개시의 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 외부 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 개시의 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 외부 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 개시의 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 외부 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 개시의 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 개시의 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 개시의 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 개시의 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 개시의 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 외부 전자 장치(102), 외부 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 개시의 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G(fifth generation) 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G(fourth generation) 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO(full dimensional MIMO)), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 외부 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 개시의 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 664dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 6ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 개시의 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 개시의 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 개시의 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
개시의 다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 개시의 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
개시의 일실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 개시의 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 또는 104), 또는 서버(108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 개시의 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 개시의 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2a 및 도 2b는 개시의 다양한 실시 예들에 따른, 전자 장치의 블록도이다.
도 2a를 참조하면, 전자 장치(101)는, 외부 전자 장치(102), 및/또는 서버(108)와 무선으로 통신할 수 있다. 도 2a의 전자 장치(101)는, 도 1의 전자 장치(101)에 대응할 수 있다. 도 2a의 외부 전자 장치(102)는, 도 1의 외부 전자 장치(102)에 대응할 수 있다. 도 2a의 서버(108)는, 도 1의 서버(108)에 대응할 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, 프로세서(120), 메모리(130), 디스플레이(260), 및 통신 회로(290)를 포함할 수 있다. 개시의 일 실시 예에서, 메모리(130)는, 해석 목록(resolving list)(210)을 포함할 수 있다. 개시의 일 실시 예에서, 도 2a의 프로세서(120), 메모리(130), 디스플레이(260), 및 통신 회로(290)는 도 1의 프로세서(120), 메모리(130), 디스플레이 모듈(160), 및 통신 모듈(190)에 각각 대응할 수 있다.
개시의 일 실시 예에서, 프로세서(120)는, 메모리(130)에 저장되는 해석 목록(210)을 관리할 수 있다.
개시의 일 실시 예에서, 통신 회로(290)는, 외부 전자 장치(102)와의 무선 통신을 위한 통신 회로(예: BLE(Bluetooth low energy) 통신 기법 및/또는 레거시 블루투스 통신 기법을 위한 통신 회로) 및 서버(108)와의 무선 통신을 위한 통신 회로(예: 셀룰러 통신 기법 및/또는 Wi-Fi 통신 기법을 위한 통신 회로)를 각각 포함할 수 있다. 하지만 이에 제한되지 않는다. 개시의 일 실시 예에서, 통신 회로(290)는, 외부 전자 장치(102)와의 무선 통신을 위한 통신 회로 및 서버(108)와의 무선 통신을 위한 통신 회로는 서로 동일할 수 있다.
도 2b를 참조하면, 전자 장치(101)는, 해석 목록 관리부(241), 데이터 처리부(242), 스캔 모듈(243), 통신 채널 관리부(244), 메시지 송수신부(245), MDE(multi-device experience) 서비스(246), 및 클라우드 통신 모듈(247)을 포함할 수 있다. 개시의 일 실시 예에서, 해석 목록 관리부(241), 데이터 처리부(242), 스캔 모듈(243), 통신 채널 관리부(244), 메시지 송수신부(245), MDE 서비스(246), 및 클라우드 통신 모듈(247)은, 프로세서(120)에 의해 실행될 수 있는 프로그램일 수 있다. 개시의 일 실시 예에서, 전자 장치(101)의 스캔 모듈(243), 통신 채널 관리부(244), 메시지 송수신부(245), 및 MDE 서비스(246)와 외부 전자 장치(102)의 광고 모듈(253), 통신 채널 관리부(254), 메시지 송수신부(255), 및 MDE 서비스(256) 간의 통신은, 전자 장치(101)의 통신 회로(290)를 통해 수행될 수 있다. 개시의 일 실시 예에서, 전자 장치(101)의 클라우드 통신 모듈(247)과 서버(108)의 클라우드 통신 모듈(271) 간의 통신은, 전자 장치(101)의 통신 회로(290)를 통해 수행될 수 있다.
이하에서 설명되는 동작들은, 프로세서(120)가 해석 목록 관리부(241), 데이터 처리부(242), 스캔 모듈(243), 통신 채널 관리부(244), 메시지 송수신부(245), MDE 서비스(246), 및/또는 클라우드 통신 모듈(247)에 포함되는 인스트럭션들을 실행함에 기반하여, 전자 장치(101)에 의해 수행될 수 있다.
개시의 일 실시 예에서, 해석 목록 관리부(241)는, 전자 장치(101)에 로그인된(또는, 등록된) 사용자 계정에 연동된, 하나 이상의 전자 장치들의 IRK(identity resolving key)들의 해석 목록(210)을 관리할 수 있다. 예를 들면, 사용자 계정은, 전자 장치(101)를 위해 이용되는 사용자 계정과 동일하거나 또는 대응할 수 있다. 예를 들면, 사용자 계정은, 외부 전자 장치(102)를 위해 이용되는 사용자 계정과 동일하거나, 또는 대응할 수 있다. 예를 들면, 사용자 계정은, 외부 전자 장치(102)를 위해 이용되는 사용자 계정에 연동된 사용자 계정일 수 있다.
개시의 일 실시 예에서, 해석 목록 관리부(241)는, 외부 전자 장치(102) 및/또는 서버(108)로부터 IRK들의 목록을 수신함에 기반하여, 해석 목록(210)을 갱신할 수 있다. 예를 들면, 해석 목록 관리부(241)는, 외부 전자 장치(102) 및/또는 서버(108)로부터 IRK의 목록을 수신함에 기반하여, 해석 목록(210)에 포함된 기존의 IRK들의 목록을 삭제하고, 수신된 IRK들의 목록을 추가할 수 있다. 개시의 일 실시 예에서, IRK들의 목록에 포함되는 IRK는 IRK를 사용할 전자 장치에 의해 할당되거나 랜덤하게 생성될 수 있다. 개시의 일 실시 예에서, IRK는 전자 장치의 랜덤 주소(또는, 해석가능 개인 주소(resolvable private address, RPA))를 생성하기 위해 지정된 길이의 비트 시퀀스(예: 128 비트)일 수 있다. 예를 들면, RPA는, 전자 장치(101, 및 외부 전자 장치(102)의 실제 주소(예: MAC(medium access control) 주소)를 보호하거나 숨기기 위해 이용될 수 있다. 개시의 일 실시 예에서, RPA는 해시 값과 prand를 연접한 48 비트의 비트 시퀀스일 수 있다. 개시의 일 실시 예에서, prand는, 24 비트의 랜덤 넘버일 수 있다. 개시의 일 실시 예에서, 해시 값은, 아래 수학식 1에 기반하여 생성되는 24 비트의 비트 시퀀스일 수 있다.
수학식 1에서, ah()는, IRK와 prand에 기반하여 해시 값을 생성하는 함수일 수 있다. 수학식 1의 연산 결과에 따라, 24 비트의 비트 시퀀스를 가지는 hash가 생성될 수 있다.
개시의 일 실시 예에서, 해석 목록 관리부(241)는, 해석 목록(210)을 아래 표 1과 같이 관리할 수 있다.
표 1을 참조하면, 해석 목록 관리부(241)는, 해석 목록(210)을 기기 식별 정보(ID)와 IRK를 맵핑하여 관리할 수 있다. 개시의 일 실시 예에서, 기기 식별 정보는, 사용자 계정에 연동된, 하나 이상의 전자 장치들의 식별 정보(또는, 핑거프린트)일 수 있다. 개시의 일 실시 예에서, 사용자 계정에 연동된, 전자 장치는, 피어 전자 장치로 지칭될 수 있다.
개시의 일 실시 예에서, 해석 목록 관리부(241)는, 해석 목록(210)의 버전 정보를 관리할 수 있다. 개시의 일 실시 예에서, 해석 목록 관리부(241)는, 해석 목록(210)의 버전 정보를 정수 값 기반으로 관리(또는, 할당)할 수 있다. 개시의 일 실시 예에서, 해석 목록 관리부(241)는, 해석 목록(210)의 버전 정보를 양의 정수 값으로 할당할 수 있다. 개시의 일 실시 예에서, 해석 목록 관리부(241)는, 해석 목록(210)의 버전 정보를 지정된 길이(예: 32 비트)의 비트 시퀀스로 관리(또는, 할당)할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 스캔 모듈(243)을 통해 광고 패킷(또는, BLE 광고(BLE advertisement, BLE ADV) 패킷)을 수신할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 스캔 모듈(243)이 전자 장치(101)의 통신 회로(290)를 통해 수신하는 광고 패킷을 스캔 모듈(243)로부터 획득할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 스캔 모듈(243)을 통해 수신한 광고 패킷(또는, BLE ADV 패킷)을 처리할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 식별할 수 있다. 예를 들면, 데이터 처리부(242)는, 광고 패킷에 포함되는 식별 정보가 전자 장치(101)(또는, 전자 장치(101)의 사용자 계정)의 핑거프린트(또는, 핑거프린팅 정보)를 나타냄에 기반하여, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 식별할 수 있다. 예를 들면, 데이터 처리부(242)는, 광고 패킷에 포함되는 식별 정보가 전자 장치(101)(또는, 전자 장치(101)의 사용자 계정)의 필터 승인 목록(filter allow list)에 포함됨에 기반하여, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 식별할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK들에 기반하여, 외부 전자 장치(102)의 RPA를 해석(resolve)할 수 있다. 예를 들면, 데이터 처리부(242)는, 수학식 1에 기반하여, 해석 목록(210)에 포함되는 IRK에 기반하여 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들을 획득할 수 있다. 예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들과 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 비교할 수 있다. 예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값이 존재하는지를 식별할 수 있다.
예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 식별함에 기반하여, 외부 전자 장치(102)의 RPA가 해석된 것으로 판별할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 생성하기 위한 IRK에 맵핑된 기기 ID(또는, 전자 장치)를 식별할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 생성하기 위한 IRK에 맵핑된 전자 장치를 광고 패킷을 송신한 전자 장치로 식별할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석됨에 기반하여, 광고 이벤트를 MDE 서비스(246)에게 전달할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석됨에 기반하여, 광고 패킷의 내용을 MDE 서비스(246)에게 전달할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)가 광고 패킷의 내용을 MDE 서비스(246)에게 전달함에 기반하여, 전자 장치(101)는, 사용자에게 연속 서비스, 공유 서비스, 및/또는 빠른 공유 서비스를 제공할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않음에 기반하여, 통신 채널 관리부(244)에게 외부 전자 장치(102)와의 (임시) 통신 채널의 수립을 요청할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 통신 채널 관리부(244)에게 외부 전자 장치(102)와의 (임시) 통신 채널의 수립을 위한 정보(예: 외부 전자 장치(102)의 RPA)를 송신할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 통신 채널 관리부(244)에게 전자 장치(101)의 통신 회로(290)에 기반한 외부 전자 장치(102)와의 (임시) 통신 채널의 수립을 요청할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않음에 기반하여, 외부 전자 장치(102)로부터의 광고 패킷의 페이로드를 복호할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 복호된 페이로드가 지정된 포맷의 데이터(또는, 지정된 필드)를 포함하는지를 판별할 수 있다. 예를 들면, 데이터 처리부(242)는, 복호된 페이로드가 광고 어드레스(advertisement address, AdvA) 필드 및/또는 광고 데이터(advertisement data, AdvData) 필드를 포함하는지를 판별할 수 있다. 예를 들면, 데이터 처리부(242)는, 복호된 페이로드의 AdvData 필드가 적어도 하나의 광고 데이터(advertising data, AD) 엘리먼트를 포함하는지를 판별할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 복호된 페이로드가 지정된 포맷의 데이터(또는, 지정된 필드)를 포함하는 것으로 판별함에 기반하여, 페이로드의 복호가 성공인 것으로 판별할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 복호된 페이로드가 지정된 포맷의 데이터(또는, 지정된 필드)를 포함하지 않는 것으로 판별함에 기반하여, 페이로드의 복호가 실패인 것으로 판별할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않고, 페이로드의 복호가 성공인 것으로 판별함에 기반하여, 통신 채널 관리부(244)에게 외부 전자 장치(102)와의 (임시) 통신 채널의 수립을 요청할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않고, 페이로드의 복호가 실패인 것으로 판별함에 기반하여, 외부 전자 장치(102)로부터의 광고 패킷을 필터링할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)로부터 수신되는 광고 패킷을 해석하지 않고 폐기함을 포함할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)의 광고 패킷에 포함된 식별 정보를 필터 승인 목록에서 제외함을 포함할 수 있다. 예를 들면, 식별 정보는, 사용자 계정마다 생성되는 고유한 값(또는, 핑거프린트)을 나타낼 수 있다. 예를 들면, 식별 정보는, 광고 패킷에 포함될 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 디스플레이(260)를 통해, 해석 목록(210)의 갱신 여부를 질의하는 UI(user interface)(예: 도 8a의 UI)를 표시할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않는 것으로 판별됨에 기반하여 표시되는 UI에 대한 사용자 입력을 획득할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, UI에 대한 사용자 입력이 해석 목록(210)의 갱신을 지시하는 것으로 판별됨에 기반하여, 통신 채널 관리부(244)에게 외부 전자 장치(102)와의 (임시) 통신 채널의 수립을 요청할 수 있다.
개시의 일 실시 예에서, 통신 채널 관리부(244)는, 전자 장치(101)와 외부 전자 장치(102) 간의 통신 채널의 생성 및/또는 종료를 관리할 수 있다. 예를 들면, 통신 채널 관리부(244)는, 전자 장치(101)와 외부 전자 장치(102) 간의 통신 채널을 위한 정보를 생성, 유지 및/또는 제거할 수 있다. 개시의 일 실시 예에서, 통신 채널 관리부(244)는, 통신 회로(290)를 통해 전자 장치(101)와 외부 전자 장치(102) 간의 통신 채널의 생성 및/또는 종료를 관리할 수 있다.
개시의 일 실시 예에서, 통신 채널 관리부(244)는, 외부 전자 장치(102)에게 통신 채널의 수립을 위한 정보(예: 외부 전자 장치(102)의 RPA)를 송신함으로써, 전자 장치(101)와 외부 전자 장치(102) 간의 (임시) 통신 채널을 수립할 수 있다. 하지만 이에 제한되지 않는다.
개시의 일 실시 예에서, 통신 채널 관리부(244)는, 외부 전자 장치(102)의 RPA가 지정된 시간(예: 적어도 10분) 이내에 전자 장치(101)와의 (임시) 통신 채널이 수립된 전자 장치의 RPA인지를 판별할 수 있다. 개시의 일 실시 예에서, 통신 채널 관리부(244)는, 외부 전자 장치(102)의 RPA가 해석되지 않고, 및 외부 전자 장치(102)의 RPA가 지정된 시간 이내에 전자 장치(101)와의 (임시) 통신 채널이 수립된 전자 장치의 RPA인 것으로 판별됨에 기반하여, 지정된 시간 동안 (임시) 통신 채널의 수립을 유예(또는, 중지)할 수 있다. 하지만 이에 제한되지 않는다. 예를 들면, 통신 채널 관리부(244)는, 외부 전자 장치(102)의 RPA가 해석되지 않고, 및 이전에 외부 전자 장치(102)의 RPA가 전자 장치(101)와의 (임시) 통신 채널이 수립된 전자 장치의 RPA인 것으로 판별됨에 기반하여, 외부 전자 장치(102)와의 (임시) 통신 채널의 수립을 유예(또는, 중지)할 수 있다.
예를 들면, (임시) 통신 채널은, 외부 전자 장치(102)의 RPA를 활용하여 L2CAP(Logical link control and adaption protocol)에 기반한 통신 채널일 수 있다. 하지만 이에 제한되지 않는다. 게다가, (임시) 통신 채널은, BLE 이외의 다른 통신 규약(예: Wi-Fi)에 기반한 통신 채널일 수 있다. 예를 들면, 통신 채널 관리부(244)는, 외부 전자 장치(102)가 송신한 광고 패킷에 포함된 BLE 이외의 다른 통신 규약의 통신 채널의 수립을 위한 정보(예: Wi-Fi 공유기 정보, 및/또는 할당 받은 IP(internet protocol) 주소)를 송신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않음에 기반하여, 메시지 송수신부(245)를 통해, 외부 전자 장치(102)에게 해석 목록(211)의 버전 정보를 요청할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 메시지 송수신부(245)를 통해, (임시) 통신 채널을 이용하여 외부 전자 장치(102)에게 해석 목록(211)의 버전 정보를 요청할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 메시지 송수신부(245)를 통해, 외부 전자 장치(102)로부터 외부 전자 장치(102)에 저장된 해석 목록(211)의 버전 정보를 수신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보와 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보를 비교할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보보다 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 외부 전자 장치(102)로부터 수신된 광고 패킷을 폐기할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(211)의 버전 정보보다 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 외부 전자 장치(102)로부터의 광고 패킷을 필터링할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)로부터 수신되는 광고 패킷을 해석하지 않고 폐기함을 포함할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)의 광고 패킷에 포함된 식별 정보를 필터 승인 목록에서 제외함을 포함할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 최신 버전 정보의 해석 목록을 요청할 수 있다. 개시의 일 실시 예에서, 최신 버전 정보의 해석 목록의 요청은, 외부 전자 장치(102)의 해석 목록(211)의 버전 정보를 포함할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 클라우드 통신 모듈(247)을 통해, 서버(108)에게 최신 버전 정보의 해석 목록(215)을 요청할 수 있다. 하지만 이에 제한되지 않는다. 예를 들면, 데이터 처리부(242)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 메시지 송수신부(245)를 통해, 외부 전자 장치(102)에게 해석 목록(211)을 요청할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 클라우드 통신 모듈(247)을 통해, 서버(108)로부터, 최신 버전 정보의 해석 목록(215)을 수신할 수 있다. 하지만 이에 제한되지 않는다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 클라우드 통신 모듈(247)을 통해, 서버(108)로부터, 외부 전자 장치(102)의 해석 목록(211)의 버전 정보에 상응하는 버전 정보의 해석 목록(215)을 수신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록 관리부(241)를 통해, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)에 기반하여, 해석 목록(210)을 갱신할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록 관리부(241)를 통해, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)으로 해석 목록(210)을 대체할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(210)을 갱신함에 기반하여, 외부 전자 장치(102)로부터 광고되는 새로운 광고 패킷에 포함되는 RPA를 해석할 수 있다. 하지만 이에 제한되지 않는다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(210)을 갱신함에 기반하여, 외부 전자 장치(102)로부터 이전에 광고된 광고 패킷(또는, 메모리(130)에 캐시된 광고 패킷)(또는, 메모리(130)에 일시적으로 저장된 광고 패킷)에 포함된 RPA를 다시 해석할 수 있다. 예를 들면, 데이터 처리부(242)는, 해석 목록(210)을 갱신함에 기반하여, 해석 목록(210)의 갱신 전(또는, 임시 통신 채널의 수립 전) 획득된 광고 패킷에 포함된 RPA를 다시 해석할 수 있다.
개시의 일 실시 예에서, MDE 서비스(246)는, 전자 장치(101)의 상태를 전자 장치(101) 주변의 하나 이상의 장치들(예: 외부 전자 장치(102))에게 알리거나 나타내거나 가이드하는 것을 포함할 수 있다.
개시의 일 실시 예에서, MDE 서비스(246)는 전자 장치(101)의 능력의 적어도 일부 및 외부 전자 장치(102)의 능력의 적어도 일부를 통합한 사용자 환경(user environment)을 제공하는 것을 포함할 수 있다. 개시의 일 실시 예에서, MDE 서비스(246)는 전자 장치(101) 내에서 실행된 소프트웨어 어플리케이션을 외부 전자 장치(102) 내에서 실행하고, 전자 장치(101) 내의 소프트웨어 어플리케이션의 실행 상태를 외부 전자 장치(102) 내에서 유지하는 것을 포함할 수 있다. 개시의 일 실시 예에서, MDE 서비스(246)는 연속 서비스(continuation service)로 참조될 수 있다. 하지만 이에 제한되지 않는다. 개시의 일 실시 예에서, MDE 서비스(246)는 전자 장치(101) 주변의 하나 이상의 장치들(예: 외부 전자 장치(102))에게 전자 장치(101) 내의 콘텐트(content)에 대한 정보를 송신하는 것을 포함할 수 있다. 예를 들면, MDE 서비스(246)는 하나 이상의 장치들에게 콘텐트를 공유한다는 측면에서, 공유 서비스(sharing service) 또는 빠른(quick) 공유 서비스로 참조될 수 있다. 예를 들면, MDE 서비스(246)는, 전자 장치(101)에서 클립보드에 복사한(또는, 저장한) 텍스트, 이미지, 및/또는 파일을 외부 전자 장치(102)에서 붙여넣기 하는 것을 포함할 수 있다. 예를 들면, MDE 서비스(246)는, 전자 장치(101)에 연결된 입력 모듈(예: 도 1의 입력 모듈(155))에 대한 입력을 외부 전자 장치(102)에 전달하는 것을 포함할 수 있다.
개시의 실시 예에 따라, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않음에 기반하여, 클라우드 통신 모듈(247)을 통해 서버(108)에게 최신 버전 정보의 해석 목록(215)을 요청할 수 있다. 예를 들면, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않음에 기반하여, 외부 전자 장치(102)에게 해석 목록(211)의 버전 정보를 요청하지 않고, 클라우드 통신 모듈(247)을 통해 서버(108)에게 최신 버전 정보의 해석 목록(215)을 요청할 수 있다.
개시의 실시 예에 따라, 외부 전자 장치(102)가 송신하는 광고 패킷은, 해석 목록(211)의 버전 정보를 포함할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않고, 외부 전자 장치(102)로부터의 광고 패킷에 포함된 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 서버(108) 및/또는 외부 전자 장치(102)에게 최신 버전 정보의 해석 목록을 요청할 수 있다. 하지만 이에 제한되지 않는다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)로부터의 광고 패킷에 포함된 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 외부 전자 장치(102)의 RPA를 해석하지 않고, 서버(108) 및/또는 외부 전자 장치(102)에게 최신 버전 정보의 해석 목록을 요청할 수 있다.
개시의 실시 예에 따라, 외부 전자 장치(102)가 송신하는 광고 패킷은, 해석 목록(211)의 버전 정보의 송신 가능 여부를 나타내는 필드를 포함할 수 있다. 예를 들면, 데이터 처리부(242)는, 외부 전자 장치(102)의 RPA가 해석되지 않고, 외부 전자 장치(102)로부터의 광고 패킷이 해석 목록(211)의 버전 정보의 송신이 가능하지 않음을 나타냄에 기반하여, 외부 전자 장치(102)에게 해석 목록(211)의 버전 정보를 요청하지 않고, 클라우드 통신 모듈(247)을 통해 서버(108)에게 최신 버전 정보의 해석 목록(215)을 요청할 수 있다.
도 2a를 참조하면, 외부 전자 장치(102)는, 프로세서(221), 메모리(231), 디스플레이(261), 및 통신 회로(291)를 포함할 수 있다. 개시의 일 실시 예에서, 메모리(231)는, 해석 목록(211)을 포함할 수 있다. 개시의 일 실시 예에서, 도 2a의 프로세서(221), 메모리(231), 디스플레이(261), 및 통신 회로(291)는 도 1의 프로세서(120), 메모리(130), 디스플레이 모듈(160), 및 통신 모듈(190)에 각각 대응할 수 있다.
도 2b를 참조하면, 외부 전자 장치(102)는, 해석 목록 관리부(251), 데이터 처리부(252), 광고 모듈(253), 통신 채널 관리부(254), 메시지 송수신부(255), 및 MDE 서비스(256)를 포함할 수 있다. 개시의 실시 예에 따라, 외부 전자 장치(102)는, 서버(108)와의 통신을 위한 클라우드 통신 모듈(미도시)을 더 포함할 수 있다. 예를 들면, 외부 전자 장치(102)는, 서버(108)와의 통신을 위한 클라우드 통신 모듈(미도시)을 통해 해석 목록(211)을 갱신할 수 있다.
이하에서, 해석 목록 관리부(251), 데이터 처리부(252), 통신 채널 관리부(254), 메시지 송수신부(255), 및 MDE 서비스(256)에 대한 설명들 중 전자 장치(101)의 해석 목록 관리부(241), 데이터 처리부(242), 통신 채널 관리부(244), 메시지 송수신부(245), MDE 서비스(246), 및 클라우드 통신 모듈(247)에 대한 설명들과 중복되는 설명은 반복되지 않을 수 있다.
개시의 일 실시 예에서, 해석 목록 관리부(251), 데이터 처리부(252), 광고 모듈(253), 통신 채널 관리부(254), 메시지 송수신부(255), 및 MDE 서비스(256)는, 프로세서(221)에 의해 실행될 수 있는 프로그램일 수 있다. 개시의 일 실시 예에서, 외부 전자 장치(102)의 스캔 모듈(243), 통신 채널 관리부(254), 메시지 송수신부(255), 및 MDE 서비스(256)와 전자 장치(101)의 광고 모듈(243), 통신 채널 관리부(244), 메시지 송수신부(245), 및 MDE 서비스(246) 간의 통신은, 외부 전자 장치(102)의 통신 회로(291)를 통해 수행될 수 있다.
이하에서 설명되는 동작들은, 프로세서(221)가 해석 목록 관리부(251), 데이터 처리부(252), 광고 모듈(253), 통신 채널 관리부(254), 메시지 송수신부(255), 및 MDE 서비스(256)에 포함되는 인스트럭션들을 실행함에 기반하여, 외부 전자 장치(102)에 의해 수행될 수 있다.
개시의 일 실시 예에서, 해석 목록 관리부(251)는, 외부 전자 장치(102)에 로그인된(또는, 등록된) 사용자 계정에 연동된, 하나 이상의 전자 장치들의 IRK들의 해석 목록(211)을 관리할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 광고 모듈(253)을 통해 광고 패킷(또는, BLE ADV 패킷)을 광고할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(252)는, 외부 전자 장치(102)의 RPA를 포함하는 광고 패킷을 전자 장치(101)에게 송신할 수 있다. 개시의 실시 예에 따라, 데이터 처리부(252)는, 해석 목록(211)의 버전 정보를 포함하는 광고 패킷을 광고할 수 있다.
개시의 일 실시 예에서, 광고 패킷은 프리앰블(preamble) 필드, 억세스 어드레스(access address) 필드, 프로토콜 데이터 유닛(protocol data unit, PDU) 필드, 및/또는 사이클릭 리던던시 체크(cyclic redundancy check: CRC) 필드를 포함할 수 있다. 개시의 일 실시 예에서, 억세스 어드레스 필드는 광고 패킷이 송신되는 광고 물리 채널에 대한 정보를 포함할 수 있다. 개시의 일 실시 예에서, PDU 필드는 2 내지 258 바이트의 가변적인 길이의 데이터를 포함할 수 있다. PDU 필드는 헤더(header) 필드와 페이로드(payload) 필드를 포함할 수 있다. 개시의 일 실시 예에서, 헤더 필드는 페이로드 필드에 포함된 데이터의 타입과 길이를 지시하는 정보를 포함할 수 있다. 개시의 일 실시 예에서, 헤더 필드는 페이로드 필드에 포함된 데이터의 타입이 광고 데이터임을 지시하는 정보(예: TxAdd가 나타내는 정보)를 포함할 수 있다. 개시의 일 실시 예에서, 페이로드 필드는 1 내지 255 바이트의 가변적인 길이의 데이터를 포함할 수 있다. 개시의 일 실시 예에서, 페이로드 필드는 광고 어드레스(AdvA) 필드 및 광고 데이터(AdvData) 필드를 포함할 수 있다. 개시의 일 실시 예에서, AdvA 필드는 광고 패킷을 송신한 외부 전자 장치(102)의 어드레스(예: RPA)를 나타낼 수 있다. 개시의 일 실시 예에서, AdvData 필드는 0 내지 31 바이트의 광고 데이터를 포함할 수 있다. 예를 들면, AdvData 필드는 적어도 하나의 광고 데이터(advertising data, AD) 엘리먼트를 포함할 수 있다. 적어도 하나의 AD 엘리먼트는 길이 필드, 타입 필드, 및 데이터 필드를 포함할 수 있다. 하지만 이에 제한되지 않는다. 개시의 일 실시 예에서, AdvData 필드는 서로 다른 복수의 필드들을 포함할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 외부 전자 장치(102)의 RPA를 포함한 광고 패킷을 전자 장치(101)에게 송신한 후, 전자 장치(101)로부터 외부 전자 장치(102)와의 (임시) 통신 채널의 수립 요청을 수신할 수 있다. 개시의 일 실시 예에서, 통신 채널의 수립 요청에는, 외부 전자 장치(102)의 RPA를 포함할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 통신 채널 관리부(254)를 통해 전자 장치(101)로부터 (임시) 통신 채널을 위한 정보를 수신함으로써, 전자 장치(101)와 외부 전자 장치(102) 간의 통신 채널을 수립할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 전자 장치(101)와의 (임시) 통신 채널을 수립한 후, 메시지 송수신부(255)를 통해, 전자 장치(101)로부터 외부 전자 장치(102)의 해석 목록(211)의 버전 정보의 요청을 수신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 메시지 송수신부(255)를 통해, 전자 장치(101)에게 해석 목록(211)의 버전 정보를 송신할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(252)는, 전자 장치(101)로부터 임시 통신 채널을 통해 수신된 메시지가 해석 목록(211)의 버전 정보를 요청하는 것으로 판별(또는, 파싱)됨에 기반하여, 메시지 송수신부(255)를 통해, 전자 장치(101)에게 해석 목록(211)의 버전 정보를 송신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 메시지 송수신부(255)를 통해, 전자 장치(101)로부터 외부 전자 장치(102)의 해석 목록(211)의 버전 정보의 요청을 수신함에 기반하여, 디스플레이(261)를 통해 해석 목록(211)의 버전 정보의 공유 여부를 질의하는 UI(user interface)(예: 도 8b의 UI(805))를 표시할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(252)는, 해석 목록(211)의 버전 정보의 공유 여부를 질의하는 UI에 대한 사용자 입력을 획득할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(252)는, UI에 대한 사용자 입력이 해석 목록(211)의 버전 정보의 공유를 지시하는 것으로 판별함에 기반하여, 메시지 송수신부(255)를 통해, 전자 장치(101)에게 해석 목록(211)의 버전 정보를 송신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 전자 장치(101)로부터 해석 목록(211)의 공유 요청을 수신할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(252)는, 전자 장치(101)와의 (임시) 통신 채널을 수립한 후, 메시지 송수신부(255)를 통해, 전자 장치(101)로부터 해석 목록(211)의 공유 요청을 수신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 메시지 송수신부(255)를 통해, 전자 장치(101)에게 해석 목록(211)을 송신할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(252)는, 전자 장치(101)로부터 임시 통신 채널을 통해 수신된 메시지가 해석 목록(211)을 요청하는 것으로 판별(또는, 파싱)됨에 기반하여, 메시지 송수신부(255)를 통해, 전자 장치(101)에게 해석 목록(211)을 송신할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(252)는, 전자 장치(101)와의 통신 채널에 기반하여, 전자 장치(101)로부터, MDE 서비스(256)에 대한 요청을 수신할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(252)는, 전자 장치(101)로부터, MDE 서비스(256)에 대한 요청을 수신함에 기반하여, 요청의 내용을 MDE 서비스(256)에게 전달할 수 있다.
도 2a를 참조하면, 서버(108)는, 프로세서(225), 메모리(235), 및 통신 회로(295)를 포함할 수 있다. 개시의 일 실시 예에서, 메모리(235)는, 해석 목록(215)을 포함할 수 있다.
예를 들면, 서버(108)는, 전자 장치(101, 102)의 사용자 계정 및 사용자 계정에 관련된 IRK들을 포함하는 해석 목록(215)을 관리할 수 있다.
도 2b를 참조하면, 서버(108)는, 클라우드 통신 모듈(271)을 포함할 수 있다. 클라우드 통신 모듈(271)에 대한 설명들 중 전자 장치(101)의 클라우드 통신 모듈(247)에 대한 설명들과 중복되는 설명은 반복되지 않을 수 있다.
개시의 일 실시 예에서, 서버(108)는, 클라우드 통신 모듈(271)을 통해, 전자 장치(101)로부터 최신 버전 정보의 해석 목록(215)의 요청을 수신할 수 있다. 개시의 일 실시 예에서, 서버(108)는, 해석 목록(215)의 요청을 수신함에 기반하여, 클라우드 통신 모듈(271)을 통해, 전자 장치(101)에게 해석 목록(215)의 요청을 송신할 수 있다.
상술한 바와 같은, 전자 장치(101)는, 해석에 실패한 RPA를 포함한 광고 패킷에 포함된 식별 정보(또는, 핑거프린트)를 필터 승인 목록에서 제외할 수 있다. 이에 따라, 전자 장치(101)는, 해석에 실패한 RPA를 송신하는 외부 전자 장치(102)의 광고 패킷의 해석을 방지할 수 있다.
게다가, 상술한 바와 같은, 전자 장치(101)는, RPA의 해석에 실패한 경우, 외부 전자 장치(102)로부터 해석 목록의 버전 정보를 획득함으로써, 전자 장치(101)에 저장된 해석 목록(210)의 갱신 여부를 결정할 수 있다. 이에 따라, 전자 장치(101), 및 외부 전자 장치(102)이 서버(108)에게 송신하는 해석 목록의 갱신 요청이 감소되어, 서버(108)의 부담 및/또는 전체적인 네트워크 데이터 사용량이 감소될 수 있다.
도 3은 개시의 일 실시 예에 따른, 전자 장치가 해석 목록의 갱신 여부를 결정하는 동작을 나타내는 흐름도이다.
도 3은 도 2a 및 도 2b를 참조하여 설명될 수 있다. 도 3의 동작들은, 전자 장치(101), 및/또는 외부 전자 장치(102)에 의해 수행될 수 있다.
도 3을 참조하면, 동작 310에서, 외부 전자 장치(102)는, 광고 패킷(또는, BLE ADV 패킷)을 광고할 수 있다. 개시의 일 실시 예에서, 외부 전자 장치(102)는, 외부 전자 장치(102)의 RPA를 포함하는 광고 패킷을 전자 장치(101)에게 송신할 수 있다. 예를 들어, 외부 전자 장치(102)는 RPA를 포함하는 광고 패킷을 브로드캐스트(broadcast)할 수 있다. 개시의 실시 예에 따라, 광고 패킷은, 해석 목록(211)의 버전 정보를 포함할 수 있다. 예를 들면, 광고 패킷은, 해석 목록(211)의 버전 정보를 포함하기 위한 필드를 포함할 수 있다. 이에 따라, 해석 목록(211)의 버전 정보를 포함하기 위한 필드를 포함하는 광고 패킷을 수신함으로써, 전자 장치(101)는, 외부 전자 장치(102)와의 메시지 교환 동안 해석 목록(210)의 신규 버전의 출현을 확인할 수 있다.
개시의 실시 예에 따라, 해석 목록(211)의 버전 정보를 포함하는 광고 패킷을 수신함에 기반하여, 전자 장치(101)는, 해석 목록(210)의 버전 정보와 해석 목록(211)의 버전 정보를 비교할 수 있다. 예를 들면, 전자 장치(101)의 해석 목록(210)의 버전 정보가 외부 전자 장치(102)로부터 수신한 해석 목록(211)의 버전 정보보다 최신 버전 정보를 나타내는 경우, 전자 장치(101)는, 외부 전자 장치(102)에게 해석 목록(210)을 전달할 수 있다. 예를 들면, 전자 장치(101)의 해석 목록(210)의 버전 정보가 외부 전자 장치(102)로부터 수신한 해석 목록(211)의 버전 정보보다 최신 버전 정보를 나타내는 경우, 전자 장치(101)는, 외부 전자 장치(102)에게 서버(108)를 통해 해석 목록(211)을 업데이트하도록 유도하는 메시지를 송신할 수 있다.
개시의 실시 예에 따라, 외부 전자 장치(102)는, 해석 목록(211)의 버전 정보를 전자 장치(101)에게 송신할 수 있는지 여부를 나타내는 정보를 포함하는 광고 패킷(또는, BLE ADV 패킷)을 광고할 수 있다.
동작 320에서, 전자 장치(101)는, RPA를 해석(resolving)할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK들에 기반하여 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들을 획득할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들과 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 비교할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값이 존재하는지를 식별할 수 있다.
예를 들면, 전자 장치(101)는, 광고 패킷에 포함되는 식별 정보가 전자 장치(101)(또는, 전자 장치(101)의 사용자 계정)의 핑거프린트(또는, 핑거프린팅 정보)를 나타냄에 기반하여, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 해석할 수 있다. 예를 들면, 전자 장치(101)는, 광고 패킷에 포함되는 식별 정보가 전자 장치(101)(또는, 전자 장치(101)의 사용자 계정)의 필터 승인 목록에 포함됨에 기반하여, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 해석할 수 있다.
동작 330에서, 전자 장치(101)는, RPA의 해석이 성공했는지를 판별할 수 있다.
예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 식별함에 기반하여, 외부 전자 장치(102)의 RPA가 해석된 것으로 판별할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값이 식별되지 않음에 기반하여, 외부 전자 장치(102)의 RPA가 해석되지 않은 것으로 판별할 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, RPA의 해석이 성공한 것으로 판별함에 기반하여, 동작 340을 수행할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, RPA의 해석이 실패한 것으로 판별함에 기반하여, 동작 350을 수행할 수 있다.
동작 340에서, 전자 장치(101)는, 광고 이벤트를 MDE 서비스(246)에게 전달할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 광고 이벤트에 포함되는 정보의 일부로서 광고 패킷의 내용을 MDE 서비스(246)에게 전달할 수 있다.
동작 350에서, 전자 장치(101)는, 외부 전자 장치(102)에게 해석 목록의 버전 정보를 요청할 수 있다. 개시의 일 실시 예에서, 외부 전자 장치(102)는, (임시) 통신 채널을 이용하여 외부 전자 장치(102)에게 해석 목록(211)의 버전 정보를 요청할 수 있다. 개시의 실시 예에 따라, 외부 전자 장치(102)가 해석 목록(211)의 버전 정보를 전자 장치(101)에게 송신할 수 없는 경우(예를 들어, 동작 310에서 송신된 광고 패킷이 해석 목록(211)의 버전 정보를 전달할 수 없음을 나타내는 경우), 전자 장치(101)는, 서버(108)에게 해석 목록의 버전 정보를 요청할 수 있다.
동작 360에서, 외부 전자 장치(102)는, 전자 장치(101)에게 해석 목록의 버전 정보를 송신할 수 있다. 동작 360 이후, 전자 장치(101)는, 외부 전자 장치(102)와의 통신 연결을 해제할 수 있다. 예를 들면, 전자 장치(101)는, 외부 전자 장치(102)로부터 해석 목록의 버전 정보를 수신함에 기반하여, 외부 전자 장치(102)와의 통신 연결을 해제할 수 있다. 개시의 실시 예에 따라, 전자 장치(101)는, 서버(108)로부터 해석 목록의 버전 정보를 수신할 수 있다.
동작 370에서, 전자 장치(101)는, 해석 목록의 버전 정보를 비교할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터 수신한 해석 목록(211)의 버전 정보와 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보를 비교할 수 있다.
동작 380에서, 전자 장치(101)는, 비교 결과에 기반하여, 해석 목록의 갱신 여부를 결정할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보보다 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 해석 목록을 갱신하지 않는 것으로 결정할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 해석 목록을 갱신하는 것으로 결정할 수 있다.
도 4는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도 4는 도 2a 및 도 2b를 참조하여 설명될 수 있다. 도 4의 동작들은, 전자 장치(101), 및/또는 서버(108)에 의해 수행될 수 있다. 도 4의 동작 370은 도 3의 동작 370에 대응할 수 있다. 도 4의 동작들 410, 420, 430, 440, 및 450은 도 3의 동작 380에 대응할 수 있다.
도 4를 참조하면, 동작 370에서, 전자 장치(101)는, 해석 목록의 버전 정보를 비교할 수 있다.
동작 410에서, 전자 장치(101)는, 해석 목록의 갱신 여부를 판단할 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, 해석 목록을 갱신하지 않는 것으로 결정함에 기반하여, 동작 420을 수행할 수 있다. 개시의 일 실시 예에서, 외부 전자 장치(102)는, 해석 목록을 갱신하는 것으로 결정함에 기반하여, 동작 430을 수행할 수 있다.
개시의 실시 예에 따라, 전자 장치(101)는, 해석 목록(211)의 버전 정보를 포함하는 광고 패킷을 외부 전자 장치(102)로부터 수신한 경우, 해석 목록(211)의 버전 정보에 기반하여, 동작 430을 수행할지를 판별할 수 있다. 예를 들어, 도 3의 동작 310을 통해 수신한 광고 패킷에 포함된 해석 목록(211)의 버전 정보가 전자 장치(101)의 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타내는 경우, 전자 장치(101)는, 동작 430을 수행할 수 있다. 예를 들어, RPA 해석에 성공함에도 불구하고, 외부 전자 장치(102)로부터 수신한 해석 목록(211)의 버전 정보가 전자 장치(101)의 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타내는 경우, 전자 장치(101)는, 동작 430을 수행할 수 있다.
동작 420에서, 전자 장치(101)는, 광고 패킷을 폐기할 수 있다. 개시의 실시 예에 따라, 전자 장치(101)는, 해석 목록(211)의 버전 정보보다 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 외부 전자 장치(102)로부터의 광고 패킷을 필터링할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)로부터 수신되는 광고 패킷을 해석하지 않고 폐기함을 포함할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)의 광고 패킷에 포함된 식별 정보를 전자 장치(101)의 필터 승인 목록에서 제외함을 포함할 수 있다.
동작 430에서, 전자 장치(101)는, 서버(108)에게 해석 목록(215)을 요청할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 최신 버전 정보의 해석 목록(215)을 요청할 수 있다. 개시의 일 실시 예에서, 최신 버전 정보의 해석 목록(215)의 요청은, 외부 전자 장치(102)의 해석 목록(211)의 버전 정보를 포함할 수 있다.
동작 440에서, 서버(108)는, 전자 장치(101)에게 해석 목록(215)을 송신할 수 있다. 개시의 일 실시 예에서, 서버(108)는, 클라우드 통신 모듈(271)을 통해, 전자 장치(101)에게 최신 버전 정보의 해석 목록(215)을 송신할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 클라우드 통신 모듈(247)을 통해, 서버(108)로부터, 외부 전자 장치(102)의 해석 목록(211)의 버전 정보에 상응하는 버전 정보의 해석 목록(215)을 수신할 수 있다.
동작 450에서, 전자 장치(101)는, 해석 목록(210)을 갱신할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)에 기반하여, 해석 목록(210)을 갱신할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)으로 해석 목록(210)을 대체할 수 있다.
도 5는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록의 갱신 여부를 결정하는 동작을 나타내는 흐름도이다.
도 5는 도 2a 및 도 2b를 참조하여 설명될 수 있다. 도 5의 동작들은, 전자 장치(101), 및/또는 외부 전자 장치(102)에 의해 수행될 수 있다.
개시의 일 실시 예에 따른, 전자 장치(101)는 데이터 처리부(242), 스캔 모듈(243), 통신 채널 관리부(244), 및 MDE 서비스(246)를 포함할 수 있다.
개시의 일 실시 예에 따른, 외부 전자 장치(102)는 광고 모듈(253) 및 통신 채널 관리부(254)를 포함할 수 있다.
도 5를 참조하면, 동작 510에서, 광고 모듈(253)은, 광고 패킷을 광고할 수 있다. 개시의 일 실시 예에서, 광고 모듈(253)은, 통신 회로(291)를 통해 광고 패킷을 광고할 수 있다. 개시의 일 실시 예에서, 스캔 모듈(243)은, 광고 모듈(253)로부터의 광고 패킷을 수신할 수 있다. 개시의 일 실시 예에서, 스캔 모듈(243)은, 통신 회로(290)를 통해 광고 모듈(253)로부터의 광고 패킷을 수신할 수 있다.
동작 520에서, 스캔 모듈(243)은, 데이터 처리부(242)에게 RPA의 해석을 요청할 수 있다. 개시의 일 실시 예에서, 스캔 모듈(243)은, 데이터 처리부(242)에게 광고 모듈(253)로부터 수신된 광고 패킷을 전달할 수 있다.
동작 530에서, 데이터 처리부(242)는, RPA를 해석할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 식별할 수 있다. 예를 들면, 데이터 처리부(242)는, 광고 패킷에 포함되는 식별 정보가 전자 장치(101)(또는, 전자 장치(101)의 사용자 계정)의 핑거프린트를 나타냄에 기반하여, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 식별할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK들에 기반하여, 외부 전자 장치(102)의 RPA를 해석(resolve)할 수 있다. 예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK들에 기반하여 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들을 획득할 수 있다. 예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들과 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 비교할 수 있다. 예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값이 존재하는지를 식별할 수 있다.
예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 식별함에 기반하여, 외부 전자 장치(102)의 RPA가 해석된 것으로 판별할 수 있다. 예를 들면, 데이터 처리부(242)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값이 식별되지 않음에 기반하여, 외부 전자 장치(102)의 RPA가 해석되지 않은 것으로 판별할 수 있다.
동작 540에서, 데이터 처리부(242)는, 해석 목록(210)의 갱신 여부를 판별할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, RPA의 해석이 성공한 것으로 판별함에 기반하여, 해석 목록(210)을 갱신하지 않는 것으로 판별할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, RPA의 해석이 실패한 것으로 판별함에 기반하여, 해석 목록(210)을 갱신하는 것으로 판별할 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, 해석 목록(210)을 갱신하는 것으로 판별함에 기반하여, 동작 560을 수행할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 해석 목록(210)을 갱신하지 않는 것으로 판별함에 기반하여, 동작 550을 수행할 수 있다.
동작 550에서, 데이터 처리부(242)는, MDE 서비스(246)에게 광고 이벤트를 전달할 수 있다. 개시의 일 실시 예에서, MDE 서비스(246)는, 광고 이벤트에 상응하는 동작을 수행할 수 있다. 예를 들면, 광고 이벤트에 상응하는 동작은, 전자 장치(101)의 상태를 전자 장치(101) 주변의 하나 이상의 장치들(예: 외부 전자 장치(102))에게 알리거나 나타내거나 가이드하는 것을 포함할 수 있다. 예를 들면, 광고 이벤트에 상응하는 동작은, 전자 장치(101)의 능력의 적어도 일부 및 외부 전자 장치(102)의 능력의 적어도 일부를 통합한 사용자 환경(user environment)을 제공하는 것을 포함할 수 있다. 예를 들면, 광고 이벤트에 상응하는 동작은, 전자 장치(101) 내에서 실행된 소프트웨어 어플리케이션을 외부 전자 장치(102) 내에서 실행하고, 전자 장치(101) 내의 소프트웨어 어플리케이션의 실행 상태를 외부 전자 장치(102) 내에서 유지하는 것을 포함할 수 있다. 예를 들면, 광고 이벤트에 상응하는 동작은, 전자 장치(101)에서 클립보드에 복사한(또는, 저장한) 텍스트, 이미지, 및/또는 파일을 외부 전자 장치(102)에서 붙여넣기 하는 것을 포함할 수 있다. 예를 들면, 광고 이벤트에 상응하는 동작은, 전자 장치(101)에 연결된 입력 모듈(예: 도 1의 입력 모듈(155))에 대한 입력을 외부 전자 장치(102)에 전달하는 것을 포함할 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, RPA의 해석이 실패한 것으로 판별함에 기반하여, 해석 목록(210)을 갱신하기 위해 동작 560을 수행할 수 있다. 예를 들면, 전자 장치(101)는, 외부 전자 장치(102)로부터 외부 전자 장치(102)에 저장된 해석 목록(211)의 버전 정보를 획득하기 위해, 동작 560을 수행할 수 있다.
동작 560에서, 데이터 처리부(242)는, 통신 채널 관리부(244)에게 통신 채널의 생성을 요청할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 통신 채널 관리부(244)에게 외부 전자 장치(102)와의 (임시) 통신 채널의 수립을 위한 정보(예: 외부 전자 장치(102)의 RPA)를 송신할 수 있다.
동작 570에서, 통신 채널 관리부(244)는, 통신 채널 관리부(254)와 통신 채널을 생성할 수 있다. 개시의 일 실시 예에서, 통신 채널 관리부(244)는, 통신 채널 관리부(254)에게 통신 채널의 수립을 위한 정보(예: 외부 전자 장치(102)의 RPA)를 송신함으로써, 전자 장치(101)와 외부 전자 장치(102) 간의 통신 채널을 수립할 수 있다. 개시의 일 실시 예에서, 통신 채널 관리부(244)는, 통신 회로(290)를 통해 통신 채널 관리부(254)에게 통신 채널의 수립을 위한 정보(예: 외부 전자 장치(102)의 RPA)를 송신함으로써, 전자 장치(101)와 외부 전자 장치(102) 간의 통신 채널을 수립할 수 있다.
예를 들면, 통신 채널은, 외부 전자 장치(102)의 RPA를 활용하여 L2CAP에 기반한 통신 채널일 수 있다. 하지만 이에 제한되지 않는다. 게다가, 통신 채널은, BLE 이외의 다른 통신 규약(예: Wi-Fi)에 기반한 통신 채널일 수 있다. 예를 들면, 통신 채널 관리부(244)는, 외부 전자 장치(102)가 송신한 광고 패킷에 포함된 BLE 이외의 다른 통신 규약의 통신 채널의 수립을 위한 정보(예: Wi-Fi 공유기 정보, 및/또는 할당 받은 IP 주소)를 송신할 수 있다.
동작 580에서, 통신 채널 관리부(244)는, 데이터 처리부(242)에게 결과 전달할 수 있다. 예를 들면, 통신 채널 관리부(244)는, 데이터 처리부(242)에게 전자 장치(101)와 외부 전자 장치(102) 간의 통신 채널이 수립됨을 나타내는 정보를 전달할 수 있다.
도 6은 개시의 일 실시 예에 따른, 전자 장치가 해석 목록의 버전을 비교하는 동작을 나타내는 흐름도이다.
도 6은 도 2a 및 도 2b를 참조하여 설명될 수 있다. 도 6의 동작들은, 전자 장치(101), 및/또는 외부 전자 장치(102)에 의해 수행될 수 있다.
개시의 일 실시 예에 따른, 전자 장치(101)는 데이터 처리부(242) 및 메시지 송수신부(245)를 포함할 수 있다.
개시의 일 실시 예에 따른, 외부 전자 장치(102)는 메시지 송수신부(255)를 포함할 수 있다.
도 6을 참조하면, 동작 610에서, 데이터 처리부(242)는, 메시지 송수신부(245)에게 버전 정보를 요청할 수 있다.
동작 620에서, 메시지 송수신부(245)는, 메시지 송수신부(255)에게 해석 목록의 버전 정보를 요청할 수 있다. 개시의 일 실시 예에서, 메시지 송수신부(245)는, 통신 회로(290)를 통해 메시지 송수신부(255)에게 해석 목록의 버전 정보를 요청할 수 있다. 개시의 일 실시 예에서, 메시지 송수신부(245)는, 메시지 송수신부(255)에게 통신 채널(예: 도 5의 동작들을 통해 수립된 통신 채널)을 이용하여 외부 전자 장치(102)에게 해석 목록(211)의 버전 정보를 요청할 수 있다.
동작 630에서, 메시지 송수신부(255)는, 메시지 송수신부(245)에게 해석 목록(211)의 버전 정보를 송신할 수 있다. 예를 들면, 메시지 송수신부(255)는, 통신 회로(291)를 통해 메시지 송수신부(245)에게 해석 목록(211)의 버전 정보를 송신할 수 있다.
동작 640에서, 메시지 송수신부(245)는, 데이터 처리부(242)에게 해석 목록(211)의 버전 정보를 전달할 수 있다.
동작 650에서, 데이터 처리부(242)는, 해석 목록의 버전 정보를 비교할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(211)의 버전 정보와 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보를 비교할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(211)의 버전 정보보다 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 외부 전자 장치(102)로부터 수신된 광고 패킷을 폐기할 수 있다. 개시의 일 실시 예에서, 데이터 처리부(242)는, 해석 목록(211)의 버전 정보보다 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 외부 전자 장치(102)로부터의 광고 패킷을 필터링할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 도 7a의 동작들을 수행할 수 있다.
도 7a는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도 7a는 도 2a 및 도 2b를 참조하여 설명될 수 있다. 도 7a의 동작들은, 전자 장치(101), 및/또는 외부 전자 장치(102)에 의해 수행될 수 있다.
일 실시예에 따른, 전자 장치(101)는 해석 목록 관리부(241), 데이터 처리부(242) 및 메시지 송수신부(245)를 포함할 수 있다.
실시예에 따른, 외부 전자 장치(102)는 메시지 송수신부(255)를 포함할 수 있다.
도 7a를 참조하면, 동작 710에서, 데이터 처리부(242)는, 메시지 송수신부(245)에게 해석 목록(211)을 요청할 수 있다.
동작 720에서, 메시지 송수신부(245)는, 메시지 송수신부(255)에게 해석 목록(211)을 요청할 수 있다. 예를 들면, 메시지 송수신부(245)는, 통신 회로(290)를 통해 메시지 송수신부(255)에게 해석 목록(211)을 요청할 수 있다.
동작 730에서, 메시지 송수신부(255)는, 메시지 송수신부(245)에게 해석 목록(211)을 송신할 수 있다. 예를 들면, 메시지 송수신부(255)는, 통신 회로(291)를 통해, 메시지 송수신부(245)에게 해석 목록(211)을 송신할 수 있다.
동작 740에서, 메시지 송수신부(245)는, 데이터 처리부(242)에게 해석 목록(211)을 전달할 수 있다. 동작 750에서, 데이터 처리부(242)는, 해석 목록 관리부(241)에게 해석 목록(211)을 전달할 수 있다.
동작 760에서, 해석 목록 관리부(241)는, 해석 목록을 갱신할 수 있다. 개시의 일 실시 예에서, 해석 목록 관리부(241)는, 외부 전자 장치(102)로부터의 해석 목록(211)에 기반하여, 해석 목록(210)을 갱신할 수 있다.
도 7b는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도 7b는 도 2a 및 도 2b를 참조하여 설명될 수 있다. 도 7b의 동작들은, 전자 장치(101), 및/또는 서버(108)에 의해 수행될 수 있다.
일 실시예에 따른, 전자 장치(101)는 해석 목록 관리부(241), 데이터 처리부(242) 및 클라우드 통신 모듈(247)을 포함할 수 있다.
일 실시예에 따른, 서버(108)는 클라우드 통신 모듈(271)을 포함할 수 있다.
도 7b를 참조하면, 동작 715에서, 데이터 처리부(242)는, 클라우드 통신 모듈(247)에게 해석 목록(215)을 요청할 수 있다.
동작 725에서, 클라우드 통신 모듈(247)은, 클라우드 통신 모듈(271)에게 해석 목록(215)을 요청할 수 있다. 예를 들면, 클라우드 통신 모듈(247)은, 통신 회로(290)를 통해 클라우드 통신 모듈(271)에게 해석 목록(215)을 요청할 수 있다. 동작 735에서, 클라우드 통신 모듈(271)은, 클라우드 통신 모듈(247)에게 해석 목록(215)을 송신할 수 있다. 클라우드 통신 모듈(271)은, 통신 회로(295)를 통해 클라우드 통신 모듈(247)에게 해석 목록(215)을 송신할 수 있다. 동작 745에서, 클라우드 통신 모듈(247)은, 데이터 처리부(242)에게 해석 목록(215)을 전달할 수 있다. 동작 755에서, 데이터 처리부(242)는, 해석 목록 관리부(241)에게 해석 목록(215)을 전달할 수 있다.
동작 765에서, 해석 목록 관리부(241)는, 해석 목록을 갱신할 수 있다. 개시의 일 실시 예에서, 해석 목록 관리부(241)는, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)에 기반하여, 해석 목록(210)을 갱신할 수 있다. 개시의 일 실시 예에서, 해석 목록 관리부(241)는, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)으로 해석 목록(210)을 대체할 수 있다.
도 8a는 개시의 일 실시 예에 따른, 전자 장치가 표시하는 해석 목록의 갱신을 질의하는 UI(user interface)를 예시하는 도면이다.
도 8a를 참조하면, UI(801)는 전자 장치(101)의 디스플레이(260)를 통해 표시될 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)의 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 디스플레이(260)를 통해, 해석 목록(210)의 갱신 여부를 질의하는 UI(801)를 표시할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, UI(801)에 대한 사용자 입력을 획득할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 사용자 입력이 해석 목록(210)의 갱신을 지시하는 UI(801)의 시각적 객체(811)를 선택하는 것으로 판별됨에 기반하여, 해석 목록(210)의 갱신을 위한 동작들을 수행할 수 있다.
개시의 일 실시 예에서, 데이터 처리부(242)는, 사용자 입력이 해석 목록(210)을 갱신하지 않는 것을 지시하는 UI(801)의 시각적 객체(815)를 선택하는 것으로 판별됨에 기반하여, 해석 목록(210)의 갱신을 위한 동작들을 수행하지 않을 수 있다.
도 8b는 개시의 일 실시 예에 따른, 전자 장치가 표시하는 해석 목록의 정보의 공유 여부를 질의하는 UI를 예시하는 도면이다.
도 8b를 참조하면, UI(805)는 외부 전자 장치(102)의 디스플레이(261)를 통해 표시될 수 있다.
개시의 일 실시 예에서, 외부 전자 장치(102)는, 외부 전자 장치(102)의 해석 목록(211)의 버전 정보의 요청을 수신함에 기반하여, 디스플레이(261)를 통해, 해석 목록(211)의 버전 정보의 공유 여부를 질의하는 UI(805)를 표시할 수 있다.
개시의 일 실시 예에서, 외부 전자 장치(102)는, UI(805)에 대한 사용자 입력을 획득할 수 있다.
개시의 일 실시 예에서, 외부 전자 장치(102)는, 사용자 입력이 해석 목록(211)의 버전 정보의 공유를 지시하는 UI(805)의 시각적 객체(821)를 선택하는 것으로 판별됨에 기반하여, 전자 장치(101)에게 해석 목록(211)의 버전 정보를 송신할 수 있다.
개시의 일 실시 예에서, 외부 전자 장치(102)는, 해석 목록(211)의 버전 정보를 공유하지 않는 것을 지시하는 UI(805)의 시각적 객체(825)를 선택하는 것으로 판별됨에 기반하여, 전자 장치(101)에게 해석 목록(211)의 버전 정보의 송신을 위한 동작들을 수행하지 않을 수 있다.
도 9는 개시의 일 실시 예에 따른, 전자 장치가 해석 목록을 갱신하는 동작을 나타내는 흐름도이다.
도 9는 도 2a 및 도 2b를 참조하여 설명될 수 있다. 도 9의 동작들은, 전자 장치(101), 외부 전자 장치(102), 및/또는 서버(108)에 의해 수행될 수 있다.
도 9를 참조하면, 동작 901에서, 외부 전자 장치(102)는, 광고 패킷(또는, BLE ADV 패킷)을 광고할 수 있다. 개시의 일 실시 예에서, 외부 전자 장치(102)는, 외부 전자 장치(102)의 RPA를 포함하는 광고 패킷을 전자 장치(101)에게 송신할 수 있다. 예를 들어, 외부 전자 장치(102)는 RPA를 포함하는 광고 패킷을 브로드캐스트(broadcast)할 수 있다. 개시의 실시 예에 따라, 광고 패킷은, 해석 목록(211)의 버전 정보를 포함할 수 있다.
동작 902에서, 전자 장치(101)는, RPA를 해석(resolving)할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK들에 기반하여 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들을 획득할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들과 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 비교할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값이 존재하는지를 식별할 수 있다.
예를 들면, 전자 장치(101)는, 광고 패킷에 포함되는 식별 정보가 전자 장치(101)(또는, 전자 장치(101)의 사용자 계정)의 핑거프린트(또는, 핑거프린팅 정보)를 나타냄에 기반하여, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 해석할 수 있다. 예를 들면, 전자 장치(101)는, 광고 패킷에 포함되는 식별 정보가 전자 장치(101)(또는, 전자 장치(101)의 사용자 계정)의 필터 승인 목록에 포함됨에 기반하여, 광고 패킷에 포함되는 외부 전자 장치(102)의 RPA를 해석할 수 있다.
동작 903에서, 전자 장치(101)는, RPA의 해석이 성공했는지를 판별할 수 있다.
예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값을 식별함에 기반하여, 외부 전자 장치(102)의 RPA가 해석된 것으로 판별할 수 있다. 예를 들면, 전자 장치(101)는, 해석 목록(210)에 포함되는 IRK에 기반하여 도출한 외부 전자 장치(102)의 RPA의 prand에 대한 해시 값들 중 외부 전자 장치(102)의 RPA의 해시 값에 대응하는 해시 값이 식별되지 않음에 기반하여, 외부 전자 장치(102)의 RPA가 해석되지 않은 것으로 판별할 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, RPA의 해석이 성공한 것으로 판별함에 기반하여, 동작 904를 수행할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, RPA의 해석이 실패한 것으로 판별함에 기반하여, 동작 905를 수행할 수 있다.
동작 904에서, 전자 장치(101)는, 광고 이벤트를 MDE 서비스(246)에게 전달할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 광고 이벤트에 포함되는 정보의 일부로서 광고 패킷의 내용을 MDE 서비스(246)에게 전달할 수 있다.
동작 905에서, 전자 장치(101)는, 외부 전자 장치(102)에게 해석 목록의 버전 정보를 요청할 수 있다. 개시의 일 실시 예에서, 외부 전자 장치(102)는, (임시) 통신 채널을 이용하여 외부 전자 장치(102)에게 해석 목록(211)의 버전 정보를 요청할 수 있다. 동작 906에서, 외부 전자 장치(102)는, 전자 장치(101)에게 해석 목록의 버전 정보를 송신할 수 있다. 동작 906 이후, 전자 장치(101)는, 외부 전자 장치(102)와의 통신 연결을 해제할 수 있다. 예를 들면, 전자 장치(101)는, 외부 전자 장치(102)로부터 해석 목록의 버전 정보를 수신함에 기반하여, 외부 전자 장치(102)와의 통신 연결을 해제할 수 있다.
동작 907에서, 전자 장치(101)는, 해석 목록의 버전 정보를 비교할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터 수신한 해석 목록(211)의 버전 정보와 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보를 비교할 수 있다.
동작 908에서, 전자 장치(101)는, 비교 결과에 기반하여, 해석 목록의 갱신 여부를 결정할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보보다 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 해석 목록을 갱신하지 않는 것으로 결정할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 해석 목록을 갱신하는 것으로 결정할 수 있다.
개시의 일 실시 예에서, 전자 장치(101)는, 해석 목록을 갱신하지 않는 것으로 결정함에 기반하여, 동작 909을 수행할 수 있다. 개시의 일 실시 예에서, 외부 전자 장치(102)는, 해석 목록을 갱신하는 것으로 결정함에 기반하여, 동작 910을 수행할 수 있다.
동작 909에서, 전자 장치(101)는, 광고 패킷을 폐기할 수 있다. 개시의 실시 예에 따라, 전자 장치(101)는, 해석 목록(211)의 버전 정보보다 해석 목록(210)의 버전 정보가 최신 버전 정보를 나타냄에 기반하여, 외부 전자 장치(102)로부터의 광고 패킷을 필터링할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)로부터 수신되는 광고 패킷을 해석하지 않고 폐기함을 포함할 수 있다. 예를 들면, 외부 전자 장치(102)로부터의 광고 패킷을 필터링함은, 외부 전자 장치(102)의 광고 패킷에 포함된 식별 정보를 전자 장치(101)의 필터 승인 목록에서 제외함을 포함할 수 있다.
동작 910에서, 전자 장치(101)는, 서버(108)에게 해석 목록(215)을 요청할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 외부 전자 장치(102)로부터의 해석 목록(211)의 버전 정보가 전자 장치(101)에 저장된 해석 목록(210)의 버전 정보보다 최신 버전 정보를 나타냄에 기반하여, 최신 버전 정보의 해석 목록(215)을 요청할 수 있다. 개시의 일 실시 예에서, 최신 버전 정보의 해석 목록(215)의 요청은, 외부 전자 장치(102)의 해석 목록(211)의 버전 정보를 포함할 수 있다.
동작 911에서, 서버(108)는, 전자 장치(101)에게 해석 목록(215)을 송신할 수 있다. 개시의 일 실시 예에서, 서버(108)는, 클라우드 통신 모듈(271)을 통해, 전자 장치(101)에게 최신 버전 정보의 해석 목록(215)을 송신할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 클라우드 통신 모듈(247)을 통해, 서버(108)로부터, 외부 전자 장치(102)의 해석 목록(211)의 버전 정보에 상응하는 버전 정보의 해석 목록(215)을 수신할 수 있다.
동작 912에서, 전자 장치(101)는, 해석 목록(210)을 갱신할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)에 기반하여, 해석 목록(210)을 갱신할 수 있다. 개시의 일 실시 예에서, 전자 장치(101)는, 서버(108)로부터의 최신 버전 정보의 해석 목록(215)으로 해석 목록(210)을 대체할 수 있다.
상술한 바와 같은, 전자 장치(101)는, 통신 회로(290), 처리 회로를 포함하는 적어도 하나의 프로세서(120) 및 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리(130)를 포함할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 통신 회로(290)를 통해, 외부 전자 장치(102)로부터 광고되는 광고 패킷을 수신하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 다른 전자 장치들의 신원 해석 키(identity resolving key, IRK)들의 제1 목록(210)에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치(102)의 RPA(resolvable private address)가 해석(resolve)되는지를 판별하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 외부 전자 장치(102)의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 제2 목록(211)의 버전을 요청하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터, IRK들의 상기 제2 목록(211)의 상기 버전을 수신하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전과 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전을 비교하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전이 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전보다 최신 버전인 것으로 판별함에 기반하여: 상기 통신 회로(290)를 통해, 서버(108)에게 상기 전자 장치(101)의 사용자 계정과 관련된 IRK들의 제3 목록(215)을 요청하고, 상기 통신 회로(290)를 통해, 상기 서버(108)로부터 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)을 수신하고, 상기 서버(108)로부터 수신된 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)에 기반하여, 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)을 갱신하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터 광고되는 상기 RPA를 포함하는 다른 광고 패킷을 수신하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 다른 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 광고 패킷을 상기 메모리(130)에 일시적으로 저장하고, IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 메모리(130)에 일시적으로 저장된 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 광고 패킷에서 핑거프린팅 정보를 식별하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 핑거프린팅 정보가 필터 승인 목록에 포함되어 있는 것으로 판별됨에 기반하여, 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 핑거프린팅 정보가 필터 승인 목록에 포함되지 않는 것으로 판별됨에 기반하여, 상기 광고 패킷에 포함된 상기 RPA의 해석 없이, 상기 광고 패킷을 폐기하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여: 상기 광고 패킷에 포함된 페이로드를 복호하고, 상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하는지를 판별하고, 상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제1 목록(210)의 상기 버전을 요청하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하지 않는 것으로 판별됨에 기반하여, IRK들의 상기 제2 목록(211)의 상기 버전에 대한 요청 없이, 상기 광고 패킷을 폐기하도록 야기할 수 있다.
상술한 바와 같은, 전자 장치(101)는, 디스플레이(260)를 포함할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 디스플레이(260)를 통해 IRK들의 상기 제1 목록(210)의 갱신 여부를 질의하는 UI(user interface)(801)를 표시하고, 상기 UI에 대한 사용자 입력에 응답하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제2 목록(211)의 버전을 요청하도록 야기할 수 있다.
상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터, IRK들의 상기 제2 목록(211)의 상기 버전을 수신하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전과 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전을 비교하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전이 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전보다 최신 버전인 것으로 판별함에 기반하여: 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제2 목록(211)을 요청하고, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터 IRK들의 상기 제2 목록(211)을 수신하고, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)에 기반하여, 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)을 갱신하도록 야기할 수 있다.
상술한 바와 같은, 방법은, 통신 회로(290)를 포함하는 전자 장치(101)에 의해 수행될 수 있다. 상기 방법은, 상기 통신 회로(290)를 통해, 외부 전자 장치(102)로부터 광고되는 광고 패킷을 수신하는 동작을 포함할 수 있다. 상기 방법은, 다른 전자 장치들의 신원 해석 키(identity resolving key, IRK)들의 제1 목록(210)에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치(102)의 RPA(resolvable private address)가 해석(resolve)되는지를 판별하는 동작을 포함할 수 있다. 상기 방법은, 상기 외부 전자 장치(102)의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제2 목록(211)의 버전을 요청하는 동작을 포함할 수 있다.
상기 방법은, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터, IRK들의 상기 제2 목록(211)의 상기 버전을 수신하는 동작을 포함할 수 있다. 상기 방법은, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전과 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전을 비교하는 동작을 포함할 수 있다. 상기 방법은, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전이 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전보다 최신 버전인 것으로 판별함에 기반하여: 상기 통신 회로(290)를 통해, 서버(108)에게 상기 전자 장치(101)의 사용자 계정과 관련된 IRK들의 제3 목록(215)을 요청하는 동작, 상기 통신 회로(290)를 통해, 상기 서버(108)로부터 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)을 수신하는 동작, 및 상기 서버(108)로부터 수신된 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)에 기반하여, 상기 전자 장치(101) 내의 IRK들의 상기 목록(210)을 갱신하는 동작을 포함할 수 있다.
상기 방법은, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터 광고되는 상기 RPA를 포함하는 다른 광고 패킷을 수신하는 동작을 포함할 수 있다. 상기 방법은, IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 다른 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하는 동작을 포함할 수 있다.
상기 방법은, 상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 광고 패킷을 상기 메모리(130)에 일시적으로 저장하는 동작, 및 IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 메모리(130)에 일시적으로 저장된 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하는 동작을 포함할 수 있다.
상기 방법은, 상기 광고 패킷에서 핑거프린팅 정보를 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 핑거프린팅 정보가 필터 승인 목록에 포함되어 있는 것으로 판별됨에 기반하여, 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하는 동작을 포함할 수 있다.
상기 방법은, 상기 핑거프린팅 정보가 필터 승인 목록에 포함되지 않는 것으로 판별됨에 기반하여, 상기 광고 패킷에 포함된 상기 RPA의 해석 없이, 상기 광고 패킷을 폐기하는 동작을 포함할 수 있다.
상기 방법은, 상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여: 상기 광고 패킷에 포함된 페이로드를 복호하는 동작, 상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하는지를 판별하는 동작, 및 상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제1 목록(210)의 상기 버전을 요청하는 동작을 포함할 수 있다.
상기 방법은, 상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하지 않는 것으로 판별됨에 기반하여, IRK들의 상기 제2 목록(211)의 상기 버전에 대한 요청 없이, 상기 광고 패킷을 폐기하는 동작을 포함할 수 있다.
상기 방법은, 상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 디스플레이(260)를 통해 IRK들의 상기 제1 목록(210)의 갱신 여부를 질의하는 UI(user interface)(801)를 표시하는 동작, 및 상기 UI에 대한 사용자 입력에 응답하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제2 목록(211)의 버전을 요청하는 동작을 포함할 수 있다.
상기 방법은, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터, IRK들의 상기 제2 목록(211)의 상기 버전을 수신하는 동작을 포함할 수 있다. 상기 방법은, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전과 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전을 비교하는 동작을 포함할 수 있다. 상기 방법은, 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전이 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전보다 최신 버전인 것으로 판별함에 기반하여: 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제2 목록(211)을 요청하는 동작, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터 IRK들의 상기 제2 목록(211)을 수신하는 동작, 및 상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)에 기반하여, 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)을 갱신하는 동작을 포함할 수 있다.
상기 방법은, 외부 전자 장치의 RPA가 해석된 것으로 판별함에 기반하여, 광고 패킷의 콘텐트를 MDE(multi-device experience) 서비스로 송신하는 동작을 포함할 수 있다.
상기 방법은, 상기 광고 패킷의 콘텐트를 MDE 서비스로 송신함에 기반하여, 연속성 서비스, 공유 서비스, 및/또는 퀵 쉐어 서비스를 사용자에게 제공하는 동작을 포함할 수 있다.
상술한 바와 같은, 비-일시적 컴퓨터 판독 가능 기록 매체(non-transitory computer readable storage medium)는 인스트럭션들을 포함하는 프로그램을 저장할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 통신 회로(290)를 포함하는 전자 장치(101)의 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 통신 회로(290)를 통해, 외부 전자 장치(102)로부터 광고되는 광고 패킷을 수신하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 다른 전자 장치들의 신원 해석 키(identity resolving key, IRK)들의 제1 목록(210)에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치(102)의 RPA(resolvable private address)가 해석(resolve)되는지를 판별하도록 야기할 수 있다. 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가, 상기 외부 전자 장치(102)의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 제2 목록(211)의 버전을 요청하도록 야기할 수 있다.
상술한 바와 같이, 하나 이상의 비일시적 컴퓨터 판독 가능 저장 매체는, 통신 회로를 포함하는 전자 장치의 하나 이상의 프로세서들에 의해 개별적으로 또는 집합적으로 실행될 때 전자 장치가 동작들을 수행하도록 하는 컴퓨터-실행 가능 명령어들을 포함하는 하나 이상의 컴퓨터 프로그램들을 저장할 수 있다. 상기 동작들은, 통신 회로를 통해 외부 전자 장치로부터 광고된 광고 패킷을 수신하는 동작, 전자 장치의 IRKs(identity resolving keys)의 첫 번째 목록을 기반으로 광고 패킷에서 외부 전자 장치의 RPA(resolvable private address)가 확인되었는지 여부를 판별하는 동작, 외부 전자 장치의 RPA가 확인되지 않았다고 판별한 것을 기반으로 통신 회로를 통해 외부 전자 장치에 두 번째 IRK 목록의 버전을 요청하는 동작을 포함한다.
하나 이상의 비일시적 컴퓨터 판독가능 저장 매체는 통신 회로를 포함하는 전자 장치의 하나 이상의 프로세서들에 의해 개별적으로 또는 집합적으로 실행될 때 전자 장치가: 통신 회로를 통해 외부 전자 장치로부터 IRK 목록의 버전을 수신하고, 외부 전자 장치로부터의 두 번째 IRK 목록의 버전을 전자 장치의 첫 번째 IRK 목록의 버전과 비교하고, 외부 전자 장치로부터의 두 번째 IRK 목록의 버전이 전자 장치의 첫 번째 IRK 목록의 버전보다 최신 버전임을 판단하는 것에 기반하여, 통신 회로를 통해 서버에 전자 장치의 사용자 계정과 연관된 세 번째 IRK 목록을 요청하고, 통신 회로를 통해 서버로부터 사용자 계정과 연관된 세 번째 IRK 목록을 수신하고, 서버로부터 수신한 사용자 계정과 연관된 세 번째 IRK 목록을 기반으로 전자 장치의 첫 번째 IRK 목록을 업데이트하도록 야기하는 컴퓨터-실행가능 인스트럭션들을 더 포함한다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 개시의 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
개시의 일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM(compact disc read only memory))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
개시의 다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 개시의 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 개시의 실시 예들에 따르면, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 개시의 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
명세서의 설명 및 청구항들에 따른 개시의 다양한 실시 예들이 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합의 형태로 실현될 수 있음을 알 것이다.
이러한 소프트웨어는 비-일시적 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 비-일시적 컴퓨터 판독 가능 저장 매체는 하나 이상의 컴퓨터 프로그램들(소프트웨어 모듈들)을 저장하고, 하나 이상의 컴퓨터 프로그램들은, 전자 장치의 하나 이상의 프로세서들에 의해 실행될 때 전자 장치가 개시의 방법을 수행하도록 야기하는 컴퓨터-실행 가능 인스트럭션들을 포함한다.
이러한 소프트웨어는 예를 들어, 지울수 있거나 또는 다시 쓸수 있든 없든 ROM(read only memory)과 같은 저장 장치와 같은 휘발성 또는 비휘발성 스토리지의 형태로 저장되거나, 예를 들어, RAM(random access memory), 메모리 칩, 장치 또는 집적 회로들과 같은 메모리의 형태로 저장되거나, 또는 예를 들어, 콤팩트 디스크(CD), DVD(digital versatile disc), 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 판독 가능한 매체에 저장될 수 있다. 저장 장치 및 저장 매체는 실행 시 개시의 다양한 실시 예들을 구현하는 명령어들을 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램을 저장하는 데 적합한 비-일시적 기계-판독 가능 스토리지의 다양한 실시 예들이라는 것을 알 수 있을 것이다. 따라서, 다양한 실시 예들은 명세서의 청구항들 중 어느 하나에 청구된 바와 같은 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램과 이러한 프로그램을 저장하는 비일시적 기계-판독 가능 스토리지를 제공한다.
개시가 그것의 다양한 실시 예들을 참조하여 보여지고 설명되었지만, 당업자가 첨부된 청구항들 및 이의 등가물에 의해 정의되는 개시의 사상 및 범주로부터 벗어나지 않은 채 형태 및 세부 사항의 다양한 변경들이 가능하다는 것을 알 것이다.
Claims (15)
- 전자 장치(101)에 있어서,통신 회로(290);처리 회로를 포함하는 적어도 하나의 프로세서(120); 및인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리(130)를 포함하고, 상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 통신 회로(290)를 통해, 외부 전자 장치(102)로부터 광고되는 광고 패킷을 수신하고,다른 전자 장치들의 신원 해석 키(identity resolving key, IRK)들의 제1 목록(210)에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치(102)의 RPA(resolvable private address)가 해석(resolve)되는지를 판별하고,상기 외부 전자 장치(102)의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 제2 목록(211)의 버전을 요청하도록 야기하는,전자 장치.
- 청구항 1에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터, IRK들의 상기 제2 목록(211)의 상기 버전을 수신하고,상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 상기 버전과 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전을 비교하고,상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전이 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전보다 최신 버전인 것으로 판별함에 기반하여:상기 통신 회로(290)를 통해, 서버(108)에게 상기 전자 장치(101)의 사용자 계정과 관련된 IRK들의 제3 목록(215)을 요청하고,상기 통신 회로(290)를 통해, 상기 서버(108)로부터 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)을 수신하고,상기 서버(108)로부터 수신된 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)에 기반하여, 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)을 갱신하도록 더야기하는,전자 장치.
- 청구항 2에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터 광고되는 상기 RPA를 포함하는 다른 광고 패킷을 수신하고,IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 다른 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하도록 더 야기하는,전자 장치.
- 청구항 2에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여,상기 광고 패킷을 상기 메모리(130)에 일시적으로 저장하고,IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 메모리(130)에 일시적으로 저장된 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하도록 더 야기하는,전자 장치.
- 청구항 1에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 광고 패킷에서 핑거프린팅 정보를 식별하고,상기 핑거프린팅 정보가 필터 승인 목록에 포함되어 있는 것으로 판별됨에 기반하여, 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하도록 더 야기하는,전자 장치.
- 청구항 5에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 핑거프린팅 정보가 필터 승인 목록에 포함되지 않는 것으로 판별됨에 기반하여, 상기 광고 패킷에 포함된 상기 RPA의 해석 없이, 상기 광고 패킷을 폐기하도록 더 야기하는,전자 장치.
- 청구항 1에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여:상기 광고 패킷에 포함된 페이로드를 복호하고,상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하는지를 판별하고,상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제1 목록(210)의 상기 버전을 요청하도록 더 야기하는,전자 장치.
- 청구항 7에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 복호된 페이로드가 지정된 포맷의 데이터를 포함하지 않는 것으로 판별됨에 기반하여, IRK들의 상기 제2 목록(211)의 상기 버전에 대한 요청 없이, 상기 광고 패킷을 폐기하도록 더 야기하는,전자 장치.
- 청구항 1에 있어서,디스플레이를 더 포함하고,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여,상기 디스플레이를 통해 IRK들의 상기 제1 목록(210)의 갱신 여부를 질의하는 UI(user interface)(801)를 표시하고,상기 UI에 대한 사용자 입력에 응답하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제2 목록(211)의 버전을 요청하도록 더 야기하는,전자 장치.
- 청구항 1에 있어서,상기 인스트럭션들은, 개별적으로 또는 집합적으로, 상기 적어도 하나의 프로세서(120)에 의해 실행될 시, 상기 전자 장치(101)가,상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터, IRK들의 상기 제2 목록(211)의 상기 버전을 수신하고,상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전과 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전을 비교하고,상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전이 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전보다 최신 버전인 것으로 판별함에 기반하여:상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 상기 제2 목록(211)을 요청하고,상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터 IRK들의 상기 제2 목록(211)을 수신하고,상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)에 기반하여, 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)을 갱신하도록 더 야기하는,전자 장치.
- 통신 회로(290)를 포함하는 전자 장치(101)에 의해 수행되는 방법에 있어서,상기 통신 회로(290)를 통해, 외부 전자 장치(102)로부터 광고되는 광고 패킷을 수신하는 동작,다른 전자 장치들의 신원 해석 키(identity resolving key, IRK)들의 제1 목록(210)에 기반하여, 상기 광고 패킷 내의 상기 외부 전자 장치(102)의 RPA(resolvable private address)가 해석(resolve)되는지를 판별하는 동작, 및상기 외부 전자 장치(102)의 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여, 상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)에게 IRK들의 제2 목록(211)의 버전을 요청하는 동작을 포함하는방법.
- 청구항 11에 있어서,상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터, IRK들의 상기 목록(211)의 상기 버전을 수신하는 동작,상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전과 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전을 비교하는 동작, 및상기 외부 전자 장치(102)로부터의 IRK들의 상기 제2 목록(211)의 버전이 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)의 버전보다 최신 버전인 것으로 판별함에 기반하여:상기 통신 회로(290)를 통해, 서버(108)에게 상기 전자 장치(101)의 사용자 계정과 관련된 IRK들의 제3 목록(215)을 요청하는 동작,상기 통신 회로(290)를 통해, 상기 서버(108)로부터 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)을 수신하는 동작, 및상기 서버(108)로부터 수신된 상기 사용자 계정과 관련된 IRK들의 상기 제3 목록(215)에 기반하여, 상기 전자 장치(101) 내의 IRK들의 상기 제1 목록(210)을 갱신하는 동작을 더 포함하는방법.
- 청구항 12에 있어서,상기 통신 회로(290)를 통해, 상기 외부 전자 장치(102)로부터 광고되는 상기 RPA를 포함하는 다른 광고 패킷을 수신하는 동작, 및IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 다른 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하는 동작을 더 포함하는방법.
- 청구항 12에 있어서,상기 광고 패킷에 포함된 상기 RPA가 해석되지 않는 것으로 판별됨에 기반하여,상기 광고 패킷을 상기 메모리(130)에 일시적으로 저장하는 동작, 및IRK들의 상기 갱신된 제1 목록(210)에 기반하여, 상기 메모리(130)에 일시적으로 저장된 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하는 동작을 더 포함하는방법.
- 청구항 11에 있어서,상기 광고 패킷에서 핑거프린팅 정보를 식별하는 동작, 및상기 핑거프린팅 정보가 필터 승인 목록에 포함되어 있는 것으로 판별됨에 기반하여, 상기 광고 패킷에 포함된 상기 RPA가 해석되는지를 판별하는 동작을 더 포함하는방법.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US19/176,667 US20260012761A1 (en) | 2024-07-05 | 2025-04-11 | Electronic device, method, and non-transitory computer readable recording medium for managing identity information |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2024-0089263 | 2024-07-05 | ||
| KR20240089263 | 2024-07-05 | ||
| KR10-2024-0099195 | 2024-07-26 | ||
| KR1020240099195A KR20260007006A (ko) | 2024-07-05 | 2024-07-26 | 식별 정보를 관리하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/176,667 Continuation US20260012761A1 (en) | 2024-07-05 | 2025-04-11 | Electronic device, method, and non-transitory computer readable recording medium for managing identity information |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2026010076A1 true WO2026010076A1 (ko) | 2026-01-08 |
Family
ID=98318698
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2025/004019 Pending WO2026010076A1 (ko) | 2024-07-05 | 2025-03-28 | 식별 정보를 관리하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20260012761A1 (ko) |
| WO (1) | WO2026010076A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20130111165A (ko) * | 2012-03-29 | 2013-10-10 | 브로드콤 코포레이션 | 블루투스 저 에너지 프라이버시 |
| US20180198752A1 (en) * | 2015-07-02 | 2018-07-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Bluetooth low energy address resolving |
| US20220368632A1 (en) * | 2019-09-19 | 2022-11-17 | Google Llc | Network Filtering with Private Resolvable Addresses |
| KR20230042825A (ko) * | 2021-09-23 | 2023-03-30 | 삼성전자주식회사 | 식별 정보를 송신 및/또는 수신하는 전자 장치 및 그 동작 방법 |
| KR20240077360A (ko) * | 2022-11-24 | 2024-05-31 | 삼성전자주식회사 | 무선 환경 내에서 키를 획득하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 |
-
2025
- 2025-03-28 WO PCT/KR2025/004019 patent/WO2026010076A1/ko active Pending
- 2025-04-11 US US19/176,667 patent/US20260012761A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20130111165A (ko) * | 2012-03-29 | 2013-10-10 | 브로드콤 코포레이션 | 블루투스 저 에너지 프라이버시 |
| US20180198752A1 (en) * | 2015-07-02 | 2018-07-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Bluetooth low energy address resolving |
| US20220368632A1 (en) * | 2019-09-19 | 2022-11-17 | Google Llc | Network Filtering with Private Resolvable Addresses |
| KR20230042825A (ko) * | 2021-09-23 | 2023-03-30 | 삼성전자주식회사 | 식별 정보를 송신 및/또는 수신하는 전자 장치 및 그 동작 방법 |
| KR20240077360A (ko) * | 2022-11-24 | 2024-05-31 | 삼성전자주식회사 | 무선 환경 내에서 키를 획득하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20260012761A1 (en) | 2026-01-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020080776A1 (en) | Electronic device supporting link sharing and method therefor | |
| WO2020050555A1 (en) | Method for uwb transaction and electronic device therefor | |
| WO2020149564A1 (en) | Electronic device for requesting nssai in wireless communication network and method thereof | |
| EP3808116A1 (en) | Method for uwb transaction and electronic device therefor | |
| WO2021241849A1 (ko) | 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법 | |
| WO2022124846A1 (ko) | Iot 환경의 허브 장치 및 로컬 네트워크 기반 이벤트 처리 방법 | |
| WO2026010076A1 (ko) | 식별 정보를 관리하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체 | |
| WO2024029797A1 (ko) | 전자 장치 및 상기 전자 장치에서 이미지 파일의 촬영 날짜 및 시간을 관리하는 방법 | |
| WO2019235740A1 (ko) | 복수의 nfc 동작 모드를 지원하는 전자 장치 및 전자 장치의 동작 방법 | |
| WO2022231140A1 (ko) | 장치 식별 정보를 송신 및/또는 수신하는 전자 장치 및 그 동작 방법 | |
| WO2023059012A1 (ko) | 다른 bss의 외부 전자 장치로부터 수신한 응답 신호에 기반하여 twt 파라미터를 설정하는 전자 장치 및 전자 장치의 동작 방법 | |
| WO2023033438A1 (ko) | 전자 장치들 간의 매칭을 수행하기 위한 전자 장치 및 이의 동작 방법 | |
| WO2025211628A1 (ko) | 전자 장치 및 그의 동작 방법 | |
| WO2025173957A1 (ko) | 양자 암호 통화를 수행하는 전자 장치 및 이의 동작 방법 | |
| WO2025135684A1 (ko) | 통신 회로와 프로세서 사이의 프로토콜을 관리하는 전자 장치 및 전자 장치의 동작 방법 | |
| WO2025042120A1 (ko) | 양자 암호화 통화를 수행하는 장치 및 전자 장치의 동작 방법 | |
| WO2025192910A1 (ko) | 메시지를 차단하기 위한 정책을 생성하는 전자 장치, 이의 동작 방법, 및 기록 매체 | |
| WO2024063361A1 (ko) | 복수의 가입자 식별 모듈을 포함하는 전자 장치 및 그의 동작 방법 | |
| WO2026071450A1 (ko) | 중복 파일의 공유를 처리하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체 | |
| WO2025154974A1 (ko) | 전자 장치, 시스템, 및 그 클라우드 서비스 제공 방법 | |
| WO2025206937A1 (ko) | 네트워크 슬라이스를 이용하는 전자 장치, 그 동작 방법 및 저장 매체 | |
| WO2026079571A1 (ko) | 전자 장치 및 전자 장치에서 음성 데이터를 수신하는 방법 | |
| WO2026043075A1 (ko) | 통신 링크를 해제하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 | |
| WO2025023513A1 (ko) | 외부 전자 장치를 촬영하여 스크린의 레이아웃을 변경하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독가능 저장 매체 | |
| WO2024219697A1 (ko) | 복수의 가입자 식별 모듈들을 포함하는 전자 장치 및 그의 동작 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25833390 Country of ref document: EP Kind code of ref document: A1 |