KR102663265B1 - Electronic device and method for controlling NAN based communication thereof - Google Patents

Electronic device and method for controlling NAN based communication thereof Download PDF

Info

Publication number
KR102663265B1
KR102663265B1 KR1020190173027A KR20190173027A KR102663265B1 KR 102663265 B1 KR102663265 B1 KR 102663265B1 KR 1020190173027 A KR1020190173027 A KR 1020190173027A KR 20190173027 A KR20190173027 A KR 20190173027A KR 102663265 B1 KR102663265 B1 KR 102663265B1
Authority
KR
South Korea
Prior art keywords
electronic device
service group
service
nan
information
Prior art date
Application number
KR1020190173027A
Other languages
Korean (ko)
Other versions
KR20210080937A (en
Inventor
정부섭
김범집
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190173027A priority Critical patent/KR102663265B1/en
Priority to PCT/KR2020/017801 priority patent/WO2021132940A1/en
Publication of KR20210080937A publication Critical patent/KR20210080937A/en
Application granted granted Critical
Publication of KR102663265B1 publication Critical patent/KR102663265B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Credit Cards Or The Like (AREA)
  • Communication Control (AREA)

Abstract

본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 회로, 메모리, 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시, 상기 프로세서가, 상기 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화하고, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하고, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유하고, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하고, 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.
이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.
An electronic device according to an embodiment disclosed in this document may include a communication circuit, a memory, and a processor operatively connected to the communication circuit and the memory. According to one embodiment, when the memory is executed, the processor synchronizes to a cluster for performing NAN (neighbor awareness networking)-based communication with at least one external electronic device through the communication circuit, and the communication circuit A service group that performs a NAN-based service discovery operation based on service information and at least one external electronic device included in the cluster, and includes at least one of the at least one external electronic device based on the service discovery operation. configures, shares service group information with an external electronic device included in the configured service group through the communication circuit, registers the service group information in a BLE (Bluetooth low energy) scan filter, and shares the service group information with the external electronic device included in the configured service group through the communication circuit. Instructions for performing NAN-based communication within a service group can be stored.
In addition to this, various embodiments identified through the specification are possible.

Description

전자 장치 및 전자 장치의 NAN 기반의 통신 제어 방법 {Electronic device and method for controlling NAN based communication thereof}Electronic device and method for controlling NAN based communication thereof}

본 문서에서 개시되는 다양한 실시 예들은, NAN(neighbor awareness networking) 기반의 통신 제어 기술과 관련된다.Various embodiments disclosed in this document are related to NAN (neighbor awareness networking)-based communication control technology.

전자 장치는 원거리 통신 네트워크(wide area network, WAN)뿐만 아니라 근거리 통신 네트워크(local area network, LAN)를 이용하여 다른 전자 장치와 무선 통신을 수행할 수 있다. 근거리 통신 네트워크 중 NAN(neighbor awareness networking) 규격(specification)에 기반한 NAN 프로토콜은 전자 장치와 다른 전자 장치 간 메시지가 송신 또는 수신되는 시간을 동기화하는 프로토콜이다. 최근 Wi-Fi 규격에서는 NAN(neighbor awareness networking) 기반의 디스커버리(discovery) 기술이 개발되고 있으며, 이를 활용한 근접 서비스(proximity service)의 개발이 활발히 진행되고 있다.Electronic devices can perform wireless communication with other electronic devices using not only a wide area network (WAN) but also a local area network (LAN). Among short-range communication networks, the NAN protocol based on the NAN (neighbor awareness networking) specification is a protocol that synchronizes the time when messages are transmitted or received between electronic devices and other electronic devices. In recent Wi-Fi standards, discovery technology based on NAN (neighbor awareness networking) is being developed, and the development of proximity services utilizing this is actively underway.

종래에는, 전자 장치들이 NAN 기반의 클러스터를 구성한 경우, NAN 클러스터 내의 모든 전자 장치들이 동기화를 위하여 항상 활성화될 필요가 있었다. 또한, NAN 기반의 클러스터 내에서 동일한 서비스를 이용하는 경우에, 동일한 전자 장치를 서비스 이용 시마다 매번 선택할 필요가 있었다.Conventionally, when electronic devices formed a NAN-based cluster, all electronic devices in the NAN cluster needed to be activated at all times for synchronization. Additionally, when using the same service within a NAN-based cluster, it was necessary to select the same electronic device each time the service was used.

본 문서에 개시되는 다양한 실시예들은, NAN 기반의 통신을 지원하는 단말들 간의 효율적인 서비스 그룹의 운용이 가능한 전자 장치 및 전자 장치의 NAN 기반의 통신 제어 방법을 제공하고자 한다.Various embodiments disclosed in this document are intended to provide an electronic device capable of efficient service group operation between terminals supporting NAN-based communication and a NAN-based communication control method for the electronic device.

본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 회로, 메모리, 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시, 상기 프로세서가, 상기 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화하고, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하고, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유하고, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하고, 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device according to an embodiment disclosed in this document may include a communication circuit, a memory, and a processor operatively connected to the communication circuit and the memory. According to one embodiment, when the memory is executed, the processor synchronizes to a cluster for performing NAN (neighbor awareness networking)-based communication with at least one external electronic device through the communication circuit, and the communication circuit A service group that performs a NAN-based service discovery operation based on service information and at least one external electronic device included in the cluster, and includes at least one of the at least one external electronic device based on the service discovery operation. configures, shares service group information with an external electronic device included in the configured service group through the communication circuit, registers the service group information in a BLE (Bluetooth low energy) scan filter, and shares the service group information with the external electronic device included in the configured service group through the communication circuit. Instructions that perform NAN-based communication within a service group can be stored.

또한, 본 문서에 개시되는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법은, 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화는 동작, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하는 동작, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 공유하는 동작, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하는 동작, 및 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하는 동작을 포함할 수 있다.In addition, the NAN-based communication control method of an electronic device according to an embodiment disclosed in this document synchronizes to a cluster for performing NAN (neighbor awareness networking)-based communication with at least one external electronic device through a communication circuit. An operation of performing a NAN-based service discovery operation based on service information and at least one external electronic device included in the cluster through the communication circuit, at least one external electronic device based on the service discovery operation. An operation to configure a service group including at least one service group, an operation to share service group information with at least one external electronic device included in the configured service group through the communication circuit, and the service group information to BLE (Bluetooth low energy) It may include registering with a scan filter and performing NAN-based communication within the service group through the communication circuit.

또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 회로, 메모리 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함하고, 상기 메모리는, 실행 시, 상기 프로세서가, 기 구성되었던 NAN(neighbor awareness networking) 기반의 서비스 그룹 내의 통신을 재시작하는 경우, 기 저장된 서비스 그룹 정보를 인식하고, BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE(Bluetooth low energy) triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 대응하는 적어도 하나의 외부 전자 장치를 인식하고, 상기 전자 장치 및 상기 인식한 적어도 하나의 외부 전자 장치의 NAN 기능을 활성화하도록 제어하고, 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치와 상기 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리에 기반하여 상기 서비스 그룹을 복원하고, 상기 통신 회로를 통하여 상기 복원된 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.In addition, an electronic device according to an embodiment disclosed in this document includes a communication circuit, a memory, and a processor operatively connected to the communication circuit and the memory, and the memory is, when executed, the processor When restarting communication within a pre-configured NAN (neighbor awareness networking)-based service group, pre-stored service group information is recognized, and BLE (Bluetooth low energy) triggers based on the service group information registered in the BLE scan filter. Recognize at least one external electronic device corresponding to the service group based on a NAN communication protocol, control to activate the NAN function of the electronic device and the recognized at least one external electronic device, and control the electronic device and the at least one external electronic device to be activated. Perform a NAN-based service discovery operation based on one external electronic device and the service group information, restore the service group based on the service discovery, and perform NAN-based service discovery within the restored service group through the communication circuit. Instructions that allow communication to be performed can be stored.

본 문서에 개시되는 다양한 실시 예들에 따르면, NAN 기반의 통신을 지원하는 전자 장치들 간의 서비스 그룹을 형성하고, 서비스 그룹의 정보를 기반으로 NAN 기반의 통신을 효율적으로 제어할 수 있다.According to various embodiments disclosed in this document, a service group can be formed between electronic devices that support NAN-based communication, and NAN-based communication can be efficiently controlled based on information on the service group.

본 문서에 개시되는 다양한 실시 예들에 따르면, 서비스 그룹 정보를 기반으로 이전에 형성되었던 서비스 그룹에 속하는 전자 장치를 용이하게 검색하고, 기존의 서비스 그룹을 재형성하여 통신을 수행할 수 있다.According to various embodiments disclosed in this document, electronic devices belonging to a previously formed service group can be easily searched based on service group information, and communication can be performed by reforming the existing service group.

본 문서에 개시되는 다양한 실시 예들에 따르면, NAN 기반의 서비스 그룹을 생성 및 운용 시 전자 장치에서의 불필요한 전류 소모를 감소시킬 수 있다.According to various embodiments disclosed in this document, unnecessary current consumption in electronic devices can be reduced when creating and operating a NAN-based service group.

본 문서에 개시되는 다양한 실시 예들에 따르면, 서비스 그룹 정보를 기반으로 이전에 형성되었던 서비스 그룹을 빠르고 용이하게 재 형성할 수 있다.According to various embodiments disclosed in this document, a previously formed service group can be quickly and easily reformed based on service group information.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects that can be directly or indirectly identified through this document may be provided.

도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 2는 일 실시예에 따른 전자 장치의 블록도이다.
도 3은 일 실시예에 따른 전자 장치가 동기화된 클러스터를 도시한 도면이다.
도 4는 일 실시예에 따른 전자 장치가 동기화된 타임 클락을 도시한 도면이다.
도 5는 일 실시예에 따른 클러스터 내에서 전자 장치의 역할 및 상태 전환을 도시한 도면이다.
도 6은 일 실시예에 따른 일 실시 예에 따른 전자 장치의 신호 송수신 형태를 도시한 도면이다.
도 7은 일 실시예에 따른 BLE 통신을 이용한 NAN 서비스 디스커버리 프로토콜을 도시한 도면이다.
도 8은 일 실시예에 따른 BLE TDS 패킷을 도시한 도면이다.
도 9는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
도 10은 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
도 11은 일 실시예에 따른 NAN 기반의 통신 제어 방법의 흐름도이다.
도 12는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
도 13은 일 실시예에 따른 NAN 기반의 통신 제어 방법의 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
1 shows an electronic device in a network environment according to various embodiments.
Figure 2 is a block diagram of an electronic device according to an embodiment.
FIG. 3 is a diagram illustrating a cluster in which electronic devices are synchronized according to an embodiment.
FIG. 4 is a diagram illustrating a time clock with which an electronic device is synchronized, according to one embodiment.
FIG. 5 is a diagram illustrating the roles and state transitions of electronic devices within a cluster according to an embodiment.
FIG. 6 is a diagram illustrating a signal transmission and reception form of an electronic device according to an embodiment of the present invention.
Figure 7 is a diagram illustrating a NAN service discovery protocol using BLE communication according to an embodiment.
Figure 8 is a diagram illustrating a BLE TDS packet according to one embodiment.
Figure 9 is a flowchart of a NAN-based communication control method of an electronic device according to an embodiment.
Figure 10 is a flowchart of a NAN-based communication control method of an electronic device according to an embodiment.
Figure 11 is a flowchart of a NAN-based communication control method according to an embodiment.
Figure 12 is a flowchart of a NAN-based communication control method of an electronic device according to an embodiment.
Figure 13 is a flowchart of a NAN-based communication control method according to an embodiment.
In relation to the description of the drawings, identical or similar reference numerals may be used for identical or similar components.

도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다1 is a block diagram of an electronic device 101 in a network environment 100, according to various embodiments. Referring to FIG. 1, in the network environment 100, the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108. According to one embodiment, the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, and a sensor module ( 176), interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or antenna module 197 ) may include. In some embodiments, at least one of these components (eg, the display device 160 or the camera module 180) may be omitted, or one or more other components may be added to the electronic device 101. In some embodiments, some of these components may be implemented as a single integrated circuit. For example, the sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illumination sensor) may be implemented while being embedded in the display device 160 (e.g., a display).

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134. According to one embodiment, the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor), and an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, an image signal processor). , sensor hub processor, or communication processor). Additionally or alternatively, the auxiliary processor 123 may be set to use less power than the main processor 121 or to specialize in a designated function. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. The auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), along with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display device 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled. According to one embodiment, coprocessor 123 (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module 180 or communication module 190). there is.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto. Memory 130 may include volatile memory 132 or non-volatile memory 134.

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.

입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input device 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user). The input device 150 may include, for example, a microphone, mouse, keyboard, or digital pen (eg, stylus pen).

음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output device 155 may output sound signals to the outside of the electronic device 101. The sound output device 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다. The display device 160 can visually provide information to the outside of the electronic device 101 (eg, a user). The display device 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device. According to one embodiment, the display device 160 may include touch circuitry configured to detect a touch, or a sensor circuit configured to measure the intensity of force generated by the touch (e.g., a pressure sensor). there is.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input device 150, the sound output device 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 can capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 can manage power supplied to the electronic device 101. According to one embodiment, the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101. According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다. The communication module 190 provides a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module 190 is 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., : LAN (local area network) communication module, or power line communication module) may be included. Among these communication modules, the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, WiFi direct, or IrDA (infrared data association)) or a second network 199 (e.g., a cellular network, the Internet, Alternatively, it may communicate with an external electronic device 104 through a computer network (e.g., a telecommunication network such as a LAN or WAN). These various types of communication modules may be integrated into one component (e.g., a single chip) or may be implemented as a plurality of separate components (e.g., multiple chips). The wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199. The electronic device 101 can be confirmed and authenticated.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The antenna module 197 may transmit or receive signals or power to or from the outside (e.g., an external electronic device). According to one embodiment, the antenna module 197 may include one antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 197 may include a plurality of antennas. 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 is connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna. According to some embodiments, other components (eg, RFIC) in addition to the radiator may be additionally formed as part of the antenna module 197.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( (e.g. commands or data) can be exchanged with each other.

일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.According to one embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199. Each of the external electronic devices 102 and 104 may be of the same or different type as the electronic device 101. According to one embodiment, all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108. For example, when the electronic device 101 must perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 may perform the function or service instead of executing the function or service on its own. Alternatively, or additionally, one or more external electronic devices may be requested to perform at least part of the function or service. One or more external electronic devices that have received 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 part of a response to the request. For this purpose, for example, cloud computing, distributed computing, or client-server computing technologies may be used.

도 2는 일 실시예에 따른 전자 장치의 블록도이다.Figure 2 is a block diagram of an electronic device according to one embodiment.

일 실시예에 따르면, 전자 장치(200)(예: 도 1의 전자 장치 (101))는 통신 회로(210), 프로세서(230) 및 메모리(220)를 포함할 수 있다.According to one embodiment, the electronic device 200 (eg, the electronic device 101 of FIG. 1) may include a communication circuit 210, a processor 230, and a memory 220.

일 실시예에 따르면, 통신 회로(210)(예: 도 1의 통신 모듈(190))는 프로세서(230)의 제어 하에 또는 프로세서(230)와 독립적으로 외부 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 서버(108)) 또는 외부의 네트워크(예: 도 1의 제1 네트워크(198) 또는 제2 네트워크(196))와 통신을 수행할 수 있다. 일 실시예에 따르면, 통신 회로(210)는 NAN(neighbor awareness networking) 기반의 통신을 수행할 수 있다. 일 실시예에 따르면, 통신 회로(210)는 NAN 규약에 정의된 BLE(Bluetooth low energy) triggers NAN 프로토콜을 수행할 수 있다. 일 실시예에 따르면, 통신 회로(210)는 도 1에 도시된 통신 모듈(190)의 적어도 일부를 포함할 수 있다.According to one embodiment, the communication circuit 210 (e.g., the communication module 190 of FIG. 1) operates under the control of the processor 230 or independently of the processor 230 with an external electronic device (e.g., the electronic device of FIG. 1). (102, 104) or the server 108) or an external network (eg, the first network 198 or the second network 196 in FIG. 1). According to one embodiment, the communication circuit 210 may perform NAN (neighbor awareness networking)-based communication. According to one embodiment, the communication circuit 210 may perform the BLE (Bluetooth low energy) triggers NAN protocol defined in the NAN protocol. According to one embodiment, the communication circuit 210 may include at least a portion of the communication module 190 shown in FIG. 1 .

일 실시예에 따르면, 프로세서(230)(예: 도 1의 프로세서(120))는 통신 회로(210)를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 클러스터를 구성할 수 있다. 예를 들어, 프로세서(230)는 통신 회로(210)를 통하여 BLE triggers NAN 통신 프로토콜을 이용하여 동일한 서비스를 지원하는 적어도 하나의 외부 전자 장치와 NAN 클러스터를 구성할 수 있다. 예를 들어, 프로세서(230)는 통신 회로(210)를 통하여 실행 중(서비스 중)인 어플리케이션에 대응하는 서비스 정보(예: 서비스 이름 또는 어플리케이션 명칭)를 포함하는 제1 BLE TDS 광고(BLE TDS(transport discovery service) advertisement) 패킷(예: 도 7의 M1)을 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 프로세서(230)는 상기 제1 BLE TDS 광고 패킷에 포함된 서비스 정보에 매칭되는 외부 전자 장치로부터 제2 BLE TDS 광고 패킷을 수신할 수 있다. 예를 들어, 상기 제1 BLE TDS 광고 패킷에 포함된 서비스 정보에 매칭되는 외부 전자 장치는 BLE 스캔 필터에 서비스 정보를 등록한 장치일 수 있다. 일 실시예에 따르면, 프로세서(230)는 상기 제1 BLE TDS 광고 패킷을 통하여 서비스 정보에 매칭되는 외부 전자 장치가 NAN 기능을 활성화하도록 할 수 있다. According to one embodiment, the processor 230 (e.g., the processor 120 of FIG. 1) may form a neighbor awareness networking (NAN) cluster with at least one external electronic device through the communication circuit 210. For example, the processor 230 may configure a NAN cluster with at least one external electronic device supporting the same service using the BLE triggers NAN communication protocol through the communication circuit 210. For example, the processor 230 may send a first BLE TDS advertisement (BLE TDS) containing service information (e.g., service name or application name) corresponding to an application running (in service) through the communication circuit 210. A transport discovery service (advertisement) packet (e.g., M1 in FIG. 7) may be transmitted to an external electronic device. According to one embodiment, the processor 230 may receive a second BLE TDS advertisement packet from an external electronic device that matches service information included in the first BLE TDS advertisement packet. For example, an external electronic device matching the service information included in the first BLE TDS advertisement packet may be a device that has registered service information in the BLE scan filter. According to one embodiment, the processor 230 may cause an external electronic device matching service information to activate the NAN function through the first BLE TDS advertisement packet.

일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 외부 전자 장치로부터 제1 BLE TDS 광고 패킷에 대한 응답으로 제2 BLE TDS 광고 패킷(예: 도 7의 M2)를 수신할 수 있다. 일 실시예에 따르면, 프로세서(230)는 제2 BLE TDS 광고 패킷을 수신함에 응답하여 NAN 기능을 활성화하고, NAN 클러스터 동기화 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(230)는 제1 BLE TDS 광고 패킷을 전송하면서 NAN 기능을 활성화할 수 있다. 일 실시예에 따르면, 프로세서(230)는 BLE triggers NAN 프로토콜을 이용하지 않고, 별도의 NAN 규약에 따른 방식으로 NAN 클러스터를 구성할 수 있다.According to one embodiment, the processor 230 may receive a second BLE TDS advertisement packet (e.g., M2 in FIG. 7) in response to the first BLE TDS advertisement packet from an external electronic device through the communication circuit 210. there is. According to one embodiment, the processor 230 may activate the NAN function in response to receiving the second BLE TDS advertisement packet and perform a NAN cluster synchronization operation. According to one embodiment, the processor 230 may activate the NAN function while transmitting the first BLE TDS advertisement packet. According to one embodiment, the processor 230 may configure the NAN cluster in accordance with a separate NAN protocol without using the BLE triggers NAN protocol.

일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 디스커버리를 수행할 수 있다. 예를 들어, 프로세서(230)는 서비스 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 프로세서(230)는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치에 서비스 정보를 포함하는 구독(subscribe) 메시지를 전송할 수 있다. 일 실시예에 따르면, 프로세서(230)는 구독 메시지에 응답하여 외부 전자 장치가 전송한 발행(publish) 메시지를 수신할 수 있다. 예를 들어, 발행 메시지는 외부 전자 장치의 장치 정보(예: 장치 명칭, ID, 또는 전화번호 정보) 또는 사용자 정보(사용자의 이름, 프로필 정보, 또는 계정 정보)를 포함할 수 있다.According to one embodiment, the processor 230 may perform service discovery through the communication circuit 210. For example, the processor 230 may perform service discovery based on service information. According to one embodiment, the processor 230 may transmit a subscribe message including service information to at least one external electronic device included in the NAN cluster. According to one embodiment, the processor 230 may receive a publish message sent by an external electronic device in response to a subscription message. For example, the publication message may include device information (e.g., device name, ID, or phone number information) or user information (user's name, profile information, or account information) of an external electronic device.

일 실시예에 따르면, 프로세서(230)는 서비스 디스커버리에 기반하여 서비스 그룹을 구성할 수 있다. 일 실시예에 따르면, 프로세서(230)는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치로부터 발행 메시지를 수신한 경우, 발행 메시지에 포함된 정보를 기반으로 적어도 하나의 외부 전자 장치의 정보를 포함하는 사용자 인터페이스를 제공할 수 있다. 일 실시예에 따르면, 프로세서(230)는 사용자 인터페이스를 통한 사용자 입력에 따라 서비스 그룹을 구성할 외부 전자 장치를 선택할 수 있다. 일 실시예에 따르면, 프로세서(230)는 수신한 발행 메시지에 포함된 외부 전자 장치의 계정 정보를 기반으로, 전자 장치(200)와 동일한 계정 정보 또는 연관된 계정 정보(예: 가족 계정 정보)를 가지는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치(예: 도 1의 전자 장치(102, 104))로 선택할 수 있다. 일 실시예에 따르면, 프로세서(230)는 발행 메시지에 포함된 외부 전자 장치의 정보(예: 전화 번호 또는 연락처(contact) 정보)를 기반으로 지정된 조건을 만족하는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치(예: 도 1의 전자 장치(102, 104))로 선택할 수 있다.According to one embodiment, the processor 230 may configure a service group based on service discovery. According to one embodiment, when the processor 230 receives a publication message from at least one external electronic device included in the NAN cluster, the processor 230 includes information on the at least one external electronic device based on the information included in the publication message. A user interface can be provided. According to one embodiment, the processor 230 may select external electronic devices that will form a service group according to user input through a user interface. According to one embodiment, the processor 230 has the same account information or related account information (e.g., family account information) as the electronic device 200, based on the account information of the external electronic device included in the received publishing message. An external electronic device may be selected as an electronic device that will form a service group (e.g., electronic devices 102 and 104 in FIG. 1). According to one embodiment, the processor 230 configures a service group of external electronic devices that satisfy specified conditions based on information (e.g., phone number or contact information) of the external electronic device included in the issued message. Electronic devices (e.g., electronic devices 102 and 104 in FIG. 1) may be selected.

일 실시예에 따르면, 프로세서(230)는 선택한 적어도 하나의 외부 전자 장치와 서비스 그룹을 구성하고, 서비스 그룹 정보를 기반으로 적어도 하나의 외부 전자 장치와 동기화할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다. According to one embodiment, the processor 230 configures a service group with at least one selected external electronic device and synchronizes it with the at least one external electronic device based on service group information. According to one embodiment, the service group information is at least one of a service group profile ID, service group ID, service group key, service group validity period, service group member information, service information, service-related application information, or service role. may include.

일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보를 메모리(220)에 저장하고, 통신 회로(210)를 통하여 서비스 그룹 내의 외부 전자 장치에 서비스 그룹 정보를 전송할 수 있다. 예를 들어, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 정보를 포함하는 SDF(service discovery frame)(follow up) 메시지를 서비스 그룹 내의 외부 전자 장치에 전송할 수 있다. 다른 예로, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 정보를 포함하는 NAN action frame을 서비스 그룹 내의 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 키(key)를 포함하는 SDF(follow up) 메시지를 외부 전자 장치에 전송할 수 있다. 예를 들어, 서비스 그룹 키는 해시(hash) 방식으로 SDF 메시지에 포함될 수 있다. 예를 들어, 서비스 그룹 키는 서비스 그룹에서의 SDF, NAF, 데이터 프레임을 암호화하여, 안전(secure)한 서비스 그룹 내의 통신을 하는데 활용될 수 있다. 일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 내의 외부 전자 장치에 서비스 그룹에 속한 전자 장치(200) 및/또는 외부 전자 장치의 정보(예: 서비스 그룹 멤버 정보)를 전송할 수 있다. 예를 들어, 서비스 그룹에 속한 전자 장치(200) 및 외부 전자 장치의 정보는 장치 명칭, 및/또는 장치 주소(address) 정보를 포함할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보가 유효기간을 가지는 경우, 프로세서(230)는 유효기간이 경과한 서비스 그룹 정보를 삭제할 수 있다.According to one embodiment, the processor 230 may share service group information with an external electronic device included in the service group through the communication circuit 210. According to one embodiment, the processor 230 may store service group information in the memory 220 and transmit the service group information to an external electronic device within the service group through the communication circuit 210. For example, the processor 230 may transmit a service discovery frame (SDF) (follow up) message including service group information to an external electronic device within the service group through the communication circuit 210. As another example, the processor 230 may transmit a NAN action frame including service group information to an external electronic device within the service group through the communication circuit 210. According to one embodiment, the processor 230 may transmit a follow up (SDF) message including a service group key to an external electronic device through the communication circuit 210. For example, the service group key may be included in the SDF message in a hash manner. For example, the service group key can be used to enable secure communication within the service group by encrypting the SDF, NAF, and data frames in the service group. According to one embodiment, the processor 230 provides information (e.g., service group member information) about the electronic device 200 and/or the external electronic device belonging to the service group to an external electronic device within the service group through the communication circuit 210. can be transmitted. For example, information on the electronic device 200 and external electronic devices belonging to the service group may include device name and/or device address information. According to one embodiment, when service group information has an expiration date, the processor 230 may delete service group information whose expiration date has elapsed.

일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, BLE 스캔 필터는 BLE triggers NAN 프로토콜에 의해 NAN 서비스를 지원하는 외부 전자 장치를 탐색 시에 사용될 수 있다. 예를 들어, BLE 스캔 필터는 외부 전자 장치로부터 수신하는 신호(예: 외부 전자 장치가 방송한 BLE TDS 패킷) 중에서 등록된 서비스 그룹 정보에 대응하는 신호를 필터링할 수 있다. 예를 들어, 프로세서(230)는 BLE 스캔 필터를 통하여 지정된 서비스 그룹 정보를 지원하는 외부 전자 장치를 인식할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보를 수신한 서비스 그룹 내의 외부 전자 장치가 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록하도록 할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치(200) 또는 외부 전자 장치들 각각은 동일한 서비스 그룹 정보를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치(200) 또는 외부 전자 장치들 각각은 동일한 서비스 그룹에 포함된 장치들의 리스트를 BLE 스캔 필터에 등록할 수 있다.According to one embodiment, the processor 230 may register service group information (eg, service group ID) in the BLE scan filter. For example, the BLE scan filter can be used when searching for external electronic devices that support NAN services by the BLE triggers NAN protocol. For example, the BLE scan filter may filter a signal corresponding to registered service group information among signals received from an external electronic device (e.g., a BLE TDS packet broadcast by the external electronic device). For example, the processor 230 may recognize an external electronic device that supports designated service group information through a BLE scan filter. According to one embodiment, the processor 230 may cause an external electronic device within a service group that has received service group information to register service group information (eg, service group ID) in the BLE scan filter. For example, each of the electronic devices 200 or external electronic devices within a service group may register the same service group information in the BLE scan filter. For example, each of the electronic devices 200 or external electronic devices within a service group may register a list of devices included in the same service group in the BLE scan filter.

일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치(200) 및 외부 전자 장치들은 NAN 기반의 서비스(예를 들어, 제1 서비스 정보에 대응하는 기능)를 제공할 수 있다. 예를 들어, 프로세서(230)는 통신 회로(210)를 통하여 서비스 정보에 대응하는 NAN 기반의 서비스(예: SDF 교환, NDP 통신, 레인징(Ranging), 또는 멀티캐스트(multicast) 서비스)를 수행할 수 있다.According to one embodiment, the processor 230 may perform NAN-based communication within a service group through the communication circuit 210. For example, the electronic device 200 and external electronic devices within the service group may provide NAN-based services (eg, functions corresponding to first service information). For example, the processor 230 performs a NAN-based service (e.g., SDF exchange, NDP communication, ranging, or multicast service) corresponding to service information through the communication circuit 210. can do.

일 실시예에 따르면, 프로세서(230)는 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 전자 장치(200)는 제공 중이던 서비스와 관련된 어플리케이션의 종료, NAN 서비스를 중단하는 사용자 입력, 서비스 그룹 내의 전자 장치 및/또는 외부 전자 장치가 NAN 기능을 비활성화 한 경우, 서비스 그룹 내에서 지정된 시간 이상 통신이 없는 경우, 또는 서비스 그룹이 절전 모드로 전환되는 경우 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 서비스 그룹의 절전 모드는 서비스 그룹 내에서 소모하는 전력을 감소시키기 위한 모드일 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내에서 제공 중이던 서비스를 일시 중단하는 상태를 포함할 수 있다. 예를 들어, 절전 모드는 서비스 그룹에 포함된 적어도 하나의 전자 장치가 해당 전자 장치에서 제공하는 절전 모드(예: 배터리 세이빙 모드)로 동작하는 경우를 포함할 수 있다.According to one embodiment, the processor 230 may recognize a NAN service interruption. For example, the electronic device 200 terminates an application related to the service being provided, user input to stop the NAN service, or when an electronic device within the service group and/or an external electronic device disables the NAN function within the service group. NAN service interruption can be recognized when there is no communication for more than a specified time, or when a service group switches to sleep mode. For example, the power saving mode of a service group may be a mode to reduce power consumption within the service group. For example, power saving mode may include a state in which services being provided within a service group are temporarily suspended. For example, the power saving mode may include a case where at least one electronic device included in the service group operates in a power saving mode (eg, battery saving mode) provided by the electronic device.

일 실시예에 따르면, 프로세서(230)는 NAN 서비스의 일시 중단 또는 종료 시, 통신 회로(210)를 통하여 서비스 그룹 내의 외부 전자 장치에 서비스 중단을 알리는 메시지를 전송할 수 있다.According to one embodiment, when the NAN service is temporarily suspended or terminated, the processor 230 may transmit a message notifying the service interruption to an external electronic device within the service group through the communication circuit 210.

일 실시예에 따르면, 프로세서(230)는 NAN 서비스의 중단 시, NAN 기능을 비활성화할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 중단을 알리는 메시지를 통해 외부 전자 장치가 NAN 기능을 비활성화하도록 할 수 있다.According to one embodiment, the processor 230 may disable the NAN function when the NAN service is interrupted. According to one embodiment, the processor 230 may cause an external electronic device to deactivate the NAN function through a message notifying service interruption.

일 실시예에 따르면, 프로세서(230)는 NAN 서비스 재시작을 인식할 수 있다. 예를 들어, 프로세서(230)는 일시 중단 또는 종료되었던 NAN 기반의 서비스를 다시 시작하기 위한 사용자의 입력을 수신할 수 있다. 예를 들어, 프로세서(230)는 디스플레이(예: 도 1의 표시 장치(160))를 통하여 이전에 구성한 적 있었던 서비스 그룹 및/또는 서비스 그룹에서 수행하였던 서비스에 대한 정보를 포함하는 사용자 인터페이스를 출력할 수 있다. 예를 들어, 프로세서(230)는 사용자 인터페이스를 통하여 특정 서비스 그룹 또는 서비스를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 프로세서(230)는 서비스 그룹 내의 NAN 통신 재개 또는 서비스 그룹의 절전 모드의 비활성화를 인식할 수 있다. 예를 들어, 서비스 그룹의 절전 모드는 서비스 그룹 내에서 소모하는 전력을 감소시키기 위한 모드일 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내에서 제공 중이던 서비스를 일시 중단하는 상태를 포함할 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내의 NAN 통신 중 일정 시간 동안 NAN 기반의 데이터 통신이 없는 경우 또는 사용자가 사용자 인터페이스를 통하여 기 설정된 절전 모드를 선택하는 경우를 포함할 수 있다. 예를 들어, 외부 출력 장치(예: 스피커(예: 블루투스 스피커))와 연결되어 있는 호스트(host) 전자 장치가 외부 게스트(guest) 전자 장치와 NAN 기반의 서비스 그룹을 구성하고, 호스트 전자 장치가 게스트 전자 장치의 오디오 데이터를 수신하여, 연결된 외부 출력 장치를 통하여 오디오를 출력하는 서비스를 수행하는 경우를 가정하면, 호스트 전자 장치 및/또는 게스트 전자 장치 중 어느 하나의 장치가 해당 서비스를 일시 중단(pause)시키기 위한 사용자 인터페이스 버튼을 활성화 하거나, 임시로 다른 서비스를 실행하기 위해 자동으로 현재 실행 중인 서비스를 일시 중단시킬 수 있다. 이 경우, NAN 기반의 서비스 그룹 내의 NAN 통신은 일시적으로 중단될 수 있으며, 이러한 상태가 절전 모드로 동작하는 상태일 수 있다.According to one embodiment, the processor 230 may recognize NAN service restart. For example, the processor 230 may receive a user's input to restart a NAN-based service that has been suspended or terminated. For example, the processor 230 outputs a user interface including information about a previously configured service group and/or a service performed in the service group through a display (e.g., the display device 160 of FIG. 1). can do. For example, the processor 230 may receive a user input for selecting a specific service group or service through a user interface. For example, the processor 230 may recognize resumption of NAN communication within a service group or deactivation of the power saving mode of the service group. For example, the power saving mode of a service group may be a mode to reduce power consumption within the service group. For example, power saving mode may include a state in which services being provided within a service group are temporarily suspended. For example, the power saving mode may include a case where there is no NAN-based data communication for a certain period of time during NAN communication within a service group, or a case where a user selects a preset power saving mode through a user interface. For example, a host electronic device connected to an external output device (e.g., speaker (e.g., Bluetooth speaker)) forms a NAN-based service group with an external guest electronic device, and the host electronic device Assuming that a service is performed that receives audio data from a guest electronic device and outputs audio through a connected external output device, one of the host electronic device and/or the guest electronic device temporarily suspends the service ( You can activate a user interface button to pause or automatically suspend the currently running service in order to temporarily run another service. In this case, NAN communication within the NAN-based service group may be temporarily stopped, and this state may be operating in power saving mode.

일 실시예에 따르면, 프로세서(230)는 기 저장된 서비스 그룹 정보를 인식할 수 있다. 예를 들어, 프로세서(230)는 서비스 그룹 ID, 서비스 그룹 프로파일, 서비스 그룹 멤버 정보, 서비스 그룹과 관련된 서비스 정보 또는 서비스 그룹 내 전자 장치(200) 및/또는 외부 전자 장치들의 역할(role) 중 적어도 하나를 인식할 수 있다. 일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 정보를 기반으로 외부 전자 장치에 BLE TDS 광고 패킷을 전송할 수 있다. 예를 들어, 서비스 그룹 정보는 BLE TDS triggers NAN 프로토콜에서 일반적으로 사용하는 서비스 정보와는 달리, 이전에 구성하였던 서비스 그룹에 속한 외부 전자 장치들만을 구분하여 NAN 기능을 활성화하기 위하여 활용될 수 있다. 예를 들어, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 정보(예: 서비스 그룹 ID)를 포함하는 BLE TDS 광고 패킷을 적어도 하나의 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 프로세서(230)는 제1 BLE TDS 광고 패킷을 수신한 외부 전자 장치 중에서 이전에 서비스 그룹 정보를 BLE 스캔 필터에 등록하였던 외부 전자 장치로부터 제2 BLE TDS 광고 패킷을 수신할 수 있다.According to one embodiment, the processor 230 may recognize pre-stored service group information. For example, the processor 230 may use at least one of a service group ID, a service group profile, service group member information, service information related to the service group, or the roles of the electronic device 200 and/or external electronic devices within the service group. One can recognize it. According to one embodiment, the processor 230 may transmit a BLE TDS advertisement packet to an external electronic device based on service group information through the communication circuit 210. For example, service group information, unlike service information commonly used in the BLE TDS triggers NAN protocol, can be used to activate the NAN function by distinguishing only external electronic devices belonging to a previously configured service group. For example, the processor 230 may transmit a BLE TDS advertisement packet including service group information (eg, service group ID) to at least one external electronic device through the communication circuit 210. According to one embodiment, the processor 230 may receive a second BLE TDS advertisement packet from an external electronic device that previously registered service group information in the BLE scan filter among external electronic devices that received the first BLE TDS advertisement packet. there is.

일 실시예에 따르면, 프로세서(230)는 외부 전자 장치에 BLE TDS 패킷(제1 BLE TDS 광고 패킷)을 전송함과 함께 NAN 기능을 활성화하거나, 또는 외부 전자 장치로부터 응답(제2 BLE TDS 광고 패킷)을 수신한 경우 NAN 기능을 활성화할 수 있다. 예를 들어, 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보와 매칭되는 외부 전자 장치는 제2 BLE TDS 광고 패킷을 전자 장치(200)에 전송함과 함께 NAN 기능을 활성화할 수 있다. 예를 들어, 서비스 그룹 정보를 기반으로 이전에 해당 서비스 그룹에 속하였던 외부 전자 장치들만이 선택적으로 NAN 기능을 활성화할 수 있다.According to one embodiment, the processor 230 activates the NAN function while transmitting a BLE TDS packet (the first BLE TDS advertisement packet) to an external electronic device, or a response from the external electronic device (the second BLE TDS advertisement packet). ), the NAN function can be activated. For example, an external electronic device that matches the service group information included in the first BLE TDS advertisement packet may transmit the second BLE TDS advertisement packet to the electronic device 200 and activate the NAN function. For example, based on service group information, only external electronic devices that previously belonged to the service group can selectively activate the NAN function.

일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 프로세서(230)는 외부 전자 장치와 SDF 교환을 통해 서비스 디스커버리를 수행할 수 있다. 예를 들어, 프로세서(230)는 서비스 그룹 멤버 중에서 현재의 NAN 클러스터에 속해 있는 외부 전자 장치를 인식할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보 및 관련 정보(예: 서비스 그룹 멤버 정보, 또는 서비스 그룹 내 전자 장치(200) 및/또는 외부 전자 장치들의 역할 정보)를 기반으로 별도의 메시지 교환 없이 NAN 서비스 그룹을 구성할 수도 있다.According to one embodiment, the processor 230 may perform service discovery based on service group information. According to one embodiment, the processor 230 may perform service discovery through SDF exchange with an external electronic device. For example, the processor 230 may recognize an external electronic device belonging to the current NAN cluster among service group members. According to one embodiment, the processor 230 sends a separate message based on service group information and related information (e.g., service group member information, or role information of the electronic device 200 and/or external electronic devices within the service group). You can also configure a NAN service group without an exchange.

일 실시예에 따르면, 프로세서(230)는 서비스 그룹을 재구성할 수 있다. 예를 들어, 프로세서(230)는 이전에 구성한 적 있었던 서비스 그룹을 복원할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 프로세서(230)는 서비스 그룹 내의 외부 전자 장치와 함께 NAN 기반의 서비스(예를 들어, 서비스 정보 또는 서비스 그룹 정보에 대응하는 서비스)를 제공할 수 있다.According to one embodiment, the processor 230 may reconfigure the service group. For example, the processor 230 may restore a previously configured service group. According to one embodiment, the processor 230 may perform NAN-based communication within a service group. For example, the processor 230 may provide a NAN-based service (eg, a service corresponding to service information or service group information) together with an external electronic device within a service group.

일 실시예에 따르면, 프로세서(230)는 도 1에 도시된 프로세서 (120)의 적어도 일부를 포함할 수 있다.According to one embodiment, the processor 230 may include at least a portion of the processor 120 shown in FIG. 1.

일 실시예에 따르면, 메모리(220)(예: 도 1의 메모리(130))는 프로세서(230)에 의해 실행되는 인스트럭션들을 저장할 수 있다. 일 실시예에 따르면, 메모리(220)는 전자 장치(200)가 NAN 클러스터 및 서비스 그룹을 구성한 경우, 서비스 그룹 정보를 저장할 수 있다. 예를 들어, 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 그룹에 속한 전자 장치(200) 및 외부 전자 장치들의 서비스 역할(role) 중 적어도 하나를 포함할 수 있다. 예를 들어, 서비스 그룹 프로파일 ID는 하나 이상의 서비스 그룹을 구별하기 위하여 전자 장치(200)(또는, 사용자)에 의해 부여된 ID일 수 있다. 일 실시예에 따르면, 메모리(220)는 도 1에 도시된 메모리(130)의 적어도 일부를 포함할 수 있다.According to one embodiment, the memory 220 (eg, memory 130 in FIG. 1) may store instructions executed by the processor 230. According to one embodiment, the memory 220 may store service group information when the electronic device 200 configures a NAN cluster and a service group. For example, service group information may include service group profile ID, service group ID, service group key, expiration date, service group member information, service information, service-related application information, or electronic device 200 and external electronic device belonging to the service group. It may include at least one of the service roles of devices. For example, the service group profile ID may be an ID assigned by the electronic device 200 (or a user) to distinguish one or more service groups. According to one embodiment, the memory 220 may include at least a portion of the memory 130 shown in FIG. 1 .

일 실시예에 따르면, 전자 장치(200)는 서비스 그룹 정보를 기반으로 BLE triggers NAN 프로토콜, 서비스 디스커버리를 수행하여 서비스 그룹을 복원함으로써, 서비스 그룹에 속하지 않는 외부 전자 장치들의 NAN 기능이 활성화되지 않도록 할 수 있다. 이에 따라, 전자 장치(200)는 기 구성한 적이 있었던 서비스 그룹을 다시 구성하는 속도를 향상시키고 서비스 그룹의 운용 시의 전자 장치(200) 및/또는 외부 전자 장치들의 불필요한 전류 소모 및/또는 리소스 소모를 감소시킬 수 있다.According to one embodiment, the electronic device 200 restores the service group by performing BLE triggers NAN protocol and service discovery based on service group information, thereby preventing the NAN function of external electronic devices that do not belong to the service group from being activated. You can. Accordingly, the electronic device 200 improves the speed of reconfiguring a previously configured service group and reduces unnecessary current consumption and/or resource consumption of the electronic device 200 and/or external electronic devices when operating the service group. can be reduced.

도 3은 일 실시예에 따른 전자 장치가 동기화된 클러스터를 도시한 도면이다.FIG. 3 is a diagram illustrating a cluster in which electronic devices are synchronized according to an embodiment.

일 실시 예에 따르면, 이하 언급되는 클러스터(cluster)(301)는 NAN(neighbor awareness networking) 규격에 따른 NAN 클러스터(301)를 포함할 수 있다. 상기 NAN 클러스터(301)는 예컨대, 근접 네트워크를 기반으로 데이터 또는 신호의 송신 및 수신을 수행하는 적어도 하나의 전자 장치의 집합을 의미할 수 있다. NAN 규격에 따르면, 상기 NAN 클러스터(301)에 동기화된 적어도 하나의 전자 장치는 근접 네트워크 또는 근접 서비스의 운용과 관련하여 상호 동일한 적어도 하나의 파라미터(예: 디스커버리 윈도우(discovery window), 디스커버리 윈도우들 사이의 간격 구간, 비콘 인터벌(beacon interval) 및/또는 NAN 채널)를 이용할 수 있다.According to one embodiment, the cluster 301 mentioned below may include a NAN cluster 301 according to the NAN (neighbor awareness networking) standard. For example, the NAN cluster 301 may refer to a set of at least one electronic device that transmits and receives data or signals based on a proximity network. According to the NAN standard, at least one electronic device synchronized to the NAN cluster 301 has at least one parameter (e.g., discovery window, between discovery windows) that is identical to each other in relation to the operation of a proximity network or proximity service. interval section, beacon interval, and/or NAN channel) can be used.

도 3을 참조하면, 일 실시 예에 따른 전자 장치(310)(예: 도 1의 전자 장치(101), 도 2의 전자 장치(200))는 무선 통신 회로(또는, 무선 통신 모듈)(예: 도 1의 무선 통신 모듈(192), 도 2의 통신 회로(210))를 이용하여 NAN 규격의 저전력 근접 통신(예: 제1 통신)을 운용하기 위해, 적어도 하나의 외부 전자 장치(320a, 320b, 및/또는 320c)와 네트워크(예: 도 1의 제1 네트워크(198))를 구축할 수 있고, 클러스터(301)를 구성하여 상호작용할 수 있다.Referring to FIG. 3, the electronic device 310 (e.g., the electronic device 101 of FIG. 1 and the electronic device 200 of FIG. 2) according to an embodiment includes a wireless communication circuit (or wireless communication module) (e.g. : To operate NAN standard low-power proximity communication (e.g., first communication) using the wireless communication module 192 of FIG. 1 and the communication circuit 210 of FIG. 2, at least one external electronic device 320a, 320b and/or 320c) and a network (e.g., the first network 198 of FIG. 1) may be established and a cluster 301 may be formed to interact with each other.

일 실시 예에서, 전자 장치(310)는 상기 적어도 하나의 외부 전자 장치(320a, 320b, 및/또는 320c)와 동기화된 통신 구간인 디스커버리 윈도우 구간을 통하여 근접 서비스의 운용과 관계되는 데이터 또는 신호를 송신 및 수신할 수 있다. 예를 들어, 전자 장치(310)는 상기 디스커버리 윈도우 구간을 통하여 적어도 하나의 외부 전자 장치(320a, 320b, 및/또는 320c)와의 동기화와 관계된 적어도 하나의 정보를 포함하는 동기 비콘(sync beacon)을 송신 및 수신할 수 있다. 또는, 전자 장치(310)는 상기 디스커버리 윈도우 구간을 통하여 서비스 광고 또는 서비스 정보 공유와 관계된 서비스 디스커버리 프레임(service discovery frame)을 송신 및 수신할 수 있다.In one embodiment, the electronic device 310 transmits data or signals related to the operation of proximity service through a discovery window section, which is a communication section synchronized with the at least one external electronic device 320a, 320b, and/or 320c. Can send and receive. For example, the electronic device 310 sends a sync beacon containing at least one information related to synchronization with at least one external electronic device 320a, 320b, and/or 320c through the discovery window section. Can send and receive. Alternatively, the electronic device 310 may transmit and receive a service discovery frame related to service advertisement or service information sharing through the discovery window section.

도 4는 일 실시예에 따른 전자 장치가 동기화된 타임 클락을 도시한 도면이다.FIG. 4 is a diagram illustrating a time clock synchronized by an electronic device according to an embodiment.

일 실시예에 따르면, NAN 기반의 통신에서는, 클러스터(예: 도 3의 클러스터(301)) 내에 있는 전자 장치(예: 도 3의 전자 장치(310)) 및/또는 적어도 하나의 외부 전자 장치(예: 도 3의 외부 전자 장치(320a, 320b, 320c)) 간에 시간 클럭(time clock)이 동기화되어, 동일한 디스커버리 윈도우(discovery window, DW) 구간 내에 서로 비컨(beacon) 및 서비스 디스커버리 프레임(service discovery frame)을 주고 받을 수 있다. 일 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 상호 동기화된 타임 클락 상에서 웨이크(wake) 상태 및 슬립(sleep) 상태로 동작할 수 있다. 예를 들어, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 디스커버리 윈도우(DW) 구간(410)에서 웨이크 상태로 동작하고, 상기 디스커버리 윈도우(DW) 구간(410) 이외의 구간, 예컨대 복수의 디스커버리 윈도우(DW) 구간(410)들 사이의 간격 구간(440)에서는 슬립 상태로 동작하여, 전력 소모를 절감시킬 수 있다. 다양한 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 복수의 디스커버리 윈도우(DW) 구간(410)들 사이의 간격 구간(440)에서 NAN 규격의 저전력 근접 통신 이외의 다른 통신 방식을 운용할 수 있다.According to one embodiment, in NAN-based communication, an electronic device (e.g., electronic device 310 of FIG. 3) within a cluster (e.g., cluster 301 of FIG. 3) and/or at least one external electronic device ( Example: Time clocks are synchronized between the external electronic devices 320a, 320b, and 320c of FIG. 3, so that they send beacons and service discovery frames to each other within the same discovery window (DW) section. frames) can be exchanged. According to one embodiment, the electronic device synchronized to the cluster and/or at least one external electronic device may operate in a wake state and a sleep state on a mutually synchronized time clock. For example, the electronic device synchronized to the cluster and/or at least one external electronic device operates in a wake state in the discovery window (DW) section 410, and in sections other than the discovery window (DW) section 410, For example, in the interval section 440 between the plurality of discovery window (DW) sections 410, the device operates in a sleep state, thereby reducing power consumption. According to various embodiments, the electronic device synchronized to the cluster and/or at least one external electronic device uses other than NAN standard low-power proximity communication in the interval section 440 between the plurality of discovery window (DW) sections 410. Other communication methods can be used.

일 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 NAN 규격에 따른 동기 채널(예: 채널 6)을 통하여 데이터 또는 신호의 송신 및 수신을 수행할 수 있다.According to one embodiment, an electronic device synchronized to the cluster and/or at least one external electronic device may transmit and receive data or signals through a synchronization channel (eg, channel 6) according to the NAN standard.

일 실시예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 마스터(master) 장치로 정의되는 특정 전자 장치의 타임 클락(time clock)에 동기화될 수 있다. 일 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 상기 타임 클락 상에서, NAN 규격에 따른 16 개의 시간 유닛(TU, time unit)들을 점유하고, 512 개의 시간 유닛들 간격으로 존재하는 디스커버리 윈도우(DW) 구간(410) 내에서 동기 비콘(420) 및 서비스 디스커버리 프레임(430) 중 적어도 하나를 송신 및 수신할 수 있다. 일 실시 예에서, 상기 동기 비콘(420) 및 서비스 디스커버리 프레임(430)의 송신은 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 간의 경쟁(competition)에 기초하여 수행될 수 있다.According to one embodiment, the electronic device synchronized to the cluster and/or at least one external electronic device may be synchronized to the time clock of a specific electronic device defined as a master device. According to one embodiment, the electronic device synchronized to the cluster and/or at least one external electronic device occupies 16 time units (TU, time units) according to the NAN standard on the time clock, and 512 time units. At least one of the synchronization beacon 420 and the service discovery frame 430 may be transmitted and received within the discovery window (DW) section 410 that exists at intervals. In one embodiment, transmission of the synchronization beacon 420 and the service discovery frame 430 may be performed based on competition between an electronic device synchronized to the cluster and/or at least one external electronic device.

NAN 규격에 따르면, 상기 동기 비콘(420)은 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 중 마스터(master) 장치 또는 비-마스터 동기(non-master sync) 장치로 정의되는 특정 전자 장치에 의하여 송신될 수 있다. 일 실시 예에서, 동기 비콘(420)은 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 상호 간의 동기화(예: 타임 클락 동기화)를 유지시키기 위한 신호로 기능할 수 있다. 이와 관련하여, 동기 비콘(420)은 전자 장치 및/또는 적어도 하나의 외부 전자 장치 상호 간의 동기화에 수반되는 적어도 하나의 정보를 포함할 수 있다. 예를 들어, 동기 비콘(420)은 신호의 기능(function)(예: 비콘)을 지시하는 FC 필드(frame control field), 방송 주소(broadcast address), 동기 비콘(420)을 송신한 전자 장치의 MAC 주소(media access control address), 클러스터 식별자(identifier), 시퀀스 제어 필드(sequence control field), 비콘 프레임에 대한 타임 스탬프(time stamp), 디스커버리 윈도우(DW) 구간(410)들의 시작 지점 간의 간격을 나타내는 비콘 간격 필드(beacon interval field), 및 동기 비콘(420)을 송신한 전자 장치의 능력(capability) 정보 중 적어도 하나를 포함할 수 있다. 일 실시 예에서, 동기 비콘(420)을 수신하는 적어도 하나의 전자 장치는 상기 동기 비콘(420)의 수신을 기반으로 클러스터에 동기화된 다른 적어도 하나의 전자 장치와 동기를 유지할 수 있다. 다양한 실시 예에서, 동기 비콘(420)은 근접 네트워크에 관계되는 정보 요소(information element)를 더 포함할 수 있고, 상기 정보 요소는 예컨대 근접 네트워크를 통하여 제공될 수 있는 근접 서비스의 콘텐츠를 포함할 수 있다.According to the NAN standard, the synchronization beacon 420 is a specific electronic device defined as a master device or a non-master sync device among the electronic devices synchronized to the cluster and/or at least one external electronic device. Can be transmitted by the device. In one embodiment, the synchronization beacon 420 may function as a signal for maintaining synchronization (e.g., time clock synchronization) between electronic devices synchronized to the cluster and/or at least one external electronic device. In this regard, the synchronization beacon 420 may include at least one piece of information accompanying synchronization between the electronic device and/or at least one external electronic device. For example, the synchronization beacon 420 includes a frame control field indicating the function of the signal (e.g., beacon), a broadcast address, and the electronic device that transmitted the synchronization beacon 420. Media access control address (MAC address), cluster identifier, sequence control field, time stamp for the beacon frame, and the interval between the start points of the discovery window (DW) sections 410. It may include at least one of a beacon interval field indicating a beacon interval field and capability information of the electronic device that transmitted the synchronization beacon 420. In one embodiment, at least one electronic device that receives the synchronization beacon 420 may maintain synchronization with at least one other electronic device synchronized to the cluster based on reception of the synchronization beacon 420. In various embodiments, synchronization beacon 420 may further include an information element related to a proximity network, which may include content of a proximity service that may be provided via a proximity network, for example. there is.

일 실시 예에서, 서비스 디스커버리 프레임(430)은 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 간에 근접 서비스를 광고하고, 근접 네트워크를 기반으로 상기 근접 서비스와 관계된 정보를 공유하기 위한 신호로 기능할 수 있다. NAN 규격에 따르면, 상기 서비스 디스커버리 프레임(430)은 벤더 특정 공개 액션 프레임(vender specific public action frame)으로써, 다양한 필드를 포함할 수 있다. 예를 들어, 서비스 디스커버리 프레임(430)은 카테고리 필드(category field) 및 액션 필드(action field) 중 적어도 하나를 포함할 수 있고, 근접 네트워크에 관계된 정보 요소(information element)를 더 포함할 수 있다. 일 실시 예에서, 서비스 디스커버리 프레임(430)을 수신하는 적어도 하나의 전자 장치는 상기 서비스 디스커버리 프레임(430)을 송신한 전자 장치가 광고하는 근접 서비스를 발견할 수 있고, 발견된 근접 서비스와 관계되는 정보를 획득할 수 있다.In one embodiment, the service discovery frame 430 is a signal for advertising a proximity service between electronic devices synchronized to the cluster and/or at least one external electronic device and sharing information related to the proximity service based on a proximity network. It can function as According to the NAN standard, the service discovery frame 430 is a vendor specific public action frame and may include various fields. For example, the service discovery frame 430 may include at least one of a category field and an action field, and may further include an information element related to a proximity network. In one embodiment, at least one electronic device that receives the service discovery frame 430 may discover a proximity service advertised by the electronic device that transmitted the service discovery frame 430, and may detect a proximity service related to the discovered proximity service. Information can be obtained.

일 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 중 마스터(master) 장치로 기능하는 특정 전자 장치는 디스커버리 윈도우(DW) 구간(410) 이외의 구간(440)(예: 복수의 디스커버리 윈도우(DW) 구간(410)들 사이의 간격 구간)에서 디스커버리 비콘(450)(discovery beacon)을 송신할 수 있다. 일 실시 예에서, 상기 디스커버리 비콘(450)은 클러스터에 참여하지 못한 다른 전자 장치가 상기 클러스터를 발견할 수 있도록 송신되는 클러스터 광고 신호로 기능할 수 있다. 예를 들어, 클러스터에 참여하지 못한 상기 다른 전자 장치는 패시브 스캔(passive scan)을 수행하여 클러스터에 동기화된 마스터(master) 전자 장치로부터 송신되는 디스커버리 비콘(450)을 검출함으로써, 클러스터를 발견하고, 상기 클러스터에 대한 동기화 여부를 결정할 수 있다. 이와 관련하여, 디스커버리 비콘(450)은 클러스터에 동기화하기 위한 적어도 하나의 정보를 포함할 수 있다. 예를 들어, 디스커버리 비콘(450)은 신호의 기능(function)(예: 비콘)을 지시하는 FC 필드(frame control field), 방송 주소(broadcast address), 디스커버리 비콘(450)을 송신한 전자 장치의 MAC 주소(media access control address), 클러스터 식별자(identifier), 시퀀스 제어 필드(sequence control field), 비콘 프레임에 대한 타임 스탬프(time stamp), 디스커버리 비콘(450)의 송신 간격을 나타내는 비콘 간격 필드(beacon interval field), 및 디스커버리 비콘(450)을 송신한 전자 장치의 능력(capability) 정보 중 적어도 하나를 포함할 수 있다. 일 실시 예에서, 디스커버리 비콘(450)은 근접 네트워크에 관계된 정보 요소(information element)를 더 포함할 수 있다. 상기 디스커버리 비콘(450)에 포함된 정보 요소는 예컨대, 클러스터의 등급(grade) 정보를 포함할 수 있다.According to one embodiment, a specific electronic device functioning as a master device among the electronic devices synchronized to the cluster and/or at least one external electronic device operates in a section 440 other than the discovery window (DW) section 410 ( Example: A discovery beacon 450 may be transmitted in an interval between a plurality of discovery window (DW) sections 410. In one embodiment, the discovery beacon 450 may function as a cluster advertisement signal that is transmitted so that other electronic devices that do not participate in the cluster can discover the cluster. For example, the other electronic device that does not participate in the cluster discovers the cluster by performing a passive scan to detect the discovery beacon 450 transmitted from the master electronic device synchronized to the cluster, It is possible to decide whether to synchronize the cluster. In this regard, the discovery beacon 450 may include at least one piece of information for synchronizing to the cluster. For example, the discovery beacon 450 is a frame control field indicating the function of the signal (e.g., beacon), a broadcast address, and the electronic device that transmitted the discovery beacon 450. MAC address (media access control address), cluster identifier, sequence control field, time stamp for the beacon frame, and beacon interval field indicating the transmission interval of the discovery beacon 450. It may include at least one of an interval field) and capability information of the electronic device that transmitted the discovery beacon 450. In one embodiment, discovery beacon 450 may further include an information element related to a proximity network. The information element included in the discovery beacon 450 may include, for example, cluster grade information.

도 4에서는 NAN 클러스터의 DW에서 단일 주파수 대역(예: 2.4 GHz 대역)의 단일 채널(예: 6번 채널)을 공통 채널로 사용하는 경우를 도시하였으나, 일 실시예에 따르면, 복수의 주파수 대역(예: 2.4Ghz 대역 및 5Ghz 대역)의 복수의 채널(예: 6번 채널 및 149번 채널)이 동시에 DW로 구성될 수도 있다. 일 실시예에 따르면, 5Ghz 대역의 채널은 각 지역의 채널 정책에 따라 상이하게 결정될 수 있다. 일 실시예에 따르면, NAN 클러스터에 포함된 전자 장치들(예: 도 3의 전자 장치(310, 320a, 320b, 320c))은 복수의 주파수 대역 및 채널에 구성된 복수의 DW 구간에서 비컨 및 서비스 디스커버리 프레임을 송수신할 수 있다.Figure 4 illustrates a case where a single channel (e.g., channel 6) of a single frequency band (e.g., 2.4 GHz band) is used as a common channel in the DW of a NAN cluster. However, according to one embodiment, a plurality of frequency bands ( Multiple channels (e.g., channels 6 and 149) in the 2.4Ghz band and 5Ghz band may be configured as DW at the same time. According to one embodiment, the channel in the 5Ghz band may be determined differently depending on the channel policy of each region. According to one embodiment, electronic devices included in a NAN cluster (e.g., electronic devices 310, 320a, 320b, and 320c in FIG. 3) perform beacon and service discovery in multiple DW sections configured in multiple frequency bands and channels. Frames can be transmitted and received.

도 5는 일 실시예에 따른 클러스터 내에서 전자 장치의 역할 및 상태 전환을 도시한 도면이다.FIG. 5 is a diagram illustrating the roles and state transitions of electronic devices within a cluster according to an embodiment.

일 실시예에 따르면, 클러스터(예: 도 3의 클러스터(301))에 동기화된 전자 장치들(예: 도 3의 전자 장치(310), 외부 전자 장치(320a, 320b, 320c))은 마스터(master) 장치(510), 비-마스터 동기(non-master sync) 장치(530) 및 비-마스터 비-동기(non-master non-sync) 장치(550) 중 어느 하나의 역할(role) 및 상태를 가질 수 있다. 예를 들어, NAN 규격에 따르면, 전자 장치들은 클러스터를 구성하거나, 참여할 때 마스터(master) 장치(510)의 역할 및 상태를 가질 수 있으며, 전자 장치들의 역할 및 상태는 NAN 규격에 따른 조건의 만족 여부에 기초하여 전환될 수 있다. 예를 들어, NAN 규격에서는 클러스터에 포함된 전자 장치들의 역할을 변경((1), (2), (3), (4))하기 위한 조건(예: RSSI 및/또는 마스터 랭크)을 정의하고 있으나, 이하에서는 NAN 규격에 정의된 모든 조건을 상세히 설명하지는 않고 간략히 설명한다.According to one embodiment, electronic devices (e.g., electronic device 310 of FIG. 3, external electronic devices 320a, 320b, 320c) synchronized to a cluster (e.g., cluster 301 of FIG. 3) are connected to a master ( master) device 510, non-master sync device 530, and non-master non-sync device 550. You can have For example, according to the NAN standard, electronic devices can have the role and status of the master device 510 when configuring or participating in a cluster, and the role and status of the electronic devices are determined by satisfying the conditions according to the NAN standard. It can be switched based on availability. For example, the NAN standard defines conditions (e.g. RSSI and/or master rank) for changing the roles ((1), (2), (3), (4)) of electronic devices included in the cluster. However, hereinafter, all conditions defined in the NAN standard will be briefly explained rather than explained in detail.

일 실시예에 따르면, NAN 클러스터에 포함된 전자 장치들의 역할은 마스터 랭크(master rank)에 기반하여 결정될 수 있다. 예를 들어, NAN 클러스터에 포함된 전자 장치들 중에서 마스터 랭크 값이 큰 전자 장치가 마스터 장치(510)가 될 수 있다.According to one embodiment, the roles of electronic devices included in a NAN cluster may be determined based on master rank. For example, among electronic devices included in a NAN cluster, an electronic device with a large master rank value may become the master device 510.

[수학식 1][Equation 1]

Master Rank = Master Preference*2^56 + Random Factor*2^48 + MAC[5]*2^40 + … + MAC[0]Master Rank = Master Preference*2^56 + Random Factor*2^48 + MAC[5]*2^40 + … + MAC[0]

상기 수학식 1은 클러스터의 등급 판단에 참조되는 마스터 랭크(master rank)를 나타낼 수 있다. 일 실시 예에 따르면, 마스터 랭크는 마스터 선호도(master preference)(예: 0~128의 값), 랜덤 팩터(random factor)(예: 0~255의 값) 및 MAC 주소(media access control address)(예: NAN 전자 장치의 인터페이스 주소)의 인자들로 구성될 수 있다. NAN 규격에 따르면, 상기 인자들의 합산 값에 따른 마스터 랭크는 클러스터에 동기화된 전자 장치들(예: 도 3의 전자 장치(310), 외부 전자 장치(320a, 320b, 320c)) 각각에 대하여 산출될 수 있고, 상대적으로 큰 마스터 랭크를 갖는 특정 전자 장치는 마스터(master) 장치의 역할 및 상태를 가질 수 있다. 또는, 상기 마스터 랭크는 클러스터 등급의 크기 또는 레벨을 의미할 수 있다. 예를 들어, 클러스터에 동기화된 마스터(master) 전자 장치의 마스터 랭크가 다른 클러스터에 동기화된 다른 마스터(master) 전자 장치의 마스터 랭크에 상대적으로 높은(또는, 큰) 경우, 클러스터의 등급은 상기 다른 클러스터의 등급에 상대적으로 높은(또는, 큰) 것으로 이해될 수 있다.Equation 1 above may represent the master rank referred to in determining the level of a cluster. According to one embodiment, the master rank is a master preference (e.g., a value from 0 to 128), a random factor (e.g., a value from 0 to 255), and a media access control address (MAC address) ( It may be composed of factors (e.g., interface address of NAN electronic device). According to the NAN standard, the master rank according to the sum of the factors is calculated for each of the electronic devices synchronized to the cluster (e.g., the electronic device 310 of FIG. 3 and the external electronic devices 320a, 320b, and 320c). A specific electronic device with a relatively large master rank may have the role and status of a master device. Alternatively, the master rank may mean the size or level of the cluster grade. For example, if the master rank of a master electronic device synchronized to a cluster is relatively high (or large) to the master rank of another master electronic device synchronized to another cluster, the rank of the cluster is that of the other master electronic devices. It can be understood as being relatively high (or large) in the level of the cluster.

다양한 실시 예에서, 클러스터의 등급은 상기 마스터 랭크를 구성하는 인자들 중 마스터 선호도(master preference) 만을 이용하여 산출되는 마스터 랭크에 의해 결정될 수 있다. 만일, 클러스터의 등급 결정 시 이용되는 마스터 선호도와 다른 클러스터의 등급 결정 시 이용되는 마스터 선호도가 동일한 값을 갖는 경우, 상기 클러스터와 다른 클러스터 간의 등급 관계는 마스터 랭크를 구성하는 나머지 인자, 예컨대 랜덤 팩터(random factor) 및 MAC 주소(media access control address) 중 적어도 하나를 더 이용하여 산출되는 마스터 랭크에 의해 결정될 수 있다. 다양한 실시 예에서, 클러스터의 등급은 상기 마스터 랭크와 관계 없이, 클러스터에 동기화된 전자 장치들의 개수, 클러스터가 제공하는 근접 서비스의 개수, 및 클러스터의 보안 레벨 중 적어도 하나에 기초하여 결정될 수도 있다. 예를 들어, 클러스터에 동기화된 전자 장치의 개수가 많거나, 클러스터가 제공하는 근접 서비스의 개수가 많거나, 및/또는 클러스터의 보안 레벨이 높은(또는, 큰) 경우, 상기 클러스터는 높은(또는, 큰) 등급으로 결정될 수 있다.In various embodiments, the level of a cluster may be determined by a master rank calculated using only master preference among the factors constituting the master rank. If the master preference used when determining the rank of a cluster and the master preference used when determining the rank of another cluster have the same value, the rank relationship between the cluster and the other cluster is determined by the remaining factors constituting the master rank, such as a random factor ( It may be determined by a master rank calculated using at least one of a random factor and a media access control address (MAC address). In various embodiments, the level of a cluster may be determined based on at least one of the number of electronic devices synchronized to the cluster, the number of proximity services provided by the cluster, and the security level of the cluster, regardless of the master rank. For example, if the number of electronic devices synchronized to a cluster is large, the number of proximity services provided by the cluster is large, and/or the security level of the cluster is high (or large), then the cluster may have a high (or large) security level. , can be determined by the large) grade.

일 실시예에 따르면, 클러스터에 동기화된 전자 장치들은 해당 역할 및 상태에 따라 동기 비콘(예: 도 4의 420) 및 디스커버리 비콘(예: 도 4의 450)에 대한 송신 가부가 결정될 수 있다. 예를 들어, 상기 동기 비콘은 마스터(master) 장치(510) 및 비-마스터 동기(non-master sync) 장치(530)에 의해 송신 가능할 수 있고, 상기 디스커버리 비콘은 마스터(master) 장치(510)에 의해 송신 가능할 수 있다.According to one embodiment, electronic devices synchronized to the cluster may determine whether to transmit a synchronization beacon (e.g., 420 in FIG. 4) and a discovery beacon (e.g., 450 in FIG. 4) depending on their respective roles and states. For example, the synchronization beacon may be transmittable by a master device 510 and a non-master sync device 530, and the discovery beacon may be transmitted by a master device 510. It may be possible to transmit by .

도 6은 일 실시예에 따른 일 실시 예에 따른 전자 장치의 신호 송수신 형태를 도시한 도면이다.FIG. 6 is a diagram illustrating a signal transmission and reception form of an electronic device according to an embodiment of the present invention.

제1 전자 장치(600)는 동기화된 통신 구간(610)(예: 디스커버리 윈도우(discovery window))(610) 내에서 동기 비콘 및 서비스 디스커버리 프레임을 송신할 수 있다. 클러스터(예: 도 3의 클러스터(301)) 내의 제2 전자 장치(601), 제3 전자 장치(603) 및/또는 제4 전자 장치(605)는 상기 동기화된 통신 구간(610)을 통하여 제1 전자 장치(600)에 의해 송신된 동기 비콘 및 서비스 디스커버리 프레임을 수신할 수 있다. NAN 규격에 따르면, 제2 전자 장치(601), 제3 전자 장치(603) 및/또는 제4 전자 장치(605)는 상기 동기 비콘의 수신을 기반으로 클러스터 내의 타 전자 장치와 동기를 유지할 수 있다. 또는, 제2 전자 장치(601), 제3 전자 장치(603) 및/또는 제4 전자 장치(605)는 상기 서비스 디스커버리 프레임을 수신함으로써, 제1 전자 장치(600)가 광고하는 서비스를 발견하고 서비스 정보를 획득할 수 있다. 일 실시 예에서, 클러스터 내의 적어도 하나의 전자 장치(600, 601, 603 및/또는 605)는 타임 클락(time clock) 상에서 동기화된 통신 구간(610)에서만 웨이크(wake) 상태로 동작하고, 상기 동기화된 통신 구간(610) 이외의 구간(640)(예: 동기화된 통신 구간(610)들 간의 간격 구간)에서는 슬립(sleep) 상태로 동작함으로써, 전력 소모를 절감시킬 수 있다. 또는, 다양한 실시 예에서, 클러스터 내의 적어도 하나의 전자 장치(600, 601, 603 및/또는 605)는 상기 동기화된 통신 구간(610) 이외의 구간(예: 디스커버리 윈도우(DW) 간의 간격(640))에서 NAN 규격의 저전력 근접 통신 이외의 다른 통신 방식의 네트워크를 운용할 수 있다.The first electronic device 600 may transmit a synchronization beacon and a service discovery frame within the synchronized communication section 610 (eg, discovery window) 610. The second electronic device 601, the third electronic device 603, and/or the fourth electronic device 605 within the cluster (e.g., cluster 301 in FIG. 3) communicates with the second electronic device 601, the third electronic device 603, and/or the fourth electronic device 605 through the synchronized communication section 610. 1 A synchronization beacon and a service discovery frame transmitted by the electronic device 600 can be received. According to the NAN standard, the second electronic device 601, the third electronic device 603, and/or the fourth electronic device 605 can maintain synchronization with other electronic devices in the cluster based on reception of the synchronization beacon. . Alternatively, the second electronic device 601, the third electronic device 603, and/or the fourth electronic device 605 discovers the service advertised by the first electronic device 600 by receiving the service discovery frame, and Service information can be obtained. In one embodiment, at least one electronic device 600, 601, 603 and/or 605 in the cluster operates in a wake state only in a communication section 610 that is synchronized on a time clock, and the synchronization Power consumption can be reduced by operating in a sleep state in sections 640 other than the synchronized communication sections 610 (e.g., interval sections between synchronized communication sections 610). Alternatively, in various embodiments, at least one electronic device (600, 601, 603, and/or 605) in the cluster is connected to a section other than the synchronized communication section 610 (e.g., an interval 640 between discovery windows (DW)). ), it is possible to operate a network with a communication method other than the low-power proximity communication of the NAN standard.

도 7은 일 실시예에 따른 BLE 통신을 이용한 NAN 서비스 디스커버리 프로토콜을 도시한 도면이다.Figure 7 is a diagram illustrating a NAN service discovery protocol using BLE communication according to an embodiment.

NAN 규격의 release 3에 따르면, NAN 전자 장치(701, 703)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 규격의 저전력 근접 통신 운용 시, BLE(Bluetooth low energy) triggers NAN 통신 프로토콜에 따라 동작할 수 있다. 예를 들어, NAN 전자 장치는 주기적 패시브 스캔(passive scan) 수행 시 소모되는 전력량을 절감시키기 위해, BLE 통신 기반의 스캐닝을 수행하여 인접한 다른 전자 장치를 발견하고, NAN 규격의 저전력 근접 통신을 이용하여 상기 다른 전자 장치가 동기화된 클러스터에 대한 동기화를 결정할 수 있다.According to release 3 of the NAN standard, the NAN electronic devices 701 and 703 (e.g., the electronic device 101 in FIG. 1 or the electronic device 200 in FIG. 2) use BLE (Bluetooth) when operating low-power proximity communication of the NAN standard. low energy) triggers can operate according to the NAN communication protocol. For example, in order to reduce the amount of power consumed when performing periodic passive scans, NAN electronic devices discover other nearby electronic devices by performing scanning based on BLE communication and use low-power proximity communication of the NAN standard. The other electronic device may determine synchronization for the synchronized cluster.

도 7을 참조하여, BLE triggers NAN 통신 프로토콜의 개략적인 플로우가 설명되며, 일 실시예에 따른 전자 장치는 이하 언급되는 공급자(provider (passive)) 전자 장치(701) 또는 검색자(browser 또는 seeker (active)) 전자 장치(703)에 해당될 수 있다. With reference to FIG. 7, a schematic flow of the BLE triggers NAN communication protocol is described, and the electronic device according to one embodiment is a provider (passive) electronic device 701 or a browser or seeker (mentioned below). active)) may correspond to the electronic device 703.

일 실시예에 따르면, 710 동작에서, 검색자(seeker) 전자 장치(703)는 BLE 통신을 이용하여 제1 BLE TDS(transport discovery service) 광고(advertisement) 패킷(M1)을 송신할 수 있다. 예를 들어, 검색자 전자 장치(703)는 상기 검색자 전자 장치(703)가 제공하는 서비스 정보 또는 서비스 그룹 정보를 광고하기 위해, 상기 서비스 정보 또는 서비스 그룹 정보가 해쉬(hash) 방식으로 포함된 제1 BLE TDS 광고 패킷을 송신할 수 있다. 일 실시예에 따르면, 검색자 전자 장치(703)는 제1 BLE TDS 광고 패킷에 서비스 그룹 정보를 블룸 필터(bloom filter)로 해쉬하여 전송할 수 있다. 예를 들어, 검색자 전자 장치(703)는 서비스 정보 대신에 이전에 구성되었던 서비스 그룹과 관련된 서비스 그룹 정보를 포함하는 제1 BLE TDS 광고 패킷을 전송할 수 있다. 일 실시예에 따르면, 710 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 비활성화한 상태일 수 있다.According to one embodiment, in operation 710, the seeker electronic device 703 may transmit a first BLE transport discovery service (TDS) advertisement packet M1 using BLE communication. For example, in order to advertise service information or service group information provided by the searcher electronic device 703, the searcher electronic device 703 includes the service information or service group information in a hash method. The first BLE TDS advertisement packet may be transmitted. According to one embodiment, the searcher electronic device 703 may hash service group information in the first BLE TDS advertisement packet using a bloom filter and transmit it. For example, the searcher electronic device 703 may transmit the first BLE TDS advertisement packet containing service group information related to a previously configured service group instead of service information. According to one embodiment, in operation 710, the provider electronic device 701 and the searcher electronic device 703 may have the NAN function deactivated.

일 실시예에 따르면, 720 동작에서, 공급자(provider (Passive)) 전자 장치(701)는 BLE 통신을 이용한 스캐닝 동작을 통하여 검색자 전자 장치(703)가 송신한 제1 BLE TDS 광고 패킷(M1)을 수신할 수 있고, 상기 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보를 확인할 수 있다. 예를 들어, 720 동작에서, 공급자 전자 장치(701)는 상기 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보와 상기 공급자 전자 장치(701)가 가지는 서비스 그룹 정보(예: BLE 스캔 필터에 등록된 서비스 그룹 정보)의 매칭 여부를 판단할 수 있다. 일 실시예에 따르면, 720 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 비활성화한 상태일 수 있다. 예를 들어, 공급자 전자 장치(701)는 NAN 기능의 비활성 상태에서 스캔을 통해 서비스 매치를 인식할 수 있다(Provider scan hit (service matched) and NAN is off).According to one embodiment, in operation 720, the provider (Passive) electronic device 701 receives the first BLE TDS advertisement packet (M1) transmitted by the searcher electronic device 703 through a scanning operation using BLE communication. Can be received, and service group information included in the first BLE TDS advertisement packet can be confirmed. For example, in operation 720, the provider electronic device 701 uses the service group information included in the first BLE TDS advertisement packet and the service group information held by the provider electronic device 701 (e.g., registered in the BLE scan filter). Service group information) can be determined to match. According to one embodiment, in operation 720, the provider electronic device 701 and the searcher electronic device 703 may have the NAN function deactivated. For example, the provider electronic device 701 may recognize a service match through a scan while the NAN function is inactive (Provider scan hit (service matched) and NAN is off).

일 실시예에 따르면, 730 동작에서, 공급자 전자 장치(701)는 BLE 통신을 이용하여 서비스 정보 또는 공급자 전자 장치(701)가 가지는 서비스 그룹 정보가 해쉬 방식으로 포함된 제2 BLE TDS 광고 패킷(M2)을 검색자 전자 장치(703)에 송신할 수 있다. 일 실시예에 따르면, 730 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 비활성화한 상태일 수 있다.According to one embodiment, in operation 730, the provider electronic device 701 uses BLE communication to send a second BLE TDS advertisement packet (M2) containing service information or service group information owned by the provider electronic device 701 in a hash format. ) can be transmitted to the searcher electronic device 703. According to one embodiment, in operation 730, the provider electronic device 701 and the searcher electronic device 703 may have the NAN function disabled.

일 실시예에 따르면, 740 동작에서, 검색자(Seeker (Active)) 전자 장치(703)는 BLE 통신을 이용한 스캐닝 동작을 수행하여 공급자 전자 장치(701)가 송신한 제2 BLE TDS 광고 패킷을 수신할 수 있고, 상기 제2 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보와 상기 검색자 전자 장치(703)가 가지는 서비스 그룹 정보(예: BLE 스캔 필터에 등록된 서비스 그룹 정보)의 매칭 여부를 판단할 수 있다. 일 실시예에 따르면, 740 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 비활성화한 상태일 수 있다. 예를 들어, 검색자 전자 장치(703)는 스캔을 통해 서비스 매치 및 BLE 주소 해석을 수행할 수 있다(seeker scan hit (service matched + resolved BLE addresss).According to one embodiment, in operation 740, the seeker (Active) electronic device 703 performs a scanning operation using BLE communication to receive the second BLE TDS advertisement packet transmitted by the provider electronic device 701. It is possible to determine whether the service group information included in the second BLE TDS advertisement packet matches the service group information (e.g., service group information registered in the BLE scan filter) of the searcher electronic device 703. You can. According to one embodiment, in operation 740, the provider electronic device 701 and the searcher electronic device 703 may have the NAN function deactivated. For example, the seeker electronic device 703 may perform service match and BLE address interpretation through scan (seeker scan hit (service matched + resolved BLE addresses)).

일 실시예에 따르면, 750 동작에서, 검색자 전자 장치(703)은 서비스 그룹 정보가 매칭되는 경우, BLE 통신을 이용하여 공급자 전자 장치(701)와 연결을 수행할 수 있다. 예를 들어, 검색자 전자 장치(703)는 서비스 그룹 정보가 매칭되는 공급자 전자 장치(701)에 제3 BLE TDS 광고 패킷(M3)를 전송할 수 있다. 일 실시예에 따르면, 750 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 비활성화한 상태일 수 있다. 일 실시예에 따르면, 750 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 활성화를 준비할 수 있다.According to one embodiment, in operation 750, if the service group information matches, the searcher electronic device 703 may connect to the provider electronic device 701 using BLE communication. For example, the searcher electronic device 703 may transmit the third BLE TDS advertisement packet (M3) to the provider electronic device 701 with matching service group information. According to one embodiment, in operation 750, the provider electronic device 701 and the searcher electronic device 703 may have the NAN function deactivated. According to one embodiment, in operation 750, the provider electronic device 701 and the searcher electronic device 703 may prepare to activate the NAN function.

일 실시예에 따르면, 751 동작에서, 공급자 전자 장치(701)는 NAN 기반의 통신 기능을 활성화할 수 있다(turn on NAN). 예를 들어, 검색자 전자 장치(703)와 서로 매칭되는 서비스 그룹 정보를 가지는 공급자 전자 장치(701)는 NAN 기반의 통신 기능을 활성화할 수 있다.According to one embodiment, in operation 751, the provider electronic device 701 may activate a NAN-based communication function (turn on NAN). For example, the provider electronic device 701, which has service group information matching the searcher electronic device 703, may activate a NAN-based communication function.

일 실시예에 따르면, 753 동작에서, 검색자 전자 장치(703)는 NAN 기반의 통신 기능을 활성화할 수 있다(turn on NAN). 일 실시예에 따르면, 753 동작에서, 검색자 전자 장치(703)는 매칭되는 서비스 정보 또는 서비스 그룹 정보를 가지는 공급자 전자 장치(701)와 관련된 정보(예: 아이콘 및 추가 정보(예: 사용자 이름))를 제공할 수 있다. 예를 들어, 검색자 전자 장치(703)는 알려진 장치들에 대한 아이콘 및 추가 정보(예: 사용자 이름)를 표시하고 NAN 기능을 활성화할 수 있다(display icon + additional info(user name) if is a known devices and turns on NAN).According to one embodiment, in operation 753, the searcher electronic device 703 may activate a NAN-based communication function (turn on NAN). According to one embodiment, in operation 753, the searcher electronic device 703 retrieves information (e.g., an icon and additional information (e.g., user name)) related to the provider electronic device 701 with matching service information or service group information. ) can be provided. For example, the searcher electronic device 703 may display icons and additional information (e.g., user name) for known devices and activate the NAN function (display icon + additional info(user name) if is a known devices and turns on NAN).

일 실시예에 따르면, 760 동작에서, 검색자 전자 장치(703)와 공급자 전자 장치(701)는 NAN 규격의 서비스 디스커버리를 수행할 수 있다(NAN service discovery).According to one embodiment, in operation 760, the searcher electronic device 703 and the provider electronic device 701 may perform NAN standard service discovery (NAN service discovery).

도 7에 도시된 바와는 다르나, 일 실시예에 따르면, 공급자 전자 장치(701)는 수신한 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보에 매칭되는 경우 720 동작에서 NAN 기능을 활성화할 수 있고, 검색자 전자 장치(703)는 수신한 제2 BLE TDS 광고 패킷에 응답하여 740 동작에서 NAN 기능을 활성화할 수 있다. 이 경우, 750, 751, 753 동작 중 적어도 하나는 생략될 수 있다.Although different from what is shown in FIG. 7, according to one embodiment, the provider electronic device 701 may activate the NAN function in operation 720 when matching the service group information included in the received first BLE TDS advertisement packet. , the searcher electronic device 703 may activate the NAN function in operation 740 in response to the received second BLE TDS advertisement packet. In this case, at least one of operations 750, 751, and 753 may be omitted.

도 8은 일 실시예에 따른 BLE TDS 패킷을 도시한 도면이다.Figure 8 is a diagram illustrating a BLE TDS packet according to one embodiment.

일 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 규격의 release 3에서 규정하는 BLE triggers NAN 통신 프로토콜에 따라, NAN 규격의 통신 운용 시 BLE 통신을 이용하여 상기 전자 장치가 제공하는 서비스 그룹 정보가 포함된 BLE TDS 패킷(800)을 송신할 수 있다. 이하에서, NAN 규격의 release 3에서 규정하는 BLE triggers NAN 통신 프로토콜에서 정의하는 BLE TDS 패킷(800)의 일반적인 구성에 대해서는 설명을 생략한다.According to one embodiment, an electronic device (e.g., the electronic device 101 of FIG. 1 or the electronic device 200 of FIG. 2) performs NAN standard communication according to the BLE triggers NAN communication protocol specified in release 3 of the NAN standard. During operation, a BLE TDS packet 800 containing service group information provided by the electronic device can be transmitted using BLE communication. Below, description of the general configuration of the BLE TDS packet 800 defined in the BLE triggers NAN communication protocol specified in release 3 of the NAN standard will be omitted.

일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 블룸 필터(bloom filter)(850)를 이용하여 해싱(hashing)하여 생성된 값을 bloom filter(850)에 포함시킬 수 있다. 또는, 전자 장치는 상기 BLE 통신을 이용한 스캐닝 동작을 수행하여 다른 전자 장치(예: 제1 외부 전자 장치)로부터 상기 다른 전자 장치가 제공하는 서비스 그룹 정보가 포함된 BLE TDS 패킷(800)을 수신할 수 있다. 예를 들어, 전자 장치는 수신된 BLE TDS 패킷(800)의 Bloom filter(850)의 값에 기반하여 서비스 그룹 정보를 획득할 수 있다. According to one embodiment, the electronic device may include a value generated by hashing service group information using a bloom filter 850 in the bloom filter 850. Alternatively, the electronic device may perform a scanning operation using the BLE communication to receive a BLE TDS packet 800 containing service group information provided by the other electronic device (e.g., a first external electronic device). You can. For example, the electronic device may obtain service group information based on the value of the Bloom filter 850 of the received BLE TDS packet 800.

일 실시예에서, 전자 장치는 상기 다른 전자 장치로부터 수신한 BLE TDS 패킷(800) 내의 서비스 그룹 정보와 전자 장치가 가지는 서비스 그룹 정보 간의 매칭 여부를 판단할 수 있고, 판단 결과에 기초하여 NAN 기반의 통신 기능의 활성화를 제어할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치와 상호 간의 서비스 그룹 정보가 매칭되는 것으로 판단되는 경우, NAN 기반의 통신 기능을 활성화할 수 있다.In one embodiment, the electronic device may determine whether there is a match between the service group information in the BLE TDS packet 800 received from the other electronic device and the service group information possessed by the electronic device, and based on the determination result, the NAN-based You can control the activation of communication functions. For example, when the electronic device determines that service group information matches that of an external electronic device, it may activate a NAN-based communication function.

본 개시의 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(200) 또는 도 3의 전자 장치(300))는, 통신 회로(예: 도 1의 통신 모듈(190), 도 2의 통신 회로(210)), 메모리(예: 도 1의 메모리(130), 도 2의 메모리(220)), 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서(예: 도 1의 프로세서(120), 도 2의 프로세서(230))를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시, 상기 프로세서가, 상기 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화하고, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하고, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유하고, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하고, 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device (e.g., the electronic device 101 of FIG. 1, the electronic device 200 of FIG. 2, or the electronic device 300 of FIG. 3) according to an embodiment of the present disclosure includes a communication circuit (e.g., the electronic device 101 of FIG. 1). communication module 190, communication circuit 210 of FIG. 2), memory (e.g., memory 130 of FIG. 1, memory 220 of FIG. 2), and operatively connected to the communication circuit and the memory. ) may include a connected processor (e.g., the processor 120 in FIG. 1 and the processor 230 in FIG. 2). According to one embodiment, when the memory is executed, the processor synchronizes to a cluster for performing NAN (neighbor awareness networking)-based communication with at least one external electronic device through the communication circuit, and the communication circuit A service group that performs a NAN-based service discovery operation based on service information and at least one external electronic device included in the cluster, and includes at least one of the at least one external electronic device based on the service discovery operation. configures, shares service group information with an external electronic device included in the configured service group through the communication circuit, registers the service group information in a BLE (Bluetooth low energy) scan filter, and shares the service group information with the external electronic device included in the configured service group through the communication circuit. Instructions that perform NAN-based communication within a service group can be stored.

일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가, 상기 서비스 그룹 내의 통신을 종료하는 경우 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 제어하도록 할 수 있다.According to one embodiment, the instructions, when executed, control the processor to deactivate the NAN function of the electronic device included in the service group and the at least one external electronic device when communication within the service group is terminated. You can do it.

일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 서비스 그룹 내의 통신을 재시작하는 경우, 상기 BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치를 인식하도록 할 수 있다.According to one embodiment, when the instructions are executed, when the processor restarts communication within the service group, BLE triggers the service based on the NAN communication protocol based on the service group information registered in the BLE scan filter. At least one external electronic device included in the group can be recognized.

일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 통신 회로를 통하여 상기 서비스 그룹 정보를 포함하는 BLE TDS(Bluetooth low energy transport discovery service) 패킷을 포함하는 신호를 송신하도록 할 수 있다.According to one embodiment, when executed, the instructions may cause the processor to transmit a signal including a BLE TDS (Bluetooth low energy transport discovery service) packet including the service group information through the communication circuit.

일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 BLE TDS 패킷을 포함하는 신호를 통하여 상기 서비스 그룹에 포함된 적어도 하나의 전자 장치들의 NAN 기능을 활성화하도록 제어하게 할 수 있다.According to one embodiment, when executed, the instructions may control the processor to activate the NAN function of at least one electronic device included in the service group through a signal including the BLE TDS packet.

일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 동기화된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하도록 할 수 있다.According to one embodiment, when executed, the instructions may cause the processor to perform a NAN-based service discovery operation based on service group information and at least one external electronic device included in the synchronized service group.

일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가, 사용자 입력, 서비스 관련 어플리케이션의 실행 종료, 기 설정된 시간 이상 상기 서비스 그룹 내의 전자 장치들 사이의 통신이 없는 경우, 또는 상기 서비스 그룹의 전원 절약 모드 실행 중 적어도 하나에 기반하여 상기 서비스 그룹에 포함된 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 할 수 있다.According to one embodiment, the instructions are, when executed, when the processor receives a user input, terminates execution of a service-related application, there is no communication between electronic devices within the service group for more than a preset time, or the service group The NAN function of the electronic device included in the service group and the at least one external electronic device may be deactivated based on at least one of the power saving mode execution.

일 실시예에 따르면, 상기 전자 장치는 디스플레이(예: 도 1의 표시 장치(160))를 더 포함할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 디스플레이를 통하여 상기 BLE triggers NAN 통신 프로토콜에 기초하여 인식한 서비스 그룹 또는 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 정보를 표시하도록 할 수 있다.According to one embodiment, the electronic device may further include a display (eg, the display device 160 of FIG. 1). According to one embodiment, when the instructions are executed, the processor displays information on a service group recognized based on the BLE triggers NAN communication protocol or at least one external electronic device included in the service group through the display. You can do it.

일 실시예에 따르면, 상기 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다.According to one embodiment, the service group information includes at least one of service group profile ID, service group ID, service group key, service group validity period, service group member information, service information, service-related application information, or service role. It can contain one.

일 실시예에 따르면, 상기 서비스 그룹 정보는 만료 기간의 정보를 포함할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 만료 기간이 도과하면 상기 서비스 그룹 정보를 삭제하도록 할 수 있다.According to one embodiment, the service group information may include information on an expiration period. According to one embodiment, when the instructions are executed, the processor may delete the service group information when the expiration period expires.

본 개시의 일 실시예에 따른 전자 장치는, 통신 회로, 메모리, 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시, 상기 프로세서가, 기 구성되었던 NAN(neighbor awareness networking) 기반의 서비스 그룹 내의 통신을 재시작하는 경우, 기 저장된 서비스 그룹 정보를 인식하고, BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE(Bluetooth low energy) triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 대응하는 적어도 하나의 외부 전자 장치를 인식하고, 상기 전자 장치 및 상기 인식한 적어도 하나의 외부 전자 장치의 NAN 기능을 활성화하도록 제어하고, 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치와 상기 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리에 기반하여 상기 서비스 그룹을 복원하고, 상기 통신 회로를 통하여 상기 복원된 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device according to an embodiment of the present disclosure may include a communication circuit, a memory, and a processor operatively connected to the communication circuit and the memory. According to one embodiment, when the memory is executed, when the processor restarts communication within a pre-configured NAN (neighbor awareness networking)-based service group, the memory recognizes pre-stored service group information and configures the BLE scan filter. Based on the registered service group information, at least one external electronic device corresponding to the service group is recognized based on a BLE (Bluetooth low energy) triggers NAN communication protocol, and the electronic device and the recognized at least one external electronic device Controlling to activate the NAN function of the device, performing a NAN-based service discovery operation based on the electronic device and the at least one external electronic device and the service group information, and restoring the service group based on the service discovery And, instructions for performing NAN-based communication within the restored service group can be stored through the communication circuit.

도 9는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.Figure 9 is a flowchart of a NAN-based communication control method of an electronic device according to an embodiment.

일 실시예에 따르면, 910 동작에서, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(200) 또는 도 3의 전자 장치(300))는 적어도 하나의 외부 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 도 3의 외부 전자 장치(320a, 320b, 320c))와 NAN(neighbor awareness networking) 클러스터(예: 도 3의 클러스터(301))를 구성할 수 있다.According to one embodiment, in operation 910, an electronic device (e.g., the electronic device 101 of FIG. 1, the electronic device 200 of FIG. 2, or the electronic device 300 of FIG. 3) uses at least one external electronic device ( Example: A neighbor awareness networking (NAN) cluster (e.g., cluster 301 in FIG. 3) can be formed with the electronic devices 102 and 104 of FIG. 1 or the external electronic devices 320a, 320b and 320c of FIG. 3. there is.

일 실시예에 따르면, 전자 장치는 BLE(Bluetooth low energy) triggers NAN 통신 프로토콜을 이용하여 동일한 서비스를 지원하는 적어도 하나의 외부 전자 장치와 NAN 클러스터를 구성할 수 있다. 예를 들어, 전자 장치는 실행 중(서비스 중)인 어플리케이션에 대응하는 제1 서비스 정보(예: 어플리케이션 명칭)를 포함하는 제1 BLE TDS 광고(BLE TDS advertisement) 패킷(M1)을 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, BLE 스캔 모드로 대기하고 있던 외부 전자 장치는 상기 제1 BLE TDS 광고 패킷을 수신할 수 있다. 일 실시예에 따르면, 상기 제1 BLE TDS 광고 패킷을 수신한 외부 전자 장치는 제1 BLE TDS 광고 패킷에 포함된 제1 서비스 정보가 외부 전자 장치의 BLE 스캔 필터에 등록되어 있는지 판단할 수 있다. 일 실시예에 따르면, 제1 서비스 정보에 대응하는 어플리케이션을 가지며, BLE 스캔 필터에 제1 서비스 정보가 등록되어 있는 경우, 외부 전자 장치는 수신한 제1 BLE 광고 패킷(M1)에 대응하는 제2 BLE TDS 광고 패킷(M2)를 전자 장치에 전송할 수 있다. 다양한 실시예에 따르면, 외부 전자 장치는 제1 서비스 정보에 대응하는 어플리케이션을 포함하는 경우뿐만 아니라, 제1 서비스 정보에 대응하는 어플리케이션이 실행 중인 경우, 또는 제1 서비스 정보에 대응하는 서비스를 지원 가능한 경우에 수신한 제1 BLE 광고 패킷(M1)에 대응하는 제2 BLE TDS 광고 패킷(M2)를 전자 장치에 전송할 수도 있다. 일 실시예에 따르면, 외부 전자 장치는 제2 BLE TDS 광고 패킷(M2)를 전송하면서 NAN 기능을 활성화하고 NAN 클러스터 동기화 동작을 수행할 수 있다. 일 실시예에 따르면, 전자 장치는 제2 BLE TDS 광고 패킷(M2)를 수신함에 응답하여 NAN 기능을 활성화하고, NAN 클러스터 동기화 동작을 수행할 수 있다. 일 실시예에 따르면, 전자 장치 및 적어도 하나의 외부 전자 장치는 BLE triggers NAN 프로토콜을 이용하지 않고, 별도의 NAN 규약에 따른 방식으로 NAN 클러스터를 구성할 수 있다. 일 실시예에 따르면, 전자 장치는 다양한 통신 방식(예: 도 1의 제1 네트워크(198) 또는 제2 네트워크(199))을 통하여 NAN 기능을 트리거(trigger)할 수 있다. 예를 들어, 전자 장치 및 적어도 하나의 외부 전자 장치는 종래의 BLE 방식, NFC(near field communication) 또는 QR(quick response) 방식을 포함하는 OOB(out of band) 방식을 통하여 NAN 기능을 활성화하고, NAN 클러스터를 구성할 수 있다. 다른 예를 들어, 전자 장치는 서버(예: 도 1의 서버(108))를 통해 적어도 하나의 외부 전자 장치의 NAN 기능을 활성화하고, NAN 클러스터를 구성할 수 있다.According to one embodiment, an electronic device may form a NAN cluster with at least one external electronic device that supports the same service using the BLE (Bluetooth low energy) triggers NAN communication protocol. For example, the electronic device sends a first BLE TDS advertisement packet (M1) containing first service information (e.g., application name) corresponding to the application being executed (in service) to the external electronic device. Can be transmitted. According to one embodiment, an external electronic device waiting in BLE scan mode may receive the first BLE TDS advertisement packet. According to one embodiment, the external electronic device that received the first BLE TDS advertisement packet may determine whether the first service information included in the first BLE TDS advertisement packet is registered in the BLE scan filter of the external electronic device. According to one embodiment, when the application has an application corresponding to the first service information and the first service information is registered in the BLE scan filter, the external electronic device sends a second BLE advertisement packet (M1) corresponding to the received first BLE advertisement packet (M1). A BLE TDS advertisement packet (M2) can be transmitted to the electronic device. According to various embodiments, the external electronic device not only includes an application corresponding to the first service information, but also when the application corresponding to the first service information is running, or is capable of supporting a service corresponding to the first service information. In this case, the second BLE TDS advertisement packet (M2) corresponding to the received first BLE advertisement packet (M1) may be transmitted to the electronic device. According to one embodiment, the external electronic device may activate the NAN function and perform a NAN cluster synchronization operation while transmitting the second BLE TDS advertisement packet (M2). According to one embodiment, the electronic device may activate the NAN function in response to receiving the second BLE TDS advertisement packet (M2) and perform a NAN cluster synchronization operation. According to one embodiment, the electronic device and at least one external electronic device may configure a NAN cluster in a manner that follows a separate NAN protocol without using the BLE triggers NAN protocol. According to one embodiment, the electronic device may trigger the NAN function through various communication methods (eg, the first network 198 or the second network 199 in FIG. 1). For example, the electronic device and at least one external electronic device activate the NAN function through an out of band (OOB) method including a conventional BLE method, near field communication (NFC), or quick response (QR) method, You can configure a NAN cluster. As another example, the electronic device may activate the NAN function of at least one external electronic device through a server (e.g., server 108 of FIG. 1) and configure a NAN cluster.

일 실시예에 따르면, 920 동작에서, 전자 장치는 서비스 디스커버리를 수행할 수 있다. 예를 들어, 전자 장치는 제1 서비스 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 전자 장치는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치에 제1 서비스 정보를 포함하는 구독(subscribe) 메시지를 전송할 수 있다. 일 실시예에 따르면, NAN 클러스터에 포함된 외부 전자 장치는 수신한 구독 메시지에 응답하여 발행(publish) 메시지를 전자 장치에 전송할 수 있다. 예를 들어, 외부 전자 장치는 구독 메시지에 포함된 제1 서비스 정보를 확인하고, 제1 서비스 정보에 대응하는 서비스를 제공 가능한 경우 전자 장치에 발행 메시지를 전송할 수 있다. 예를 들어, 발행 메시지는 장치 정보(예: 장치 명칭, ID, 또는 전화번호 정보) 또는 사용자 정보(사용자의 이름, 프로필 정보, 또는 계정 정보)를 포함할 수 있다.According to one embodiment, in operation 920, the electronic device may perform service discovery. For example, the electronic device may perform service discovery based on first service information. According to one embodiment, the electronic device may transmit a subscribe message including first service information to at least one external electronic device included in the NAN cluster. According to one embodiment, an external electronic device included in a NAN cluster may transmit a publish message to the electronic device in response to a received subscription message. For example, the external electronic device may check the first service information included in the subscription message and, if it can provide a service corresponding to the first service information, transmit a publication message to the electronic device. For example, the publication message may include device information (such as device name, ID, or phone number information) or user information (such as the user's name, profile information, or account information).

일 실시예에 따르면, 930 동작에서, 전자 장치는 서비스 디스커버리에 기반하여 서비스 그룹을 구성할 수 있다. 일 실시예에 따르면, 전자 장치는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치로부터 발행 메시지를 수신한 경우, 발행 메시지에 포함된 정보를 기반으로 적어도 하나의 외부 전자 장치의 정보를 포함하는 사용자 인터페이스를 제공할 수 있다. 일 실시예에 따르면, 전자 장치는 사용자 인터페이스를 통한 사용자 입력에 따라 서비스 그룹을 구성할 외부 전자 장치를 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 수신한 발행 메시지에 포함된 외부 전자 장치의 계정 정보를 기반으로, 전자 장치와 동일한 계정 정보 또는 연관된 계정 정보(예: 가족 계정 정보)를 가지는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치로 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 발행 메시지에 포함된 외부 전자 장치의 정보(예: 전화 번호 또는 연락처(contact) 정보)를 기반으로 지정된 조건을 만족하는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치로 선택할 수 있다.According to one embodiment, in operation 930, the electronic device may configure a service group based on service discovery. According to one embodiment, when the electronic device receives a publication message from at least one external electronic device included in the NAN cluster, a user interface that includes information about the at least one external electronic device based on the information included in the publication message. can be provided. According to one embodiment, the electronic device may select an external electronic device to form a service group according to a user input through a user interface. According to one embodiment, the electronic device provides service to an external electronic device having the same account information or related account information (e.g., family account information) as the electronic device, based on the account information of the external electronic device included in the received published message. You can select electronic devices to form a group. According to one embodiment, the electronic device is an electronic device that configures a service group with external electronic devices that satisfy specified conditions based on information (e.g., phone number or contact information) of the external electronic device included in the issued message. You can select .

일 실시예에 따르면, 전자 장치는 선택한 적어도 하나의 외부 전자 장치와 서비스 그룹을 구성할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 기반으로 적어도 하나의 외부 전자 장치와 동기화할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 메시지가 송신 또는 수신되는 시간(예: 동기화된 통신 구간(610))을 동기화할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다. According to one embodiment, the electronic device may form a service group with at least one selected external electronic device. According to one embodiment, the electronic device may synchronize with at least one external electronic device based on service group information. For example, the electronic device may synchronize the time (eg, synchronized communication section 610) at which a message is transmitted or received with at least one external electronic device included in the service group. According to one embodiment, the service group information is at least one of a service group profile ID, service group ID, service group key, service group validity period, service group member information, service information, service-related application information, or service role. may include.

일 실시예에 따르면, 940 동작에서, 전자 장치는 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 저장하고, 서비스 그룹 내의 외부 전자 장치에 서비스 그룹 정보를 전송할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 정보를 포함하는 SDF(service discovery frame)(follow up) 메시지를 서비스 그룹 내의 외부 전자 장치에 전송할 수 있다. 다른 예로, 전자 장치는 서비스 그룹 정보를 포함하는 NAN action frame을 서비스 그룹 내의 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 키(key)를 포함하는 SDF(follow up) 메시지를 외부 전자 장치에 전송할 수 있다. 예를 들어, 서비스 그룹 키는 해시(hash) 방식으로 SDF 메시지에 포함될 수 있다. 예를 들어, 서비스 그룹 키는 서비스 그룹에서의 SDF, NAF, 및/또는 데이터 프레임을 암호화하여, 안전(secure)한 서비스 그룹 내의 통신을 하는데 활용될 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 내의 외부 전자 장치에 서비스 그룹에 속한 전자 장치의 정보(예: 서비스 그룹 멤버 정보)를 전송할 수 있다. 예를 들어, 서비스 그룹에 속한 전자 장치의 정보는 장치 명칭, 및/또는 장치 주소(address) 정보를 포함할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보가 유효기간을 가지는 경우, 전자 장치 및/또는 외부 전자 장치는 유효기간이 경과한 서비스 그룹 정보를 삭제할 수 있다.According to one embodiment, in operation 940, the electronic device may share service group information with an external electronic device included in the service group. According to one embodiment, the electronic device may store service group information and transmit the service group information to an external electronic device within the service group. For example, the electronic device may transmit a service discovery frame (SDF) (follow up) message including service group information to an external electronic device within the service group. As another example, the electronic device may transmit a NAN action frame containing service group information to an external electronic device within the service group. According to one embodiment, the electronic device may transmit a follow up (SDF) message including a service group key to an external electronic device. For example, the service group key may be included in the SDF message in a hash manner. For example, the service group key can be used to make communication within the service group secure by encrypting the SDF, NAF, and/or data frames in the service group. According to one embodiment, an electronic device may transmit information (eg, service group member information) of an electronic device belonging to a service group to an external electronic device within the service group. For example, information on electronic devices belonging to a service group may include device name and/or device address information. According to one embodiment, when service group information has a validity period, the electronic device and/or an external electronic device may delete the service group information whose validity period has elapsed.

일 실시예에 따르면, 950 동작에서, 전자 장치는 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보를 수신한 서비스 그룹 내의 외부 전자 장치는 수신한 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치 및 적어도 하나의 외부 전자 장치 각각은 동일한 서비스 그룹 정보를 BLE 스캔 필터에 등록할 수 있다. 일 실시예에 따르면, 전자 장치 및 적어도 하나의 외부 전자 장치 각각은 적어도 하나의 서비스 그룹 정보를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 전자 장치 및 적어도 하나의 외부 전자 장치가 복수 개의 서비스 그룹 정보를 BLE 스캔 필터에 등록한 경우, NAN 기반 서비스를 시작하는 장치(예: 공급자 장치)에 대응하는 서비스 그룹 정보를 BLE 스캔 필터에 등록한 장치의 NAN 기능이 활성화될 수 있다. 일 실시예에 따르면, 전자 장치 및 적어도 하나의 외부 전자 장치가 복수 개의 서비스 그룹 정보를 BLE 스캔 필터에 등록한 경우, 전자 장치 및 적어도 하나의 외부 전자 장치는 이후 NAN 서비스 시작 시에 등록된 서비스 그룹과 관련된 정보 또는 등록된 서비스 그룹에서 수행하였던 서비스와 관련된 정보를 사용자 인터페이스를 통하여 제공할 수 있다. 예를 들어, 전자 장치 및 적어도 하나의 외부 전자 장치는 사용자 인터페이스를 통하여 선택된 서비스 그룹 또는 서비스에 대응하는 서비스 그룹을 재구성(복원)할 수 있다. 일 실시예에 따르면, 전자 장치 및 적어도 하나의 외부 전자 장치 각각은 적어도 하나의 서비스 그룹 정보를 BLE 스캔 필터에 등록할 경우 우선 순위를 설정할 수 있다. 예를 들어, 우선 순위가 높은 NAN 기반의 서비스 그룹에 기반하여 NAN 기반의 서비스를 수행할 경우, 우선 순위가 낮은 NAN 기반의 서비스 그룹의 서비스는 제공하지 않을 수 있다.According to one embodiment, in operation 950, the electronic device may register service group information (eg, service group ID) in the BLE scan filter. According to one embodiment, an external electronic device within a service group that has received service group information may register the received service group information (eg, service group ID) in the BLE scan filter. For example, each of the electronic device within the service group and at least one external electronic device may register the same service group information in the BLE scan filter. According to one embodiment, each of the electronic device and at least one external electronic device may register at least one service group information in the BLE scan filter. For example, if the electronic device and at least one external electronic device register a plurality of service group information in the BLE scan filter, the service group information corresponding to the device (e.g., provider device) that starts the NAN-based service is stored in the BLE scan filter. The NAN function of devices registered with can be activated. According to one embodiment, when the electronic device and the at least one external electronic device register a plurality of service group information in the BLE scan filter, the electronic device and the at least one external electronic device later register the service group and the registered service group when the NAN service starts. Related information or information related to services performed by a registered service group can be provided through the user interface. For example, the electronic device and at least one external electronic device may reconfigure (restore) the selected service group or service group corresponding to the service through the user interface. According to one embodiment, each of the electronic device and at least one external electronic device can set a priority when registering at least one service group information in the BLE scan filter. For example, when performing a NAN-based service based on a high-priority NAN-based service group, the service of the low-priority NAN-based service group may not be provided.

일 실시예에 따르면, 960 동작에서, 전자 장치는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치 및 외부 전자 장치들은 NAN 기반의 서비스(예를 들어, 제1 서비스 정보에 대응하는 기능)를 제공할 수 있다. 예를 들어, 전자 장치는 NAN 기반의 서비스에 대응하는 SDF 교환, NDP 통신, 레인징(Ranging), 또는 멀티캐스트(multicast) 서비스를 수행할 수 있다.According to one embodiment, in operation 960, the electronic device may perform NAN-based communication within a service group. For example, electronic devices within a service group and external electronic devices may provide NAN-based services (eg, functions corresponding to first service information). For example, the electronic device may perform SDF exchange, NDP communication, ranging, or multicast services corresponding to NAN-based services.

도 10은 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.Figure 10 is a flowchart of a NAN-based communication control method of an electronic device according to an embodiment.

일 실시예에 따르면, 1005 동작에서, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 서비스의 시작을 인식할 수 있다. 예를 들어, 전자 장치는 NAN 기반의 서비스를 시작하기 위한 사용자의 입력을 수신할 수 있다.According to one embodiment, in operation 1005, an electronic device (eg, the electronic device 101 of FIG. 1 or the electronic device 200 of FIG. 2) may recognize the start of a NAN service. For example, an electronic device may receive a user's input to start a NAN-based service.

일 실시예에 따르면, 1010 동작에서, 전자 장치는 BLE TDS 패킷을 전송할 수 있다. 예를 들어, 전자 장치는 BLE triggers NAN 프로토콜에 기반하여 BLE TDS 패킷을 방송(broadcasting)할 수 있다. 예를 들어, 전자 장치는 서비스 정보를 포함하는 제1 BLE TDS 패킷을 주변의 적어도 하나의 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 전자 장치는 매칭되는 서비스 정보를 가지는 외부 전자 장치로부터 제2 BLE TDS 패킷을 수신할 수 있다. According to one embodiment, in operation 1010, the electronic device may transmit a BLE TDS packet. For example, an electronic device may broadcast BLE TDS packets based on the BLE triggers NAN protocol. For example, the electronic device may transmit the first BLE TDS packet including service information to at least one nearby external electronic device. According to one embodiment, the electronic device may receive a second BLE TDS packet from an external electronic device having matching service information.

일 실시예에 따르면, 1015 동작에서, 전자 장치는 NAN 기능을 활성화할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치로부터 수신한 제2 BLE TDS 패킷에 응답하여 NAN 기능을 활성화할 수 있다. 예를 들어, 전자 장치는 NAN 기능을 이용하여 NAN 클러스터와 동기화할 수 있다. 예를 들어, 전자 장치는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치와 메시지를 송수신하는 시간을 동기화할 수 있다.According to one embodiment, in operation 1015, the electronic device may activate the NAN function. For example, the electronic device may activate the NAN function in response to the second BLE TDS packet received from the external electronic device. For example, electronic devices can synchronize with a NAN cluster using the NAN function. For example, the electronic device may synchronize the time for sending and receiving messages with at least one external electronic device included in the NAN cluster.

일 실시예에 따르면, 1020 동작에서, 전자 장치는 서비스 디스커버리를 수행할 수 있다. 예를 들어, 전자 장치는 서비스 정보를 포함하는 구독(subscribe) 메시지를 NAN 클러스터에 포함된 외부 전자 장치에 전송할 수 있다. 예를 들어, 전자 장치는 서비스 정보에 매칭되는 외부 전자 장치로부터 발행(publish) 메시지를 수신할 수 있다.According to one embodiment, in operation 1020, the electronic device may perform service discovery. For example, the electronic device may transmit a subscribe message including service information to an external electronic device included in the NAN cluster. For example, an electronic device may receive a publish message from an external electronic device that matches service information.

일 실시예에 따르면, 1025 동작에서, 전자 장치는 서비스 그룹을 결정할 수 있다. 예를 들어, 전자 장치는 수신한 발행 메시지에 대응하는 외부 전자 장치들의 정보를 제공할 수 있다. 예를 들어, 전자 장치는 서비스 정보에 매칭되는 외부 전자 장치의 정보(예: 장치 명칭, 또는 장치 설명)을 디스플레이에 표시할 수 있다. 예를 들어, 전자 장치는 사용자 입력 또는 지정된 조건에 기반하여 서비스 그룹을 구성할 외부 전자 장치를 선택할 수 있다. 예를 들어, 전자 장치는 선택한 외부 전자 장치들과 서비스 그룹을 구성할 수 있다.According to one embodiment, in operation 1025, the electronic device may determine a service group. For example, the electronic device may provide information on external electronic devices corresponding to the received published message. For example, the electronic device may display information (eg, device name or device description) of an external electronic device matching the service information on the display. For example, the electronic device may select external electronic devices to form a service group based on user input or specified conditions. For example, an electronic device may form a service group with selected external electronic devices.

일 실시예에 따르면, 1030 동작에서, 전자 장치는 구성한 서비스 그룹에 대한 서비스 그룹 정보를 저장하고, 서비스 그룹 내의 외부 전자 장치와 서비스 그룹 정보를 공유할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹 ID를 포함할 수 있다. 예를 들어, 서비스 그룹 ID는 사용자 입력에 따라 설정될 수 있다.According to one embodiment, in operation 1030, the electronic device may store service group information for the configured service group and share the service group information with an external electronic device within the service group. According to one embodiment, service group information may include a service group ID. For example, the service group ID can be set according to user input.

일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 외부 전자 장치와 공유한 후, 서비스 그룹 내에서 NAN 서비스를 제공하는데 사용되는 정보를 저장할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에 대하여 서비스 그룹 프로파일 ID를 부여할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에서 수행한 서비스 정보 및 서비스 디스커버리 수행 결과(예: service info detail)를 저장할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 내에서 각 전자 장치들이 수행하였던 역할(role)을 저장할 수 있다. 예를 들어, 전자 장치가 컨텐츠를 제1 외부 전자 장치 및 제2 외부 전자 장치에 전송하고, 제1 외부 전자 장치 및 제2 외부 전자 장치가 컨텐츠를 출력하는 서비스를 수행한 경우, 전자 장치는 전자 장치가 컨텐츠를 전송하는 소스(source) 역할을 수행하고, 제1 외부 전자 장치 및 제2 외부 전자 장치가 컨텐츠를 출력하는 싱크(sink) 역할을 수행하였음을 나타내는 정보를 저장할 수 있다. 일 실시예에 따르면, 전자 장치는 상기 서비스 그룹 프로파일 ID, 서비스 정보, 서비스 디스커버리 수행 결과, 전자 장치들의 역할에 대한 정보를 서비스 그룹 정보에 포함시켜 저장하거나, 별도로 저장할 수 있다. 일 실시예에 따르면, 전자 장치는 상기 저장한 정보를 서비스 그룹 내의 전자 장치와 공유할 수 있다.According to one embodiment, the electronic device may share service group information with an external electronic device and then store information used to provide a NAN service within the service group. For example, the electronic device may grant a service group profile ID to a service group. For example, the electronic device may store service information and service discovery results (eg, service info detail) performed by the service group. For example, an electronic device can store the role played by each electronic device within a service group. For example, when the electronic device transmits content to a first external electronic device and a second external electronic device, and the first external electronic device and the second external electronic device perform a service of outputting the content, the electronic device Information indicating that the device serves as a source for transmitting content and that the first external electronic device and the second external electronic device serve as a sink for outputting content may be stored. According to one embodiment, the electronic device may store the service group profile ID, service information, service discovery performance results, and information on the roles of the electronic devices by including them in the service group information, or store them separately. According to one embodiment, the electronic device may share the stored information with electronic devices within a service group.

일 실시예에 따르면, 1035 동작에서, 전자 장치는 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 전자 장치는 BLE 스캔 필터에 서비스 그룹 정보를 등록함으로써, 추후 BLE triggers NAN 프로토콜에 기반하여 NAN 클러스터와 동기화하는 경우 활용할 수 있다. 일 실시예에 따르면, 전자 장치는 BLE 스캔 필터에 서비스 그룹 정보를 등록함으로써, BLE triggers NAN 프로토콜뿐만 아니라, 종래의 BLE 방식에 기반하여 NAN 클러스터에 포함된 전자 장치 및 외부 전자 장치의 NAN 기능을 활성화할 수 있다.According to one embodiment, in operation 1035, the electronic device may register service group information (eg, service group ID) in the BLE scan filter. For example, by registering service group information in the BLE scan filter, the electronic device can be used to later synchronize with the NAN cluster based on the BLE triggers NAN protocol. According to one embodiment, the electronic device activates the NAN function of the electronic device included in the NAN cluster and external electronic devices based on the conventional BLE method as well as the BLE triggers NAN protocol by registering service group information in the BLE scan filter. can do.

일 실시예에 따르면, 1040 동작에서, 전자 장치는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 내의 외부 전자 장치들과 함께 서비스 정보에 대응하는 서비스를 제공할 수 있다. 일 실시예에 따르면, 서비스 그룹에 포함된 전자 장치 및 적어도 하나의 외부 전자 장치 중 적어도 일부가 먼저 NAN 기반의 통신을 수행하고, 이후에 나머지 전자 장치가 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 서비스 그룹에 포함된 전자 장치 및 적어도 하나의 외부 전자 장치 중 적어도 일부가 NAN 기반의 통신을 수행함으로써, 서비스 그룹 내에서 소모되는 불필요한 전력 또는 자원의 소모를 감소시킬 수 있다. 일 실시예에 따르면, 서비스 그룹에 포함된 전자 장치 및 적어도 하나의 외부 전자 장치는 서비스 그룹 내에서 제1 그룹 및/또는 제2 그룹에 포함될 수 있다. 예를 들어, 서비스 그룹은 전자 장치 및 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 제1 그룹 및 전자 장치 및 적어도 하나의 외부 전자 장치 중 다른 적어도 하나를 포함하는 제2 그룹을 포함할 수 있다. 일 실시예에 따르면, 서비스 그룹 내에서 제1 그룹 및/또는 제2 그룹 별로 동작 스케줄링이 가능할 수 있다. 예를 들어, NAN을 이용하여 제1 그룹은 제1 시간에 거리 측위를 위한 NAN 통신을 수행하고, 제2 그룹은 제2 시간에 거리 측위를 위한 NAN 통신을 수행할 수 있다.According to one embodiment, in operation 1040, the electronic device may perform NAN-based communication within a service group. For example, an electronic device may provide a service corresponding to service information together with external electronic devices within a service group. According to one embodiment, at least some of the electronic devices and at least one external electronic device included in the service group may first perform NAN-based communication, and then the remaining electronic devices may perform NAN-based communication. For example, at least some of the electronic devices included in the service group and at least one external electronic device perform NAN-based communication, thereby reducing unnecessary power or resource consumption within the service group. According to one embodiment, the electronic device included in the service group and at least one external electronic device may be included in the first group and/or the second group within the service group. For example, the service group may include a first group including at least one of an electronic device and at least one external electronic device, and a second group including another at least one of an electronic device and at least one external electronic device. . According to one embodiment, operation scheduling may be possible for each first group and/or second group within a service group. For example, using NAN, a first group may perform NAN communication for distance determination at a first time, and a second group may perform NAN communication for distance determination at a second time.

일 실시예에 따르면, 1045 동작에서, 전자 장치는 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 전자 장치는 제공 중이던 서비스와 관련된 어플리케이션의 종료, NAN 서비스를 중단하는 사용자 입력, 서비스 그룹 내에서 지정된 시간 이상 통신이 없는 경우, 또는 서비스 그룹이 절전 모드로 전환되는 경우 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 서비스 그룹의 절전 모드는 서비스 그룹 내에서 소모하는 전력을 감소시키기 위한 모드일 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내에서 제공 중이던 서비스를 일시 중단하는 상태, 또는 서비스 그룹 내의 전자 장치 및/또는 외부 전자 장치가 NAN 서비스를 제공할 수 없는 상태를 포함할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 제공을 시작한 이후 지정된 시간이 경과한 경우, 또는 지정된 장소를 벗어나는 경우에 NAN 서비스 중단을 인식할 수도 있다.According to one embodiment, in operation 1045, the electronic device may recognize a NAN service interruption. For example, an electronic device may cause a NAN service interruption when an application related to the service being provided is terminated, a user input stops the NAN service, there is no communication within the service group for more than a specified time, or the service group enters sleep mode. It can be recognized. For example, the power saving mode of a service group may be a mode to reduce power consumption within the service group. For example, the power saving mode may include a state in which a service being provided within a service group is temporarily suspended, or an electronic device in the service group and/or an external electronic device cannot provide a NAN service. According to one embodiment, the electronic device may recognize a NAN service interruption when a specified time has elapsed since service provision began or when the electronic device leaves the specified location.

일 실시예에 따르면, 1050 동작에서, 전자 장치는 서비스 그룹 내의 외부 전자 장치에 서비스 중단 메시지를 전송할 수 있다.According to one embodiment, in operation 1050, the electronic device may transmit a service interruption message to an external electronic device within the service group.

일 실시예에 따르면, 1055 동작에서, 전자 장치는 NAN 기능을 비활성화할 수 있다. 예를 들어, 전자 장치는 NAN 관련 기능의 적어도 일부를 비활성화하거나, 또는 NAN 기능과 관련된 적어도 일부 구성 요소를 비활성화할 수 있다. 예를 들어, 전자 장치는 NAN 관련 기능의 적어도 일부 또는 적어도 일부 구성 요소를 슬립(sleep) 모드로 전환할 수 있다.According to one embodiment, in operation 1055, the electronic device may disable the NAN function. For example, the electronic device may disable at least some of the NAN-related functions, or disable at least some components related to the NAN functions. For example, the electronic device may switch at least some or at least some components of the NAN-related functions to a sleep mode.

도 11은 일 실시예에 따른 NAN 기반의 통신 제어 방법의 흐름도이다.Figure 11 is a flowchart of a NAN-based communication control method according to an embodiment.

도 11은 전자 장치(디바이스 A(1101))(예: 도 1의 전자 장치(101), 도 2의 전자 장치(200) 또는 도 3의 전자 장치(300))가 외부 전자 장치들(디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 디바이스 E(1109))와 NAN 클러스터(1100)를 구성하는 경우를 도시한다. 도 11에서는 5개의 전자 장치가 NAN 클러스터(1100)를 구성하는 것으로 도시하였으나, 다양한 실시예에 따르면 이에 한정되지 않고, 전자 장치는 적어도 하나의 외부 전자 장치와 NAN 클러스터(1100)를 구성할 수 있다.11 shows that an electronic device (device A 1101) (e.g., the electronic device 101 of FIG. 1, the electronic device 200 of FIG. 2, or the electronic device 300 of FIG. 3) is connected to external electronic devices (device B). (1103), device C (1105), device D (1107), and device E (1109)) and a NAN cluster 1100 are shown. In FIG. 11, five electronic devices are shown as configuring the NAN cluster 1100, but according to various embodiments, the present invention is not limited to this, and the electronic device may form the NAN cluster 1100 with at least one external electronic device. .

일 실시예에 따르면, 1110 동작에서, 전자 장치(디바이스 A(1101))는 NAN 서비스 시작을 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 NAN 기반의 서비스를 시작하기 위한 사용자 입력을 수신할 수 있다.According to one embodiment, in operation 1110, the electronic device (device A 1101) may recognize the start of the NAN service. For example, device A (1101) may receive a user input to start a NAN-based service.

일 실시예에 따르면, 1113 동작에서, 디바이스 A(1101), 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)는 BLE triggered NAN 프로토콜을 기반으로 NAN 클러스터(1100)에 동기화할 수 있다. 예를 들어, 디바이스 A(1101)는 서비스 정보를 블룸 필터(bloom filter)로 해시(hash)하여 제1 BLE TDS 광고 패킷(예: 도 7의 M1)에 포함시킬 수 있다. 예를 들어, 디바이스 A(1101)는 서비스 정보를 포함하는 제1 BLE TDS 광고 패킷(M1)을 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)에 전송할 수 있다. According to one embodiment, in operation 1113, device A (1101), device B (1103), device C (1105), device D (1107), and device E (1109) create a NAN cluster based on the BLE triggered NAN protocol. It can be synchronized to (1100). For example, device A (1101) may hash the service information using a bloom filter and include it in the first BLE TDS advertisement packet (e.g., M1 in FIG. 7). For example, device A (1101) sends the first BLE TDS advertisement packet (M1) containing service information to device B (1103), device C (1105), device D (1107), and device E (1109). Can be transmitted.

일 실시예에 따르면, 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)는 디바이스 A(1101)와 동일 또는 유사한 서비스를 지원하거나 또는 동일한 서비스와 관련된 어플리케이션을 포함할 수 있다. 예를 들어, 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)는 해당 서비스 정보를 BLE 스캔 필터에 등록할 수 있다. 일 실시예에 따르면, 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)는 수신한 제1 BLE TDS 광고 패킷(M1)의 서비스 정보가 BLE 스캔 필터에 등록된 서비스 정보와 매칭되는 경우, 디바이스 A(1101)에 제2 BLE TDS 광고 패킷(예: 도 7의 M2)을 전송할 수 있다. 일 실시예에 따르면, 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)는 디바이스 A(1101)에 제2 BLE TDS 광고 패킷(M2)을 전송함과 함께 NAN 기능을 활성화할 수 있다. 일 실시예에 따르면, 디바이스 A(1101)는 제2 BLE TDS 광고 패킷을 수신함에 응답하여 NAN 기능을 활성화할 수 있다. 다른 실시예에 따르면, 디바이스 A(1101)는 제1 BLE TDS 광고 패킷을 전송함과 함께 NAN 기능을 활성화할 수도 있다. 일 실시예에 따르면, NAN 기능을 활성화한 디바이스 A(1101), 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)는 NAN 클러스터(1100)를 동기화할 수 있다.According to one embodiment, device B (1103), device C (1105), device D (1107), and device E (1109) support the same or similar service as device A (1101) or an application related to the same service. may include. For example, device B (1103), device C (1105), device D (1107), and device E (1109) may register corresponding service information in the BLE scan filter. According to one embodiment, device B (1103), device C (1105), device D (1107), and device E (1109) include the service information of the received first BLE TDS advertisement packet (M1) in the BLE scan filter. If it matches the registered service information, a second BLE TDS advertisement packet (e.g., M2 in FIG. 7) can be transmitted to device A (1101). According to one embodiment, device B (1103), device C (1105), device D (1107), and device E (1109) transmit a second BLE TDS advertisement packet (M2) to device A (1101) Together, you can activate the NAN function. According to one embodiment, device A (1101) may activate the NAN function in response to receiving the second BLE TDS advertisement packet. According to another embodiment, device A (1101) may activate the NAN function while transmitting the first BLE TDS advertisement packet. According to one embodiment, device A (1101), device B (1103), device C (1105), device D (1107), and device E (1109) that have activated the NAN function synchronize the NAN cluster (1100). You can.

일 실시예에 따르면, 1115 및 1120 동작에서, 디바이스 A(1101), 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)는 NAN 프로토콜에 기반한 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 1115 동작에서 디바이스 A(1101)는 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)에 서비스 정보를 포함하는 구독(subscribe) 메시지를 전송할 수 있다. 일 실시예에 따르면, 1120 동작에서 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109) 각각은 수신한 구독 메시지에 포함된 서비스 정보가 지원하는 서비스에 매칭되는 경우 디바이스 A(1101)에 발행(publish) 메시지를 전송할 수 있다. 일 실시예에 따르면, 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)가 전송하는 발행 메시지는 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)의 정보(예: 디바이스 명칭, 사용자 이름, 장치 주소(예: NMI/NDI/WLAN address, 또는 Wi-Fi P2P address), 사용자의 프로필 정보(예: 소개 메시지, 명함, 또는 사진), 사용자의 전화 번호, 및/또는 사용자의 계정 정보)를 포함할 수 있다. According to one embodiment, in operations 1115 and 1120, device A (1101), device B (1103), device C (1105), device D (1107), and device E (1109) perform service discovery based on the NAN protocol. It can be done. According to one embodiment, in operation 1115, device A (1101) sends a subscription message including service information to device B (1103), device C (1105), device D (1107), and device E (1109). can be transmitted. According to one embodiment, in operation 1120, each of device B (1103), device C (1105), device D (1107), and device E (1109) matches the service supported by the service information included in the received subscription message. If so, a publish message can be transmitted to device A (1101). According to one embodiment, the published message transmitted by device B (1103), device C (1105), device D (1107), and device E (1109) is transmitted by device B (1103), device C (1105), and device D. (1107), and information of device E (1109) (e.g., device name, user name, device address (e.g., NMI/NDI/WLAN address, or Wi-Fi P2P address), user's profile information (e.g., introductory message) , business card, or photo), the user's phone number, and/or the user's account information).

일 실시예에 따르면, 1123 동작에서, 디바이스 A(1101), 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109) 중 적어도 일부 디바이스는 서비스 그룹을 구성할 수 있다. 일 실시예에 따르면, 1123 동작에서, 디바이스 A(1101)는 수신한 발행 메시지에 포함된 정보를 기반으로 발행 메시지를 전송한 각 장치들(예: 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109))의 정보를 사용자 인터페이스를 통해 제공할 수 있다. 일 실시예에 따르면, 디바이스 A(1101)는 사용자 인터페이스를 통한 사용자 입력에 따라 서비스 그룹을 구성할 디바이스(즉, 서비스 대상 디바이스)를 선택할 수 있다. 일 실시예에 따르면, 디바이스 A(1101)는 사용자 입력에 따라 특정 디바이스를 선택한 경우, 사용자 입력에 따라 서비스 그룹의 ID를 결정할 수 있다. 다른 예로, 디바이스 A(1101)는 사용자 인터페이스를 제공하지 않고 지정된 조건(예: 디바이스 A(1101)와 동일한 사용자 계정을 가지는 디바이스, 가족 계정을 가지는 디바이스, 또는 전화 번호를 기반으로 연락처에 설정된 관계(예: 가족, 친구)를 가지는 디바이스)을 만족하는 디바이스를 서비스 그룹을 구성할 디바이스로 선택할 수 있다. 이하에서는, 디바이스 C(1105) 및 디바이스 E(1109)가 선택되어, 디바이스 A(1101), 디바이스 C(1105) 및 디바이스 E(1109)가 서비스 그룹을 구성한 것으로 가정하여 설명한다. According to one embodiment, in operation 1123, at least some devices among device A (1101), device B (1103), device C (1105), device D (1107), and device E (1109) configure a service group. You can. According to one embodiment, in operation 1123, device A (1101) sends each device (e.g., device B (1103), device C (1105), Information on device D (1107) and device E (1109) can be provided through a user interface. According to one embodiment, device A (1101) may select a device to form a service group (i.e., a service target device) according to a user input through a user interface. According to one embodiment, when device A (1101) selects a specific device according to the user input, it can determine the ID of the service group according to the user input. As another example, device A (1101) does not provide a user interface and may have a relationship set to a contact based on specified conditions (e.g., a device having the same user account as device A (1101), a device having a family account, or a phone number ( A device that satisfies (e.g., a device with family, friends) can be selected as a device to form a service group. Hereinafter, the description will be made assuming that device C (1105) and device E (1109) are selected and device A (1101), device C (1105), and device E (1109) form a service group.

일 실시예에 따르면, 1125 동작에서, 디바이스 A(1101)는 서비스 그룹을 구성할 선택한 디바이스(디바이스 C(1105) 및 디바이스 E(1109))와 서비스 그룹 정보를 공유할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹 ID, 서비스 그룹 키, 그룹 멤버 정보, 및 유효기간을 포함할 수 있다. 예를 들어, 디바이스 A(1101)는 서비스 그룹 정보를 포함하는 SDF(follow up) 메시지를 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다. 다른 예로, 디바이스 A(1101)는 서비스 그룹 정보를 포함하는 NAN action frame을 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다.According to one embodiment, in operation 1125, device A (1101) may share service group information with the selected devices (device C (1105) and device E (1109)) that will form the service group. According to one embodiment, service group information may include a service group ID, service group key, group member information, and validity period. For example, device A (1101) may transmit a follow up (SDF) message including service group information to device C (1105) and device E (1109). As another example, device A (1101) may transmit a NAN action frame including service group information to device C (1105) and device E (1109).

일 실시예에 따르면, 디바이스 A(1101)는 서비스 그룹 내의 장치(디바이스 C(1105) 및 디바이스 E(1109))와 서비스 그룹 키(key)를 공유할 수 있다. 디바이스 A(1101)는 서비스 그룹 키를 해시(hash) 방식으로 처리하여 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다. 예를 들어, 서비스 그룹 키는 서비스 그룹 내 통신에서 사용되는 SDF, NAF, 및 데이터 프레임을 암호화하여 안전한 통신을 수행하는데 활용될 수 있다. 일 실시예에 따르면, 서비스 그룹 키는 SDF, NAF, 및 데이터 프레임 각각에 대한 독립적인 키(key)를 포함할 수 있다.According to one embodiment, device A (1101) may share a service group key with devices (device C (1105) and device E (1109)) within the service group. Device A (1101) can process the service group key using a hash method and transmit it to device C (1105) and device E (1109). For example, the service group key can be used to perform secure communication by encrypting SDF, NAF, and data frames used in communication within the service group. According to one embodiment, the service group key may include an independent key for each of the SDF, NAF, and data frame.

일 실시예에 따르면, 디바이스 A(1101)는 디바이스 C(1105) 및 디바이스 E(1109)와 서비스 그룹 멤버 정보를 공유할 수 있다. 예를 들어, 서비스 그룹 멤버 정보는 서비스 그룹에 속한 각 디바이스들의 명칭, 주소, 사용자, 계정, 또는 프로필 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)가 서비스 그룹 멤버 정보를 공유함으로써, 서비스 그룹에 속한 각각의 디바이스들은 모두 서비스 그룹에 속한 다른 디바이스의 정보를 인식할 수 있다.According to one embodiment, device A (1101) may share service group member information with device C (1105) and device E (1109). For example, service group member information may include at least one of the name, address, user, account, or profile information of each device belonging to the service group. For example, device A (1101), device C (1105), and device E (1109) share service group member information, so that each device belonging to the service group recognizes the information of other devices belonging to the service group. can do.

일 실시예에 따르면, 서비스 그룹 정보가 유효기간을 포함하는 경우, 서비스 그룹에 속한 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109) 각각은 유효기간이 경과한 서비스 그룹 정보를 삭제할 수 있다.According to one embodiment, when the service group information includes an expiration date, each of device A (1101), device C (1105), and device E (1109) belonging to the service group displays service group information whose expiration date has elapsed. It can be deleted.

일 실시예에 따르면, 1130 동작에서, 서비스 그룹에 속하는 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)는 서비스 그룹 정보를 저장할 수 있다. 일 실시예에 따르면, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)는 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)는 BLE 스캔 필터에 서비스 그룹 정보를 등록함으로써, 추후 BLE triggers NAN 프로토콜에 기반하여 신속하고 용이하게 서비스 그룹을 재구성하는데 활용할 수 있다.According to one embodiment, in operation 1130, device A (1101), device C (1105), and device E (1109) belonging to the service group may store service group information. According to one embodiment, device A (1101), device C (1105), and device E (1109) may register service group information (eg, service group ID) in the BLE scan filter. For example, device A (1101), device C (1105), and device E (1109) register service group information in the BLE scan filter to quickly and easily reconfigure the service group based on the BLE triggers NAN protocol later. It can be used to do this.

일 실시예에 따르면, 1135 동작에서, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)는 서비스 그룹 내에서 NAN 프로토콜 기반의 통신(예: SDF/NDP/Ranging)을 수행할 수 있다.According to one embodiment, in operation 1135, device A (1101), device C (1105), and device E (1109) perform NAN protocol-based communication (e.g., SDF/NDP/Ranging) within a service group. You can.

일 실시예에 따르면, 1140 동작에서, 디바이스 A(1101)는 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 제공 중이던 NAN 서비스를 종료 또는 일시 중단하기 위한 사용자 입력을 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 NAN 서비스를 제공하는 어플리케이션의 종료를 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 지정된 시간 이상 서비스 그룹 내의 통신이 없는 경우를 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 사용자 입력에 따라 서비스 그룹(또는, 서비스 그룹 내의 디바이스)가 절전 모드로 전환되는 경우를 인식할 수 있다.According to one embodiment, in operation 1140, device A (1101) may recognize a NAN service interruption. For example, device A (1101) may recognize a user input to terminate or temporarily suspend the NAN service being provided. For example, device A (1101) may recognize the termination of an application providing a NAN service. For example, device A (1101) can recognize when there is no communication within the service group for more than a specified time. For example, device A (1101) may recognize when a service group (or a device within a service group) switches to power saving mode according to a user input.

일 실시예에 따르면, 1145 동작에서, 디바이스 A(1101)는 서비스 종료 또는 서비스 일시 중단을 알리는 메시지를 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다. 예를 들어, 디바이스 A(1101)는 서비스 중단을 알리는 알림을 포함하는 SDF 메시지 또는 NAF 메시지를 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다.According to one embodiment, in operation 1145, device A (1101) may transmit a message notifying service termination or service suspension to device C (1105) and device E (1109). For example, device A (1101) may transmit an SDF message or a NAF message including a notification informing of service interruption to device C (1105) and device E (1109).

일 실시예에 따르면, 1150 동작에서, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)는 NAN 기능을 비활성화할 수 있다.According to one embodiment, in operation 1150, device A (1101), device C (1105), and device E (1109) may disable the NAN function.

다양한 실시예에 따르면, 도 11은 디바이스 A(1101)가 NAN 서비스 시작, NAN 클러스터의 동기화, 서비스 그룹의 구성, 및 NAN 서비스 중단과 관련된 동작을 개시하는 것으로 설명하였으나, 각 동작은 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및/또는 디바이스 E(1109) 중 적어도 하나에 의해 개시될 수도 있다.According to various embodiments, Figure 11 illustrates that device A (1101) initiates operations related to NAN service start, NAN cluster synchronization, service group configuration, and NAN service interruption, but each operation is performed by device B (1103). ), device C (1105), device D (1107), and/or device E (1109).

도 12는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다. 예를 들어, 도 12는 도 10에서 설명한 바와 같이, 서비스 그룹 내의 전자 장치들이 서비스 그룹 정보를 BLE 스캔 필터에 등록한 이후 중단하였던 NAN 서비스를 다시 시작하는 경우의 동작들을 설명한다.Figure 12 is a flowchart of a NAN-based communication control method of an electronic device according to an embodiment. For example, FIG. 12 explains operations when electronic devices within a service group restart a NAN service that was stopped after registering service group information in the BLE scan filter, as described in FIG. 10.

일 실시예에 따르면, 1205 동작에서, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 서비스 시작을 인식할 수 있다. 예를 들어, 전자 장치는 중단 또는 종료되었던 NAN 기반의 서비스를 다시 시작하기 위한 사용자의 입력을 수신할 수 있다. 예를 들어, 전자 장치는 이전에 형성하였던 서비스 그룹을 기반으로 NAN 서비스를 시작하기 위한 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치는 이전에 구성한 적 있었던 서비스 그룹 및/또는 서비스 그룹에서 수행하였던 서비스에 대한 정보를 포함하는 사용자 인터페이스를 출력할 수 있다. 예를 들어, 사용자 인터페이스는 서비스 그룹에 포함된 전자 장치 또는 외부 전자 장치에 대응하는 정보(예: 아이콘, 사용자 이름, 또는 장치 ID)를 포함할 수 있다. 예를 들어, 사용자 인터페이스는 서비스 그룹에 관련된 정보(예: 서비스 그룹 정보(예: 서비스 그룹 ID, 서비스 그룹 명칭))를 포함할 수 있다. 다른 예를 들어, 사용자 인터페이스는 서비스 그룹에서 제공 중이던 서비스와 관련된 정보(예: 서비스 그룹 내에서 수행한 멀티미디어 스트리밍 서비스)를 포함할 수 있다. 또 다른 예를 들어, 사용자 인터페이스는 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치에 대한 정보(예: 장치 ID 또는 장치 이름을 포함하는 리스트)를 포함할 수 있다.According to one embodiment, in operation 1205, an electronic device (eg, the electronic device 101 of FIG. 1 or the electronic device 200 of FIG. 2) may recognize the start of a NAN service. For example, the electronic device may receive a user's input to restart a NAN-based service that was interrupted or terminated. For example, the electronic device may receive a user input to start a NAN service based on a previously formed service group. For example, the electronic device may output a user interface that includes information about previously configured service groups and/or services performed in the service groups. For example, the user interface may include information (e.g., icon, user name, or device ID) corresponding to an electronic device or an external electronic device included in the service group. For example, the user interface may include information related to a service group (e.g., service group information (e.g., service group ID, service group name)). As another example, the user interface may include information related to the service being provided by the service group (eg, multimedia streaming service performed within the service group). As another example, the user interface may include information (eg, a list including device ID or device name) about at least one external electronic device included in the service group.

일 실시예에 따르면, 전자 장치는 사용자 인터페이스를 통하여 특정 장치(예: 전자 장치 및/또는 적어도 하나의 외부 전자 장치), 서비스 그룹(예: 서비스 그룹에 관련된 정보), 또는 서비스(예: 서비스와 관련된 정보)를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에서 제공 중이던 스트리밍 서비스가 일시 중단(pause)된 경우, 사용자 인터페이스를 통하여 스트리밍 서비스를 재개(resume)하는 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 전자 장치는 일시 중단되었던 NAN 기반의 서비스의 재개(예: 서비스 그룹 내의 통신 재개 또는 절전 모드의 비활성화)를 인식할 수 있다.According to one embodiment, the electronic device may select a specific device (e.g., an electronic device and/or at least one external electronic device), a service group (e.g., information related to a service group), or a service (e.g., a service and may receive user input to select relevant information). For example, when a streaming service being provided by a service group is paused, the electronic device may receive a user input to resume the streaming service through a user interface. According to one embodiment, the electronic device may recognize the resumption of a NAN-based service that was temporarily suspended (eg, resumption of communication within a service group or deactivation of a power saving mode).

일 실시예에 따르면, 1210 동작에서, 전자 장치는 기 저장된 서비스 그룹 정보를 인식할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 ID, 서비스 그룹 프로파일, 서비스 그룹 멤버 정보, 서비스 그룹과 관련된 서비스 정보 또는 서비스 그룹 내 전자 장치들의 역할(role) 중 적어도 하나를 인식할 수 있다.According to one embodiment, in operation 1210, the electronic device may recognize pre-stored service group information. For example, the electronic device may recognize at least one of a service group ID, a service group profile, service group member information, service information related to the service group, or the roles of electronic devices within the service group.

일 실시예에 따르면, 1215 동작에서, 전자 장치는 서비스 그룹 정보를 기반으로 BLE TDS 패킷을 전송할 수 있다. 예를 들어, 서비스 그룹 정보는 BLE TDS triggers NAN 프로토콜에서 일반적으로 사용하는 서비스 정보와는 달리, 이전에 구성하였던 서비스 그룹에 속한 전자 장치들만을 구분하여 NAN 기능을 활성화하기 위하여 활용될 수 있다. 예를 들어, 전자 장치는 서비스 그룹 정보(예: 서비스 그룹 ID)를 포함하는 제1 BLE TDS 광고 패킷을 적어도 하나의 외부 전자 장치에 전송할 수 있다. 예를 들어, 제1 BLE TDS 광고 패킷을 수신한 외부 전자 장치 중에서 이전에 서비스 그룹 정보를 BLE 스캔 필터에 등록하였던 외부 전자 장치는 전자 장치에 제2 BLE TDS 광고 패킷을 전송할 수 있다.According to one embodiment, in operation 1215, the electronic device may transmit a BLE TDS packet based on service group information. For example, service group information, unlike service information commonly used in the BLE TDS triggers NAN protocol, can be used to activate the NAN function by distinguishing only electronic devices belonging to a previously configured service group. For example, the electronic device may transmit the first BLE TDS advertisement packet including service group information (eg, service group ID) to at least one external electronic device. For example, among the external electronic devices that received the first BLE TDS advertisement packet, the external electronic device that previously registered service group information in the BLE scan filter may transmit the second BLE TDS advertisement packet to the electronic device.

일 실시예에 따르면, 1220 동작에서, 전자 장치는 NAN 기능을 활성화할 수 있다. 예를 들어, 전자 장치는 1215 동작에서 외부 전자 장치에 BLE TDS 패킷(제1 BLE TDS 광고 패킷)을 전송함과 함께 NAN 기능을 활성화하거나, 또는 외부 전자 장치로부터 응답(제2 BLE TDS 광고 패킷)을 수신한 경우 NAN 기능을 활성화할 수 있다. 예를 들어, 1220 동작에서, 전자 장치가 전송한 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보와 매칭되는 서비스 그룹 정보를 저장하고 있는 외부 전자 장치는 제2 BLE TDS 광고 패킷을 전자 장치에 전송함과 함께 NAN 기능을 활성화할 수 있다. 예를 들어, 서비스 그룹 정보를 기반으로 이전에 해당 서비스 그룹에 속하였던 전자 장치들만이 선택적으로 NAN 기능을 활성화하고 NAN 클러스터를 구성할 수 있다.According to one embodiment, in operation 1220, the electronic device may activate the NAN function. For example, in operation 1215, the electronic device activates the NAN function while transmitting a BLE TDS packet (first BLE TDS advertisement packet) to the external electronic device, or receives a response from the external electronic device (second BLE TDS advertisement packet). If received, the NAN function can be activated. For example, in operation 1220, the external electronic device storing service group information matching the service group information included in the first BLE TDS advertisement packet transmitted by the electronic device transmits the second BLE TDS advertisement packet to the electronic device. In addition, the NAN function can be activated. For example, based on service group information, only electronic devices that previously belonged to the service group can selectively activate the NAN function and form a NAN cluster.

일 실시예에 따르면, 1225 동작에서, 전자 장치는 서비스 그룹 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 전자 장치는 SDF 교환을 통해 서비스 디스커버리를 수행할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 멤버 중에서 현재의 NAN 클러스터에 속해 있는 외부 전자 장치를 인식할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 정보 및 관련 정보(예: 서비스 그룹 멤버 정보, 서비스 그룹 내 전자 장치들의 역할 정보)를 기반으로 별도의 메시지 교환 없이 1230 동작에서 NAN 서비스 그룹을 구성할 수 있다.According to one embodiment, in operation 1225, the electronic device may perform service discovery based on service group information. According to one embodiment, an electronic device may perform service discovery through SDF exchange. For example, the electronic device may recognize an external electronic device belonging to the current NAN cluster among service group members. According to one embodiment, the electronic device can configure a NAN service group in operation 1230 without exchanging separate messages based on service group information and related information (e.g., service group member information, role information of electronic devices in the service group). there is.

일 실시예에 따르면, 1230 동작에서, 전자 장치는 서비스 그룹을 구성할 수 있다. 예를 들어, 전자 장치는 이전에 구성한 적 있었던 서비스 그룹을 복원할 수 있다.According to one embodiment, in operation 1230, the electronic device may configure a service group. For example, the electronic device can restore a previously configured service group.

일 실시예에 따르면, 1235 동작에서, 전자 장치는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 내의 외부 전자 장치들과 함께 서비스 정보에 대응하는 서비스를 제공할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 키를 이용하여 서비스 그룹 내에서 안전한(secure)한 통신을 수행할 수 있다.According to one embodiment, in operation 1235, the electronic device may perform NAN-based communication within a service group. For example, an electronic device may provide a service corresponding to service information together with external electronic devices within a service group. According to one embodiment, an electronic device can perform secure communication within a service group using a service group key.

일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 기반으로 BLE triggers NAN 프로토콜, 서비스 디스커버리를 수행하여 서비스 그룹을 복원함으로써, 서비스 그룹에 속하지 않는 외부 전자 장치들의 NAN 기능이 활성화되지 않도록 할 수 있다. 이에, 전자 장치는 서비스 그룹을 다시 구성하는 속도를 향상시키고 서비스 그룹의 운용 시의 전류 소모 및 불필요한 전자 장치들의 전류 또는 리소스 소모를 감소시킬 수 있다.According to one embodiment, the electronic device restores the service group by performing BLE triggers NAN protocol and service discovery based on service group information, thereby preventing the NAN function of external electronic devices that do not belong to the service group from being activated. Accordingly, the electronic device can improve the speed of reconfiguring the service group and reduce current consumption when operating the service group and current or resource consumption of unnecessary electronic devices.

도 13은 일 실시예에 따른 NAN 기반의 통신 제어 방법의 흐름도이다. 예를 들어, 도 13은 도 11에서 설명한 바와 같이, 서비스 그룹 내의 디바이스들이 서비스 그룹 정보를 BLE 스캔 필터에 등록한 이후 중단하였던 NAN 서비스를 다시 시작하는 경우의 동작들을 설명한다. 일 실시예에 따르면, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 이전에 서비스 그룹을 형성한 적 있었던 장치들로 각각 서비스 그룹 정보(예: 서비스 그룹 ID)를 저장하고 있을 수 있다. 예를 들어, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 서비스 그룹 정보를 BLE 스캔 필터에 등록한 상태일 수 있다. 예를 들어, 디바이스 A(1301), 디바이스 B(1303), 디바이스 C(1305), 디바이스 D(1307), 및 디바이스 E(1309)는 도 11에서 설명한 디바이스 A(1101), 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및 디바이스 E(1109)에 각각 해당할 수 있다.Figure 13 is a flowchart of a NAN-based communication control method according to an embodiment. For example, FIG. 13 illustrates operations when devices in a service group restart a NAN service that was stopped after registering service group information in the BLE scan filter, as described in FIG. 11. According to one embodiment, device A (1301), device C (1305), and device E (1309) are devices that have previously formed a service group and each store service group information (e.g., service group ID). You may be doing it. For example, device A (1301), device C (1305), and device E (1309) may have service group information registered in the BLE scan filter. For example, device A (1301), device B (1303), device C (1305), device D (1307), and device E (1309) are similar to device A (1101) and device B (1103) described in FIG. 11. , may correspond to device C (1105), device D (1107), and device E (1109), respectively.

일 실시예에 따르면, 1310 동작에서, 전자 장치(디바이스 A(1301))(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 서비스 시작을 인식할 수 있다. 예를 들어, 디바이스 A(1301)(1101)는 중단 또는 종료되었던 NAN 기반의 서비스를 다시 시작하기 위한 사용자 입력을 수신할 수 있다. 다른 예를 들어, 디바이스 A(1301)는 서비스 그룹에 대한 절전 모드가 비활성화된 것을 인식할 수 있다.According to one embodiment, in operation 1310, the electronic device (device A 1301) (e.g., the electronic device 101 of FIG. 1 or the electronic device 200 of FIG. 2) may recognize the start of the NAN service. For example, device A (1301) (1101) may receive a user input to restart a NAN-based service that was interrupted or terminated. For another example, device A (1301) may recognize that the power saving mode for the service group is disabled.

일 실시예에 따르면, 1313 동작에서, 디바이스 A(1301)는 서비스 그룹 정보를 기반으로 BLE triggered NAN 프로토콜에 따라 디바이스 B(1303), 디바이스 C(1305), 디바이스 D(1307), 및 디바이스 E(1309)에 제1 BLE TDS 광고 패킷(예: 도 7의 M1)을 전송할 수 있다. 예를 들어, 디바이스 A(1301)는 서비스 그룹 정보를 해시(hash)하여 제1 BLE TDS 광고 패킷에 포함시킬 수 있다. 일 실시예에 따르면, 1313 동작에서, 제1 BLE TDS 광고 패킷을 수신한 외부 전자 장치(예: 디바이스 B(1303), 디바이스 C(1305), 디바이스 D(1307), 디바이스 E(1309)) 각각은 수신한 제1 BLE TDS 광고 패킷(M1)에 포함된 서비스 그룹 정보가 BLE 스캔 필터에 등록된 서비스 정보와 매칭되는지 판단할 수 있다. 예를 들어, 도 13에서는, 디바이스 B(1303) 및 디바이스 D(1307)은 서비스가 매칭되지 않고(service not-matched), 디바이스 C(1305) 및 디바이스 E(1309)는 서비스가 매칭되는 경우(service matched)를 가정한다. 일 실시예에 따르면, 서비스가 매칭되는 것으로 판단한 디바이스 C(1305) 및 디바이스 E(1309)는 NAN 기능을 활성화(NAN enable)할 수 있다.According to one embodiment, in operation 1313, device A (1301) uses device B (1303), device C (1305), device D (1307), and device E (1303) according to the BLE triggered NAN protocol based on service group information. 1309), the first BLE TDS advertisement packet (e.g., M1 in FIG. 7) may be transmitted. For example, device A (1301) may hash the service group information and include it in the first BLE TDS advertisement packet. According to one embodiment, in operation 1313, an external electronic device (e.g., device B (1303), device C (1305), device D (1307), and device E (1309)) that received the first BLE TDS advertisement packet, respectively. Can determine whether the service group information included in the received first BLE TDS advertisement packet (M1) matches the service information registered in the BLE scan filter. For example, in FIG. 13, device B (1303) and device D (1307) are service not-matched, and device C (1305) and device E (1309) are service matched ( Assume service matched. According to one embodiment, device C (1305) and device E (1309) that determine that the service matches may activate the NAN function (NAN enable).

일 실시예에 따르면, 1315 동작에서, 수신한 제1 BLE TDS 광고 패킷(M1)에 포함된 서비스 그룹 정보가 BLE 스캔 필터에 등록된 서비스 정보와 매칭되는 디바이스 C(1305) 및 디바이스 E(1309)는 제2 BLE TDS 광고 패킷(예: 도 7의 M2)을 디바이스 A(1301)에 전송할 수 있다. 비교 예로, BLE triggers NAN 프토토콜에서 일반적으로 활용되는 서비스 정보(예: 제1 서비스 이름)를 사용하는 경우, 제1 서비스 이름에 매칭되는 디바이스 B(1303), 디바이스 C(1305), 디바이스 D(1307), 및 디바이스 E(1309)가 모두 디바이스 A(1301)의 제1 BLE TDS 광고 패킷에 응답할 수 있다. 본 개시의 일 실시예에 따르면, 서비스 그룹 정보를 기반으로 BLE triggers NAN 프로토콜을 수행하여, 이전에 구성되었던 서비스 그룹에 속한 디바이스들(예: 디바이스 C(1305) 및 디바이스 E(1309))만이 디바이스 A(1301)의 제1 BLE TDS 광고 패킷에 응답할 수 있다.According to one embodiment, in operation 1315, device C (1305) and device E (1309) match service group information included in the received first BLE TDS advertisement packet (M1) with service information registered in the BLE scan filter. Can transmit a second BLE TDS advertisement packet (e.g., M2 in FIG. 7) to device A (1301). As a comparative example, when using service information (e.g., first service name) commonly used in the BLE triggers NAN protocol, device B (1303), device C (1305), and device D ( 1307), and device E 1309 may both respond to the first BLE TDS advertisement packet of device A 1301. According to an embodiment of the present disclosure, by performing the BLE triggers NAN protocol based on service group information, only devices belonging to the previously configured service group (e.g., device C (1305) and device E (1309)) are connected to the device. It may respond to the first BLE TDS advertisement packet of A (1301).

일 실시예에 따르면, 1320 동작에서, 서비스 그룹 정보를 포함하는BLE TDS 광고 패킷을 교환한 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 NAN 기능을 활성화할 수 있다. 예를 들어, 서비스 그룹 정보를 가지지 않은 디바이스 B(1303) 및 디바이스 D(1307)는 NAN 기능을 활성화하지 않을 수 있다. 일 실시예에 따르면, 제공하고자 하는 서비스 그룹의 NAN 서비스와 무관한 디바이스들(디바이스 B(1303) 및 디바이스 D(1307))은 NAN 기능을 활성화하지 않음으로써, 서비스 그룹의 NAN 서비스와 무관한 디바이스들에서의 불필요한 전류 또는 리소스 소모가 감소할 수 있다.According to one embodiment, in operation 1320, device A (1301), device C (1305), and device E (1309), which exchanged BLE TDS advertisement packets containing service group information, may activate the NAN function. For example, device B (1303) and device D (1307) that do not have service group information may not activate the NAN function. According to one embodiment, devices unrelated to the NAN service of the service group to be provided (device B 1303 and device D 1307) do not activate the NAN function, thereby enabling devices unrelated to the NAN service of the service group. Unnecessary current or resource consumption in the field can be reduced.

일 실시예에 따르면, 1325 동작에서, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 활성화된 NAN 기능을 기반으로 NAN 클러스터를 동기화할 수 있다.According to one embodiment, in operation 1325, device A 1301, device C 1305, and device E 1309 may synchronize the NAN cluster based on the activated NAN function.

일 실시예에 따르면, 1330 및 1335 동작에서, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 디바이스 A(1301)는 디바이스 C(1305) 및 디바이스 E(1309)에 서비스 정보(예: 제1 서비스 이름 또는 제2 서비스 이름) 또는 서비스 그룹 정보(예: 서비스 그룹 ID)를 포함하는 구독(subscribe) 메시지를 전송할 수 있다. 일 실시예에 따르면, 1335 동작에서, 디바이스 C(1305) 및 디바이스 E(1309)는 구독 메시지에 응답하여 서비스 정보를 포함하는 발행(publish) 메시지를 디바이스 A(1301)에 전송할 수 있다. According to one embodiment, in operations 1330 and 1335, device A (1301), device C (1305), and device E (1309) may perform service discovery. According to one embodiment, device A (1301) sends service information (e.g., first service name or second service name) or service group information (e.g., service group ID) to device C (1305) and device E (1309). A subscription message containing can be transmitted. According to one embodiment, in operation 1335, device C (1305) and device E (1309) may transmit a publish message including service information to device A (1301) in response to the subscription message.

일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹에서 수행한 서비스 정보(예: 서비스 이름), 서비스 그룹 멤버 정보, 또는 서비스 그룹 내의 디바이스들의 역할(role)을 포함할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보가 이전에 서비스 그룹에서 수행하였던 서비스와 관련된 정보를 포함하는 경우 1130 및 1135의 서비스 디스커버리 동작은 생략될 수 있다. 예를 들어, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 이전에 서비스 그룹 내에서 수행하였던 서비스 및 역할에 따라 1340 동작을 수행할 수 있다.According to one embodiment, service group information may include service information (eg, service name) performed by the service group, service group member information, or roles of devices within the service group. According to one embodiment, when the service group information includes information related to a service previously performed in the service group, the service discovery operations of 1130 and 1135 may be omitted. For example, device A (1301), device C (1305), and device E (1309) may perform operation 1340 according to the service and role previously performed within the service group.

일 실시예에 따르면, 1340 동작에서, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 다시 구성된 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 NAN 기반의 서비스(예: SDF 교환, NDP 통신, 레인징(Ranging), 또는 멀티캐스트(multicast) 서비스)를 수행할 수 있다.According to one embodiment, in operation 1340, device A (1301), device C (1305), and device E (1309) may perform NAN-based communication within the reconfigured service group. For example, device A (1301), device C (1305), and device E (1309) provide NAN-based services (e.g., SDF exchange, NDP communication, ranging, or multicast service). can be performed.

다양한 실시예에 따르면, 도 13은 디바이스 A(1301)가 NAN 서비스 시작, 서비스 그룹의 구성(예: 서비스 그룹에 속한 외부 장치들의 인식), 및 NAN 서비스 수행(재개)과 관련된 동작을 개시하는 것으로 설명하였으나, 각 동작은 서비스 그룹에 속하는 디바이스 C(1305) 및/또는 디바이스 E(1309) 중 적어도 하나에 의해 개시될 수도 있다.According to various embodiments, Figure 13 shows that device A (1301) initiates operations related to NAN service start, service group configuration (e.g., recognition of external devices belonging to the service group), and NAN service performance (resumption). As described, each operation may be initiated by at least one of device C (1305) and/or device E (1309) belonging to the service group.

본 개시의 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법은, 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화는 동작, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하는 동작, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 공유하는 동작, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하는 동작, 및 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하는 동작을 포함할 수 있다.The NAN-based communication control method of an electronic device according to an embodiment of the present disclosure includes the operation of synchronizing to a cluster for performing NAN (neighbor awareness networking)-based communication with at least one external electronic device through a communication circuit, An operation of performing a NAN-based service discovery operation based on service information and at least one external electronic device included in the cluster through a communication circuit, including at least one of at least one external electronic device based on the service discovery operation. configuring a service group, sharing service group information with at least one external electronic device included in the configured service group through the communication circuit, and registering the service group information with a BLE (Bluetooth low energy) scan filter. It may include an operation of performing NAN-based communication within the service group through the communication circuit.

일 실시예에 따르면, 상기 방법은, 상기 서비스 그룹 내의 통신을 종료하는 경우 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 제어하는 동작을 더 포함할 수 있다.According to one embodiment, the method may further include controlling to deactivate the NAN function of the electronic device included in the service group and the at least one external electronic device when communication within the service group is terminated. there is.

일 실시예에 따르면, 상기 방법은, 상기 서비스 그룹 내의 통신을 재시작하는 경우, 상기 BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치를 인식하는 동작을 더 포함할 수 있다.According to one embodiment, when restarting communication within the service group, the method triggers at least one service group included in the service group based on the NAN communication protocol based on the service group information registered in the BLE scan filter. It may further include an operation of recognizing an external electronic device.

일 실시예에 따르면, 상기 서비스 그룹에 동기화하는 동작은, 상기 통신 회로를 통하여 상기 서비스 그룹 정보를 포함하는 BLE TDS(Bluetooth low energy transport discovery service) 패킷을 포함하는 신호를 송신하는 동작을 포함할 수 있다.According to one embodiment, the operation of synchronizing to the service group may include transmitting a signal including a BLE TDS (Bluetooth low energy transport discovery service) packet including the service group information through the communication circuit. there is.

일 실시예에 따르면, 상기 서비스 그룹에 동기화하는 동작은, 상기 BLE TDS 패킷을 포함하는 신호를 통하여 상기 서비스 그룹에 포함된 적어도 하나의 전자 장치들의 NAN 기능을 활성화하도록 제어하는 동작을 포함할 수 있다.According to one embodiment, the operation of synchronizing to the service group may include controlling to activate the NAN function of at least one electronic device included in the service group through a signal including the BLE TDS packet. .

일 실시예에 따르면, 상기 방법은, 상기 동기화된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작을 포함할 수 있다.According to one embodiment, the method may include performing a NAN-based service discovery operation based on service group information and at least one external electronic device included in the synchronized service group.

일 실시예에 따르면, 상기 방법은, 사용자 입력, 서비스 관련 어플리케이션의 실행 종료, 기 설정된 시간 이상 상기 서비스 그룹 내의 전자 장치들 사이의 통신이 없는 경우, 또는 상기 서비스 그룹의 전원 절약 모드 실행 중 적어도 하나에 기반하여 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 하는 동작을 포함할 수 있다.According to one embodiment, the method includes at least one of user input, termination of execution of a service-related application, when there is no communication between electronic devices in the service group for more than a preset time, or execution of a power saving mode of the service group. It may include an operation of deactivating the NAN function of the electronic device and the at least one external electronic device included in the service group based on .

일 실시예에 따르면, 상기 방법은, 디스플레이를 통하여 상기 BLE triggers NAN 통신 프로토콜에 기초하여 인식한 서비스 그룹 또는 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 정보를 표시하는 동작을 포함할 수 있다.According to one embodiment, the method may include displaying information on a service group recognized based on the BLE triggers NAN communication protocol or at least one external electronic device included in the service group through a display. .

일 실시예에 따르면, 상기 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다.According to one embodiment, the service group information includes at least one of service group profile ID, service group ID, service group key, service group validity period, service group member information, service information, service-related application information, or service role. It can contain one.

본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be of various types. 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 embodiments of this document are not limited to the above-described devices.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of this document and the terms used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various changes, equivalents, or replacements of the embodiments. In connection with the description of the drawings, similar reference numbers may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the above items, unless the relevant context clearly indicates otherwise. In this document, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C” and “A, Each of phrases such as “at least one of B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish one component from another, and to refer to those components in other respects (e.g., importance or order) is not limited. One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.” When mentioned, it means that any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in 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, for example. A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these. For example, a processor (e.g., processor 120) of a device (e.g., electronic device 101) may call at least one command among one or more commands stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is stored semi-permanently in the storage medium. There is no distinction between temporary storage cases.

일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play Store ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, module or program) of the above-described components may include a single entity or a plurality of entities. According to various embodiments, one or more of the components or operations described above may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (eg, modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. . According to various embodiments, 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, or omitted. Alternatively, one or more other operations may be added.

Claims (20)

전자 장치에 있어서,
통신 회로;
메모리; 및
상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함하고,
상기 메모리는, 실행 시, 상기 프로세서가,
상기 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화하고,
상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고,
상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하고,
상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유하고,
상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하고,
상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하고,
상기 서비스 그룹 내의 통신을 종료하는 경우 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 제어하도록 하는 인스트럭션들을 저장하는 전자 장치.
In electronic devices,
communication circuit;
Memory; and
a processor operatively coupled to the communication circuitry and the memory;
The memory, when executed, the processor,
Synchronizing to a cluster for performing NAN (neighbor awareness networking)-based communication with at least one external electronic device through the communication circuit,
Perform a NAN-based service discovery operation based on service information and at least one external electronic device included in the cluster through the communication circuit,
Configure a service group including at least one of at least one external electronic device based on the service discovery operation,
Share service group information with an external electronic device included in the configured service group through the communication circuit,
Register the service group information in the BLE (Bluetooth low energy) scan filter,
Perform NAN-based communication within the service group through the communication circuit,
An electronic device that stores instructions for controlling to deactivate a NAN function of the electronic device included in the service group and the at least one external electronic device when terminating communication within the service group.
삭제delete 청구항 1에 있어서,
상기 인스트럭션들은, 실행 시, 상기 프로세서가
상기 서비스 그룹 내의 통신을 재시작하는 경우, 상기 BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치를 인식하도록 하는 전자 장치.
In claim 1,
When the instructions are executed, the processor
When restarting communication within the service group, an electronic device configured to recognize at least one external electronic device included in the service group based on the BLE triggers NAN communication protocol based on the service group information registered in the BLE scan filter. .
청구항 3에 있어서,
상기 인스트럭션들은, 실행 시, 상기 프로세서가
상기 통신 회로를 통하여 상기 서비스 그룹 정보를 포함하는 BLE TDS(Bluetooth low energy transport discovery service) 패킷을 포함하는 신호를 송신하도록 하는 전자 장치.
In claim 3,
When the instructions are executed, the processor
An electronic device that transmits a signal including a BLE TDS (Bluetooth low energy transport discovery service) packet including the service group information through the communication circuit.
청구항 4에 있어서,
상기 인스트럭션들은, 실행 시, 상기 프로세서가
상기 BLE TDS 패킷을 포함하는 신호를 통하여 상기 서비스 그룹에 포함된 적어도 하나의 전자 장치들의 NAN 기능을 활성화하도록 제어하게 하는 전자 장치.
In claim 4,
When the instructions are executed, the processor
An electronic device that controls activating the NAN function of at least one electronic device included in the service group through a signal including the BLE TDS packet.
청구항 3에 있어서,
상기 인스트럭션들은, 실행 시, 상기 프로세서가
상기 동기화된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하도록 하는 전자 장치.
In claim 3,
When the instructions are executed, the processor
An electronic device that performs a NAN-based service discovery operation based on service group information and at least one external electronic device included in the synchronized service group.
청구항 1에 있어서,
상기 인스트럭션들은, 실행 시, 상기 프로세서가,
사용자 입력, 서비스 관련 어플리케이션의 실행 종료, 기 설정된 시간 이상 상기 서비스 그룹 내의 전자 장치들 사이의 통신이 없는 경우, 또는 상기 서비스 그룹의 전원 절약 모드 실행 중 적어도 하나에 기반하여 상기 서비스 그룹에 포함된 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 하는 전자 장치.
In claim 1,
When the instructions are executed, the processor
Electronic devices included in the service group based on at least one of user input, termination of execution of a service-related application, no communication between electronic devices in the service group for more than a preset time, or execution of a power saving mode of the service group. An electronic device that disables the NAN function of the device and the at least one external electronic device.
청구항 3에 있어서,
디스플레이를 더 포함하고,
상기 인스트럭션들은, 실행 시, 상기 프로세서가
상기 디스플레이를 통하여 상기 BLE triggers NAN 통신 프로토콜에 기초하여 인식한 서비스 그룹 또는 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 정보를 표시하도록 하는 전자 장치.
In claim 3,
further comprising a display,
When the instructions are executed, the processor
An electronic device that displays information about a service group recognized based on the BLE triggers NAN communication protocol or at least one external electronic device included in the service group through the display.
청구항 1에 있어서,
상기 서비스 그룹 정보는
서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함하는 전자 장치.
In claim 1,
The service group information is
An electronic device including at least one of a service group profile ID, service group ID, service group key, service group validity period, service group member information, service information, service-related application information, or service role.
청구항 1에 있어서,
상기 서비스 그룹 정보는 만료 기간의 정보를 포함하고,
상기 인스트럭션들은, 실행 시, 상기 프로세서가
상기 만료 기간이 도과하면 상기 서비스 그룹 정보를 삭제하도록 하는 전자 장치.
In claim 1,
The service group information includes information on the expiration period,
When the instructions are executed, the processor
An electronic device that deletes the service group information when the expiration period expires.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020190173027A 2019-12-23 2019-12-23 Electronic device and method for controlling NAN based communication thereof KR102663265B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190173027A KR102663265B1 (en) 2019-12-23 2019-12-23 Electronic device and method for controlling NAN based communication thereof
PCT/KR2020/017801 WO2021132940A1 (en) 2019-12-23 2020-12-08 Electronic device and nan-based communication control method of electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190173027A KR102663265B1 (en) 2019-12-23 2019-12-23 Electronic device and method for controlling NAN based communication thereof

Publications (2)

Publication Number Publication Date
KR20210080937A KR20210080937A (en) 2021-07-01
KR102663265B1 true KR102663265B1 (en) 2024-05-03

Family

ID=76574462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190173027A KR102663265B1 (en) 2019-12-23 2019-12-23 Electronic device and method for controlling NAN based communication thereof

Country Status (2)

Country Link
KR (1) KR102663265B1 (en)
WO (1) WO2021132940A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024080635A1 (en) * 2022-10-14 2024-04-18 삼성전자 주식회사 Electronic device for establishing nan communication and operating method of electronic device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170111773A1 (en) * 2015-01-21 2017-04-20 Intel IP Corporation Apparatus, system and method of communicating in a data link group
US20170289741A1 (en) * 2014-05-02 2017-10-05 Intel Corporation Bluetooth assisted nan cluster discovery

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9049578B2 (en) * 2012-10-24 2015-06-02 Qualcomm Incorporated Profile based discovery engine configurations for neighborhood aware wi-fi networks
KR20160138979A (en) * 2014-04-02 2016-12-06 엘지전자 주식회사 Method and apparatus for transceiving signal by nan terminal in wireless communication system
WO2017057988A1 (en) * 2015-10-02 2017-04-06 엘지전자 주식회사 Method by which nan terminal merges into nan cluster in wireless communication system, and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289741A1 (en) * 2014-05-02 2017-10-05 Intel Corporation Bluetooth assisted nan cluster discovery
US20170111773A1 (en) * 2015-01-21 2017-04-20 Intel IP Corporation Apparatus, system and method of communicating in a data link group

Also Published As

Publication number Publication date
WO2021132940A1 (en) 2021-07-01
KR20210080937A (en) 2021-07-01

Similar Documents

Publication Publication Date Title
KR102208438B1 (en) Method for proximity service data and an electronic device thereof
US11601793B2 (en) Electronic device supporting proximity communication service and method for obtaining information of short-range communication device using the same
CN111083802A (en) Electronic device using bluetooth communication and method of operating the same
EP3837894B1 (en) Apparatus and method for communication between devices in close proximity in wireless network
US20220264282A1 (en) Nan-based cluster merging method and electronic device for supporting same
US20220361095A1 (en) Short-range wireless communication method and apparatus
US20240007953A1 (en) Electronic device for reducing power consumption in network on basis of wi-fi direct protocol, and method related thereto
US11234100B2 (en) Electronic device for performing ranging operation and operation method thereof
US11503137B2 (en) Electronic device and method for scheduling of communication data link thereof
US11503451B2 (en) Device and method for transmitting signals in plurality of frequency bands
US20200358634A1 (en) Electronic device for communicating with external electronic device
KR102663265B1 (en) Electronic device and method for controlling NAN based communication thereof
US11234113B2 (en) Electronic device and method for providing service by electronic device
US11765245B2 (en) Electronic device and method for performing service discovery in electronic device
EP3515127A1 (en) Communication device, communication method, and program
KR20200033404A (en) A method and an electronic device connecting to a network
EP4358606A1 (en) Electronic device and nan-based communication method
KR102238897B1 (en) Method for proximity service data and an electronic device thereof
US20230189118A1 (en) Electronic device for performing neighbor awareness networking communication and method of operating the same
KR20240034068A (en) Electronic devices and nan-based communication methods
KR20240063723A (en) Electronic device for supporting device discovery based on device to device communication and method for the same
CN116783982A (en) Method and apparatus for managing wireless connections of electronic devices
KR20240052573A (en) Electronic device for setting communication of neighbor awareness networking and method for the same

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant