KR20210039643A - 전자 장치 및 전자 장치에서의 서비스 디스커버리 수행 방법 - Google Patents
전자 장치 및 전자 장치에서의 서비스 디스커버리 수행 방법 Download PDFInfo
- Publication number
- KR20210039643A KR20210039643A KR1020190122108A KR20190122108A KR20210039643A KR 20210039643 A KR20210039643 A KR 20210039643A KR 1020190122108 A KR1020190122108 A KR 1020190122108A KR 20190122108 A KR20190122108 A KR 20190122108A KR 20210039643 A KR20210039643 A KR 20210039643A
- Authority
- KR
- South Korea
- Prior art keywords
- nan
- service
- electronic device
- communication
- communication protocol
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 338
- 230000006870 function Effects 0.000 claims abstract description 53
- 230000004044 response Effects 0.000 claims description 29
- 230000009849 deactivation Effects 0.000 claims description 8
- 230000009471 action Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000003213 activating effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- -1 electricity Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H04L67/16—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
본 문서의 다양한 실시 예에 따른, 전자 장치 및 전자 장치에서의 서비스 디스커버리 방법은, 적어도 하나의 통신 모듈, 상기 적어도 하나의 통신 모듈과 작동적으로 연결되는 프로세서, 상기 적어도 하나의 통신 모듈 및 상기 프로세서와 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 적어도 하나의 통신 모듈을 통해, 복수의 외부 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN(neighbor awareness network) 클러스터를 구성하고, 서비스 디스커버리 요청에 응답하여, 상기 복수의 외부 전자 장치들과 상기 제1 통신 프로토콜에 기반하여 동작하는 동안, 상기 복수의 외부 전자 장치들 중 서비스 대상 장치를 확인하고, 상기 서비스 대상 장치를 확인함에 따라, 상기 적어도 하나의 통신 모듈을 통해, 상기 복수의 외부 전자 장치 중 상기 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치가 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 인스트럭션들을 저장하도록 설정될 수 있다. 그 외 다양한 실시 예가 가능할 수 있다.
Description
본 문서의 다양한 실시 예는, 전자 장치에서 저전력 블루투스(BLE, bluetooth low energy) 기능을 트리거하여 NAN(neighbor awareness networking)에서 서비스 디스커버리를 수행하는 방법에 관한 것이다.
무선 통신 시스템이 음성 또는 데이터와 같은 다양한 종류의 통신 서비스를 제공하기 위해 광범위하게 전개되고 있다. 일반적으로 무선 통신 시스템은 가용한 시스템 자원(대역폭 또는 전송 파워)을 공유하여 다중 사용자와의 통신을 지원할 수 있는 다중 접속(multiple access) 시스템이다. 다중 접속 시스템의 예들로는 CDMA(code division multiple access) 시스템, FDMA(frequency division multiple access) 시스템, TDMA(time division multiple access) 시스템, OFDMA(orthogonal frequency division multiple access) 시스템, SC-FDMA(single carrier frequency division multiple access) 시스템 또는 MC-FDMA(multi carrier frequency division multiple access) 시스템이 있다.
또한, 최근 정보 통신 기술의 발전과 더불어 다양한 무선 통신 기술이 개발되고 있다. 이 중에서 무선랜(WLAN)은 무선 주파수 기술을 바탕으로 개인 휴대용 정보 단말기(personal digital assistant; PDA), 랩탑 컴퓨터, 또는 휴대용 멀티미디어 플레이어(portable multimedia player; PMP)와 같은 휴대용 단말기를 이용하여 가정이나 기업 또는 특정 서비스 제공지역에서 무선으로 인터넷에 액세스할 수 있도록 하는 기술이다. 무선 주파수 기술 중 Wi-Fi(또는 Wi-Fi Aware™) 규격에서는 NAN(neighbor awareness networking) 이라는 저전력 디스커버리 기술이 개발되고 있으며, 이를 활용한 인접 서비스(proximity service)의 개발이 진행되고 있다.
NAN 클러스터 내에 있는 NAN 장치들은 대기 소모 전류를 최적화하기 위해 저전력 모드(예: BLE scan 모드)에서 대기하도록 설정된다. 저전력 모드로 동작하는 동안 같은 서비스 정보를 가지는 BLE TDS(transport discovery service) 어드버타이즈먼트(AD, advertisement) 패킷을 수신한 경우, NAN 모드를 활성화하여 NAN 서비스 디스커버리를 수행할 수 있다.
전자 장치는 NAN 서비스 디스커버리 수행에 따라 적어도 하나의 NAN 장치를 발견할 수 있고, 사용자에 의해 콘텐트 공유를 위해 상기 적어도 하나의 NAN 장치 중 제1 NAN 장치가 선택될 수 있다. 이후, 전자 장치는 제1 NAN 장치와 NAN 모드에서 통신을 수행할 수 있다.
NAN 클러스터 내에 있는 NAN 장치들 중 제1 NAN 장치를 제외한 나머지 NAN 장치들은 저전력 모드에서 NAN 모드로 전환한 뒤, 전자 장치와 통신 대상이 될지 판단할 수 없으므로 임의로 NAN 모드를 비활성화할 수 없다. 제1 NAN 장치를 제외한 나머지 NAN 장치들은 NAN 모드에서 동작하는 경우 저전력 모드만을 활성화하는 경우 보다 상대적으로 많은 전류가 소모될 수 있다.
본 문서의 다양한 실시 예에 따라, NAN 장치들 중 제1 NAN 장치를 제외한 나머지 장치들은 NAN 모드에서의 활성화를 유지할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치는, 적어도 하나의 통신 모듈, 상기 적어도 하나의 통신 모듈과 작동적으로 연결되는 프로세서, 상기 적어도 하나의 통신 모듈 및 상기 프로세서와 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 적어도 하나의 통신 모듈을 통해, 복수의 외부 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN(neighbor awareness network) 클러스터를 구성하고, 서비스 디스커버리 요청에 응답하여, 상기 복수의 외부 전자 장치들과 상기 제1 통신 프로토콜에 기반하여 동작하는 동안, 상기 복수의 외부 전자 장치들 중 서비스 대상 장치를 확인하고, 상기 서비스 대상 장치를 확인함에 따라, 상기 적어도 하나의 통신 모듈을 통해, 상기 복수의 외부 전자 장치 중 상기 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치가 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치는, 적어도 하나의 통신 모듈, 상기 적어도 하나의 통신 모듈과 작동적으로 연결되는 프로세서, 상기 적어도 하나의 통신 모듈 및 상기 프로세서와 작동적으로 연결되는 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 적어도 하나의 통신 모듈을 통해, 제1 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN 클러스터를 구성하고, 상기 제1 전자 장치로 서비스 디스커버리 요청을 전송하도록 상기 적어도 하나의 통신 모듈을 제어하고, 상기 서비스 디스커버리 요청을 전송함에 따라, 상기 제1 전자 장치로부터 서비스 그룹 정보를 수신하고, 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되는지 여부를 확인하고, 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되지 않은 것으로 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 복수의 외부 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN 클러스터를 구성하는 동작, 서비스 디스커버리 요청에 응답하여, 상기 복수의 외부 전자 장치들과 상기 제1 통신 프로토콜에 기반하여 동작하는 동안, 상기 복수의 외부 전자 장치들 중 서비스 대상 장치를 확인하는 동작 및 상기 서비스 대상 장치를 확인함에 따라, 상기 복수의 외부 전자 장치 중 상기 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치가 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 제어하는 동작을 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 제1 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN 클러스터를 구성하는 동작, 상기 제1 전자 장치로 서비스 디스커버리 요청을 전송하는 동작, 상기 서비스 디스커버리 요청을 전송함에 따라, 상기 제1 전자 장치로부터 서비스 그룹 정보를 수신하는 동작, 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되는지 여부를 확인하는 동작, 및 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되지 않은 것으로 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하는 동작을 포함할 수 있다.
본 문서의 다양한 실시 예에 따라, 전자 장치 및 전자 장치에서의 서비스 디스커버리 방법은, 저전력 기반의 NAN 통신을 수행할 때, NAN 클러스터 내 NAN 장치들로 정보를 전송함에 따라, 서비스 디스커버리 수행 시 NAN 통신을 수행하지 않는 장치들에 대한 불필요한 전력 소모를 줄일 수 있다.
본 문서의 다양한 실시 예에 따라, 전자 장치 및 전자 장치에서의 서비스 디스커버리 방법은, BLE 통신을 활성화한 NAN 장치가 서비스 디스커버리 결과를 기반으로 서비스 대상 장치가 아닌 장치들에 대한 NAN 통신의 비 활성화를 제어할 수 있다.
도 1은 본 문서의 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 문서의 다양한 실시 예에 따른 NAN 클러스터 구성의 일 예를 도시한 블록도이다.
도 3a 및 3b는 본 문서의 다양한 실시 예에 따른 DW 구성의 일 예를 도시한 도면들이다.
도 4는 본 문서의 다양한 실시 예에 따른 NAN 클러스터의 장치의 역할 및 상태 천이 구성의 일 예를 도시한 도면이다.
도 5는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다.
도 6은 본 문서의 다양한 실시 예에 따른 데이터 구조의 일 예를 도시한 도면이다.
도 7a 및 7b는 본 문서의 다양한 실시 예에 따른 저전력 NAN 통신의 디스커버리 프로토콜에서 NAN 장치들 간의 동작의 일 예를 도시한 흐름도들이다.
도 8은 본 문서의 다양한 실시 예에 따라, NAN 클러스터에서의 시간 동기화 동작의 일 예를 도시한 흐름도이다.
도 9는 본 문서의 다양한 실시 예에 따른 NAN 장치의 동작의 일 예를 도시한 흐름도이다.
도 10은 본 문서의 다양한 실시 예에 따른 NAN 클러스터의 장치들 간의 동기화 동작의 일 예를 도시한 흐름도이다.
도 11은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화하는 동작의 일 예를 도시한 흐름도이다.
도 12는 본 문서의 다양한 실시 예에 따라, NAN 클러스터의 장치들 간에 서비스 디스커버리 재개 동작의 일 예를 도시한 흐름도이다.
도 13은 본 문서의 다양한 실시 예에 따른, NAN 통신을 통한 서비스 디스커버리 결과 화면 구성의 일 예를 도시한 도면이다.
도 14는 본 문서의 다양한 실시 예에 따른 전자 장치에서 NAN 통신 비 활성화 동작의 일 예를 도시한 흐름도이다.
도 15는 본 문서의 다양한 실시 예에 따른 NAN 통신 비 활성화 동작의 일 예를 도시한 흐름도이다.
도 16은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화시키는 동작의 일 예를 도시한 흐름도이다.
도 17은 본 문서의 다양한 실시 예에 따른 NAN 클러스터에서 NAN 통신을 비 활성화시키는 동작의 일 예를 도시한 흐름도이다.
도 18은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화하는 동작 일 예를 도시한 흐름도이다.
도 2는 본 문서의 다양한 실시 예에 따른 NAN 클러스터 구성의 일 예를 도시한 블록도이다.
도 3a 및 3b는 본 문서의 다양한 실시 예에 따른 DW 구성의 일 예를 도시한 도면들이다.
도 4는 본 문서의 다양한 실시 예에 따른 NAN 클러스터의 장치의 역할 및 상태 천이 구성의 일 예를 도시한 도면이다.
도 5는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다.
도 6은 본 문서의 다양한 실시 예에 따른 데이터 구조의 일 예를 도시한 도면이다.
도 7a 및 7b는 본 문서의 다양한 실시 예에 따른 저전력 NAN 통신의 디스커버리 프로토콜에서 NAN 장치들 간의 동작의 일 예를 도시한 흐름도들이다.
도 8은 본 문서의 다양한 실시 예에 따라, NAN 클러스터에서의 시간 동기화 동작의 일 예를 도시한 흐름도이다.
도 9는 본 문서의 다양한 실시 예에 따른 NAN 장치의 동작의 일 예를 도시한 흐름도이다.
도 10은 본 문서의 다양한 실시 예에 따른 NAN 클러스터의 장치들 간의 동기화 동작의 일 예를 도시한 흐름도이다.
도 11은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화하는 동작의 일 예를 도시한 흐름도이다.
도 12는 본 문서의 다양한 실시 예에 따라, NAN 클러스터의 장치들 간에 서비스 디스커버리 재개 동작의 일 예를 도시한 흐름도이다.
도 13은 본 문서의 다양한 실시 예에 따른, NAN 통신을 통한 서비스 디스커버리 결과 화면 구성의 일 예를 도시한 도면이다.
도 14는 본 문서의 다양한 실시 예에 따른 전자 장치에서 NAN 통신 비 활성화 동작의 일 예를 도시한 흐름도이다.
도 15는 본 문서의 다양한 실시 예에 따른 NAN 통신 비 활성화 동작의 일 예를 도시한 흐름도이다.
도 16은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화시키는 동작의 일 예를 도시한 흐름도이다.
도 17은 본 문서의 다양한 실시 예에 따른 NAN 클러스터에서 NAN 통신을 비 활성화시키는 동작의 일 예를 도시한 흐름도이다.
도 18은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화하는 동작 일 예를 도시한 흐름도이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시 예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하, 첨부 도면을 참조하여, 본 문서의 다양한 실시 예에 따른 전자 장치 및 서비스 디스커버리하는 전자 장치 및 방법이 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 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)(예: 블루투스, Wi-Fi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(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는 본 문서의 다양한 실시 예에 따른 NAN 클러스터 구성의 일 예를 도시한 블록도이다.
본 문서의 다양한 실시 예에 따르면, NAN 장치(예: 제1 NAN 장치(201))가 적어도 하나의 외부 전자 장치(예: 제2 NAN 장치(202), 제3 NAN 장치(203) 또는 제4 NAN 장치(204))와 NAN 클러스터(200)를 구성할 수 있다.
도 2를 참조하면, 상기 NAN 클러스터(200) 내 NAN 장치들(예: 201, 202, 203 또는 204)은 Wi-Fi 규격에서 저전력 디스커버리 기술을 수행하기 위한 시간 동기화를 할 수 있다. 상기 시간 동기화는 동일한 DW(discovery window) 구간에서 서로 비콘 또는 SDF(service discovery frame)을 주고 받을 수 있도록 하는 기술이다. 상기 DW은 NAN 장치들이 깨어있는(wake) 상태가 되는 시간으로 전력 소모가 많이 일어나며, DW 이외의 구간에서는 NAN 장치들이 슬립(sleep) 상태를 유지함에 따라 저전력으로 NAN 장치들을 디스커버리할 수 있다. 이에 따라, 항시 디스커버리 상태를 유지하더라도 전류 소모가 적고, 근접 NAN 장치들 간의 정보 교환에도 유리하며 다양한 응용 서비스로 개발될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 마스터 역할의 제1 NAN 장치(201)는 상기 NAN 클러스터(200)가 설정되면 마스터 역할이 설정된 상태로 대기하면서 패시브 스캔(passive scan)을 수행할 수 있다. 상기 패시브 스캔을 수행하는 동안 발생되는 전류 소모 감소를 위해 상기 제1 NAN 장치(201)는 BLE 스캔 모드로 동작할 수 있다.
도 3a 및 3b는 본 문서의 다양한 실시 예에 따른 DW 구성의 일 예를 도시한 도면들이다.
본 문서의 다양한 실시 예에 따르면, NAN 클러스터(200)에서 시간 동기화된 NAN 장치들은 동일한 DW 내에서 비콘(예: sync beacon) 또는 SDF를 주고받을 수 있다. 상기 DW 내에서 전송되는 비콘은 NAN 클러스터를 시간 동기화하기 위한 정보를 포함하고 있어, 상기 비콘을 수신한 NAN 장치들이 상기 시간 동기화를 유지할 수 있다.
도 3a를 참조하면, NAN 클러스터(200)에서는 2.4GHz 대역의 6번 채널을 공통 채널로서 사용할 수 있다. 예컨대, 상기 DW는 16TU(time unit)s 동안 지속되며, 상기 DW들 간에는 512TUs의 간격(interval)을 가질 수 있다.
도 3b를 참조하면, NAN 클러스터(200)에서는 2.4GHz 대역의 6번 채널과 5GHz 대역의 149번 채널을 동시에 DW로 구성하여 사용할 수 있다. 예컨대, 상기 5GHz 대역의 채널은 각 지역의 채널 정책에 따라 달라질 수 있다.
상기 NAN 클러스터(200)에서 마스터 장치로 지정되는 NAN 장치는 상기 DW 구간에서 디스커버리 비콘을 전송할 수 있다. 상기 NAN 클러스터(200)에 포함되지 않은 장치들은 상기 디스커버리 비콘을 패시브 스캔하여 NAN 클러스터의 정보 또는 시간 동기화 정보를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 지정된 조건에 따라, 상기 NAN 장치들은 자신의 역할과 상태를 설정할 수 있다. 예컨대, 상기 지정된 조건은 RSSI 혹은 마스터 랭크(master rank)를 포함할 수 있다. 상기 역할에는 마스터 장치 혹은 비-마스터 장치를 포함하며, 상기 상태는 동기화 상태 혹은 비-동기화 상태를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 NAN 장치들 중 가장 높은 마스터 랭크 값을 가지는 장치가 마스터 장치의 역할을 수행할 수 있다. 상기 마스터 랭크는 마스터 선호도(master preference), 랜덤 팩터(random factor), 또는 NAN 인터페이스 주소(interface address)의 조합일 수 있다. 예컨대, 가장 높은 마스터 선호도를 가진 NAN 장치를 마스터 장치로 설정할 수 있으며, NAN 장치들이 동일한 마스터 선호도를 가지는 경우, 그 외에 랜덤 팩터 또는 NAN 인터페이스 주소에 기반하여 역할 또는 상태가 결정될 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101)에서 최초의 NAN 통신이 활성화되면, 상기 전자 장치(101)는 마스터 역할을 수행하고, 지정된 NAN 동기화 정보를 가지는 NAN 클러스터를 구성할 수 있다. 상기 전자 장치(101)는 주기적인 패시브 스캔을 수행하여 상기 전자 장치(101) 보다 높은 마스터 선호도를 가지는 장치를 확인하면, 상기 전자 장치(101)의 역할을 비-마스터 장치로 변경하고 동기화 또는 비-동기화 상태로 변경할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101)는 전자 장치(101) 보다 높은 마스터 선호도를 가지는 장치의 클러스터로 조인(join)하고 이전에 구성된 NAN 클러스터는 제거되도록 할 수 있다.
도 4는 본 문서의 다양한 실시 예에 따른 NAN 클러스터의 장치의 역할 또는 상태 천이 구성의 일 예를 도시한 도면이다.
도 4를 참조하면, NAN 장치(예: 제1 NAN 장치(201) 또는 전자 장치(500))는 마스터 랭크에 따라 상기 NAN 장치의 역할 또는 상태가 천이될 수 있다. 예컨대, 상기 역할은 마스터(master) 혹은 비-마스터(non-master)를 포함하며, 상태는 동기(sync) 혹은 비-동기(non-sync) 상태를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, NAN 장치가 마스터 역할(master)에서 비-마스터 역할로 스위치될 때, 초기에는 동기 상태(non-master sync)로 설정하고 DW 구간에서는 비-동기 상태(non-master non-sync)로 전환될 수 있다. 상기 전환이 발생되면, DW의 종료 시점에서 마스터 역할로 전환될 뿐 비-동기 상태로 유지될 수 있다.
본 문서의 다양한 실시 예에 따르면, 마스터 장치의 역할은 마스터 랭크(master rank)에 따라 결정될 수 있다. 상기 마스터 랭크는 다음의 수학식 1과 같이 마스터 프레퍼런스(master preference), 랜덤 팩터(random factor) 또는 NAN 인터페이스 주소(interface address)로 결정될 수 있다.
본 문서의 다양한 실시 예에 따르면, 마스터 프레퍼런스는 변경된 후 240 번의 DW들 동안에서는 값이 고정될 수 있다. 랜덤 팩터는 120번의 DW 동안에서는 값이 고정되며, 적어도 240번의 DW 이전에서 변경될 수 있다. NAN 인터페이스 주소는 적어도 240번의 DW 동안에는 값이 고정될 수 있다.
도 5는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다.
도 5를 참조하면, 전자 장치(500)(예: 도 2의 제1 NAN 장치(201), 제2 NAN 장치(202), 제3 NAN 장치(203) 또는 제4 NAN 장치(204))는 프로세서(120), 메모리(130), 표시 장치(160) 또는 통신 모듈(190) 중 적어도 하나를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500)는 NAN 클러스터(200) 내의 NAN 장치들 중 서비스 대상 장치를 확인하고, 상기 NAN 장치들로 상기 서비스 대상 장치와의 NAN 통신과 관련된 정보를 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 프로세서(120)는 전반적인 전자 장치(200)의 동작을 제어할 수 있다. 예컨대, 상기 프로세서(120)는 NAN 통신을 통한 콘텐트 공유 요청을 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가 NAN 통신을 통한 콘텐트 공유 요청을 확인함에 따라 복수의 외부 전자 장치(예: 제2 NAN 장치(202) 혹은 제3 NAN 장치(203))와 NAN 통신을 수행하기 위한 NAN(neighbor awareness network) 클러스터를 구성하도록 하는 인스트럭션들을 저장할 수 있다. 예컨대, 상기 인스트럭션들은, 서비스 디스커버리 요청에 응답하여, 상기 복수의 외부 전자 장치들과 상기 NAN 통신을 수행하는 동안, 상기 복수의 외부 전자 장치들 중 서비스 대상 장치를 확인하고, 상기 확인된 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치에서의 상기 NAN 통신이 비 활성화되도록 제어할 수 있다. 상기 서비스 디스커버리는 통신 프로토콜과 무관하게 서비스 대상이 되는 전자 장치를 찾는 동작을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500)가 NAN 클러스터(200)로 구성될 때, 상기 전자 장치(500)는 상기 NAN 클러스터(200)의 NAN 장치들(예: 201, 202, 203 또는 204)로 서비스 그룹 정보를 포함하는 SDF를 전송할 수 있다. 예컨대, 상기 SDF를 수신한 장치들은 상기 수신된 서비스 그룹 정보에 해당 장치에 대한 정보가 포함되지 않은 경우, NAN 통신이 비 활성화되도록 설정할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 표시 장치(160)는 NAN 통신을 통한 서비스 디스커버리의 결과를 표시할 수 있다. 예컨대, NAN 클러스터(200)의 장치들 중 검색된 적어도 하나의 외부 전자 장치를 상기 서비스 디스커버리의 결과로 표시할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500)에서는 상기 표시된 적어도 하나의 외부 전자 장치 중 사용자에 의해 선택된 장치와 NAN 통신을 수행할 수 있다. 예컨대, 상기 NAN 통신은 상기 선택된 장치와의 데이터 공유 기능을 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 통신 모듈(190)은 NAN 통신 모듈(510) 또는 BLE 통신 모듈(520)을 포함할 수 있다. 다양한 실시 예에 따르면, 상기 NAN 통신 모듈(510)은 Wi-Fi 통신 모듈이거나 상기 Wi-Fi 통신 모듈을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, NAN 통신 모듈(510) 또는 BLE 통신 모듈(520)이 별도의 구성으로 동작하는 것으로 설명하였지만 상기 구성들 중 적어도 일부는 생략 또는 변경될 수 있으며, 하나의 구성에서 상기 NAN 통신 모듈(510) 또는 상기 BLE 통신 모듈(520)의 동작을 수행하도록 설정될 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(예: 전자 장치(101 또는 500) 또는 제1 NAN 장치(201))는, 적어도 하나의 통신 모듈(예: 통신 모듈(190), NAN 통신 모듈(510) 또는 BLE 통신 모듈(520)), 상기 적어도 하나의 통신 모듈과 작동적으로 연결되는 프로세서(120), 상기 적어도 하나의 통신 모듈 및 상기 프로세서(120)와 작동적으로 연결되는 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, 상기 적어도 하나의 통신 모듈을 통해, 복수의 외부 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN 클러스터를 구성하고, 서비스 디스커버리 요청에 응답하여, 상기 복수의 외부 전자 장치들(예: 제2 NAN 장치(202) 혹은 제3 NAN 장치(203))과 상기 제1 통신 프로토콜에 기반하여 동작하는 동안, 상기 복수의 외부 전자 장치들 중 서비스 대상 장치를 확인하고, 상기 서비스 대상 장치를 확인함에 따라, 상기 적어도 하나의 통신 모듈을 통해, 상기 복수의 외부 전자 장치 중 상기 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치가 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인스트럭션들은 상기 프로세서(120)가, 상기 서비스 대상 장치를 확인함에 따라, 상기 복수의 외부 전자 장치들로 상기 서비스 대상 장치를 포함하는 서비스 그룹 정보 메시지를 상기 복수의 외부 전자 장치들로 전송하도록 상기 적어도 하나의 통신 모듈을 제어하도록 할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(예: 전자 장치(101 또는 500) 또는 제1 NAN 장치(201))는, 표시 장치(160)를 더 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 복수의 외부 전자 장치들에 대한 정보를 표시하도록 상기 표시 장치를 제어하고, 사용자에 의해 상기 표시 장치를 통한 상기 복수의 외부 전자 장치들 중 상기 서비스 대상 장치에 대한 선택 입력을 확인함에 따라, 상기 서비스 그룹 정보 메시지를 전송하도록 상기 적어도 하나의 통신 모듈을 제어하도록 할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인스트럭션들은 상기 프로세서(120)가, 콘텐트 공유에 대한 수행 취소 입력을 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 서비스 취소 메시지를 상기 복수의 외부 전자 장치들로 전송하도록 상기 적어도 하나의 통신 모듈을 제어하도록 할 수 있다. 예컨대, 상기 콘텐트 공유에 대한 수행 취소 입력은, 지정된 버튼 입력 또는 지정된 사용자 입력을 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인스트럭션들은 상기 프로세서(120)가, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되는 동안 상기 제1 통신 프로토콜보다 저전력으로 동작하는 제2 통신 프로토콜 기반에서 서비스 디스커버리를 수행하도록 상기 적어도 하나의 통신 모듈을 제어하도록 할 수 있다. 예컨대, 상기 제1 통신 프로토콜은 NAN 통신 프로토콜이며, 상기 제2 통신 프로토콜은 BLE(bluetooth low energy) 통신 프로토콜일 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(예: 전자 장치(101 또는 500), 제2 NAN 장치(202) 또는 제3 NAN 장치(203))는, 적어도 하나의 통신 모듈(예: 통신 모듈(190), NAN 통신 모듈(510) 또는 BLE 통신 모듈(520)), 상기 적어도 하나의 통신 모듈과 작동적으로 연결되는 프로세서(120), 상기 적어도 하나의 통신 모듈 및 상기 프로세서(120)와 작동적으로 연결되는 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, 상기 적어도 하나의 통신 모듈을 통해, 제1 전자 장치(예: 제1 NAN 장치(201))와 제1 통신 프로토콜에 기반하여 통신하는 NAN 클러스터를 구성하고, 상기 제1 전자 장치로 서비스 디스커버리 요청을 전송하도록 상기 적어도 하나의 통신 모듈을 제어하고, 상기 서비스 디스커버리 요청을 전송함에 따라, 상기 제1 전자 장치로부터 서비스 그룹 정보를 수신하고, 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되는지 여부를 확인하고, 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되지 않은 것으로 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는 인스트럭션들을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인스트럭션들은 상기 프로세서(120)가, 상기 서비스 디스커버리 요청이 전송된 후 상기 서비스 그룹 정보가 수신될 때까지의 시간을 확인하고, 상기 확인된 시간이 지정된 값을 초과함에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 상기 적어도 하나의 통신 모듈을 제어하도록 할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인스트럭션들은 상기 프로세서(120)가, 상기 적어도 하나의 통신 모듈을 통해 상기 제1 전자 장치로부터 서비스 취소 메시지를 수신하고, 상기 서비스 취소 메시지의 수신에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 상기 적어도 하나의 통신 모듈을 제어하도록 할 수 있다.
도 6은 본 문서의 다양한 실시 예에 따른 데이터 구조의 일 예를 도시한 도면이다.
본 문서의 다양한 실시 예에 따르면, NAN 장치는 최초 패시브 스캔 모드로 NAN 통신 모듈을 활성화하는 경우 발생되는 전류 소모를 감소시키기 위해 최초 동작 시에 BLE 스캔 모드로 동작하는 저전력 NAN(BLE triggers NAN) 통신을 수행할 수 있다.
본 문서의 다양한 실시 예에 따라, 상기 BLE 트리거를 통해 NAN 통신이 활성화된 상태(예컨대, Wi-Fi 통신 모듈이 활성화된 상태)를 NAN 모드로 지칭할 수 있다.
도 6을 참조하면, 전자 장치(예: 제1 NAN 장치(201) 또는 전자 장치(500))는 저전력 NAN 통신이 수행되는 경우, BLE TDS 패킷(600)을 전송할 수 있다. 상기 BLE TDS 패킷(600)은 트랜스포트 데이터(transport data) 및 BLE TDS에서 정의되는 'AD length' 필드, 'transport discovery data AD type code' 필드, 'organization ID' 필드, 'TDS flags' 필드, 또는 'transport data length' 필드를 포함할 수 있다. 상기 'organization ID' 필드에 정의된 값에 따라, 통신의 종류를 나타낼 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 트랜스포트 데이터는, 헤더(header), 다양한 블룸 필터(bloom filter) 필드(filed)(610) 또는 'channel information optional' 필드를 포함할 수 있다. 예컨대, 상기 헤더는 'bloom filter length' 필드, 'reserved' 필드 또는 'channel information info present bit' 필드를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 블룸 필터 필드(610)는 해쉬(hash)된 블룸 필터 구성을 포함할 수 있다. 상기 블룸 필터 구성에는 매치된 장치 서비스 또는 데이터 링크의 활성 요청에 대한 브라우저 동작, 서비스 제공자, 매치된 데이터 링크에 대한 활성화 요청이 없는 서비스 탐색을 나타낼 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 BLE TDS 패킷(600)을 수신한 NAN 장치는 상기 BLE TDS 패킷(600)에서 블룸 필터를 해쉬하고 서비스 정보를 확인할 수 있다. 상기 서비스 정보가 매치되는 경우, 상기 BLE TDS 패킷(600)을 수신한 NAN 장치는 NAN 라디오를 활성화하고, NAN 클러스터(예: NAN 클러스터(200))를 구성하여 상기 NAN 클러스터(200) 내 장치들(예: 201, 202, 203 또는 204)에 대한 서비스 디스커버리를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, NAN 클러스터(200) 내의 NAN 장치들(예: 201, 202, 203 또는 204)은 스캔 필터(scan filter)를 등록할 수 있다. 예컨대, 상기 스캔 필터는 지정된 전자 장치들만을 스캔 대상으로 제한하기 위한 것으로, 스캔 대상이 되는 장치의 식별자, 주소, 서비스 정보 또는 제조사 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 서비스 정보는 서비스 이름(service name)을 포함할 수 있다. 상기 NAN 장치들(예: 201, 202, 203 또는 204)은 수신된 BLE TDS 패킷에서 획득한 서비스 이름이 상기 스캔 필터에 설정된 서비스 이름에 대응하는지를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 NAN 장치들(예: 201, 202, 203 또는 204)은 상기 스캔 필터를 등록하고 BLE 통신이 활성화된 상태에서 서비스 대기 모드로 동작할 수 있다. 예컨대, 상기 NAN 장치들(예: 201, 202, 203 또는 204)은 상기 서비스 대기 모드에서 상기 스캔 필터에 등록된 서비스 정보와 일치하는 정보를 포함하는 BLE TDS 패킷을 수신하는 경우, 상기 스캔 대상에 따른 장치를 스캔할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 NAN 장치들(예: 201, 202, 203 또는 204)이 슬립 모드에서 동작하더라도 해당 장치의 BLE 통신 모듈에서 해당 서비스 정보가 오프로딩(offloading)되어 저장되고, 상기 BLE 통신 모듈을 통해 수신된 BLE TDS 패킷의 서비스 정보가 스캔 필터에 설정된 서비스 정보와 일치하는지 여부를 확인할 수 있다.
도 7a 및 7b는 본 문서의 다양한 실시 예에 따른 저전력 NAN 통신의 디스커버리 프로토콜에서 NAN 장치들 간의 동작의 일 예를 도시한 흐름도들이다.
본 문서의 다양한 실시 예에 따르면, BLE를 통해 NAN 통신 기능을 수행하기 위해, NAN 장치들은 디스커버리가 수행될 때, 패시브 스캔을 수행하는 제공자(provider) 모드 또는 액티브(active) 스캔을 수행하는 브라우저(browser) 모드 중 적어도 하나에 기반하여 동작할 수 있다.
도 7a를 참조하면, 브라우저 모드의 장치(702)는 제공자 모드의 장치(701)로 M1 메시지를 전송할 수 있다. 상기 M1 메시지는 검색된 서비스를 포함하는 간접적인 어드버타이즈먼트 메시지로 상기 제공자 모드의 장치(701)와 브라우저 모드의 장치(702)가 연결되지 않은 상태에서 전송될 수 있다.
본 문서의 다양한 실시 예에 따르면, 제공자 모드의 장치(701)는 브라우저 모드의 장치(702)와 서비스가 매치되는 것으로 판단함에 따라, NAN 통신을 활성화시킬 수 있다.
본 문서의 다양한 실시 예에 따르면, 제공자 모드의 장치(701)는 브라우저 모드의 장치(702)로 M2 메시지를 전송할 수 있다. 상기 M2 메시지는 매치된 서비스의 정보를 포함하는 어드버타이즈먼트 메시지일 수 있다.
본 문서의 다양한 실시 예에 따르면, 브라우저 모드의 장치(702)는 수신된 M2 메시지를 통해 매치된 서비스 정보를 확인하고, NAN 통신을 활성화시킬 수 있다.
본 문서의 다양한 실시 예에 따르면, 제공자 모드의 장치(701)와 브라우저 모드의 장치(702)는 NAN 서비스 디스커버리를 수행할 수 있다.
도 7b를 참조하면, BLE를 통해 NAN 통신 기능을 수행하기 위해, NAN 장치들은 패시브 스캔을 수행하는 제공자(provider) 모드 또는 액티브 스캔을 수행하는 탐색자(seeker) 모드 중 적어도 하나에 기반하여 동작할 수 있다.
본 문서의 다양한 실시 예에 따르면, 탐색자 모드의 장치(703)는 제공자 모드의 장치(701)로 M1 메시지를 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 M1 메시지를 수신한 제공자 모드의 장치(701)는 NAN 통신이 비 활성화된 상태(OFF 상태)에서 탐색자 모드의 장치(703)와 서비스가 매치되는 것으로 판단하고, 탐색자 모드의 장치(703)로 M2 메시지를 전송할 수 있다. 상기 M2 메시지는 상기 제공자 모드의 장치(701)에 대응하는 BLE 주소를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 탐색자 모드의 장치(703)는 상기 M2 메시지를 수신함에 따라, 매치된 서비스 및 제공자 모드의 장치(701)의 BLE 주소를 추가로 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 탐색자 모드의 장치(703)는 상기 제공자 모드의 장치(701)를 확인함에 따라 지정된 아이콘을 화면에 디스플레이하고 NAN 통신을 활성화시킬 수 있다. 다양한 실시 예에 따르면, 상기 제공자 모드의 장치(701)가 이미 알고 있는 장치인 경우 상기 지정된 아이콘과 함께 상기 제공자 모드의 장치(701)에 대응하는 추가 정보(예컨대, 사용자 이름)를 화면에 디스플레이할 수 있다.
본 문서의 다양한 실시 예에 따르면, 탐색자 모드의 장치(703)는 제공자 모드의 장치(701)로 M3 메시지를 전송할 수 있다. 예컨대, 상기 M3 메시지는 상기 확인된 BLE 주소에 대응하는 특정 제공자 모드의 장치의 NAN 통신을 활성화시키기 위한 메시지일 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 M3 메시지를 수신한 상기 제공자 모드의 장치(701)는 NAN 통신을 활성화 상태(ON 상태)로 변경할 수 있다. 예컨대, 제공자 모드의 장치(701)와 탐색자 모드의 장치(703)가 모두 NAN 통신을 활성화시킴에 따라 서로 NAN 서비스 디스커버리를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 NAN 서비스 디스커버리의 수행에 따라, 상기 제공자 모드의 장치(701)에서는, 상기 브라우저 모드의 장치(702) 또는 탐색자 모드의 장치(702)를 발견하고, 상기 브라우저 모드의 장치(702) 또는 상기 탐색자 모드의 장치(703)를 포함하는 NAN 클러스터를 구성할 수 있다. 예컨대, 상기 제공자 모드의 장치(701)에서는 상기 브라우저 모드의 장치(702) 또는 탐색자 모드의 장치(703)와의 NAN 통신 수행 여부를 나타내는 서비스 그룹 정보를 NAN 클러스터 내 장치들로 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 서비스 그룹 정보를 수신한 상기 NAN 클러스터 내의 장치들에서는, 상기 서비스 그룹 정보에 해당 장치의 정보가 포함되는지 여부를 따라, 해당 장치에서의 NAN 통신이 비 활성화되도록 제어할 수 있다.
본 문서의 다양한 실시 예에 따르면, BLE 통신 모듈을 활성화시켜 NAN 통신을 수행하는 것은, 동기화된 프로토콜로서, 각 단계 동안의 어드버타이즈먼트 패킷은 일회성이 아니며, 피어의 어드버타이즈먼트 패킷이 요청을 만족하거나, 사용자가 취소하거나 혹은 지정된 시간이 경과될 때까지 반복적으로 전송될 수 있다.
표 1은 본 문서의 다양한 실시 예에 따라, NAN 통신을 수행하고자 할 때, NAN 통신 모듈(예: 510)과 BLE 통신 모듈(예: 520)에서 소모되는 디스커버리 전력 소모량을 예시적으로 나타낸 것이다.
Power Consumption Profile | NAN | BLE | |
Device Role-Master | Device Role-Non-Master | BLE scan | |
Discovery | 4.6mA (single band) 10mA (dual band) |
3.0mA (single band) 5.4mA (dual band) |
< 1mA |
표 1을 참조하면, NAN 통신 시 BLE 트리거 모드를 적용함으로써, 전류 소모의 절감 효과가 나타남을 확인할 수 있다. 예컨대, 전자 장치가 BLE 스캔 모드로 대기하는 경우, 스캔 주기 및 기간(duration)에 따라 BLE 통신 모듈을 통해 1mA 이하의 전력이 소모됨을 확인할 수 있다. 반면, BLE 트리거를 통해 NAN 통신이 활성화된 경우(예: Wi-Fi 통신 모듈이 활성화된 경우), 마스터 역할의 장치(device role-non-master)와 비-마스터 역할의 장치(device role-master)에서의 서비스 디스커버리시의 전류 소모를 확인하면, 2.4GHz 대역의 채널 6만 사용하는 경우(signal band), 비-마스터 역할의 장치는 3.0mA의 전류가 소모되고, 마스터 역할의 장치는 4.6mA의 전류가 소모될 수 있다. 2.4GHz 대역과 5GHz 대역을 동시에 활용하여 서비스 디스커버리를 수행하는 경우(dual band) 비-마스터 역할의 장치는 5.4mA의 전류가 소모되고, 마스터 역할의 장치는 10mA의 전류 소모가 발생될 수 있다.
본 문서의 다양한 실시 예에 따라, 상기 BLE 트리거를 통해 NAN 통신이 활성화된 상태(예컨대, Wi-Fi 통신 모듈이 활성화된 상태)를 NAN 모드로 지칭할 수 있다.
본 문서의 다양한 실시 예에 따르면, NAN 장치들은 BLE 스캔 모드로 대기하면서 대기 소모 전류를 최적화할 수 있다. 대기 소모 전류를 최적화함에 따라, NAN 장치들은 동일한 서비스 정보를 가지는 BLE TDS 어드버타이즈먼트 패킷을 수신하는 경우에만 NAN 통신 모듈을 활성화시켜 NAN 서비스 디스커버리를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 서비스를 시작한 장치와 관련된 정보를 NAN 클러스터내의 장치들로 전송하여, 서비스를 수행하지 않는 장치들은 NAN 모드를 비 활성화시켜 NAN 모드로 동작함에 따른 전력 소모가 발생되지 않도록 할 수 있다.
도 8은 본 문서의 다양한 실시 예에 따라, NAN 클러스터에서의 시간 동기화 동작의 일 예를 도시한 흐름도이다.
도 8을 참조하면, NAN 클러스터(예: 도 2의 NAN 클러스터(200))는 제1 NAN 장치(201)(또는, 전자 장치(500)), 제2 NAN 장치(202) 및 제3 NAN 장치(203)를 포함할 수 있다.
810 동작에서, 제1 NAN 장치(201)는 NAN 통신을 통한 콘텐트 공유 요청을 확인하면, BLE 통신을 통해 NAN 서비스 시작의 명령을 전달할 수 있다. 예컨대, 상기 NAN 서비스는, NAN을 통해 사용자가 특정 콘텐트(예: 이미지, 텍스트 또는 파일)를 다른 사용자들과 공유하기 위한 서비스, 게임, 또는 메신저 서비스를 포함할 수 있으며, 그 외 NAN 통신을 통한 다양한 서비스 유형이 가능할 수 있다. 지정된 입력을 수신함에 따라, 제1 NAN 장치(201)는 상기 콘텐트 공유 요청을 확인할 수 있다.
820 동작에서 제1 NAN 장치(201)는 BLE 통신을 통해 NAN 클러스터의 NAN 장치들(예: 제2 NAN 장치(202) 또는 제3 NAN 장치(203))로 BLE TDS 어드버타이즈먼트를 전송할 수 있다. 예컨대, 상기 제1 NAN 장치(201)는 BLE 통신을 수행할 장치를 발견하기 위해 상기 BLE TDS 어드버타이즈먼트를 전송할 수 있다.
821 동작에서 제2 NAN 장치(202)는 BLE 통신을 통해 상기 수신된 BLE TDS 어드버타이즈먼트를 기반으로 상기 제1 NAN 장치(201)와 서비스가 매치되는 것을 확인할 수 있다. 예컨대, 상기 제2 NAN 장치(202)에서는 상기 BLE TDS 어드버타이즈먼트에 포함된 서비스 정보를 확인하여, 상기 제1 NAN 장치(201)와의 서비스 매치 여부를 확인할 수 있다.
822 동작에서 제3 NAN 장치(203)는 BLE 통신을 통해 상기 수신된 BLE TDS 어드버타이즈먼트를 기반으로 서비스가 매치되는 것을 확인할 수 있다. 예컨대, 상기 제3 NAN 장치(203)에서는 상기 BLE TDS 어드버타이즈먼트에 포함된 서비스 정보를 확인하여, 상기 제1 NAN 장치(201)와의 서비스 매치 여부를 확인할 수 있다.
831 동작에서 제2 NAN 장치(202)는 BLE 통신이 활성화된 상태에서 NAN 통신을 활성화시킬 수 있다. 예컨대, 상기 제1 NAN 장치(201)로부터 전송된 BLE TDS 어드버타이즈먼트에 기반하여 상기 제1 NAN 장치(201)와 서비스가 매치되는 것으로 확인함에 따라, NAN 통신을 활성화 시킬 수 있다.
832 동작에서 제3 NAN 장치(203)는 BLE 통신이 활성화된 상태에서 NAN 통신 활성화시킬 수 있다. 예컨대, 상기 제3 NAN 장치(203)에서는 제1 NAN 장치(201)와의 서비스가 매치된 것으로 판단함에 따라, 상기 NAN 통신을 활성화시킬 수 있다.
840 동작에서 제1 NAN 장치(201), 제2 NAN 장치(202) 및 제3 NAN 장치(203)는 NAN 클러스터를 구성하고 NAN 클러스터 동기화를 수행할 수 있다. 예컨대, 상기 NAN 클러스터 동기화는 상기 NAN 클러스터의 NAN 장치들을 공통의 시간으로 동기화시키는 TSF(time synchronization function)이며, 상기 NAN 클러스터 동기화를 통해 상기 NAN 장치들은 동기화된 시간에서 NAN 비콘 프레임을 전송하는 서비스 디스커버리를 수행할 수 있다.
850 동작에서 제1 NAN 장치(201)는 NAN 통신을 통해 구독(subscribe) 방식의 SDF를 제2 NAN 장치(202) 및 제3 NAN 장치(203)로 전송할 수 있다. 예컨대, 구독 메시지는 NAN 클러스터 내에서 동작하는 NAN 장치들로 게시 메시지(publish message)를 전송하도록 요청하는 메시지일 수 있다.
851 동작에서 제2 NAN 장치(202)의 NAN 통신 모듈에서는 제1 NAN 장치(201)의 NAN 통신 모듈로 게시(publish) 메시지를 포함하는 SDF를 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 구독 메시지 및 게시 메시지는 SDF의 'Service Descriptor Attributes' 필드에 포함될 수 있다. 상기 게시 메시지는 요청되지 않은 방식의 NAN 클러스터에서 작동하는 NAN 장치를 검색하기 위해 사용될 수 있다.
851 동작에서 제2 NAN 장치(202)는 상기 SDF에 대한 응답으로 게시 메시지를 제1 NAN 장치(201)로 전송할 수 있다.
852 동작에서 제3 NAN 장치(203)의 NAN 통신 모듈에서는 제1 NAN 장치(201)의 NAN 통신 모듈로 게시 메시지를 포함하는 SDF를 전송할 수 있다.
860 동작에서 제1 NAN 장치(201)에서는 제2 NAN 장치(202) 및 제3 NAN 장치(203)로부터 수신된 게시 메시지를 포함하는 SDF를 기반으로 디스커버리 결과를 확인하고, 상기 디스커버리 결과로 확인된 장치들 중 서비스 대상 장치를 선택할 수 있다.
본 문서의 다양한 실시 예에 따르면, 제1 NAN 장치(201)는 서비스 대상 장치와 관련된 정보를 포함하는 서비스 그룹 정보를 NAN 클러스터(200) 내 장치들(예: 제2 NAN 장치(202) 또는 제3 NAN 장치(203))로 전송할 수 있다. 예컨대, 정보를 NAN 클러스터(200) 내 장치들(예: 제2 NAN 장치(202) 또는 제3 NAN 장치(203))은 상기 수신된 서비스 그룹 정보를 확인하여 해당 장치에 대한 정보를 포함하지 않는 경우, 해당 장치에서의 NAN 통신이 비 활성화되도록 제어할 수 있다.
870 동작에서 제1 NAN 장치(201)는 제2 NAN 장치(202)에 대한 추가 서비스 디스커버리(further service discovery)를 수행할 수 있다. 예컨대, 제1 NAN 장치(201)는 사용자가 제2 NAN 장치(202)를 서비스 대상 장치로 선택함을 확인하고, SDF에서 추가 서비스 디스커버리 속성을 설정하여 상기 제2 NAN 장치(202)로 전송할 수 있다. 상기 추가 서비스 디스커버리 속성은 SDF를 수신하기 위해, DW들 사이의 기간 동안 NAN 장치의 기능을 나타내기 위해 사용되는 파라미터들을 포함할 수 있다.
880 동작에서 제1 NAN 장치(201) 및 제2 NAN 장치(202)는 NAN 통신을 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 제1 NAN 장치(201)는 상기 추가 디스커버리 수행에 따른 서비스 그룹 정보를 상기 NAN 클러스터(200) 내 장치들로 전송할 수 있다. 예컨대, 상기 NAN 클러스터(200) 내 장치들 중 상기 서비스 대상 장치(예: 제2 NAN 장치(202))를 제외한 장치에서는, 상기 추가 디스커버리 수행에 따른 서비스 그룹 정보에서 해당 장치에 대한 정보가 포함되지 않음을 확인하여, NAN 통신이 비 활성화되도록 제어할 수 있다.
도 9는 본 문서의 다양한 실시 예에 따른 NAN 장치의 동작의 일 예를 도시한 흐름도이다.
도 9를 참조하면, 910 동작에서 전자 장치(500)(예: 제1 NAN 장치(201)는 Wi-Fi 어웨어 서비스의 시작을 확인할 수 있다. 예컨대, 상기 Wi-Fi 어웨어 서비스는 Wi-Fi 인프라를 기반으로 하는 저전력 NAN 통신을 통해 인접한 전자 장치들 간의 다양한 서비스(예: 콘텐트 공유, 멀티 미디어 스트리밍, 원격 장치(예: 마이크) 제어, 오프라인 전화/메시지 송수신/ 고속 양방향 통신, 또는 주변 장치 정보 탐색)를 포함할 수 있다.
920 동작에서 전자 장치(500)는 NAN 클러스터 내 장치들로 BLE TDS 패킷을 전송할 수 있다.
930 동작에서 전자 장치(500)는 NAN 모드를 활성화시킬 수 있다.
940 동작에서 전자 장치(500)는 NAN 클러스터 내 장치들에 대한 서비스 디스커버리를 수행할 수 있다. 예컨대, 상기 전자 장치(500)는 상기 서비스 디스커버리 수행에 따라 상기 BLE TDS 패킷에 대한 응답을 전송한 복수의 외부 전자 장치들을 검색할 수 있다.
950 동작에서 전자 장치(500)는 서비스 대상 장치를 확인할 수 있다. 예컨대, 상기 전자 장치(500)는 상기 복수의 외부 전자 장치들의 목록을 표시하고 상기 복수의 외부 전자 장치들 중 사용자에 의해 선택되거나 미리 지정된 조건을 만족하는 적어도 하나의 외부 전자 장치를 상기 서비스 대상 장치로 확인할 수 있다. 상기 미리 지정된 조건은, 상기 전자 장치(500)와의 통신 상태 또는 거리가 지정된 값을 만족하는지 여부 또는 특정 서비스에 대해 미리 지정된 전자 장치인지 여부 등을 포함할 수 있다.
960 동작에서 전자 장치(500)는 상기 목록에 포함된 장치들로 상기 서비스 그룹 정보 메시지를 전송할 수 있다. 예컨대, 상기 서비스 그룹 정보 메시지는, 상기 서비스 그룹에 포함된 적어도 하나의 외부 전자 장치의 ID 정보, 그룹 ID 또는 주소(address) 정보를 포함할 수 있다. 상기 서비스 그룹 정보 메시지는 SDF 또는 NAF(NAN action frame)에 포함되어 송수신되거나 BLE 통신을 통해 송수신될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 서비스 그룹 정보 메시지는 SDF 또는 NAF의 형태로 전송될 때, 각 프레임에서 'reserved'로 설정된 필드에 상기 서비스 그룹 정보가 포함되어 전송될 수 있다. 예컨대, 상기 서비스 그룹 정보는 상기 서비스 대상 장치로 확인된 장치들에 대해 설정될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 전자 장치(500)는 상기 서비스 그룹 정보 메시지를 저장하고, 변경된 정보를 포함하는 서비스 그룹 정보 메시지가 수신되는 경우 상기 저장된 서비스 그룹 정보 메시지의 정보를 갱신할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500) 및 서비스 대상 장치는 서비스 그룹 내 통신을 수행할 수 있다. 예컨대, SDF를 교환하거나 NDP 통신을 수행할 수 있다.
970 동작에서 전자 장치(500)는 BLE TDS 패킷의 전송을 종료시킬 수 있다.
980 동작에서 전자 장치(500)는 서비스 디스커버리가 재개되었는지를 판단할 수 있다. 예컨대, 상기 전자 장치(500)는 NAN 클러스터 동작에 따른 DW 구간에 도래함에 따라 상기 서비스 디스커버리를 반복적으로 수행할 수 있다.
980 동작의 수행 결과, 서비스 디스커버리가 재개된 경우, 전자 장치(500)는 940 동작을 수행하여 서비스 디스커버리를 수행할 수 있다. 일 실시 예에 따르면, 980 동작의 수행 결과, 940 동작을 수행하여 서비스 디스커버리가 재개된 경우, 970 동작은 생략될 수 있다.
980 동작의 수행 결과, 서비스 디스커버리가 재개되지 않은 경우, 전자 장치(500)는 서비스 디스커버리 동작을 종료시키고 Wi-Fi 어웨어 서비스의 종료를 확인할 수 있다.
도 10은 본 문서의 다양한 실시 예에 따른 NAN 클러스터의 장치들 간의 동기화 동작의 일 예를 도시한 흐름도이다.
도 10을 참조하면, NAN 클러스터(예: 도 2의 NAN 클러스터(200))는 제1 NAN 장치(201), 제2 NAN 장치(202), 제3 NAN 장치(203) 및 제4 NAN 장치(204)를 포함할 수 있다.
1010 동작에서 제1 NAN 장치(201)는 상기 NAN 클러스터 내 장치들(예: 202, 203 또는 204)로 구독 메시지를 포함하는 SDF를 전송할 수 있다.
1021 동작에서 제2 NAN 장치(202)는 상기 수신된 구독 메시지에 대한 응답으로 상기 제1 NAN 장치(201)로 게시 메시지를 포함하는 SDF를 전송할 수 있다.
1022 동작에서 제3 NAN 장치(203)는 상기 수신된 구독 메시지에 대한 응답으로 상기 제1 NAN 장치(201)로 게시 메시지를 포함하는 SDF를 전송할 수 있다.
1023 동작에서 제4 NAN 장치(204)는 상기 수신된 구독 메시지에 대한 응답으로 상기 제1 NAN 장치(201)로 게시 메시지를 포함하는 SDF를 전송할 수 있다.
1030 동작에서 제1 NAN 장치(201)는 상기 게시 메시지를 전송한 NAN 장치들 중 서비스 대상 장치를 확인할 수 있다. 예컨대, 제1 NAN 장치(201)는 상기 NAN 장치들 중 사용자가 선택한 제3 NAN 장치(203) 및 제4 NAN 장치(204)를 확인할 수 있다.
1040 동작에서, 제1 NAN 장치(201)는 제2 NAN 장치(202), 제3 NAN 장치(203) 및 제4 NAN 장치(204)로 그룹 ID 동기화 정보를 전송할 수 있다. 예컨대, 상기 그룹 ID 동기화 정보는 서비스 대상 장치에 대해 미리 설정된 그룹 ID 정보를 포함하고, 유니캐스트 또는 브로드캐스트 방식으로 전송될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 제2 NAN 장치(202), 제3 NAN 장치(203) 및 제4 NAN 장치(204)로 전송된 그룹 ID 동기화 정보는 사용자가 서비스 대상 장치로 선택한 제3 NAN 장치(203) 및 제4 NAN 장치(204)에 대한 정보를 포함할 수 있다. 예컨대, 상기 제2 NAN 장치(202)는 수신된 그룹 ID 동기화 정보에 상기 제2 NAN 장치(202)에 대한 정보가 포함되지 않음을 확인하면, 상기 제2 NAN 장치(202)에서의 NAN 통신이 비 활성화되도록 제어할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 그룹 ID 동기화 정보는 팔로우 업(follow-up) 메시지의 형태로 전송될 수 있다. 예컨대, 상기 팔로우 업 메시지는 NAN 장치로부터 서비스 특정 정보를 수신하거나 혹은 NAN 장치로 서비스 특정 정보를 전송하는 서비스들 또는 어플리케이션들을 위한 수단을 제공하는 팔로우 업 기능을 포함할 수 있다. 상기 팔로우 업 기능은 전송 방법에서의 서비스 또는 어플리케이션으로부터 수신된 구성으로부터 팔로우 업 메시지를 생성하고, 전송 제어 기능으로부터 메시지의 전송을 요청할 수 있다.
본 문서의 다양한 실시 예에 따르면, 팔로우 업 메시지를 전송하거나 수신한 장치들은 동일한 그룹 ID(예: "A")로 동기화될 수 있다.
표 2는 NAN SDF에서 정의되는 형식 및 값을 나타낸 것이다.
Field | Size (Octets) | Value (Hex) | Description |
Category | 1 | 0x04 or 0x09 | IEEE 802.11 Public Action frame or Protected Dual of Public Action frame |
Action | 1 | 0x09 | IEEE 802.11 Public Action frame Vendor Specific |
OUI | 3 | 0x50-6F-9A | Wi-Fi Alliance specific OUI |
OUI Type | 1 | 0x13 | Identifying the type and version of the NAN |
NAN attributes | Variable | Variable | One or more NAN attributes |
표 2를 참조하면, 상기 NAN SDF는 서비스 디스커버리가 종료됨을 알리고, NAN 라디오의 비 활성화를 요청하기 위해 전송될 수 있다. 본 문서의 다양한 실시 예에 따르면, NAN SDF에서는 서비스 정보를 나타내는 'NAN attributes' 필드를 포함할 수 있다. 예컨대, 'NAN attributes'에는 서비스 수행을 위한 정보를 포함하는 적어도 하나의 속성(attribute)가 포함될 수 있다. 예컨대, NAN 장치에서는 상기 서비스 정보를 확인하여 상기 NAN SDF를 전송한 장치와 서비스가 매칭됨을 판단함에 따라, NAN 통신이 활성화되도록 제어할 수 있다.
표 3는 본 문서의 다양한 실시 예에 따른, NAN 액션 프레임(action frame)의 세부 종류(subtype)를 나타낸 것이다.
OUI Subtype | Notes |
0 | Reserved |
1 | Ranging Request |
2 | Ranging Response |
3 | Ranging Termination |
4 | Ranging Report |
5 | Data Path Request |
6 | Data Path Response |
7 | Data Path Confirm |
8 | Data Path Key Installment |
9 | Data Path Termination |
10 | Schedule Request |
11 | Schedule Response |
12 | Schedule Confirm |
13 | Schedule Update Notification |
14 - 255 | Reserved |
표 2 및 3을 참조하면, NAN 장치가 SDF를 NAN 액션 프레임으로 전송하는 경우, NAN SDF에서 정의되는 형식 및 값 또는 NAN 액션 프레임의 세부 종류가 정의될 수 있다. 예컨대, NAN 액션 프레임에서는 'reserved' 필드(예; '14 - 255')에 새로운 액션 프레임의 세부 종류가 지정될 수 있다. 본 문서의 다양한 실시 예에 따르면, NAN 액션 프레임은 실제로 수행할 NAN 통신에서의 동작 종류를 나타내는 정보를 포함하는 'OUI Subtype' 필드 및 해당 동작에 필요한 다양한 속성에 대한 정보를 포함하는 'information content' 필드를 포함할 수 있다. 예컨대,
본 문서의 다양한 실시 예에 따르면, 상기 NAN 액션 프레임에서는 임의의 값을 가지는 동작 정보를 포함하며, 상기 동작 정보는 같은 서비스를 수행하는 NAN 장치들 간에 미리 지정된 값일 수 있다. 예컨대, NAN 액션 프레임의 점유된 '14 - 255' 필드들 중 하나에는 디스커버리 종료 또는 NAN 라디오를 비 활성화시키기 위한 정보가 포함될 수 있다.
표 4는 본 문서의 다양한 실시 예에 따른 벤더 특정 속성(Vendor Specific attribute)에 대한 포맷을 정의한 것이다. 예컨대, 상기 벤더 특정 속성은 점유(reserved)될 수 있다.
Field | Size (octets) | Value | Description |
Attribute ID | 1 | 0xDD | Identifies the type of NAN attribute. |
Length | 2 | Variable | Length of the following fields in the attribute. |
OUI | 3 | Variable | Vendor Specific OUI |
Body | Variable | Variable | Vendor Specific body that is implementation specific. |
표 4를 참고하면, 새롭게 정의된 NAN 액션 프레임의 정보는 상기 벤더 특성 속성의 포맷에 따라 정의될 수 있다. 예컨대, 상기 'body' 필드는 실제 필요한 정보를 포함할 수 있다. 본 문서의 다양한 실시 예에 따르면, 상기 벤더 특정 속성에서 'Body' 필드를 활용하여 NAN 장치는 디스커버리 동작의 수행 및 NAN 클러스터 동기화를 유지하기 위해 해당 NAN 장치들을 구분할 수 있는 정보를 포함할 수 있다. 예컨대, 상기 정보는 디스커버리 동작을 수행 및 NAN 클러스터 동기화를 위한 장치들에 대한 정보와 NAN 클러스터 동기화 된 그룹 ID 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 그룹 ID 정보에 설정된 NAN 장치에 대해서는 NAN 클러스터 구성이 유지될 수 있다. 반면, 상기 그룹 ID 정보에 설정되지 않은 NAN 장치에서는 NAN 라디오가 비 활성화된 상태에서 BLE 스캔 모드로 동작함에 따라, NAN 라디오가 활성화됨에 따른 전력 소모를 줄일 수 있다..
본 문서의 다양한 실시 예에 따르면, 상기 'body' 필드에는, 디스커버리가 수행되고 NAN 클러스터로 구성될 서비스 그룹의 장치 정보를 포함할 수 있다. 예컨대, 상기 서비스 그룹의 장치 정보는 상기 서비스 그룹에서 서비스 대상 장치로 선택된 장치의 NMI 및 NDIs를 포함하거나 각 장치로부터 수신한 게시 메시지에 포함된 해당 장치의 디바이스 이름을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 'body' 필드에 NAN 클러스터의 구성을 유지하기 위한 장치들의 정보를 포함하는 것으로 설명하였지만, NAN 라디오를 비 활성화된 상태에서 BLE 스캔 모드로 동작하는 장치에 대한 정보를 포함할 수 있다.
표 5는 NAN 정보 구성(information element)의 포맷을 정의한 것이다.
Field | Size (Octets) | Value (Hex) | Description |
Element ID | 1 | 0xDD | IEEE 802.11 vendor specific information element |
Length | 1 | Variable | Length of the following fields in the IE in octets. The Length field is variable, and set to 4 plus the total length of the NAN attributes. |
OUI | 3 | 0x50-6F-9A | Wi-Fi Alliance specific OUI |
OUI Type | 1 | 0x13 | Identifying the type and version of the NAN IE |
NAN attributes | Variable | Variable | One or more NAN attribute |
표 5를 참고하면, SDF는 'NAN attributes' 필드를 통해 복수의 NAN 특성 정보를 포함할 수 있다. 예컨대, 상기 복수의 특성 정보는 NAN 통신을 통해 제공되는 서비스와 관련된 특성 정보를 포함할 수 있다. 본 문서의 다양한 실시 예에 따르면, NAN 장치에서는 'NAN attributes' 필드에 포함된 특성 정보에 기반하여 상기 SDF를 전송한 NAN 장치와의 서비스 매칭 여부를 판단할 수 있다. 예컨대, 상기 특성 정보가 상기 NAN 장치의 서비스 정보와 일치하는 경우, 상기 전송한 NAN 장치와 서비스가 매치되는 것으로 판단할 수 있다.
표 6는 SDF의 NAN attributes 필드에 포함될 수 있는 다양한 목적의 속성들을 나타낸 것이다.
표 6을 참조하면, NAN attributes 필드에서는 NAN SDF 프레임에 포함되도록 허여된 혹은 허여되지 않은 속성들을 나타낼 수 있다. 만약 허여되면, 속성이 필수적(M: mandatorily) 혹은 선택적(O: optional)인지 여부가 포함되며, 필수적 NAN 속성들은 NAN SDF 프레임에 포함될 수 있다.
Attributes | NAN SDF frames | ||||
Publish | Subscribe | Follow-up | |||
Data Required | Ranging Required | Otherwise | |||
Master Indication attribute | NO | NO | NO | NO | NO |
Cluster attribute | NO | NO | NO | NO | NO |
Service ID List attribute | NO | NO | NO | NO | NO |
Service Descriptor attribute | YES/M | YES/M | YES/M | YES/M | YES/M |
NAN Connection Capability attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
WLAN Infrastructure attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
P2P Operation attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
IBSS attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Mesh attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Further NAN Service Discovery attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Further Availability Map attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Country Code attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Ranging attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Cluster Discovery attribute | NO | NO | NO | NO | NO |
Service Descriptor Extension attribute | YES/M | YES/M | YES/O | YES/O | YES/O |
Device Capability | YES/M | YES/M | YES/O | YES/O | YES/O |
NDP attribute | NO | NO | NO | NO | NO |
NAN availability | YES/M | YES/M | YES/O | YES/O | YES/O |
NDC attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
NDL Attribute | NO | NO | NO | NO | NO |
NDL QoS attribute | NO | NO | NO | NO | NO |
Unaligned Schedule attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Ranging Information attribute | NO | YES/M | NO | NO | YES/O |
Ranging Setup attribute | NO | NO | NO | NO | NO |
FTM Ranging Report attribute | NO | NO | NO | NO | NO |
Element Container attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Extended WLAN Infrastructure attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Extended P2P Operation attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Extended IBSS attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Extended Mesh attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Cipher Suite Info attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Security Context Info attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Shared-Key Descriptor attribute | NO | NO | NO | NO | NO |
Public Availability attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
Vendor Specific attribute | YES/O | YES/O | YES/O | YES/O | YES/O |
본 문서의 다양한 실시 예에 따르면, 상기 표 6의 service descriptor attribute 혹은 service descriptor extended attribute를 활용하여 서비스 매치 여부를 확인할 수 있다. 표 7은 SDA(service descriptor attribute)를 나타낸 것이다.
표 7을 참조하면, 각 속성은, 서비스 디스커버리 요청의 콘텐트, 선택적 필터 및 선택적 서비스 특정 정보에 따라, 필수적인 필드들 및 선택적 필드를 포함할 수 있다.
Field | Size (Octets) | Value (Hex) | Description |
Attribute ID | 1 | 0x03 | Identifies the type of NAN attribute |
Length | 2 | Variable | Length of the following fields in the attribute. |
Service ID | 6 | Variable | Mandatory field that contains the hash of the Service Name. |
Instance ID | 1 | Variable | Publish_ID or Subscribe_ID Value of zero is reserved |
Requestor Instance ID | 1 | Variable | Instance ID from the frame that triggered the transmission if available, otherwise set to 0x00. |
Service Control | 1 | Variable | Mandatory field that defines the Service Control bitmap as defined in Table 42 |
Binding Bitmap | 0 or 2 | 0x0000 to0xFF FF | Optional field that indicates the binding of the SDA to post discovery connection attributes |
Matching Filter Length | 0 or 1 | Variable | An optional field and present if a matching service discovery filter is used |
Matching Filter | Variable | Variable | An optional field that is a sequence of length and value pairs that identify the matching service discovery filters, refer to Figure 47 |
Service Response Filter Length | 0 or 1 | Variable | An optional field and present if a service response filter is used. |
Service Response Filter | Variable | Variable | An optional field that identifies the matching service response filters, refer to Table 44 |
Service Info Length | 0 or 1 | Variable | An optional field and present if service specific information is used |
Service Info | Variable | Variable | An optional field that contains the service specific information. Its content may be determined by the application and not specified herein. |
본 문서의 다양한 실시 예에 따르면, SDA의 'Service Info' 필드에는 NAN 장치가 수행해야 할 동작에 대한 정보(예: action type 정보)를 포함할 수 있다. 예컨대, 상기 'Service Info' 필드에 포함된 정보를 통해 서비스 디스커버리 동작을 수행하거나 특정 장치들로 구성된 NAN 클러스터에 대한 동기화를 수행할 수 있다.
표 8은 SDEA(service descriptor extension attribute)의 포맷을 나타낸 것이다.
Field | Size (Octets) | Value | Description |
Attribute ID | 1 | 0x0E | Identifies the type of NAN attribute. |
Length | 2 | 0 or 1 | Length of the following fields in the attribute. This is an optional field. |
Instance ID | 1 | Variable | The same value as in the Instance ID field of the associated Service Descriptor attribute. |
Control | 2 | Variable | Information about the fields present. See Table 47. |
Range Limit | 4 | 0 or 4 | Range limit given in centimeters. Refer to Figure 48. This is an optional field. |
Service Update Indicator | 1 | 0 or 2 | Monotonically increasing value indicating the current version of the service specific information corresponding to the publish instance, which may be conveyed by publish messages and/or FSD messages. This is an optional field. |
Service Info Length | 0 or 2 | Variable | Length of the Service Info field. An optional field and present if Service Info field is present. |
Service Info | Variable | Variable | An optional field that contains the service specific information. The format of Service Info field is shown in Table 49. |
표 7 및 8을 참조하면, NAN 특성 정보는 상기 SDA 혹은 상기 SDEA에 기반하여 정의될 수 있다. 예컨대, 상기 SDA 혹은 상기 SDEA의 'service info' 필드에 정보가 포함될 수 있다. 본 문서의 다양한 실시 예에 따르면, 표 7 및 8에서는 공통적으로 service specific information을 정의할 수 있는 'service info' 필드를 포함할 수 있다. 상기 'service info' 필드는 서비스 별로 다양하게 지정하여 사용될 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500)(혹은 제1 NAN 장치(201))는 상기 'service info' 필드를 활용하여 서비스 디스커버리 혹은 NAN 클러스터 동기화를 수행할 수 있는 장치들을 구분하기 위한 정보를 전송할 수 있다. 예컨대, 상기 'service info' 필드에는 서비스 디스커버리 결과에 기반으로 선택된 NAN 장치 정보 또는 동기화된 그룹 ID 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 그룹 ID가 동기화된 장치들은 NAN 클러스터 구성을 유지할 수 있으며, 그룹 ID가 동기화되지 않은 장치들은 해당 장치에서 NAN 라디오를 비 활성화하고 BLE 스캔 동작을 수행하여 전류 소모를 줄일 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 'service info' 필드에 서비스 디스커버리되고 NAN 클러스터에 포함된 서비스 그룹의 장치 정보를 포함할 수 있다. 예컨대, 상기 장치 정보는 해당 장치들의 인터페이스 주소(interface address)(예: NAN management interface address (NMI) 혹은 NAN data interface addresses (NDIs)) 및 해당 장치로부터 수신된 게시 메시지에 포함된 장치 이름(device name)이 포함될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 'service info' 필드에 NAN 클러스터에 포함되는 장치에 대한 정보가 포함되는 것으로 설명하였지만, NAN 라디오를 비 활성화시키고 BLE 스캔 모드의 상태로 복귀해야 할 장치들의 정보도 포함할 수 있다.
도 11은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화하는 동작의 일 예를 도시한 흐름도이다.
도 11을 참조하면, NAN 클러스터(200)는 적어도 하나의 NAN 장치(예: 제1 NAN 장치(201) 또는 제2 NAN 장치(202))를 포함할 수 있다.
1110 동작에서 제2 NAN 장치(202)는 BLE 스캔을 수행할 수 있다. 예컨대, 상기 BLE 스캔은 BLE 통신 모드에서 외부 전자 장치로부터 BLE TDS 패킷의 수신을 대기하는 동작을 포함할 수 있다.
1120 동작에서 제2 NAN 장치(202)는 제1 NAN 장치(201)로부터 BLE TDS 패킷의 수신 여부를 판단할 수 있다.
1120 동작의 수행 결과, 제2 NAN 장치(202)는 상기 BLE TDS 패킷이 수신되지 않는 경우, 1110 동작에서 제2 NAN 장치(202)는 BLE 스캔을 수행할 수 있다.
1120 동작의 수행 결과, 제2 NAN 장치(202)는 상기 BLE TDS 패킷이 수신됨을 확인하면, Wi-Fi 어웨어 통신을 활성화시킬 수 있다. 예컨대, 상기 제2 NAN 장치(202)는 상기 수신된 BLE TDS 패킷을 통해 상기 제1 NAN 장치(201)와 서비스가 매칭됨을 확인하면, NAN 라디오를 활성화시켜 상기 Wi-Fi 어웨어 통신이 가능하게 할 수 있다.
1140 동작에서 제2 NAN 장치(202)는 게시 메시지를 전송하여 외부 전자 장치를 검색하는 게시 기능의 서비스 디스커버리를 수행할 수 있다.
1150 동작에서 제2 NAN 장치(202)는 제1 NAN 장치(201)로부터 서비스 그룹 정보를 포함하는 메시지를 수신할 수 있다. 예컨대, 상기 서비스 그룹 정보는 NAN 통신이 수행되는 특정 NAN 클러스터를 구성하는 전자 장치들의 정보를 포함할 수 있다.
1160 동작에서 제2 NAN 장치(202)는 수신된 서비스 그룹 정보에서 제2 NAN 장치(202)의 정보가 포함되었는지 여부를 확인할 수 있다.
1160 동작의 수행 결과 서비스 그룹 정보에 제2 NAN 장치(202)의 정보가 포함되지 않은 경우, 1161 동작에서 제2 NAN 장치(202)는 NAN 라디오를 비 활성화시켜 Wi-Fi 어웨어 통신을 비 활성화시킬 수 있다.
본 문서의 다양한 실시 예에 따르면, 제2 NAN 장치(202)는 수신된 서비스 그룹 정보에 기반하여 상기 제1 NAN 장치(201)와 Wi-Fi 어웨어 통신을 수행하지 않는 것으로 확인함에 따라 NAN 라디오를 비 활성화시킬 수 있다. 예컨대, 제2 NAN 장치(202)는 Wi-Fi 어웨어 통신이 수행되지 않는 동안 NAN 라디오가 활성화되어 불필요하게 소모되는 전력을 줄일 수 있다.
1160 동작의 수행 결과 서비스 그룹 정보에 제2 NAN 장치(202)의 정보가 포함된 경우, 1170 동작에서 제2 NAN 장치(202)는 서비스 그룹 정보에 포함된 장치들과 NAN 통신을 수행할 수 있다.
도 12는 본 문서의 다양한 실시 예에 따라, NAN 클러스터의 장치들 간에 서비스 디스커버리 재개 동작의 일 예를 도시한 흐름도이다.
도 12를 참조하면, NAN 클러스터(예: 도 2의 NAN 클러스터(200))는 제1 NAN 장치(201), 제2 NAN 장치(202) 및 제3 NAN 장치(203)를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 제1 NAN 장치(201)는 구독 메시지에 대한 응답으로 게시 메시지를 수신하고, 상기 게시 메시지에 포함된 디바이스 정보를 확인할 수 있다. 상기 디바이스 정보는 디바이스 이름, 디바이스 사용자의 사용자 이름, 사용자의 프로필 정보, 사용자의 전화번호 정보, 또는 계정 정보를 포함할 수도 있다.
본 문서의 다양한 실시 예에 따르면, 제1 NAN 장치(201)에서는 상기 디바이스 정보에 기반하여 검색된 NAN 장치들(예: 202, 203 또는 204)의 리스트를 출력하고, 상기 출력된 리스트에서 사용자에 의해 선택된 적어도 하나의 장치를 서비스 대상 장치로 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 제1 NAN 장치(201)에서는 특정 서비스에 대해 설정된 정보에 기반하여 상기 리스트의 출력 없이 상기 서비스 대상 장치를 확인할 수 있다. 예컨대, 제1 NAN 장치(201)에서는 상기 제1 NAN 장치(201)의 계정 정보와 대응하는 계정 정보를 포함하는 장치를 자동으로 서비스 대상 장치로 선택할 수 있다. 상기 제1 NAN 장치(201)와 가족 계정을 사용하는 장치에 대해서 서비스 대상 장치로 자동 선택되는 로직을 사용할 수 있다. 또는, 제1 NAN 장치(201)에서는 전화번호 정보를 기반으로 제1 NAN 장치(201)의 연락처 어플리케이션에 저장되며 특정 관계(예: 가족, 또는 친구)로 설정된 장치에 대해서 자동으로 선택될 수 있다.
1211 동작에서 제1 NAN 장치(201)는 NAN 통신을 통해 제2 NAN 장치(202) 및 제3 NAN 장치(203)로 서비스 그룹 정보를 전송할 수 있다. 예컨대, 상기 서비스 그룹 정보는 사용자 혹은 자동으로 선택된 서비스 대상 장치에 대한 정보를 포함할 수 있다. 상기 서비스 대상 장치에 대해서 별도의 서비스 ID 혹은 그룹 ID가 설정될 수 있다.
1220 동작에서 제3 NAN 장치(203)에서는 수신된 서비스 그룹 정보에 상기 제3 NAN 장치(203)에 대해 설정된 서비스 ID 혹은 그룹 ID의 정보가 포함되지 않은 것으로 확인함에 따라, NAN 통신을 비 활성화시킬 수 있다.
1230 동작에서 제1 NAN 장치(201)는 제2 NAN 장치(202)와 NAN 통신을 수행할 수 있다. 예컨대, 상기 제2 NAN 장치(202)는 수신된 서비스 그룹 정보에서 상기 제2 NAN 장치(202)에 대해 설정된 서비스 ID 혹은 그룹 ID의 정보를 확인하여 상기 제2 NAN 장치(202)에서의 NAN 통신이 활성화된 상태를 유지함에 따라, 상기 제1 NAN 장치(201)와 NAN 통신을 수행할 수 있다.
1240 동작에서 제1 NAN 장치(201)는 서비스 디스커버리를 재개시키기 위해 BLE 통신을 활성화시킬 수 있다. 예컨대, 제1 NAN 장치(201)는 이전의 NAN 클러스터 동기화 동작을 통해 확인된 DW 구간에 도래함에 따라, 서비스 디스커버리를 재개할 수 있다.
1241 동작에서 제1 NAN 장치(201)는 BLE 통신을 통해 제2 NAN 장치(202) 및 제3 NAN 장치(203)로 BLE TDS 어드버타이즈먼트를 전송할 수 있다.
1242 동작에서 제2 NAN 장치(202)는 BLE 스캔 모드를 활성화시킨 상태에서 수신된 BLE TDS 어드버타이즈먼트를 기반으로, 제1 NAN 장치(201)와 서비스가 매치됨을 확인할 수 있다.
1243 동작에서 제3 NAN 장치(203)는 BLE 스캔 모드를 활성화시킨 상태에서 수신된 BLE TDS 어드버타이즈먼트를 기반으로, 제1 NAN 장치(201)와 서비스가 매치됨을 확인할 수 있다.
1253 동작에서 제3 NAN 장치(203)는 제1 NAN 장치(201)와 서비스가 매치됨을 확인함에 따라, NAN 통신을 활성화시킬 수 있다.
1260 동작에서 제1 NAN 장치(201), 제2 NAN 장치(202) 및 제3 NAN 장치(203)는 클러스터 동기화를 수행할 수 있다.
1270 동작에서 제1 NAN 장치(201)는 제2 NAN 장치(202) 및 제3 NAN 장치(203)로 구독 메시지를 포함하는 SDF를 전송할 수 있다.
1281 동작에서 제2 NAN 장치(202)는 구독 메시지를 포함하는 SDF에 대한 응답으로 게시 메시지를 SDF에 포함하여 제1 NAN 장치(201)로 전송할 수 있다.
1282 동작에서 제3 NAN 장치(203)는 구독 메시지를 포함하는 SDF에 대한 응답으로 게시 메시지를 SDF에 포함하여 제1 NAN 장치(201)로 전송할 수 있다.
1290 동작에서 제1 NAN 장치(201)는 수신된 게시 메시지에 기반하여 서비스 디스커버리의 결과를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 제1 NAN 장치(201)는 확인된 서비스 디스커버리의 결과를 출력하여, 사용자에 의해 상기 서비스 디스커버리의 결과에 따른 장치들 중 NAN 통신을 수행할 장치로 선택되거나 지정된 조건을 만족하여 자동으로 선택된 장치를 서비스 대상 장치로 확인할 수 있다.
도 13은 본 문서의 다양한 실시 예에 따른, NAN 통신을 통한 서비스 디스커버리 결과 화면 구성의 일 예를 도시한 도면이다.
도 13을 참조하면, 전자 장치(500)에서는 콘텐트 공유 화면(1300)을 표시할 수 있다. 예컨대, 상기 콘텐트 공유 화면(1300)은 사용자에 의해 공유할 콘텐트가 선택됨에 따라 표시되거나 지정된 메뉴 혹은 기능이 실행됨에 따라 표시될 수 있다.
본 문서의 다양한 실시 예에 따르면, 콘텐트 공유 화면(1300)은 화면 표시 제어 버튼(1310), 서비스 디스커버리 결과 표시 영역(1320), 공유 링크 표시 영역(1330) 또는 공유 서비스 선택 영역(1340)을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 사용자가 화면 표시 제어 버튼(1310)에 지정된 제스처 입력(예: 위/아래 방향의 슬라이드 입력)을 입력함에 따라 상기 콘텐트 공유 화면(1300)이 표시되거나 숨겨지도록 제어할 수 있다.
본 문서의 다양한 실시 예에 따르면, 서비스 디스커버리 결과 표시 영역(1320)은 서비스 디스커버리의 수행에 따라 검색된 적어도 하나의 NAN 장치를 표시할 수 있다. 예컨대, 상기 적어도 하나의 NAN 장치는 NAN SDF 교환을 통해 검색된 주변 장치로서, 상기 전자 장치(500)와의 거리에 따른 순서로 표시될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 서비스 디스커버리 결과 표시 영역(1320)에서는, 상기 콘텐트 공유 화면(1300)이 표시될 때, 주변의 장치가 발견 가능하도록 설정된 경우 상기 주변의 장치의 이름이 표시됨을 알리는 문구("share instantly with people nearby. If they turn on phone visibility, their name will be displayed.")가 표시될 수 있다. 이후, 서비스 디스커버리 수행에 따라, 상기 문구는 발견된 주변 장치들의 목록으로 대체되어 표시될 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500)에서는 서비스 디스커버리를 수행하여 저전력 NAN 통신을 지원하는 장치로서, 'James'(1321), 'Katherine'(1322), 'Song'(1323) 혹은 'Ally'(1324)를 확인하고, 상기 확인된 장치에 해당하는 정보(1321)를 상기 서비스 디스커버리 결과 표시 영역(1320)에 표시할 수 있다.
본 문서의 다양한 실시 예에 따르면, 공유 링크 표시 영역(1330)은 선택된 콘텐트를 공유할 수 있는 링크들의 목록을 표시할 수 있다. 예컨대, 상기 링크들의 목록 중 선택된 특정 링크로 선택된 콘텐트에 대한 정보가 전송될 수 있다.
본 문서의 다양한 실시 예에 따르면, 공유 서비스 선택 영역(1340)은 NAN 통신을 통해 실행 가능한 서비스들의 목록을 포함할 수 있다. 상기 NAN 통신을 통해 실행 가능한 서비스들은, 콘텐트를 장치로 전송(send to device), 스마트 뷰(smart view), 링크 공유(link sharing) 또는 공유 앨범(shared album)을 포함할 수 있다. 예컨대, 상기 서비스들 중 하나가 선택되면, 선택된 콘텐트에 대해 상기 선택된 서비스와 관련된 기능이 수행될 수 있다.
본 문서의 다양한 실시 예에 따르면, 사용자가 상기 서비스 디스커버리 결과 표시 영역(1320)에 표시된 장치들 중 적어도 하나(예: 'James'(1321) 또는 'Katherine'(1322))를 선택하면, 전자 장치(500)는 상기 선택된 장치들에 대한 정보를 포함하는 서비스 그룹 정보 메시지를 상기 서비스 디스커버리 결과 표시 영역(1320)에 표시된 장치들로 전송할 수 있다. 예컨대, 상기 선택된 장치들은 별도의 서비스 그룹 ID 정보로 설정되며, 상기 서비스 그룹 ID는 상기 서비스 그룹 정보 메시지에 포함될 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 서비스 그룹 정보 메시지를 수신한 전자 장치에서는, 상기 서비스 그룹 정보 메시지에 해당 전자 장치에 대한 정보가 포함되지 않은 경우(예를 들어, 'James'(1321) 또는 'Katherine'(1322)를 제외한 장치들), NAN 통신이 비활성화되도록 제어할 수 있다. 예컨대, 상기 서비스 그룹 정보 메시지에 해당 전자 장치에 대한 정보가 포함된 경우, 전자 장치(500)와 상기 전자 장치(500)에서 선택된 콘텐트에 대해 선택된 서비스와 관련된 기능을 수행할 수 있다.
도 14는 본 문서의 다양한 실시 예에 따른 전자 장치에서 NAN 통신 비 활성화 동작의 일 예를 도시한 흐름도이다.
도 14를 참조하면, 1410 동작에서 전자 장치(500)(또는 제1 NAN 장치(201))는 Wi-Fi 어웨어 서비스 시작을 확인할 수 있다. 예컨대, 전자 장치(500)는 사용자로부터 NAN 통신을 통한 콘텐트 공유 요청이 수신됨에 따라, 상기 Wi-Fi 어웨어 서비스가 시작된 것으로 확인할 수 있다.
1420 동작에서 전자 장치(500)는 BLE TDS 패킷을 전송할 수 있다. 상기 BLE TDS 패킷은 서비스 정보 및 서비스 그룹 정보를 포함할 수 있다.
1430 동작에서 전자 장치(500)는 Wi-Fi 어웨어 통신을 활성화시킬 수 있다. 예컨대, 전자 장치(500)는 상기 수신된 BLE TDS 패킷의 서비스 정보가 상기 전자 장치(500)와 매치됨을 확인하고, 상기 서비스 그룹 정보에 상기 전자 장치(500)와 관련된 정보가 포함됨에 따라 NAN 라디오를 활성화시켜 Wi-Fi 어웨어 통신을 활성화시킬 수 있다.
1440 동작에서 전자 장치(500)는 구독 기능의 서비스 디스커버리를 수행할 수 있다. 예컨대, 상기 전자 장치(500)는 구독 메시지를 NAN 클러스터 내 장치로 전송하여 서비스 디스커버리를 수행할 수 있다.
1450 동작에서 전자 장치(500)는 Wi-Fi 어웨어 서비스의 종료를 확인할 수 있다. 예컨대, 상기 서비스와 관련하여 지정된 버튼(예: 뒤로 가기 버튼) 혹은 메뉴가 선택되거나 지정된 시간 이내에 Wi-Fi 어웨어 서비스에 대한 사용자 입력이 수신되지 않거나 상기 서비스가 완료된 것으로 확인되는 경우, 상기 전자 장치(500)에서는 Wi-Fi 어웨어 서비스 실행이 종료된 것으로 확인할 수 있다.
1460 동작에서 전자 장치(500)는 NAN 클러스터 내 장치들로 서비스 종료 메시지를 전송할 수 있다.
1470 동작에서 전자 장치(500)는 Wi-Fi 어웨어 통신을 비 활성화시킬 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 서비스 종료 메시지를 수신한 NAN 장치는, NAN 통신이 종료된 것으로 확인하여 해당 장치에서 NAN 통신이 비 활성화되도록 제어할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500)는 상기 서비스 종료 메시지에 기반하여 NAN 통신(또는, Wi-Fi 어웨어 통신)이 비 활성화되도록 제어함에 따라, 서비스가 종료되었음에도 BLE TDS 패킷이 불필요하게 전송되지 않도록 제어할 수 있다.
도 15는 본 문서의 다양한 실시 예에 따른 NAN 통신 비 활성화 동작의 일 예를 도시한 흐름도이다.
도 15를 참조하면, NAN 클러스터(예: 도 2의 NAN 클러스터(200))는 제1 NAN 장치(201), 제2 NAN 장치(202) 및 제3 NAN 장치(203)를 포함할 수 있다.
1510 동작에서 제1 NAN 장치(201)는 NAN 통신을 통한 Wi-Fi 어웨어 서비스 실행의 취소 명령(또는 종료 명령)을 확인할 수 있다. 예컨대, 상기 제1 NAN 장치(201)에서는 상기 Wi-Fi 어웨어 서비스의 실행을 취소 또는 종료시키기 위한 미리 지정된 입력 수신 또는 버튼 입력을, 상기 NAN 통신을 통한 Wi-Fi 어웨어 서비스 실행의 취소 명령(또는 종료 명령)으로 확인할 수 있다.
1520 동작에서 제1 NAN 장치(201)는 NAN 통신을 통해 NAN 클러스터(200) 내의 제2 NAN 장치(202) 혹은 제3 NAN 장치(203)로 서비스 취소(또는 종료) 메시지를 전송할 수 있다. 예컨대, 상기 서비스 취소(또는 종료) 메시지는 상기 제1 NAN 장치(201)에서 NAN 통신을 통한 콘텐트 공유 기능의 수행이 취소(또는 종료)됨을 알리는 정보를 포함할 수 있다.
1531 동작에서 제2 NAN 장치(202)는 서비스 취소(또는 종료) 메시지를 수신함에 따라, NAN 라디오를 비 활성화시켜 NAN 통신이 비 활성화되도록 제어할 수 있다.
1532 동작에서 제3 NAN 장치(203)는 서비스 취소(또는 종료) 메시지를 수신함에 따라, NAN 라디오를 비 활성화시켜 NAN 통신이 비 활성화되도록 제어할 수 있다.
도 16은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화시키는 동작의 일 예를 도시한 흐름도이다.
본 문서의 다양한 실시 예에 따르면, NAN 클러스터(예: 도 2의 NAN 클러스터(200))는 제1 NAN 장치(201), 제2 NAN 장치(202) 및 제3 NAN 장치(203)를 포함할 수 있다. 예를 들어, 도 16은 제3 NAN 장치(203)가 NAN 통신을 비활성화시키는 동작일 수 있다.
도 16을 참조하면, 1610 동작에서 제3 NAN 장치(203)는 BLE 스캔을 수행할 수 있다.
1620 동작에서 제3 NAN 장치(203)는 제1 NAN 장치(201)로부터 BLE TDS 패킷을 수신할 수 있다. 예컨대, 상기 BLE TDS 패킷은 상기 제1 NAN 장치(201)의 서비스 정보를 포함할 수 있다.
1630 동작에서 제3 NAN 장치(203)는 상기 BLE TDS 패킷을 기반으로 제1 NAN 장치(201)와 서비스가 매칭됨을 확인함에 따라 Wi-Fi 어웨어 서비스를 활성화시킬 수 있다. 예컨대, 상기 제3 NAN 장치(203)는 상기 BLE TDS 패킷에 포함된 서비스 정보에 기반하여 상기 제1 NAN 장치(201)와 서비스 매칭 여부를 판단할 수 있다.
1640 동작에서 제3 NAN 장치(203)는 서비스 디스커버리 수행할 수 있다. 예컨대, 상기 제3 NAN 장치(203)는 제1 NAN 장치(201)로부터 구독 메시지를 포함하는 SDF를 수신함에 따라, 상기 구독 메시지에 대한 응답으로 게시 메시지를 포함하는 SDF를 전송하여 상기 서비스 디스커버리를 수행할 수 있다.
1650 동작에서 제3 NAN 장치(203)는 BLE TDS 패킷이 수신되고 경과된 시간에 대한 타이머를 구동시킬 수 있다. 예컨대, 상기 1650 동작이 서비스 디스커버리를 수행하는 1640 동작 이후에 수행되는 것으로 설명하였지만, BLE TDS 패킷을 수신하는 1620 동작 이후에 수행될 수 있다.
1660 동작에서 제3 NAN 장치(203)는 지정된 시간 이내에 BLE TDS 패킷이 수신되는지를 판단할 수 있다.
1660 동작의 수행 결과, 지정된 시간 이내에 BLE TDS 패킷이 수신되지 않는 경우, 1671 동작에서 제3 NAN 장치(203)는 Wi-Fi 어웨어 통신을 비 활성화시킬 수 있다.
1660 동작의 수행 결과, 지정된 시간 이내에 BLE TDS 패킷이 수신되는 경우, 1670 동작에서 제3 NAN 장치(203)는 BLE TDS 패킷의 유효 시간이 만료되었는지 여부를 판단할 수 있다. 예컨대, 상기 BLE TDS 패킷은 유효 시간 정보를 포함하며, 상기 제3 NAN 장치(203)는 상기 유효 시간 정보와 현재 시간을 비교하여 수신된 BLE TDS 패킷이 유효한지 여부를 판단할 수 있다.
1670 동작의 수행 결과, BLE TDS 패킷의 유효 시간이 만료되지 않은 경우, 1661 동작에서 제3 NAN 장치(203)는 Wi-Fi 어웨어 통신이 활성화된 상태를 유지시킬 수 있다.
1670 동작의 수행 결과, BLE TDS 패킷의 유효 시간이 만료된 경우, 1671 동작에서 제3 NAN 장치(203)는 Wi-Fi 어웨어 통신을 비 활성화시킬 수 있다.
도 17은 본 문서의 다양한 실시 예에 따른 NAN 클러스터에서 NAN 통신을 비 활성화시키는 동작의 일 예를 도시한 흐름도이다.
도 17을 참조하면, NAN 클러스터(예: 도 2의 NAN 클러스터(200))는 제1 NAN 장치(201), 제2 NAN 장치(202) 및 제3 NAN 장치(203)를 포함할 수 있다.
1710 동작에서 제1 NAN 장치(201)는 NAN 통신을 통해 구독 메시지를 포함하는 SDF를 제2 NAN 장치(202) 또는 제3 NAN 장치(203)로 전송할 수 있다.
1721 동작에서 제2 NAN 장치(202)는 NAN 통신을 통해 상기 구독 메시지에 응답하는 게시 메시지를 포함하는 SDF를 제1 NAN 장치(201)로 전송할 수 있다.
1722 동작에서 제3 NAN 장치(203)는 NAN 통신을 통해 상기 구독 메시지에 응답하는 게시 메시지를 포함하는 SDF를 제1 NAN 장치(201)로 전송할 수 있다.
1730 동작에서 제1 NAN 장치(201)는 수신된 게시 메시지에 기반하여 서비스 디스커버리 결과를 확인하고, 상기 서비스 디스커버리로 확인된 장치들 중 서비스 대상 장치의 선택을 확인할 수 있다. 예컨대, 상기 서비스 디스커버리로 확인된 장치들은 상기 구독 메시지에 대응하는 게시 메시지를 전송한 전자 장치들을 포함할 수 있다.
1740 동작에서 제3 NAN 장치(203)는 BLE 통신을 통해 전송되는 게시 메시지가 전송된 후 경과된 시간에 대한 타이머를 구동시킬 수 있다. 본 문서의 다양한 실시 예에 따르면, 제2 NAN 장치(202)에서는 BLE 통신을 통해 전송되는 게시 메시지가 전송된 후 경과된 시간에 대한 타이머를 구동시킬 수 있다. 예컨대, 제2 NAN 장치(202)에서는 상기 타이머가 만료되기 이전에 제1 NAN 장치(201)로부터 서비스 그룹 메시지가 수신되면 상기 타이머의 구동을 중지시킬 수 있다.
1750 동작에서 제1 NAN 장치(201)는 서비스 대상 장치에 대한 추가 서비스 디스커버리를 수행할 수 있다. 예를 들어, 제1 NAN 장치(201)는 제2 NAN 장치(202)로부터 수신한 게시 메시지에 기반하여 제2 NAN 장치(202)를 서비스 대상 장치로 선택할 수 있다.
1760 동작에서 제1 NAN 장치(201)는 NAN 통신을 통해 서비스 그룹 정보를 포함하는 서비스 그룹 정보 메시지를 제2 NAN 장치(202) 및 제3 NAN 장치(203)로 전송할 수 있다. 예컨대, 상기 서비스 그룹 정보는 상기 추가 서비스 디스커버리의 결과로 검색된 전자 장치들 중 서비스 대상 장치로 선택된 장치의 정보를 포함할 수 있다.
1770 동작에서 제1 NAN 장치(201)와 서비스 그룹 정보를 수신한 제2 NAN 장치(202)는 NAN 통신을 수행할 수 있다.
1771 동작에서 제3 NAN 장치(203)의 NAN 통신 모듈에서는 구동된 타이머가 종료될 때까지 서비스 그룹 정보 메시지가 수신되지 않으면, 상기 서비스 그룹 정보 메시지의 수신이 실패됨을 확인할 수 있다.
1780 동작에서 제3 NAN 장치(203)의 NAN 통신 모듈에서는 상기 서비스 그룹 정보 메시지의 수신이 실패됨을 알리는 정보를 제3 NAN 장치(203)의 BLE 통신 모듈로 전달할 수 있다.
1781 동작에서 제3 NAN 장치(203)의 BLE 통신 모듈에서는 서비스 그룹 정보 메시지의 수신 실패를 확인함에 따라 타이머 구동을 종료시킬 수 있다.
1782 동작에서 제3 NAN 장치(203)는 NAN 통신을 비 활성화시킬 수 있다.
일 실시 예에 따르면, 제3 NAN 장치(203)는 1740에서 구동 시킨 타이머가 만료되기 전에 제1 NAN 장치(201)로부터 서비스 그룹 정보 메시지가 수신되지 않으면, 상기 제3 NAN 장치(203)가 NAN 통신의 서비스 대상 장치로 선택되지 않은 것으로 판단하여, NAN 통신을 비 활성화시킬 수 있다.
본 문서의 다양한 실시 예에 따르면, 1760 동작의 수행에 따라 제1 NAN 장치(201)에서 제3 NAN 장치(203)로 서비스 그룹 정보 메시지가 전송되며, 상기 제3 NAN 장치(203)는 일정 시간 이내에 상기 서비스 그룹 정보 메시지를 수신할 수 있다. 예컨대, 상기 수신된 서비스 그룹 정보 메시지에 상기 제3 NAN 장치(203)와 관련된 정보가 포함되지 않은 것으로 확인하면, 1782 동작에서 상기 제3 NAN 장치(203)의 BLE 통신 모듈은 상기 제3 NAN 장치(203)의 NAN 통신 모듈로 NAN 통신의 비 활성화를 요청하도록 제어할 수 있다. 예를 들어, 제3 NAN 장치(203)는 동작 1740에서 구동된 타이머를 종료 시키고, NAN 통신이 비 활성화되도록 제어할 수 있다.
도 18은 본 문서의 다양한 실시 예에 따른 NAN 장치에서 NAN 통신을 비 활성화하는 동작 일 예를 도시한 흐름도이다.
도 18을 참조하면, 1810 동작에서 전자 장치(500)(또는 제1 NAN 장치(201))는 복수의 외부 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN 클러스터(200)를 구성할 수 있다.
1820 동작에서 전자 장치(500)는 서비스 디스커버리 요청에 응답하여, 복수의 외부 전자 장치와 제1 통신 프로토콜(예: NAN 통신 모드)에 기반하여 동작하는 동안, 복수의 외부 전자 장치 중 서비스 대상 장치를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(500)에서는 서비스 디스커버리 요청에 따라 상기 복수의 외부 전자 장치를 발견하기 위한 서비스 디스커버리를 수행할 수 있다. 예컨대, 상기 서비스 대상 장치는 상기 서비스 디스커버리 결과에 따라 확인된 장치들 중 사용자가 선택한 장치 또는 미리 지정된 조건에 따라 자동으로 선택되는 적어도 하나의 장치를 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 상기 서비스 대상 장치를 확인함에 따라, 상기 복수의 외부 전자 장치들로 상기 서비스 대상 장치를 포함하는 서비스 그룹 정보 메시지를 상기 복수의 외부 전자 장치들로 전송하는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 상기 복수의 외부 전자 장치들에 대한 정보를 표시하는 동작 및 사용자에 의해 상기 표시된 복수의 외부 전자 장치들 중 상기 서비스 대상 장치에 대한 선택 입력을 확인함에 따라, 상기 서비스 그룹 정보 메시지를 전송하는 동작을 더 포함할 수 있다.
1830 동작에서 전자 장치(500)는 복수의 외부 전자 장치 중 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치가 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 제어할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 콘텐트 공유에 대한 수행 취소 입력을 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 서비스 취소 메시지를 상기 복수의 외부 전자 장치들로 전송하는 동작을 더 포함할 수 있다. 예컨대, 상기 콘텐트 공유에 대한 수행 취소 입력은, 지정된 버튼 입력 또는 지정된 사용자 입력을 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되는 동안 상기 제1 통신 프로토콜보다 저전력으로 동작하는 제2 통신 프로토콜을 기반으로 서비스 디스커버리를 수행하는 동작을 더 포함할 수 있다. 예컨대, 상기 제1 통신 프로토콜은 NAN 통신 프로토콜이며, 상기 제2 통신 프로토콜은 BLE(Bluetooth low energy) 통신 프로토콜일 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(예: 전자 장치(104), 제2 NAN 장치(202) 또는 제3 NAN 장치(203))에서의 서비스 디스커버리 방법은, 제1 전자 장치(예: 전자 장치(101 또는 500) 혹은 제1 NAN 장치(201))와 제1 통신 프로토콜에 기반하여 통신하는 NAN 클러스터를 구성하는 동작, 상기 제1 전자 장치로 서비스 디스커버리 요청을 전송하는 동작, 상기 서비스 디스커버리 요청을 전송함에 따라, 상기 제1 전자 장치로부터 서비스 그룹 정보를 수신하는 동작, 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되는지 여부를 확인하는 동작 및 상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되지 않은 것으로 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하는 동작을 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 상기 서비스 디스커버리 요청이 전송된 후 상기 서비스 그룹 정보가 수신될 때까지의 시간을 확인하는 동작 및 상기 확인된 시간이 지정된 값을 초과함에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 제어하는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 서비스 디스커버리 방법은, 상기 제1 전자 장치로부터 서비스 취소 메시지를 수신하는 동작 및 상기 서비스 취소 메시지의 수신에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 제어하는 동작을 더 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (20)
- 전자 장치에 있어서,
적어도 하나의 통신 모듈;
상기 적어도 하나의 통신 모듈과 작동적으로 연결되는 프로세서; 및
상기 적어도 하나의 통신 모듈 및 상기 프로세서와 작동적으로 연결되는 메모리;를 포함하고,
상기 메모리는, 실행 시에, 상기 프로세서가,
상기 적어도 하나의 통신 모듈을 통해, 복수의 외부 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN(neighbor awareness network) 클러스터를 구성하고,
서비스 디스커버리 요청에 응답하여, 상기 복수의 외부 전자 장치들과 상기 제1 통신 프로토콜에 기반하여 동작하는 동안, 상기 복수의 외부 전자 장치들 중 서비스 대상 장치를 확인하고,
상기 서비스 대상 장치를 확인함에 따라, 상기 적어도 하나의 통신 모듈을 통해, 상기 복수의 외부 전자 장치 중 상기 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치가 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 인스트럭션들을 저장하는, 전자 장치.
- 제1항에 있어서,
상기 인스트럭션들은 상기 프로세서가,
상기 서비스 대상 장치를 확인함에 따라, 상기 복수의 외부 전자 장치들로 상기 서비스 대상 장치를 포함하는 서비스 그룹 정보 메시지를 상기 복수의 외부 전자 장치들로 전송하도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는, 전자 장치.
- 제2항에 있어서,
표시 장치;를 더 포함하며,
상기 인스트럭션들은 상기 프로세서가,
상기 복수의 외부 전자 장치들에 대한 정보를 표시하도록 상기 표시 장치를 제어하고,
사용자에 의해 상기 표시 장치를 통한 상기 복수의 외부 전자 장치들 중 상기 서비스 대상 장치에 대한 선택 입력을 확인함에 따라, 상기 서비스 그룹 정보 메시지를 전송하도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는, 전자 장치.
- 제1항에 있어서,
상기 인스트럭션들은 상기 프로세서가,
콘텐트 공유에 대한 수행 취소 입력을 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 서비스 취소 메시지를 상기 복수의 외부 전자 장치들로 전송하도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는, 전자 장치.
- 제4항에 있어서,
상기 콘텐트 공유에 대한 수행 취소 입력은, 지정된 버튼 입력 또는 지정된 사용자 입력을 포함하는, 전자 장치.
- 제1항에 있어서,
상기 인스트럭션들은 상기 프로세서가,
상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되는 동안 상기 제1 통신 프로토콜보다 저전력으로 동작하는 제2 통신 프로토콜을 기반으로 상기 서비스 디스커버리를 수행하도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는, 전자 장치.
- 제6항에 있어서,
상기 제1 통신 프로토콜은 NAN 통신 프로토콜이며, 상기 제2 통신 프로토콜은 BLE(Bluetooth low energy) 통신 프로토콜인, 전자 장치.
- 전자 장치에 있어서,
적어도 하나의 통신 모듈;
상기 적어도 하나의 통신 모듈과 작동적으로 연결되는 프로세서; 및
상기 적어도 하나의 통신 모듈 및 상기 프로세서와 작동적으로 연결되는 메모리;를 포함하고,
상기 메모리는, 실행 시에, 상기 프로세서가,
상기 적어도 하나의 통신 모듈을 통해, 제1 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN(neighbor awareness network) 클러스터를 구성하고,
상기 제1 전자 장치로 서비스 디스커버리 요청을 전송하도록 상기 적어도 하나의 통신 모듈을 제어하고,
상기 서비스 디스커버리 요청을 전송함에 따라, 상기 제1 전자 장치로부터 서비스 그룹 정보를 수신하고,
상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되는지 여부를 확인하고,
상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되지 않은 것으로 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는 인스트럭션들을 저장하는, 전자 장치.
- 제8항에 있어서,
상기 인스트럭션들은 상기 프로세서가,
상기 서비스 디스커버리 요청이 전송된 후 상기 서비스 그룹 정보가 수신될 때까지의 시간을 확인하고,
상기 확인된 시간이 지정된 값을 초과함에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는, 전자 장치.
- 제8항에 있어서,
상기 인스트럭션들은 상기 프로세서가,
상기 적어도 하나의 통신 모듈을 통해 상기 제1 전자 장치로부터 서비스 취소 메시지를 수신하고,
상기 서비스 취소 메시지의 수신에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 상기 적어도 하나의 통신 모듈을 제어하도록 하는, 전자 장치.
- 전자 장치에서의 서비스 디스커버리 방법에 있어서,
복수의 외부 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN(neighbor awareness network) 클러스터를 구성하는 동작;
서비스 디스커버리 요청에 응답하여, 상기 복수의 외부 전자 장치들과 상기 제1 통신 프로토콜에 기반하여 동작하는 동안, 상기 복수의 외부 전자 장치들 중 서비스 대상 장치를 확인하는 동작; 및
상기 서비스 대상 장치를 확인함에 따라, 상기 복수의 외부 전자 장치 중 상기 서비스 대상 장치를 제외한 적어도 하나의 외부 전자 장치가 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 제어하는 동작;을 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제11항에 있어서,
상기 서비스 대상 장치를 확인함에 따라, 상기 복수의 외부 전자 장치들로 상기 서비스 대상 장치를 포함하는 서비스 그룹 정보 메시지를 상기 복수의 외부 전자 장치들로 전송하는 동작;을 더 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제12항에 있어서,
상기 복수의 외부 전자 장치들에 대한 정보를 표시하는 동작; 및
사용자에 의해 상기 표시된 복수의 외부 전자 장치들 중 상기 서비스 대상 장치에 대한 선택 입력을 확인함에 따라, 상기 서비스 그룹 정보 메시지를 전송하는 동작;을 더 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제11항에 있어서,
콘텐트 공유에 대한 수행 취소 입력을 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하도록 하는 서비스 취소 메시지를 상기 복수의 외부 전자 장치들로 전송하는 동작;을 더 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제14항에 있어서,
상기 콘텐트 공유에 대한 수행 취소 입력은, 지정된 버튼 입력 또는 지정된 사용자 입력을 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제11항에 있어서,
상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되는 동안 상기 제1 통신 프로토콜보다 저전력으로 동작하는 제2 통신 프로토콜을 기반으로 상기 서비스 디스커버리를 수행하도록 제어하는 동작;을 더 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제16항에 있어서,
상기 제1 통신 프로토콜은 NAN 통신 프로토콜이며, 상기 제2 통신 프로토콜은 BLE(Bluetooth low energy) 통신 프로토콜인, 전자 장치에서의 서비스 디스커버리 방법.
- 전자 장치에서의 서비스 디스커버리 방법에 있어서,
제1 전자 장치와 제1 통신 프로토콜에 기반하여 통신하는 NAN(neighbor awareness network) 클러스터를 구성하는 동작;
상기 제1 전자 장치로 서비스 디스커버리 요청을 전송하는 동작;
상기 서비스 디스커버리 요청을 전송함에 따라, 상기 제1 전자 장치로부터 서비스 그룹 정보를 수신하는 동작;
상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되는지 여부를 확인하는 동작; 및
상기 서비스 그룹 정보에 상기 전자 장치에 대한 정보가 포함되지 않은 것으로 확인하면, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능을 비 활성화하는 동작;을 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제18항에 있어서,
상기 서비스 디스커버리 요청이 전송된 후 상기 서비스 그룹 정보가 수신될 때까지의 시간을 확인하는 동작; 및
상기 확인된 시간이 지정된 값을 초과함에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 제어하는 동작;을 더 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
- 제18항에 있어서,
상기 제1 전자 장치로부터 서비스 취소 메시지를 수신하는 동작; 및
상기 서비스 취소 메시지의 수신에 따라, 상기 제1 통신 프로토콜과 관련된 적어도 하나의 기능이 비 활성화되도록 제어하는 동작;을 더 포함하는, 전자 장치에서의 서비스 디스커버리 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190122108A KR20210039643A (ko) | 2019-10-02 | 2019-10-02 | 전자 장치 및 전자 장치에서의 서비스 디스커버리 수행 방법 |
EP20871811.4A EP4021038A4 (en) | 2019-10-02 | 2020-09-23 | ELECTRONIC DEVICE AND METHOD FOR PERFORMING SERVICE DISCOVERY IN AN ELECTRONIC DEVICE |
PCT/KR2020/012826 WO2021066380A1 (ko) | 2019-10-02 | 2020-09-23 | 전자 장치 및 전자 장치에서의 서비스 디스커버리 수행 방법 |
US17/677,510 US11765245B2 (en) | 2019-10-02 | 2022-02-22 | Electronic device and method for performing service discovery in electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190122108A KR20210039643A (ko) | 2019-10-02 | 2019-10-02 | 전자 장치 및 전자 장치에서의 서비스 디스커버리 수행 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210039643A true KR20210039643A (ko) | 2021-04-12 |
Family
ID=75337138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190122108A KR20210039643A (ko) | 2019-10-02 | 2019-10-02 | 전자 장치 및 전자 장치에서의 서비스 디스커버리 수행 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11765245B2 (ko) |
EP (1) | EP4021038A4 (ko) |
KR (1) | KR20210039643A (ko) |
WO (1) | WO2021066380A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024080635A1 (ko) * | 2022-10-14 | 2024-04-18 | 삼성전자 주식회사 | Nan 통신을 설정하는 전자 장치 및 전자 장치의 동작 방법 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3912415A4 (en) * | 2019-11-25 | 2022-03-16 | SZ DJI Technology Co., Ltd. | METHOD AND SYSTEM FOR MONITORING AN UNMANNED AIRCRAFT |
US20230422010A1 (en) * | 2022-06-27 | 2023-12-28 | Texas Instruments Incorporated | Ble channel aware operation parameters |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9226231B2 (en) | 2013-01-30 | 2015-12-29 | Qualcomm Incorporated | Systems and methods for monitoring the size of a wireless network |
US9380119B2 (en) * | 2013-12-16 | 2016-06-28 | Nokia Technologies Oy | Method, apparatus, and computer program product for network discovery |
US9398437B2 (en) | 2013-12-16 | 2016-07-19 | Nokia Technologies Oy | Method, apparatus, and computer program product for service discovery in wireless short-range communication |
US9386512B2 (en) * | 2014-05-02 | 2016-07-05 | Intel Corporation | Techniques for energy efficient WiFi neighbor awareness network operation |
US9661445B2 (en) * | 2014-05-02 | 2017-05-23 | Qualcomm Incorporated | Methods and apparatus for integrating bluetooth devices into neighbor aware networks |
US9554344B2 (en) * | 2014-05-02 | 2017-01-24 | Intel Corporation | Bluetooth assisted NAN cluster discovery |
KR102246267B1 (ko) * | 2014-11-25 | 2021-04-29 | 삼성전자주식회사 | 근접 네트워크 구성 방법 및 그 전자 장치 |
KR102251326B1 (ko) | 2014-11-25 | 2021-05-12 | 삼성전자주식회사 | 근접 네트워크 구성 방법 및 그 전자 장치 |
KR102208438B1 (ko) * | 2014-11-26 | 2021-01-27 | 삼성전자주식회사 | 근접 서비스 데이터 송신 방법 및 그 전자 장치 |
US9955523B2 (en) * | 2014-12-01 | 2018-04-24 | Intel Corporation | Adaptively changing availability of NAN devices for post NAN activities |
US9801039B2 (en) * | 2015-01-08 | 2017-10-24 | Intel Corporation | Apparatus, system and method of communication data between awareness networking devices |
US10117161B2 (en) | 2016-01-25 | 2018-10-30 | Intel IP Corporation | Station (STA) and method for ranging in neighborhood awareness network (NAN) communication |
WO2017146461A1 (ko) | 2016-02-24 | 2017-08-31 | 엘지전자 주식회사 | 페이징 기법에 따른 이웃 인식 네트워크를 위한 방법 및 이를 이용한 무선 단말 |
JP7130364B2 (ja) | 2017-10-31 | 2022-09-05 | キヤノン株式会社 | 通信装置、制御方法、およびプログラム |
JP7112203B2 (ja) * | 2018-01-31 | 2022-08-03 | キヤノン株式会社 | 通信装置、制御方法、及びプログラム |
-
2019
- 2019-10-02 KR KR1020190122108A patent/KR20210039643A/ko active IP Right Grant
-
2020
- 2020-09-23 WO PCT/KR2020/012826 patent/WO2021066380A1/ko active Application Filing
- 2020-09-23 EP EP20871811.4A patent/EP4021038A4/en active Pending
-
2022
- 2022-02-22 US US17/677,510 patent/US11765245B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024080635A1 (ko) * | 2022-10-14 | 2024-04-18 | 삼성전자 주식회사 | Nan 통신을 설정하는 전자 장치 및 전자 장치의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2021066380A1 (ko) | 2021-04-08 |
EP4021038A4 (en) | 2022-10-19 |
US20220182453A1 (en) | 2022-06-09 |
EP4021038A1 (en) | 2022-06-29 |
US11765245B2 (en) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11445433B2 (en) | Method of transmitting proximity service data and electronic device for the same | |
CN107079277B (zh) | 用于在邻近网络中传送和接收信号的方法及其电子装置 | |
KR102383383B1 (ko) | 전자 장치 및 전자 장치의 Wi-Fi 다이렉트 그룹 형성 방법 | |
EP3026945B1 (en) | Preparation of a post-operation in a neighbor awarness network | |
US11419182B2 (en) | Electronic device supporting link sharing and method therefor | |
KR102490415B1 (ko) | 전자 장치 및 전자 장치의 전력 제어 방법 | |
US11765245B2 (en) | Electronic device and method for performing service discovery in electronic device | |
US10009746B2 (en) | Method for synchronizing proximity network and electronic device thereof | |
EP2911417B1 (en) | Method for communicating with neighbor device, electronic device and storage medium | |
US11601793B2 (en) | Electronic device supporting proximity communication service and method for obtaining information of short-range communication device using the same | |
CN110855534B (zh) | 在智能家庭系统中用于搜索和控制受控者的方法和设备 | |
KR20210053532A (ko) | Nan 기반의 클러스터 머징 방법 및 이를 지원하는 전자 장치 | |
KR20200052673A (ko) | 무선 네트워크에서 근접한 장치들 간 통신 방법 및 장치 | |
US11323880B2 (en) | Method for wireless connection and electronic device therefor | |
US20200367016A1 (en) | Electronic device for performing ranging operation and operation method thereof | |
KR20210097544A (ko) | 근거리 무선 통신 방법 및 장치 | |
KR20210050398A (ko) | 전자 장치와 연결되지 않은 외부 전자 장치로 데이터를 전송하는 전자 장치 및 전자 장치의 동작 방법 | |
US11234113B2 (en) | Electronic device and method for providing service by electronic device | |
KR102663265B1 (ko) | 전자 장치 및 전자 장치의 nan 기반의 통신 제어 방법 | |
KR102238897B1 (ko) | 근접 서비스 데이터 송신 방법 및 그 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |