KR20210080937A - 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법 - Google Patents

전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법 Download PDF

Info

Publication number
KR20210080937A
KR20210080937A KR1020190173027A KR20190173027A KR20210080937A KR 20210080937 A KR20210080937 A KR 20210080937A KR 1020190173027 A KR1020190173027 A KR 1020190173027A KR 20190173027 A KR20190173027 A KR 20190173027A KR 20210080937 A KR20210080937 A KR 20210080937A
Authority
KR
South Korea
Prior art keywords
electronic device
service group
service
nan
information
Prior art date
Application number
KR1020190173027A
Other languages
English (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/KR20210080937A/ko
Priority to PCT/KR2020/017801 priority patent/WO2021132940A1/ko
Publication of KR20210080937A publication Critical patent/KR20210080937A/ko

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
    • H04L67/16
    • 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

Abstract

본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 회로, 메모리, 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시, 상기 프로세서가, 상기 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화하고, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하고, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유하고, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하고, 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.
이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

전자 장치 및 전자 장치의 NAN 기반의 통신 제어 방법 {Electronic device and method for controlling NAN based communication thereof}
본 문서에서 개시되는 다양한 실시 예들은, NAN(neighbor awareness networking) 기반의 통신 제어 기술과 관련된다.
전자 장치는 원거리 통신 네트워크(wide area network, WAN)뿐만 아니라 근거리 통신 네트워크(local area network, LAN)를 이용하여 다른 전자 장치와 무선 통신을 수행할 수 있다. 근거리 통신 네트워크 중 NAN(neighbor awareness networking) 규격(specification)에 기반한 NAN 프로토콜은 전자 장치와 다른 전자 장치 간 메시지가 송신 또는 수신되는 시간을 동기화하는 프로토콜이다. 최근 Wi-Fi 규격에서는 NAN(neighbor awareness networking) 기반의 디스커버리(discovery) 기술이 개발되고 있으며, 이를 활용한 근접 서비스(proximity service)의 개발이 활발히 진행되고 있다.
종래에는, 전자 장치들이 NAN 기반의 클러스터를 구성한 경우, NAN 클러스터 내의 모든 전자 장치들이 동기화를 위하여 항상 활성화될 필요가 있었다. 또한, NAN 기반의 클러스터 내에서 동일한 서비스를 이용하는 경우에, 동일한 전자 장치를 서비스 이용 시마다 매번 선택할 필요가 있었다.
본 문서에 개시되는 다양한 실시예들은, NAN 기반의 통신을 지원하는 단말들 간의 효율적인 서비스 그룹의 운용이 가능한 전자 장치 및 전자 장치의 NAN 기반의 통신 제어 방법을 제공하고자 한다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 회로, 메모리, 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시, 상기 프로세서가, 상기 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화하고, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하고, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유하고, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하고, 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.
또한, 본 문서에 개시되는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법은, 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화는 동작, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하는 동작, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 공유하는 동작, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하는 동작, 및 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하는 동작을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 회로, 메모리 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함하고, 상기 메모리는, 실행 시, 상기 프로세서가, 기 구성되었던 NAN(neighbor awareness networking) 기반의 서비스 그룹 내의 통신을 재시작하는 경우, 기 저장된 서비스 그룹 정보를 인식하고, BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE(Bluetooth low energy) triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 대응하는 적어도 하나의 외부 전자 장치를 인식하고, 상기 전자 장치 및 상기 인식한 적어도 하나의 외부 전자 장치의 NAN 기능을 활성화하도록 제어하고, 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치와 상기 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리에 기반하여 상기 서비스 그룹을 복원하고, 상기 통신 회로를 통하여 상기 복원된 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, NAN 기반의 통신을 지원하는 전자 장치들 간의 서비스 그룹을 형성하고, 서비스 그룹의 정보를 기반으로 NAN 기반의 통신을 효율적으로 제어할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 서비스 그룹 정보를 기반으로 이전에 형성되었던 서비스 그룹에 속하는 전자 장치를 용이하게 검색하고, 기존의 서비스 그룹을 재형성하여 통신을 수행할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, NAN 기반의 서비스 그룹을 생성 및 운용 시 전자 장치에서의 불필요한 전류 소모를 감소시킬 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 서비스 그룹 정보를 기반으로 이전에 형성되었던 서비스 그룹을 빠르고 용이하게 재 형성할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 2는 일 실시예에 따른 전자 장치의 블록도이다.
도 3은 일 실시예에 따른 전자 장치가 동기화된 클러스터를 도시한 도면이다.
도 4는 일 실시예에 따른 전자 장치가 동기화된 타임 클락을 도시한 도면이다.
도 5는 일 실시예에 따른 클러스터 내에서 전자 장치의 역할 및 상태 전환을 도시한 도면이다.
도 6은 일 실시예에 따른 일 실시 예에 따른 전자 장치의 신호 송수신 형태를 도시한 도면이다.
도 7은 일 실시예에 따른 BLE 통신을 이용한 NAN 서비스 디스커버리 프로토콜을 도시한 도면이다.
도 8은 일 실시예에 따른 BLE TDS 패킷을 도시한 도면이다.
도 9는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
도 10은 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
도 11은 일 실시예에 따른 NAN 기반의 통신 제어 방법의 흐름도이다.
도 12는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
도 13은 일 실시예에 따른 NAN 기반의 통신 제어 방법의 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 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)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 일 실시예에 따른 전자 장치의 블록도이다.
일 실시예에 따르면, 전자 장치(200)(예: 도 1의 전자 장치 (101))는 통신 회로(210), 프로세서(230) 및 메모리(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)의 적어도 일부를 포함할 수 있다.
일 실시예에 따르면, 프로세서(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 기능을 활성화하도록 할 수 있다.
일 실시예에 따르면, 프로세서(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 클러스터를 구성할 수 있다.
일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 디스커버리를 수행할 수 있다. 예를 들어, 프로세서(230)는 서비스 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 프로세서(230)는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치에 서비스 정보를 포함하는 구독(subscribe) 메시지를 전송할 수 있다. 일 실시예에 따르면, 프로세서(230)는 구독 메시지에 응답하여 외부 전자 장치가 전송한 발행(publish) 메시지를 수신할 수 있다. 예를 들어, 발행 메시지는 외부 전자 장치의 장치 정보(예: 장치 명칭, ID, 또는 전화번호 정보) 또는 사용자 정보(사용자의 이름, 프로필 정보, 또는 계정 정보)를 포함할 수 있다.
일 실시예에 따르면, 프로세서(230)는 서비스 디스커버리에 기반하여 서비스 그룹을 구성할 수 있다. 일 실시예에 따르면, 프로세서(230)는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치로부터 발행 메시지를 수신한 경우, 발행 메시지에 포함된 정보를 기반으로 적어도 하나의 외부 전자 장치의 정보를 포함하는 사용자 인터페이스를 제공할 수 있다. 일 실시예에 따르면, 프로세서(230)는 사용자 인터페이스를 통한 사용자 입력에 따라 서비스 그룹을 구성할 외부 전자 장치를 선택할 수 있다. 일 실시예에 따르면, 프로세서(230)는 수신한 발행 메시지에 포함된 외부 전자 장치의 계정 정보를 기반으로, 전자 장치(200)와 동일한 계정 정보 또는 연관된 계정 정보(예: 가족 계정 정보)를 가지는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치(예: 도 1의 전자 장치(102, 104))로 선택할 수 있다. 일 실시예에 따르면, 프로세서(230)는 발행 메시지에 포함된 외부 전자 장치의 정보(예: 전화 번호 또는 연락처(contact) 정보)를 기반으로 지정된 조건을 만족하는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치(예: 도 1의 전자 장치(102, 104))로 선택할 수 있다.
일 실시예에 따르면, 프로세서(230)는 선택한 적어도 하나의 외부 전자 장치와 서비스 그룹을 구성하고, 서비스 그룹 정보를 기반으로 적어도 하나의 외부 전자 장치와 동기화할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 프로세서(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)는 유효기간이 경과한 서비스 그룹 정보를 삭제할 수 있다.
일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, BLE 스캔 필터는 BLE triggers NAN 프로토콜에 의해 NAN 서비스를 지원하는 외부 전자 장치를 탐색 시에 사용될 수 있다. 예를 들어, BLE 스캔 필터는 외부 전자 장치로부터 수신하는 신호(예: 외부 전자 장치가 방송한 BLE TDS 패킷) 중에서 등록된 서비스 그룹 정보에 대응하는 신호를 필터링할 수 있다. 예를 들어, 프로세서(230)는 BLE 스캔 필터를 통하여 지정된 서비스 그룹 정보를 지원하는 외부 전자 장치를 인식할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보를 수신한 서비스 그룹 내의 외부 전자 장치가 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록하도록 할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치(200) 또는 외부 전자 장치들 각각은 동일한 서비스 그룹 정보를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치(200) 또는 외부 전자 장치들 각각은 동일한 서비스 그룹에 포함된 장치들의 리스트를 BLE 스캔 필터에 등록할 수 있다.
일 실시예에 따르면, 프로세서(230)는 통신 회로(210)를 통하여 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치(200) 및 외부 전자 장치들은 NAN 기반의 서비스(예를 들어, 제1 서비스 정보에 대응하는 기능)를 제공할 수 있다. 예를 들어, 프로세서(230)는 통신 회로(210)를 통하여 서비스 정보에 대응하는 NAN 기반의 서비스(예: SDF 교환, NDP 통신, 레인징(Ranging), 또는 멀티캐스트(multicast) 서비스)를 수행할 수 있다.
일 실시예에 따르면, 프로세서(230)는 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 전자 장치(200)는 제공 중이던 서비스와 관련된 어플리케이션의 종료, NAN 서비스를 중단하는 사용자 입력, 서비스 그룹 내의 전자 장치 및/또는 외부 전자 장치가 NAN 기능을 비활성화 한 경우, 서비스 그룹 내에서 지정된 시간 이상 통신이 없는 경우, 또는 서비스 그룹이 절전 모드로 전환되는 경우 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 서비스 그룹의 절전 모드는 서비스 그룹 내에서 소모하는 전력을 감소시키기 위한 모드일 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내에서 제공 중이던 서비스를 일시 중단하는 상태를 포함할 수 있다. 예를 들어, 절전 모드는 서비스 그룹에 포함된 적어도 하나의 전자 장치가 해당 전자 장치에서 제공하는 절전 모드(예: 배터리 세이빙 모드)로 동작하는 경우를 포함할 수 있다.
일 실시예에 따르면, 프로세서(230)는 NAN 서비스의 일시 중단 또는 종료 시, 통신 회로(210)를 통하여 서비스 그룹 내의 외부 전자 장치에 서비스 중단을 알리는 메시지를 전송할 수 있다.
일 실시예에 따르면, 프로세서(230)는 NAN 서비스의 중단 시, NAN 기능을 비활성화할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 중단을 알리는 메시지를 통해 외부 전자 장치가 NAN 기능을 비활성화하도록 할 수 있다.
일 실시예에 따르면, 프로세서(230)는 NAN 서비스 재시작을 인식할 수 있다. 예를 들어, 프로세서(230)는 일시 중단 또는 종료되었던 NAN 기반의 서비스를 다시 시작하기 위한 사용자의 입력을 수신할 수 있다. 예를 들어, 프로세서(230)는 디스플레이(예: 도 1의 표시 장치(160))를 통하여 이전에 구성한 적 있었던 서비스 그룹 및/또는 서비스 그룹에서 수행하였던 서비스에 대한 정보를 포함하는 사용자 인터페이스를 출력할 수 있다. 예를 들어, 프로세서(230)는 사용자 인터페이스를 통하여 특정 서비스 그룹 또는 서비스를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 프로세서(230)는 서비스 그룹 내의 NAN 통신 재개 또는 서비스 그룹의 절전 모드의 비활성화를 인식할 수 있다. 예를 들어, 서비스 그룹의 절전 모드는 서비스 그룹 내에서 소모하는 전력을 감소시키기 위한 모드일 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내에서 제공 중이던 서비스를 일시 중단하는 상태를 포함할 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내의 NAN 통신 중 일정 시간 동안 NAN 기반의 데이터 통신이 없는 경우 또는 사용자가 사용자 인터페이스를 통하여 기 설정된 절전 모드를 선택하는 경우를 포함할 수 있다. 예를 들어, 외부 출력 장치(예: 스피커(예: 블루투스 스피커))와 연결되어 있는 호스트(host) 전자 장치가 외부 게스트(guest) 전자 장치와 NAN 기반의 서비스 그룹을 구성하고, 호스트 전자 장치가 게스트 전자 장치의 오디오 데이터를 수신하여, 연결된 외부 출력 장치를 통하여 오디오를 출력하는 서비스를 수행하는 경우를 가정하면, 호스트 전자 장치 및/또는 게스트 전자 장치 중 어느 하나의 장치가 해당 서비스를 일시 중단(pause)시키기 위한 사용자 인터페이스 버튼을 활성화 하거나, 임시로 다른 서비스를 실행하기 위해 자동으로 현재 실행 중인 서비스를 일시 중단시킬 수 있다. 이 경우, NAN 기반의 서비스 그룹 내의 NAN 통신은 일시적으로 중단될 수 있으며, 이러한 상태가 절전 모드로 동작하는 상태일 수 있다.
일 실시예에 따르면, 프로세서(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 광고 패킷을 수신할 수 있다.
일 실시예에 따르면, 프로세서(230)는 외부 전자 장치에 BLE TDS 패킷(제1 BLE TDS 광고 패킷)을 전송함과 함께 NAN 기능을 활성화하거나, 또는 외부 전자 장치로부터 응답(제2 BLE TDS 광고 패킷)을 수신한 경우 NAN 기능을 활성화할 수 있다. 예를 들어, 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보와 매칭되는 외부 전자 장치는 제2 BLE TDS 광고 패킷을 전자 장치(200)에 전송함과 함께 NAN 기능을 활성화할 수 있다. 예를 들어, 서비스 그룹 정보를 기반으로 이전에 해당 서비스 그룹에 속하였던 외부 전자 장치들만이 선택적으로 NAN 기능을 활성화할 수 있다.
일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 프로세서(230)는 외부 전자 장치와 SDF 교환을 통해 서비스 디스커버리를 수행할 수 있다. 예를 들어, 프로세서(230)는 서비스 그룹 멤버 중에서 현재의 NAN 클러스터에 속해 있는 외부 전자 장치를 인식할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 그룹 정보 및 관련 정보(예: 서비스 그룹 멤버 정보, 또는 서비스 그룹 내 전자 장치(200) 및/또는 외부 전자 장치들의 역할 정보)를 기반으로 별도의 메시지 교환 없이 NAN 서비스 그룹을 구성할 수도 있다.
일 실시예에 따르면, 프로세서(230)는 서비스 그룹을 재구성할 수 있다. 예를 들어, 프로세서(230)는 이전에 구성한 적 있었던 서비스 그룹을 복원할 수 있다. 일 실시예에 따르면, 프로세서(230)는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 프로세서(230)는 서비스 그룹 내의 외부 전자 장치와 함께 NAN 기반의 서비스(예를 들어, 서비스 정보 또는 서비스 그룹 정보에 대응하는 서비스)를 제공할 수 있다.
일 실시예에 따르면, 프로세서(230)는 도 1에 도시된 프로세서 (120)의 적어도 일부를 포함할 수 있다.
일 실시예에 따르면, 메모리(220)(예: 도 1의 메모리(130))는 프로세서(230)에 의해 실행되는 인스트럭션들을 저장할 수 있다. 일 실시예에 따르면, 메모리(220)는 전자 장치(200)가 NAN 클러스터 및 서비스 그룹을 구성한 경우, 서비스 그룹 정보를 저장할 수 있다. 예를 들어, 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 그룹에 속한 전자 장치(200) 및 외부 전자 장치들의 서비스 역할(role) 중 적어도 하나를 포함할 수 있다. 예를 들어, 서비스 그룹 프로파일 ID는 하나 이상의 서비스 그룹을 구별하기 위하여 전자 장치(200)(또는, 사용자)에 의해 부여된 ID일 수 있다. 일 실시예에 따르면, 메모리(220)는 도 1에 도시된 메모리(130)의 적어도 일부를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(200)는 서비스 그룹 정보를 기반으로 BLE triggers NAN 프로토콜, 서비스 디스커버리를 수행하여 서비스 그룹을 복원함으로써, 서비스 그룹에 속하지 않는 외부 전자 장치들의 NAN 기능이 활성화되지 않도록 할 수 있다. 이에 따라, 전자 장치(200)는 기 구성한 적이 있었던 서비스 그룹을 다시 구성하는 속도를 향상시키고 서비스 그룹의 운용 시의 전자 장치(200) 및/또는 외부 전자 장치들의 불필요한 전류 소모 및/또는 리소스 소모를 감소시킬 수 있다.
도 3은 일 실시예에 따른 전자 장치가 동기화된 클러스터를 도시한 도면이다.
일 실시 예에 따르면, 이하 언급되는 클러스터(cluster)(301)는 NAN(neighbor awareness networking) 규격에 따른 NAN 클러스터(301)를 포함할 수 있다. 상기 NAN 클러스터(301)는 예컨대, 근접 네트워크를 기반으로 데이터 또는 신호의 송신 및 수신을 수행하는 적어도 하나의 전자 장치의 집합을 의미할 수 있다. NAN 규격에 따르면, 상기 NAN 클러스터(301)에 동기화된 적어도 하나의 전자 장치는 근접 네트워크 또는 근접 서비스의 운용과 관련하여 상호 동일한 적어도 하나의 파라미터(예: 디스커버리 윈도우(discovery window), 디스커버리 윈도우들 사이의 간격 구간, 비콘 인터벌(beacon interval) 및/또는 NAN 채널)를 이용할 수 있다.
도 3을 참조하면, 일 실시 예에 따른 전자 장치(310)(예: 도 1의 전자 장치(101), 도 2의 전자 장치(200))는 무선 통신 회로(또는, 무선 통신 모듈)(예: 도 1의 무선 통신 모듈(192), 도 2의 통신 회로(210))를 이용하여 NAN 규격의 저전력 근접 통신(예: 제1 통신)을 운용하기 위해, 적어도 하나의 외부 전자 장치(320a, 320b, 및/또는 320c)와 네트워크(예: 도 1의 제1 네트워크(198))를 구축할 수 있고, 클러스터(301)를 구성하여 상호작용할 수 있다.
일 실시 예에서, 전자 장치(310)는 상기 적어도 하나의 외부 전자 장치(320a, 320b, 및/또는 320c)와 동기화된 통신 구간인 디스커버리 윈도우 구간을 통하여 근접 서비스의 운용과 관계되는 데이터 또는 신호를 송신 및 수신할 수 있다. 예를 들어, 전자 장치(310)는 상기 디스커버리 윈도우 구간을 통하여 적어도 하나의 외부 전자 장치(320a, 320b, 및/또는 320c)와의 동기화와 관계된 적어도 하나의 정보를 포함하는 동기 비콘(sync beacon)을 송신 및 수신할 수 있다. 또는, 전자 장치(310)는 상기 디스커버리 윈도우 구간을 통하여 서비스 광고 또는 서비스 정보 공유와 관계된 서비스 디스커버리 프레임(service discovery frame)을 송신 및 수신할 수 있다.
도 4는 일 실시예에 따른 전자 장치가 동기화된 타임 클락을 도시한 도면이다.
일 실시예에 따르면, 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 규격의 저전력 근접 통신 이외의 다른 통신 방식을 운용할 수 있다.
일 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 NAN 규격에 따른 동기 채널(예: 채널 6)을 통하여 데이터 또는 신호의 송신 및 수신을 수행할 수 있다.
일 실시예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 마스터(master) 장치로 정의되는 특정 전자 장치의 타임 클락(time clock)에 동기화될 수 있다. 일 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치는 상기 타임 클락 상에서, NAN 규격에 따른 16 개의 시간 유닛(TU, time unit)들을 점유하고, 512 개의 시간 유닛들 간격으로 존재하는 디스커버리 윈도우(DW) 구간(410) 내에서 동기 비콘(420) 및 서비스 디스커버리 프레임(430) 중 적어도 하나를 송신 및 수신할 수 있다. 일 실시 예에서, 상기 동기 비콘(420) 및 서비스 디스커버리 프레임(430)의 송신은 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 간의 경쟁(competition)에 기초하여 수행될 수 있다.
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)를 더 포함할 수 있고, 상기 정보 요소는 예컨대 근접 네트워크를 통하여 제공될 수 있는 근접 서비스의 콘텐츠를 포함할 수 있다.
일 실시 예에서, 서비스 디스커버리 프레임(430)은 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 간에 근접 서비스를 광고하고, 근접 네트워크를 기반으로 상기 근접 서비스와 관계된 정보를 공유하기 위한 신호로 기능할 수 있다. NAN 규격에 따르면, 상기 서비스 디스커버리 프레임(430)은 벤더 특정 공개 액션 프레임(vender specific public action frame)으로써, 다양한 필드를 포함할 수 있다. 예를 들어, 서비스 디스커버리 프레임(430)은 카테고리 필드(category field) 및 액션 필드(action field) 중 적어도 하나를 포함할 수 있고, 근접 네트워크에 관계된 정보 요소(information element)를 더 포함할 수 있다. 일 실시 예에서, 서비스 디스커버리 프레임(430)을 수신하는 적어도 하나의 전자 장치는 상기 서비스 디스커버리 프레임(430)을 송신한 전자 장치가 광고하는 근접 서비스를 발견할 수 있고, 발견된 근접 서비스와 관계되는 정보를 획득할 수 있다.
일 실시 예에 따르면, 클러스터에 동기화된 전자 장치 및/또는 적어도 하나의 외부 전자 장치 중 마스터(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) 정보를 포함할 수 있다.
도 4에서는 NAN 클러스터의 DW에서 단일 주파수 대역(예: 2.4 GHz 대역)의 단일 채널(예: 6번 채널)을 공통 채널로 사용하는 경우를 도시하였으나, 일 실시예에 따르면, 복수의 주파수 대역(예: 2.4Ghz 대역 및 5Ghz 대역)의 복수의 채널(예: 6번 채널 및 149번 채널)이 동시에 DW로 구성될 수도 있다. 일 실시예에 따르면, 5Ghz 대역의 채널은 각 지역의 채널 정책에 따라 상이하게 결정될 수 있다. 일 실시예에 따르면, NAN 클러스터에 포함된 전자 장치들(예: 도 3의 전자 장치(310, 320a, 320b, 320c))은 복수의 주파수 대역 및 채널에 구성된 복수의 DW 구간에서 비컨 및 서비스 디스커버리 프레임을 송수신할 수 있다.
도 5는 일 실시예에 따른 클러스터 내에서 전자 장치의 역할 및 상태 전환을 도시한 도면이다.
일 실시예에 따르면, 클러스터(예: 도 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 규격에 정의된 모든 조건을 상세히 설명하지는 않고 간략히 설명한다.
일 실시예에 따르면, NAN 클러스터에 포함된 전자 장치들의 역할은 마스터 랭크(master rank)에 기반하여 결정될 수 있다. 예를 들어, NAN 클러스터에 포함된 전자 장치들 중에서 마스터 랭크 값이 큰 전자 장치가 마스터 장치(510)가 될 수 있다.
[수학식 1]
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) 전자 장치의 마스터 랭크에 상대적으로 높은(또는, 큰) 경우, 클러스터의 등급은 상기 다른 클러스터의 등급에 상대적으로 높은(또는, 큰) 것으로 이해될 수 있다.
다양한 실시 예에서, 클러스터의 등급은 상기 마스터 랭크를 구성하는 인자들 중 마스터 선호도(master preference) 만을 이용하여 산출되는 마스터 랭크에 의해 결정될 수 있다. 만일, 클러스터의 등급 결정 시 이용되는 마스터 선호도와 다른 클러스터의 등급 결정 시 이용되는 마스터 선호도가 동일한 값을 갖는 경우, 상기 클러스터와 다른 클러스터 간의 등급 관계는 마스터 랭크를 구성하는 나머지 인자, 예컨대 랜덤 팩터(random factor) 및 MAC 주소(media access control address) 중 적어도 하나를 더 이용하여 산출되는 마스터 랭크에 의해 결정될 수 있다. 다양한 실시 예에서, 클러스터의 등급은 상기 마스터 랭크와 관계 없이, 클러스터에 동기화된 전자 장치들의 개수, 클러스터가 제공하는 근접 서비스의 개수, 및 클러스터의 보안 레벨 중 적어도 하나에 기초하여 결정될 수도 있다. 예를 들어, 클러스터에 동기화된 전자 장치의 개수가 많거나, 클러스터가 제공하는 근접 서비스의 개수가 많거나, 및/또는 클러스터의 보안 레벨이 높은(또는, 큰) 경우, 상기 클러스터는 높은(또는, 큰) 등급으로 결정될 수 있다.
일 실시예에 따르면, 클러스터에 동기화된 전자 장치들은 해당 역할 및 상태에 따라 동기 비콘(예: 도 4의 420) 및 디스커버리 비콘(예: 도 4의 450)에 대한 송신 가부가 결정될 수 있다. 예를 들어, 상기 동기 비콘은 마스터(master) 장치(510) 및 비-마스터 동기(non-master sync) 장치(530)에 의해 송신 가능할 수 있고, 상기 디스커버리 비콘은 마스터(master) 장치(510)에 의해 송신 가능할 수 있다.
도 6은 일 실시예에 따른 일 실시 예에 따른 전자 장치의 신호 송수신 형태를 도시한 도면이다.
제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 규격의 저전력 근접 통신 이외의 다른 통신 방식의 네트워크를 운용할 수 있다.
도 7은 일 실시예에 따른 BLE 통신을 이용한 NAN 서비스 디스커버리 프로토콜을 도시한 도면이다.
NAN 규격의 release 3에 따르면, NAN 전자 장치(701, 703)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 규격의 저전력 근접 통신 운용 시, BLE(Bluetooth low energy) triggers NAN 통신 프로토콜에 따라 동작할 수 있다. 예를 들어, NAN 전자 장치는 주기적 패시브 스캔(passive scan) 수행 시 소모되는 전력량을 절감시키기 위해, BLE 통신 기반의 스캐닝을 수행하여 인접한 다른 전자 장치를 발견하고, NAN 규격의 저전력 근접 통신을 이용하여 상기 다른 전자 장치가 동기화된 클러스터에 대한 동기화를 결정할 수 있다.
도 7을 참조하여, BLE triggers NAN 통신 프로토콜의 개략적인 플로우가 설명되며, 일 실시예에 따른 전자 장치는 이하 언급되는 공급자(provider (passive)) 전자 장치(701) 또는 검색자(browser 또는 seeker (active)) 전자 장치(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 기능을 비활성화한 상태일 수 있다.
일 실시예에 따르면, 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).
일 실시예에 따르면, 730 동작에서, 공급자 전자 장치(701)는 BLE 통신을 이용하여 서비스 정보 또는 공급자 전자 장치(701)가 가지는 서비스 그룹 정보가 해쉬 방식으로 포함된 제2 BLE TDS 광고 패킷(M2)을 검색자 전자 장치(703)에 송신할 수 있다. 일 실시예에 따르면, 730 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 비활성화한 상태일 수 있다.
일 실시예에 따르면, 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).
일 실시예에 따르면, 750 동작에서, 검색자 전자 장치(703)은 서비스 그룹 정보가 매칭되는 경우, BLE 통신을 이용하여 공급자 전자 장치(701)와 연결을 수행할 수 있다. 예를 들어, 검색자 전자 장치(703)는 서비스 그룹 정보가 매칭되는 공급자 전자 장치(701)에 제3 BLE TDS 광고 패킷(M3)를 전송할 수 있다. 일 실시예에 따르면, 750 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 비활성화한 상태일 수 있다. 일 실시예에 따르면, 750 동작에서, 공급자 전자 장치(701) 및 검색자 전자 장치(703)는 NAN 기능을 활성화를 준비할 수 있다.
일 실시예에 따르면, 751 동작에서, 공급자 전자 장치(701)는 NAN 기반의 통신 기능을 활성화할 수 있다(turn on NAN). 예를 들어, 검색자 전자 장치(703)와 서로 매칭되는 서비스 그룹 정보를 가지는 공급자 전자 장치(701)는 NAN 기반의 통신 기능을 활성화할 수 있다.
일 실시예에 따르면, 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).
일 실시예에 따르면, 760 동작에서, 검색자 전자 장치(703)와 공급자 전자 장치(701)는 NAN 규격의 서비스 디스커버리를 수행할 수 있다(NAN service discovery).
도 7에 도시된 바와는 다르나, 일 실시예에 따르면, 공급자 전자 장치(701)는 수신한 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보에 매칭되는 경우 720 동작에서 NAN 기능을 활성화할 수 있고, 검색자 전자 장치(703)는 수신한 제2 BLE TDS 광고 패킷에 응답하여 740 동작에서 NAN 기능을 활성화할 수 있다. 이 경우, 750, 751, 753 동작 중 적어도 하나는 생략될 수 있다.
도 8은 일 실시예에 따른 BLE TDS 패킷을 도시한 도면이다.
일 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 규격의 release 3에서 규정하는 BLE triggers NAN 통신 프로토콜에 따라, NAN 규격의 통신 운용 시 BLE 통신을 이용하여 상기 전자 장치가 제공하는 서비스 그룹 정보가 포함된 BLE TDS 패킷(800)을 송신할 수 있다. 이하에서, NAN 규격의 release 3에서 규정하는 BLE triggers NAN 통신 프로토콜에서 정의하는 BLE TDS 패킷(800)의 일반적인 구성에 대해서는 설명을 생략한다.
일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 블룸 필터(bloom filter)(850)를 이용하여 해싱(hashing)하여 생성된 값을 bloom filter(850)에 포함시킬 수 있다. 또는, 전자 장치는 상기 BLE 통신을 이용한 스캐닝 동작을 수행하여 다른 전자 장치(예: 제1 외부 전자 장치)로부터 상기 다른 전자 장치가 제공하는 서비스 그룹 정보가 포함된 BLE TDS 패킷(800)을 수신할 수 있다. 예를 들어, 전자 장치는 수신된 BLE TDS 패킷(800)의 Bloom filter(850)의 값에 기반하여 서비스 그룹 정보를 획득할 수 있다.
일 실시예에서, 전자 장치는 상기 다른 전자 장치로부터 수신한 BLE TDS 패킷(800) 내의 서비스 그룹 정보와 전자 장치가 가지는 서비스 그룹 정보 간의 매칭 여부를 판단할 수 있고, 판단 결과에 기초하여 NAN 기반의 통신 기능의 활성화를 제어할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치와 상호 간의 서비스 그룹 정보가 매칭되는 것으로 판단되는 경우, NAN 기반의 통신 기능을 활성화할 수 있다.
본 개시의 일 실시예에 따른 전자 장치(예: 도 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 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가, 상기 서비스 그룹 내의 통신을 종료하는 경우 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 제어하도록 할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 서비스 그룹 내의 통신을 재시작하는 경우, 상기 BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치를 인식하도록 할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 통신 회로를 통하여 상기 서비스 그룹 정보를 포함하는 BLE TDS(Bluetooth low energy transport discovery service) 패킷을 포함하는 신호를 송신하도록 할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 BLE TDS 패킷을 포함하는 신호를 통하여 상기 서비스 그룹에 포함된 적어도 하나의 전자 장치들의 NAN 기능을 활성화하도록 제어하게 할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 동기화된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하도록 할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가, 사용자 입력, 서비스 관련 어플리케이션의 실행 종료, 기 설정된 시간 이상 상기 서비스 그룹 내의 전자 장치들 사이의 통신이 없는 경우, 또는 상기 서비스 그룹의 전원 절약 모드 실행 중 적어도 하나에 기반하여 상기 서비스 그룹에 포함된 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 할 수 있다.
일 실시예에 따르면, 상기 전자 장치는 디스플레이(예: 도 1의 표시 장치(160))를 더 포함할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 디스플레이를 통하여 상기 BLE triggers NAN 통신 프로토콜에 기초하여 인식한 서비스 그룹 또는 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 정보를 표시하도록 할 수 있다.
일 실시예에 따르면, 상기 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 서비스 그룹 정보는 만료 기간의 정보를 포함할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 실행 시, 상기 프로세서가 상기 만료 기간이 도과하면 상기 서비스 그룹 정보를 삭제하도록 할 수 있다.
본 개시의 일 실시예에 따른 전자 장치는, 통신 회로, 메모리, 및 상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시, 상기 프로세서가, 기 구성되었던 NAN(neighbor awareness networking) 기반의 서비스 그룹 내의 통신을 재시작하는 경우, 기 저장된 서비스 그룹 정보를 인식하고, BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE(Bluetooth low energy) triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 대응하는 적어도 하나의 외부 전자 장치를 인식하고, 상기 전자 장치 및 상기 인식한 적어도 하나의 외부 전자 장치의 NAN 기능을 활성화하도록 제어하고, 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치와 상기 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고, 상기 서비스 디스커버리에 기반하여 상기 서비스 그룹을 복원하고, 상기 통신 회로를 통하여 상기 복원된 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장할 수 있다.
도 9는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
일 실시예에 따르면, 910 동작에서, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(200) 또는 도 3의 전자 장치(300))는 적어도 하나의 외부 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 도 3의 외부 전자 장치(320a, 320b, 320c))와 NAN(neighbor awareness networking) 클러스터(예: 도 3의 클러스터(301))를 구성할 수 있다.
일 실시예에 따르면, 전자 장치는 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 클러스터를 구성할 수 있다.
일 실시예에 따르면, 920 동작에서, 전자 장치는 서비스 디스커버리를 수행할 수 있다. 예를 들어, 전자 장치는 제1 서비스 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 전자 장치는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치에 제1 서비스 정보를 포함하는 구독(subscribe) 메시지를 전송할 수 있다. 일 실시예에 따르면, NAN 클러스터에 포함된 외부 전자 장치는 수신한 구독 메시지에 응답하여 발행(publish) 메시지를 전자 장치에 전송할 수 있다. 예를 들어, 외부 전자 장치는 구독 메시지에 포함된 제1 서비스 정보를 확인하고, 제1 서비스 정보에 대응하는 서비스를 제공 가능한 경우 전자 장치에 발행 메시지를 전송할 수 있다. 예를 들어, 발행 메시지는 장치 정보(예: 장치 명칭, ID, 또는 전화번호 정보) 또는 사용자 정보(사용자의 이름, 프로필 정보, 또는 계정 정보)를 포함할 수 있다.
일 실시예에 따르면, 930 동작에서, 전자 장치는 서비스 디스커버리에 기반하여 서비스 그룹을 구성할 수 있다. 일 실시예에 따르면, 전자 장치는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치로부터 발행 메시지를 수신한 경우, 발행 메시지에 포함된 정보를 기반으로 적어도 하나의 외부 전자 장치의 정보를 포함하는 사용자 인터페이스를 제공할 수 있다. 일 실시예에 따르면, 전자 장치는 사용자 인터페이스를 통한 사용자 입력에 따라 서비스 그룹을 구성할 외부 전자 장치를 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 수신한 발행 메시지에 포함된 외부 전자 장치의 계정 정보를 기반으로, 전자 장치와 동일한 계정 정보 또는 연관된 계정 정보(예: 가족 계정 정보)를 가지는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치로 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 발행 메시지에 포함된 외부 전자 장치의 정보(예: 전화 번호 또는 연락처(contact) 정보)를 기반으로 지정된 조건을 만족하는 외부 전자 장치를 서비스 그룹을 구성할 전자 장치로 선택할 수 있다.
일 실시예에 따르면, 전자 장치는 선택한 적어도 하나의 외부 전자 장치와 서비스 그룹을 구성할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 기반으로 적어도 하나의 외부 전자 장치와 동기화할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 메시지가 송신 또는 수신되는 시간(예: 동기화된 통신 구간(610))을 동기화할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 940 동작에서, 전자 장치는 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 저장하고, 서비스 그룹 내의 외부 전자 장치에 서비스 그룹 정보를 전송할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 정보를 포함하는 SDF(service discovery frame)(follow up) 메시지를 서비스 그룹 내의 외부 전자 장치에 전송할 수 있다. 다른 예로, 전자 장치는 서비스 그룹 정보를 포함하는 NAN action frame을 서비스 그룹 내의 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 키(key)를 포함하는 SDF(follow up) 메시지를 외부 전자 장치에 전송할 수 있다. 예를 들어, 서비스 그룹 키는 해시(hash) 방식으로 SDF 메시지에 포함될 수 있다. 예를 들어, 서비스 그룹 키는 서비스 그룹에서의 SDF, NAF, 및/또는 데이터 프레임을 암호화하여, 안전(secure)한 서비스 그룹 내의 통신을 하는데 활용될 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 내의 외부 전자 장치에 서비스 그룹에 속한 전자 장치의 정보(예: 서비스 그룹 멤버 정보)를 전송할 수 있다. 예를 들어, 서비스 그룹에 속한 전자 장치의 정보는 장치 명칭, 및/또는 장치 주소(address) 정보를 포함할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보가 유효기간을 가지는 경우, 전자 장치 및/또는 외부 전자 장치는 유효기간이 경과한 서비스 그룹 정보를 삭제할 수 있다.
일 실시예에 따르면, 950 동작에서, 전자 장치는 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보를 수신한 서비스 그룹 내의 외부 전자 장치는 수신한 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치 및 적어도 하나의 외부 전자 장치 각각은 동일한 서비스 그룹 정보를 BLE 스캔 필터에 등록할 수 있다. 일 실시예에 따르면, 전자 장치 및 적어도 하나의 외부 전자 장치 각각은 적어도 하나의 서비스 그룹 정보를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 전자 장치 및 적어도 하나의 외부 전자 장치가 복수 개의 서비스 그룹 정보를 BLE 스캔 필터에 등록한 경우, NAN 기반 서비스를 시작하는 장치(예: 공급자 장치)에 대응하는 서비스 그룹 정보를 BLE 스캔 필터에 등록한 장치의 NAN 기능이 활성화될 수 있다. 일 실시예에 따르면, 전자 장치 및 적어도 하나의 외부 전자 장치가 복수 개의 서비스 그룹 정보를 BLE 스캔 필터에 등록한 경우, 전자 장치 및 적어도 하나의 외부 전자 장치는 이후 NAN 서비스 시작 시에 등록된 서비스 그룹과 관련된 정보 또는 등록된 서비스 그룹에서 수행하였던 서비스와 관련된 정보를 사용자 인터페이스를 통하여 제공할 수 있다. 예를 들어, 전자 장치 및 적어도 하나의 외부 전자 장치는 사용자 인터페이스를 통하여 선택된 서비스 그룹 또는 서비스에 대응하는 서비스 그룹을 재구성(복원)할 수 있다. 일 실시예에 따르면, 전자 장치 및 적어도 하나의 외부 전자 장치 각각은 적어도 하나의 서비스 그룹 정보를 BLE 스캔 필터에 등록할 경우 우선 순위를 설정할 수 있다. 예를 들어, 우선 순위가 높은 NAN 기반의 서비스 그룹에 기반하여 NAN 기반의 서비스를 수행할 경우, 우선 순위가 낮은 NAN 기반의 서비스 그룹의 서비스는 제공하지 않을 수 있다.
일 실시예에 따르면, 960 동작에서, 전자 장치는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 서비스 그룹 내의 전자 장치 및 외부 전자 장치들은 NAN 기반의 서비스(예를 들어, 제1 서비스 정보에 대응하는 기능)를 제공할 수 있다. 예를 들어, 전자 장치는 NAN 기반의 서비스에 대응하는 SDF 교환, NDP 통신, 레인징(Ranging), 또는 멀티캐스트(multicast) 서비스를 수행할 수 있다.
도 10은 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다.
일 실시예에 따르면, 1005 동작에서, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 서비스의 시작을 인식할 수 있다. 예를 들어, 전자 장치는 NAN 기반의 서비스를 시작하기 위한 사용자의 입력을 수신할 수 있다.
일 실시예에 따르면, 1010 동작에서, 전자 장치는 BLE TDS 패킷을 전송할 수 있다. 예를 들어, 전자 장치는 BLE triggers NAN 프로토콜에 기반하여 BLE TDS 패킷을 방송(broadcasting)할 수 있다. 예를 들어, 전자 장치는 서비스 정보를 포함하는 제1 BLE TDS 패킷을 주변의 적어도 하나의 외부 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 전자 장치는 매칭되는 서비스 정보를 가지는 외부 전자 장치로부터 제2 BLE TDS 패킷을 수신할 수 있다.
일 실시예에 따르면, 1015 동작에서, 전자 장치는 NAN 기능을 활성화할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치로부터 수신한 제2 BLE TDS 패킷에 응답하여 NAN 기능을 활성화할 수 있다. 예를 들어, 전자 장치는 NAN 기능을 이용하여 NAN 클러스터와 동기화할 수 있다. 예를 들어, 전자 장치는 NAN 클러스터에 포함된 적어도 하나의 외부 전자 장치와 메시지를 송수신하는 시간을 동기화할 수 있다.
일 실시예에 따르면, 1020 동작에서, 전자 장치는 서비스 디스커버리를 수행할 수 있다. 예를 들어, 전자 장치는 서비스 정보를 포함하는 구독(subscribe) 메시지를 NAN 클러스터에 포함된 외부 전자 장치에 전송할 수 있다. 예를 들어, 전자 장치는 서비스 정보에 매칭되는 외부 전자 장치로부터 발행(publish) 메시지를 수신할 수 있다.
일 실시예에 따르면, 1025 동작에서, 전자 장치는 서비스 그룹을 결정할 수 있다. 예를 들어, 전자 장치는 수신한 발행 메시지에 대응하는 외부 전자 장치들의 정보를 제공할 수 있다. 예를 들어, 전자 장치는 서비스 정보에 매칭되는 외부 전자 장치의 정보(예: 장치 명칭, 또는 장치 설명)을 디스플레이에 표시할 수 있다. 예를 들어, 전자 장치는 사용자 입력 또는 지정된 조건에 기반하여 서비스 그룹을 구성할 외부 전자 장치를 선택할 수 있다. 예를 들어, 전자 장치는 선택한 외부 전자 장치들과 서비스 그룹을 구성할 수 있다.
일 실시예에 따르면, 1030 동작에서, 전자 장치는 구성한 서비스 그룹에 대한 서비스 그룹 정보를 저장하고, 서비스 그룹 내의 외부 전자 장치와 서비스 그룹 정보를 공유할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹 ID를 포함할 수 있다. 예를 들어, 서비스 그룹 ID는 사용자 입력에 따라 설정될 수 있다.
일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 외부 전자 장치와 공유한 후, 서비스 그룹 내에서 NAN 서비스를 제공하는데 사용되는 정보를 저장할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에 대하여 서비스 그룹 프로파일 ID를 부여할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에서 수행한 서비스 정보 및 서비스 디스커버리 수행 결과(예: service info detail)를 저장할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 내에서 각 전자 장치들이 수행하였던 역할(role)을 저장할 수 있다. 예를 들어, 전자 장치가 컨텐츠를 제1 외부 전자 장치 및 제2 외부 전자 장치에 전송하고, 제1 외부 전자 장치 및 제2 외부 전자 장치가 컨텐츠를 출력하는 서비스를 수행한 경우, 전자 장치는 전자 장치가 컨텐츠를 전송하는 소스(source) 역할을 수행하고, 제1 외부 전자 장치 및 제2 외부 전자 장치가 컨텐츠를 출력하는 싱크(sink) 역할을 수행하였음을 나타내는 정보를 저장할 수 있다. 일 실시예에 따르면, 전자 장치는 상기 서비스 그룹 프로파일 ID, 서비스 정보, 서비스 디스커버리 수행 결과, 전자 장치들의 역할에 대한 정보를 서비스 그룹 정보에 포함시켜 저장하거나, 별도로 저장할 수 있다. 일 실시예에 따르면, 전자 장치는 상기 저장한 정보를 서비스 그룹 내의 전자 장치와 공유할 수 있다.
일 실시예에 따르면, 1035 동작에서, 전자 장치는 서비스 그룹 정보(예: 서비스 그룹 ID)를 BLE 스캔 필터에 등록할 수 있다. 예를 들어, 전자 장치는 BLE 스캔 필터에 서비스 그룹 정보를 등록함으로써, 추후 BLE triggers NAN 프로토콜에 기반하여 NAN 클러스터와 동기화하는 경우 활용할 수 있다. 일 실시예에 따르면, 전자 장치는 BLE 스캔 필터에 서비스 그룹 정보를 등록함으로써, BLE triggers NAN 프로토콜뿐만 아니라, 종래의 BLE 방식에 기반하여 NAN 클러스터에 포함된 전자 장치 및 외부 전자 장치의 NAN 기능을 활성화할 수 있다.
일 실시예에 따르면, 1040 동작에서, 전자 장치는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 내의 외부 전자 장치들과 함께 서비스 정보에 대응하는 서비스를 제공할 수 있다. 일 실시예에 따르면, 서비스 그룹에 포함된 전자 장치 및 적어도 하나의 외부 전자 장치 중 적어도 일부가 먼저 NAN 기반의 통신을 수행하고, 이후에 나머지 전자 장치가 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 서비스 그룹에 포함된 전자 장치 및 적어도 하나의 외부 전자 장치 중 적어도 일부가 NAN 기반의 통신을 수행함으로써, 서비스 그룹 내에서 소모되는 불필요한 전력 또는 자원의 소모를 감소시킬 수 있다. 일 실시예에 따르면, 서비스 그룹에 포함된 전자 장치 및 적어도 하나의 외부 전자 장치는 서비스 그룹 내에서 제1 그룹 및/또는 제2 그룹에 포함될 수 있다. 예를 들어, 서비스 그룹은 전자 장치 및 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 제1 그룹 및 전자 장치 및 적어도 하나의 외부 전자 장치 중 다른 적어도 하나를 포함하는 제2 그룹을 포함할 수 있다. 일 실시예에 따르면, 서비스 그룹 내에서 제1 그룹 및/또는 제2 그룹 별로 동작 스케줄링이 가능할 수 있다. 예를 들어, NAN을 이용하여 제1 그룹은 제1 시간에 거리 측위를 위한 NAN 통신을 수행하고, 제2 그룹은 제2 시간에 거리 측위를 위한 NAN 통신을 수행할 수 있다.
일 실시예에 따르면, 1045 동작에서, 전자 장치는 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 전자 장치는 제공 중이던 서비스와 관련된 어플리케이션의 종료, NAN 서비스를 중단하는 사용자 입력, 서비스 그룹 내에서 지정된 시간 이상 통신이 없는 경우, 또는 서비스 그룹이 절전 모드로 전환되는 경우 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 서비스 그룹의 절전 모드는 서비스 그룹 내에서 소모하는 전력을 감소시키기 위한 모드일 수 있다. 예를 들어, 절전 모드는 서비스 그룹 내에서 제공 중이던 서비스를 일시 중단하는 상태, 또는 서비스 그룹 내의 전자 장치 및/또는 외부 전자 장치가 NAN 서비스를 제공할 수 없는 상태를 포함할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 제공을 시작한 이후 지정된 시간이 경과한 경우, 또는 지정된 장소를 벗어나는 경우에 NAN 서비스 중단을 인식할 수도 있다.
일 실시예에 따르면, 1050 동작에서, 전자 장치는 서비스 그룹 내의 외부 전자 장치에 서비스 중단 메시지를 전송할 수 있다.
일 실시예에 따르면, 1055 동작에서, 전자 장치는 NAN 기능을 비활성화할 수 있다. 예를 들어, 전자 장치는 NAN 관련 기능의 적어도 일부를 비활성화하거나, 또는 NAN 기능과 관련된 적어도 일부 구성 요소를 비활성화할 수 있다. 예를 들어, 전자 장치는 NAN 관련 기능의 적어도 일부 또는 적어도 일부 구성 요소를 슬립(sleep) 모드로 전환할 수 있다.
도 11은 일 실시예에 따른 NAN 기반의 통신 제어 방법의 흐름도이다.
도 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)를 구성할 수 있다.
일 실시예에 따르면, 1110 동작에서, 전자 장치(디바이스 A(1101))는 NAN 서비스 시작을 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 NAN 기반의 서비스를 시작하기 위한 사용자 입력을 수신할 수 있다.
일 실시예에 따르면, 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)에 전송할 수 있다.
일 실시예에 따르면, 디바이스 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)를 동기화할 수 있다.
일 실시예에 따르면, 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), 사용자의 프로필 정보(예: 소개 메시지, 명함, 또는 사진), 사용자의 전화 번호, 및/또는 사용자의 계정 정보)를 포함할 수 있다.
일 실시예에 따르면, 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)가 서비스 그룹을 구성한 것으로 가정하여 설명한다.
일 실시예에 따르면, 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)에 전송할 수 있다.
일 실시예에 따르면, 디바이스 A(1101)는 서비스 그룹 내의 장치(디바이스 C(1105) 및 디바이스 E(1109))와 서비스 그룹 키(key)를 공유할 수 있다. 디바이스 A(1101)는 서비스 그룹 키를 해시(hash) 방식으로 처리하여 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다. 예를 들어, 서비스 그룹 키는 서비스 그룹 내 통신에서 사용되는 SDF, NAF, 및 데이터 프레임을 암호화하여 안전한 통신을 수행하는데 활용될 수 있다. 일 실시예에 따르면, 서비스 그룹 키는 SDF, NAF, 및 데이터 프레임 각각에 대한 독립적인 키(key)를 포함할 수 있다.
일 실시예에 따르면, 디바이스 A(1101)는 디바이스 C(1105) 및 디바이스 E(1109)와 서비스 그룹 멤버 정보를 공유할 수 있다. 예를 들어, 서비스 그룹 멤버 정보는 서비스 그룹에 속한 각 디바이스들의 명칭, 주소, 사용자, 계정, 또는 프로필 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)가 서비스 그룹 멤버 정보를 공유함으로써, 서비스 그룹에 속한 각각의 디바이스들은 모두 서비스 그룹에 속한 다른 디바이스의 정보를 인식할 수 있다.
일 실시예에 따르면, 서비스 그룹 정보가 유효기간을 포함하는 경우, 서비스 그룹에 속한 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109) 각각은 유효기간이 경과한 서비스 그룹 정보를 삭제할 수 있다.
일 실시예에 따르면, 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 프로토콜에 기반하여 신속하고 용이하게 서비스 그룹을 재구성하는데 활용할 수 있다.
일 실시예에 따르면, 1135 동작에서, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)는 서비스 그룹 내에서 NAN 프로토콜 기반의 통신(예: SDF/NDP/Ranging)을 수행할 수 있다.
일 실시예에 따르면, 1140 동작에서, 디바이스 A(1101)는 NAN 서비스 중단을 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 제공 중이던 NAN 서비스를 종료 또는 일시 중단하기 위한 사용자 입력을 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 NAN 서비스를 제공하는 어플리케이션의 종료를 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 지정된 시간 이상 서비스 그룹 내의 통신이 없는 경우를 인식할 수 있다. 예를 들어, 디바이스 A(1101)는 사용자 입력에 따라 서비스 그룹(또는, 서비스 그룹 내의 디바이스)가 절전 모드로 전환되는 경우를 인식할 수 있다.
일 실시예에 따르면, 1145 동작에서, 디바이스 A(1101)는 서비스 종료 또는 서비스 일시 중단을 알리는 메시지를 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다. 예를 들어, 디바이스 A(1101)는 서비스 중단을 알리는 알림을 포함하는 SDF 메시지 또는 NAF 메시지를 디바이스 C(1105) 및 디바이스 E(1109)에 전송할 수 있다.
일 실시예에 따르면, 1150 동작에서, 디바이스 A(1101), 디바이스 C(1105), 및 디바이스 E(1109)는 NAN 기능을 비활성화할 수 있다.
다양한 실시예에 따르면, 도 11은 디바이스 A(1101)가 NAN 서비스 시작, NAN 클러스터의 동기화, 서비스 그룹의 구성, 및 NAN 서비스 중단과 관련된 동작을 개시하는 것으로 설명하였으나, 각 동작은 디바이스 B(1103), 디바이스 C(1105), 디바이스 D(1107), 및/또는 디바이스 E(1109) 중 적어도 하나에 의해 개시될 수도 있다.
도 12는 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법의 순서도이다. 예를 들어, 도 12는 도 10에서 설명한 바와 같이, 서비스 그룹 내의 전자 장치들이 서비스 그룹 정보를 BLE 스캔 필터에 등록한 이후 중단하였던 NAN 서비스를 다시 시작하는 경우의 동작들을 설명한다.
일 실시예에 따르면, 1205 동작에서, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 서비스 시작을 인식할 수 있다. 예를 들어, 전자 장치는 중단 또는 종료되었던 NAN 기반의 서비스를 다시 시작하기 위한 사용자의 입력을 수신할 수 있다. 예를 들어, 전자 장치는 이전에 형성하였던 서비스 그룹을 기반으로 NAN 서비스를 시작하기 위한 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치는 이전에 구성한 적 있었던 서비스 그룹 및/또는 서비스 그룹에서 수행하였던 서비스에 대한 정보를 포함하는 사용자 인터페이스를 출력할 수 있다. 예를 들어, 사용자 인터페이스는 서비스 그룹에 포함된 전자 장치 또는 외부 전자 장치에 대응하는 정보(예: 아이콘, 사용자 이름, 또는 장치 ID)를 포함할 수 있다. 예를 들어, 사용자 인터페이스는 서비스 그룹에 관련된 정보(예: 서비스 그룹 정보(예: 서비스 그룹 ID, 서비스 그룹 명칭))를 포함할 수 있다. 다른 예를 들어, 사용자 인터페이스는 서비스 그룹에서 제공 중이던 서비스와 관련된 정보(예: 서비스 그룹 내에서 수행한 멀티미디어 스트리밍 서비스)를 포함할 수 있다. 또 다른 예를 들어, 사용자 인터페이스는 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치에 대한 정보(예: 장치 ID 또는 장치 이름을 포함하는 리스트)를 포함할 수 있다.
일 실시예에 따르면, 전자 장치는 사용자 인터페이스를 통하여 특정 장치(예: 전자 장치 및/또는 적어도 하나의 외부 전자 장치), 서비스 그룹(예: 서비스 그룹에 관련된 정보), 또는 서비스(예: 서비스와 관련된 정보)를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치는 서비스 그룹에서 제공 중이던 스트리밍 서비스가 일시 중단(pause)된 경우, 사용자 인터페이스를 통하여 스트리밍 서비스를 재개(resume)하는 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 전자 장치는 일시 중단되었던 NAN 기반의 서비스의 재개(예: 서비스 그룹 내의 통신 재개 또는 절전 모드의 비활성화)를 인식할 수 있다.
일 실시예에 따르면, 1210 동작에서, 전자 장치는 기 저장된 서비스 그룹 정보를 인식할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 ID, 서비스 그룹 프로파일, 서비스 그룹 멤버 정보, 서비스 그룹과 관련된 서비스 정보 또는 서비스 그룹 내 전자 장치들의 역할(role) 중 적어도 하나를 인식할 수 있다.
일 실시예에 따르면, 1215 동작에서, 전자 장치는 서비스 그룹 정보를 기반으로 BLE TDS 패킷을 전송할 수 있다. 예를 들어, 서비스 그룹 정보는 BLE TDS triggers NAN 프로토콜에서 일반적으로 사용하는 서비스 정보와는 달리, 이전에 구성하였던 서비스 그룹에 속한 전자 장치들만을 구분하여 NAN 기능을 활성화하기 위하여 활용될 수 있다. 예를 들어, 전자 장치는 서비스 그룹 정보(예: 서비스 그룹 ID)를 포함하는 제1 BLE TDS 광고 패킷을 적어도 하나의 외부 전자 장치에 전송할 수 있다. 예를 들어, 제1 BLE TDS 광고 패킷을 수신한 외부 전자 장치 중에서 이전에 서비스 그룹 정보를 BLE 스캔 필터에 등록하였던 외부 전자 장치는 전자 장치에 제2 BLE TDS 광고 패킷을 전송할 수 있다.
일 실시예에 따르면, 1220 동작에서, 전자 장치는 NAN 기능을 활성화할 수 있다. 예를 들어, 전자 장치는 1215 동작에서 외부 전자 장치에 BLE TDS 패킷(제1 BLE TDS 광고 패킷)을 전송함과 함께 NAN 기능을 활성화하거나, 또는 외부 전자 장치로부터 응답(제2 BLE TDS 광고 패킷)을 수신한 경우 NAN 기능을 활성화할 수 있다. 예를 들어, 1220 동작에서, 전자 장치가 전송한 제1 BLE TDS 광고 패킷에 포함된 서비스 그룹 정보와 매칭되는 서비스 그룹 정보를 저장하고 있는 외부 전자 장치는 제2 BLE TDS 광고 패킷을 전자 장치에 전송함과 함께 NAN 기능을 활성화할 수 있다. 예를 들어, 서비스 그룹 정보를 기반으로 이전에 해당 서비스 그룹에 속하였던 전자 장치들만이 선택적으로 NAN 기능을 활성화하고 NAN 클러스터를 구성할 수 있다.
일 실시예에 따르면, 1225 동작에서, 전자 장치는 서비스 그룹 정보를 기반으로 서비스 디스커버리를 수행할 수 있다. 일 실시예에 따르면, 전자 장치는 SDF 교환을 통해 서비스 디스커버리를 수행할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 멤버 중에서 현재의 NAN 클러스터에 속해 있는 외부 전자 장치를 인식할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 정보 및 관련 정보(예: 서비스 그룹 멤버 정보, 서비스 그룹 내 전자 장치들의 역할 정보)를 기반으로 별도의 메시지 교환 없이 1230 동작에서 NAN 서비스 그룹을 구성할 수 있다.
일 실시예에 따르면, 1230 동작에서, 전자 장치는 서비스 그룹을 구성할 수 있다. 예를 들어, 전자 장치는 이전에 구성한 적 있었던 서비스 그룹을 복원할 수 있다.
일 실시예에 따르면, 1235 동작에서, 전자 장치는 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 전자 장치는 서비스 그룹 내의 외부 전자 장치들과 함께 서비스 정보에 대응하는 서비스를 제공할 수 있다. 일 실시예에 따르면, 전자 장치는 서비스 그룹 키를 이용하여 서비스 그룹 내에서 안전한(secure)한 통신을 수행할 수 있다.
일 실시예에 따르면, 전자 장치는 서비스 그룹 정보를 기반으로 BLE triggers NAN 프로토콜, 서비스 디스커버리를 수행하여 서비스 그룹을 복원함으로써, 서비스 그룹에 속하지 않는 외부 전자 장치들의 NAN 기능이 활성화되지 않도록 할 수 있다. 이에, 전자 장치는 서비스 그룹을 다시 구성하는 속도를 향상시키고 서비스 그룹의 운용 시의 전류 소모 및 불필요한 전자 장치들의 전류 또는 리소스 소모를 감소시킬 수 있다.
도 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)에 각각 해당할 수 있다.
일 실시예에 따르면, 1310 동작에서, 전자 장치(디바이스 A(1301))(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 NAN 서비스 시작을 인식할 수 있다. 예를 들어, 디바이스 A(1301)(1101)는 중단 또는 종료되었던 NAN 기반의 서비스를 다시 시작하기 위한 사용자 입력을 수신할 수 있다. 다른 예를 들어, 디바이스 A(1301)는 서비스 그룹에 대한 절전 모드가 비활성화된 것을 인식할 수 있다.
일 실시예에 따르면, 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)할 수 있다.
일 실시예에 따르면, 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 광고 패킷에 응답할 수 있다.
일 실시예에 따르면, 1320 동작에서, 서비스 그룹 정보를 포함하는BLE TDS 광고 패킷을 교환한 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 NAN 기능을 활성화할 수 있다. 예를 들어, 서비스 그룹 정보를 가지지 않은 디바이스 B(1303) 및 디바이스 D(1307)는 NAN 기능을 활성화하지 않을 수 있다. 일 실시예에 따르면, 제공하고자 하는 서비스 그룹의 NAN 서비스와 무관한 디바이스들(디바이스 B(1303) 및 디바이스 D(1307))은 NAN 기능을 활성화하지 않음으로써, 서비스 그룹의 NAN 서비스와 무관한 디바이스들에서의 불필요한 전류 또는 리소스 소모가 감소할 수 있다.
일 실시예에 따르면, 1325 동작에서, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 활성화된 NAN 기능을 기반으로 NAN 클러스터를 동기화할 수 있다.
일 실시예에 따르면, 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)에 전송할 수 있다.
일 실시예에 따르면, 서비스 그룹 정보는 서비스 그룹에서 수행한 서비스 정보(예: 서비스 이름), 서비스 그룹 멤버 정보, 또는 서비스 그룹 내의 디바이스들의 역할(role)을 포함할 수 있다. 일 실시예에 따르면, 서비스 그룹 정보가 이전에 서비스 그룹에서 수행하였던 서비스와 관련된 정보를 포함하는 경우 1130 및 1135의 서비스 디스커버리 동작은 생략될 수 있다. 예를 들어, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 이전에 서비스 그룹 내에서 수행하였던 서비스 및 역할에 따라 1340 동작을 수행할 수 있다.
일 실시예에 따르면, 1340 동작에서, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 다시 구성된 서비스 그룹 내에서 NAN 기반의 통신을 수행할 수 있다. 예를 들어, 디바이스 A(1301), 디바이스 C(1305), 및 디바이스 E(1309)는 NAN 기반의 서비스(예: SDF 교환, NDP 통신, 레인징(Ranging), 또는 멀티캐스트(multicast) 서비스)를 수행할 수 있다.
다양한 실시예에 따르면, 도 13은 디바이스 A(1301)가 NAN 서비스 시작, 서비스 그룹의 구성(예: 서비스 그룹에 속한 외부 장치들의 인식), 및 NAN 서비스 수행(재개)과 관련된 동작을 개시하는 것으로 설명하였으나, 각 동작은 서비스 그룹에 속하는 디바이스 C(1305) 및/또는 디바이스 E(1309) 중 적어도 하나에 의해 개시될 수도 있다.
본 개시의 일 실시예에 따른 전자 장치의 NAN 기반의 통신 제어 방법은, 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화는 동작, 상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작, 상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하는 동작, 상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 공유하는 동작, 상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하는 동작, 및 상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은, 상기 서비스 그룹 내의 통신을 종료하는 경우 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 제어하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 방법은, 상기 서비스 그룹 내의 통신을 재시작하는 경우, 상기 BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치를 인식하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 서비스 그룹에 동기화하는 동작은, 상기 통신 회로를 통하여 상기 서비스 그룹 정보를 포함하는 BLE TDS(Bluetooth low energy transport discovery service) 패킷을 포함하는 신호를 송신하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 서비스 그룹에 동기화하는 동작은, 상기 BLE TDS 패킷을 포함하는 신호를 통하여 상기 서비스 그룹에 포함된 적어도 하나의 전자 장치들의 NAN 기능을 활성화하도록 제어하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은, 상기 동기화된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은, 사용자 입력, 서비스 관련 어플리케이션의 실행 종료, 기 설정된 시간 이상 상기 서비스 그룹 내의 전자 장치들 사이의 통신이 없는 경우, 또는 상기 서비스 그룹의 전원 절약 모드 실행 중 적어도 하나에 기반하여 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은, 디스플레이를 통하여 상기 BLE triggers NAN 통신 프로토콜에 기초하여 인식한 서비스 그룹 또는 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 정보를 표시하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 서비스 그룹 정보는 서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    통신 회로;
    메모리; 및
    상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함하고,
    상기 메모리는, 실행 시, 상기 프로세서가,
    상기 통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화하고,
    상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고,
    상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하고,
    상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 외부 전자 장치와 서비스 그룹 정보를 공유하고,
    상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하고,
    상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장하는 전자 장치.
  2. 청구항 1에 있어서,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가,
    상기 서비스 그룹 내의 통신을 종료하는 경우 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 제어하도록 하는 전자 장치.
  3. 청구항 2에 있어서,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가
    상기 서비스 그룹 내의 통신을 재시작하는 경우, 상기 BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치를 인식하도록 하는 전자 장치.
  4. 청구항 3에 있어서,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가
    상기 통신 회로를 통하여 상기 서비스 그룹 정보를 포함하는 BLE TDS(Bluetooth low energy transport discovery service) 패킷을 포함하는 신호를 송신하도록 하는 전자 장치.
  5. 청구항 4에 있어서,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가
    상기 BLE TDS 패킷을 포함하는 신호를 통하여 상기 서비스 그룹에 포함된 적어도 하나의 전자 장치들의 NAN 기능을 활성화하도록 제어하게 하는 전자 장치.
  6. 청구항 3에 있어서,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가
    상기 동기화된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하도록 하는 전자 장치.
  7. 청구항 1에 있어서,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가,
    사용자 입력, 서비스 관련 어플리케이션의 실행 종료, 기 설정된 시간 이상 상기 서비스 그룹 내의 전자 장치들 사이의 통신이 없는 경우, 또는 상기 서비스 그룹의 전원 절약 모드 실행 중 적어도 하나에 기반하여 상기 서비스 그룹에 포함된 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 하는 전자 장치.
  8. 청구항 3에 있어서,
    디스플레이를 더 포함하고,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가
    상기 디스플레이를 통하여 상기 BLE triggers NAN 통신 프로토콜에 기초하여 인식한 서비스 그룹 또는 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 정보를 표시하도록 하는 전자 장치.
  9. 청구항 1에 있어서,
    상기 서비스 그룹 정보는
    서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함하는 전자 장치.
  10. 청구항 1에 있어서,
    상기 서비스 그룹 정보는 만료 기간의 정보를 포함하고,
    상기 인스트럭션들은, 실행 시, 상기 프로세서가
    상기 만료 기간이 도과하면 상기 서비스 그룹 정보를 삭제하도록 하는 전자 장치.
  11. 전자 장치의 NAN 기반의 통신 제어 방법에 있어서,
    통신 회로를 통하여 적어도 하나의 외부 전자 장치와 NAN(neighbor awareness networking) 기반의 통신을 수행하기 위한 클러스터에 동기화는 동작;
    상기 통신 회로를 통하여 상기 클러스터에 포함된 적어도 하나의 외부 전자 장치와 서비스 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작;
    상기 서비스 디스커버리 동작에 기반하여 적어도 하나의 외부 전자 장치 중 적어도 하나를 포함하는 서비스 그룹을 구성하는 동작;
    상기 통신 회로를 통하여 상기 구성된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 공유하는 동작;
    상기 서비스 그룹 정보를 BLE(Bluetooth low energy) 스캔 필터에 등록하는 동작; 및
    상기 통신 회로를 통하여 상기 서비스 그룹 내에서 NAN 기반의 통신을 수행하는 동작을 포함하는 방법.
  12. 청구항 11에 있어서,
    상기 서비스 그룹 내의 통신을 종료하는 경우 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 제어하는 동작을 더 포함하는 방법.
  13. 청구항 12에 있어서,
    상기 서비스 그룹 내의 통신을 재시작하는 경우, 상기 BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치를 인식하는 동작을 더 포함하는 방법.
  14. 청구항 13에 있어서,
    상기 서비스 그룹에 동기화하는 동작은,
    상기 통신 회로를 통하여 상기 서비스 그룹 정보를 포함하는 BLE TDS(Bluetooth low energy transport discovery service) 패킷을 포함하는 신호를 송신하는 동작을 포함하는 방법.
  15. 청구항 14에 있어서,
    상기 서비스 그룹에 동기화하는 동작은,
    상기 BLE TDS 패킷을 포함하는 신호를 통하여 상기 서비스 그룹에 포함된 적어도 하나의 전자 장치들의 NAN 기능을 활성화하도록 제어하는 동작을 포함하는 방법.
  16. 청구항 13에 있어서,
    상기 동기화된 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치와 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하는 동작을 포함하는 방법.
  17. 청구항 11에 있어서,
    사용자 입력, 서비스 관련 어플리케이션의 실행 종료, 기 설정된 시간 이상 상기 서비스 그룹 내의 전자 장치들 사이의 통신이 없는 경우, 또는 상기 서비스 그룹의 전원 절약 모드 실행 중 적어도 하나에 기반하여 상기 서비스 그룹에 포함된 상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치의 NAN 기능을 비활성화하도록 하는 동작을 포함하는 방법.
  18. 청구항 13에 있어서,
    디스플레이를 통하여 상기 BLE triggers NAN 통신 프로토콜에 기초하여 인식한 서비스 그룹 또는 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 정보를 표시하는 동작을 포함하는 방법.
  19. 청구항 11에 있어서,
    상기 서비스 그룹 정보는
    서비스 그룹 프로파일 ID, 서비스 그룹 ID, 서비스 그룹 키, 서비스 그룹 유효기간, 서비스 그룹 멤버 정보, 서비스 정보, 서비스 관련 어플리케이션 정보, 또는 서비스 역할(role) 중 적어도 하나를 포함하는 방법.
  20. 전자 장치에 있어서,
    통신 회로;
    메모리; 및
    상기 통신 회로 및 상기 메모리에 작동적으로(operatively) 연결된 프로세서를 포함하고,
    상기 메모리는, 실행 시, 상기 프로세서가,
    기 구성되었던 NAN(neighbor awareness networking) 기반의 서비스 그룹 내의 통신을 재시작하는 경우, 기 저장된 서비스 그룹 정보를 인식하고,
    BLE 스캔 필터에 등록된 상기 서비스 그룹 정보를 기반으로 BLE(Bluetooth low energy) triggers NAN 통신 프로토콜에 기초하여 상기 서비스 그룹에 대응하는 적어도 하나의 외부 전자 장치를 인식하고,
    상기 전자 장치 및 상기 인식한 적어도 하나의 외부 전자 장치의 NAN 기능을 활성화하도록 제어하고,
    상기 전자 장치 및 상기 적어도 하나의 외부 전자 장치와 상기 서비스 그룹 정보를 기반으로 NAN 기반의 서비스 디스커버리 동작을 수행하고,
    상기 서비스 디스커버리에 기반하여 상기 서비스 그룹을 복원하고,
    상기 통신 회로를 통하여 상기 복원된 서비스 그룹 내에서 NAN 기반의 통신을 수행하도록 하는 인스트럭션들을 저장하는 전자 장치.
KR1020190173027A 2019-12-23 2019-12-23 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법 KR20210080937A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190173027A KR20210080937A (ko) 2019-12-23 2019-12-23 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법
PCT/KR2020/017801 WO2021132940A1 (ko) 2019-12-23 2020-12-08 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190173027A KR20210080937A (ko) 2019-12-23 2019-12-23 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법

Publications (1)

Publication Number Publication Date
KR20210080937A true KR20210080937A (ko) 2021-07-01

Family

ID=76574462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190173027A KR20210080937A (ko) 2019-12-23 2019-12-23 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법

Country Status (2)

Country Link
KR (1) KR20210080937A (ko)
WO (1) WO2021132940A1 (ko)

Family Cites Families (5)

* 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
US10080182B2 (en) * 2014-04-02 2018-09-18 Lg Electronics Inc. Method and apparatus for transceiving signal by NAN terminal in wireless communication system
US9554344B2 (en) * 2014-05-02 2017-01-24 Intel Corporation Bluetooth assisted NAN cluster discovery
US9602998B2 (en) * 2015-01-21 2017-03-21 Intel IP Corporation Apparatus, system and method of communicating in a data link group
WO2017057988A1 (ko) * 2015-10-02 2017-04-06 엘지전자 주식회사 무선 통신 시스템에서 nan 단말이 nan 클러스터로 머징하는 방법 및 장치

Also Published As

Publication number Publication date
WO2021132940A1 (ko) 2021-07-01

Similar Documents

Publication Publication Date Title
KR102208438B1 (ko) 근접 서비스 데이터 송신 방법 및 그 전자 장치
US20210068194A1 (en) Electronic device for controlling establishment or release of communication connection, and operating method therefor
US11601793B2 (en) Electronic device supporting proximity communication service and method for obtaining information of short-range communication device using the same
EP3837894B1 (en) Apparatus and method for communication between devices in close proximity in wireless network
US11089443B2 (en) Electronic device and method for connecting short range communication
US20220264282A1 (en) Nan-based cluster merging method and electronic device for supporting same
US11647564B2 (en) Apparatus and method for performing data communication in NAN protocol-based network environment
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
KR102501760B1 (ko) 복수의 주파수 대역에서 신호를 전송하기 위한 장치 및 방법
US20200358634A1 (en) Electronic device for communicating with external electronic device
US11234113B2 (en) Electronic device and method for providing service by electronic device
US20220361095A1 (en) Short-range wireless communication method and apparatus
KR20210080937A (ko) 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법
US11765245B2 (en) Electronic device and method for performing service discovery in electronic device
EP4358606A1 (en) Electronic device and nan-based communication method
KR102238897B1 (ko) 근접 서비스 데이터 송신 방법 및 그 전자 장치
KR20240034068A (ko) 전자 장치 및 nan 기반 통신 방법
CN116783982A (zh) 用于管理电子装置的无线连接的方法和装置

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