KR101680675B1 - 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치 - Google Patents

직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR101680675B1
KR101680675B1 KR1020157015598A KR20157015598A KR101680675B1 KR 101680675 B1 KR101680675 B1 KR 101680675B1 KR 1020157015598 A KR1020157015598 A KR 1020157015598A KR 20157015598 A KR20157015598 A KR 20157015598A KR 101680675 B1 KR101680675 B1 KR 101680675B1
Authority
KR
South Korea
Prior art keywords
service
search
wireless device
name
asp
Prior art date
Application number
KR1020157015598A
Other languages
English (en)
Other versions
KR20150095674A (ko
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 엘지전자 주식회사
Publication of KR20150095674A publication Critical patent/KR20150095674A/ko
Application granted granted Critical
Publication of KR101680675B1 publication Critical patent/KR101680675B1/ko

Links

Images

Classifications

    • 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
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • 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/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices
    • 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
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Abstract

본 발명은 무선 통신 시스템에 대한 것으로, 서비스 탐색 및 광고 수행 방법이 개시된다. 이를 위한, 제 1 무선 디바이스의 서비스 탐색 수행 방법은, 해시 값을 포함하는 프로브 요청 프레임을 전송하는 단계; 제 2 무선 디바이스로부터 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 수신하는 단계; 상기 제 2 무선 디바이스로 검색어를 포함하는 서비스 탐색 요청 프레임을 전송하는 단계; 및 상기 제 2 무선 디바이스로부터 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 수신하는 단계를 포함할 수 있다. 이때, 상기 검색어에 기 설정된 기호가 덧붙여져 있으면, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함할 수 있다.

Description

직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치{METHOD FOR SEARCHING FOR SERVICE OR ADVERTISING IN DIRECT COMMUNICATION SYSTEM AND DEVICE THEREFOR}
이하의 설명은 무선 통신 시스템에 대한 것으로, 보다 구체적으로는 직접 통신 시스템에서 서비스를 탐색 또는 광고하는 방법 및 장치에 대한 것이다.
최근 정보통신 기술의 발전과 더불어 다양한 무선 통신 기술이 개발되고 있다. 이 중에서 무선랜(WLAN)은 무선 주파수 기술을 바탕으로 개인 휴대용 정보 단말기(Personal Digital Assistant; PDA), 랩탑 컴퓨터, 휴대용 멀티미디어 플레이어(Portable Multimedia Player; PMP)등과 같은 휴대용 단말기를 이용하여 가정이나 기업 또는 특정 서비스 제공지역에서 무선으로 인터넷에 액세스할 수 있도록 하는 기술이다.
기존의 무선랜 시스템에서 기본적으로 요구되는 무선 액세스 포인트(AP) 없이, 디바이스(device)들이 서로 용이하게 연결할 수 있도록 하는 직접 통신 기술로서, 와이파이 다이렉트(Wi-Fi Direct) 또는 Wi-Fi P2P(peer-to-peer)의 도입이 논의되고 있다. 와이파이 다이렉트에 의하면 복잡한 설정과정을 거치지 않고도 디바이스들이 연결될 수 있고, 사용자에게 다양한 서비스를 제공하기 위해서, 일반적인 무선랜 시스템의 통신 속도로 서로 데이터를 주고 받는 동작을 지원할 수 있다.
최근 다양한 Wi-Fi 지원 디바이스들이 이용되며, 그 중에서도 AP 없이 Wi-Fi 디바이스간 통신이 가능한 Wi-Fi Direct 지원 디바이스의 개수가 증가하고 있다. WFA(Wi-Fi Alliance)에서는 Wi-Fi Direct 링크를 이용한 다양한 서비스(예를 들어, 전송(Send), 플레이(Play), 디스플레이(Display), 프린트(Print) 등)을 지원하는 플랫폼을 도입하는 기술이 논의되고 있다. 이를 와이파이 다이렉트 서비스(WFDS)라고 칭할 수 있다. WFDS에 따르면, 어플리케이션, 서비스 등은 ASP(Application Service Platform)이라는 서비스 플랫폼에 의해서 제어 또는 관리될 수 있다.
본 발명은 WFDS 시스템에서 서비스를 탐색하거나 광고하는 방법을 제공하는 것을 목적으로 한다. 구체적으로, 본 발명에서는 서비스 탐색 또는 광고를 위한 WFDS 디바이스의 ASP 제어 방안 또는 관리 방안을 제공하는 것을 목적으로 한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기의 기술적 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 제 1 무선 디바이스의 서비스 탐색 방법은, 해시 값을 포함하는 프로브 요청 프레임을 전송하는 단계; 제 2 무선 디바이스로부터 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 수신하는 단계; 상기 제 2 무선 디바이스로 검색어를 포함하는 서비스 탐색 요청 프레임을 전송하는 단계; 및 상기 제 2 무선 디바이스로부터 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 수신하는 단계를 포함할 수 있다.
이때, 상기 검색어에 기 설정된 기호가 덧붙여져 있는 경우, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함할 수 있다.
본 발명의 일 실시예에 따른 제 1 무선 디바이스의 서비스 광고 방법은, 제 2 무선 디바이스로부터 해시 값을 포함하는 프로브 요청 프레임을 수신하는 단계; 상기 제 2 무선 디바이스로 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 전송하는 단계; 상기 제 2 무선 디바이스로부터 검색어를 포함하는 서비스 탐색 요청 프레임을 수신하는 단계; 및 상기 제 1 무선 디바이스로 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 전송하는 단계를 포함할 수 있다.
이때, 상기 검색어에 기 설정된 기호가 덧붙여져 있는 경우, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함할 수 있다.
상기의 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 서비스 탐색을 수행하는 제 1 무선 디바이스는 송수신기; 및 프로세서를 포함하되, 상기 프로세서는 해시 값을 포함하는 프로브 요청 프레임을 전송하도록 상기 송수신기를 제어하고, 상기 송수신기가 제 2 무선 디바이스로부터 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 수신하면, 상기 송수신기가 상기 제 2 무선 디바이스로 검색어를 포함하는 서비스 탐색 요청 프레임을 전송하고, 상기 제 2 무선 디바이스로부터 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 수신하도록 제어할 수 있다.
이때, 상기 검색어에 기 설정된 기호가 덧붙여져 있는 경우, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함할 수 있다.
상기의 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 서비스 탐색을 수행하는 제 2 무선 디바이스는 송수신기; 및 프로세서를 포함하되, 상기 송수신기가 제 2 무선 디바이스로부터 해시 값을 포함하는 프로브 요청 프레임을 수신하면, 상기 프로세서는, 상기 송수신기가 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 상기 제 2 무선 디바이스로 전송하도록 제어하고, 상기 송수신기가 상기 제 2 무선 디바이스로부터 검색어를 포함하는 서비스 탐색 요청 프레임을 수신하면, 상기 프로세서는, 상기 송수신기가 상기 검석어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 상기 제 2 무선 디바이스로 전송하도록 제어할 수 있다.
이때, 상기 검색어에 기 설정된 기호가 덧붙여져 있는 경우, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함할 수 있다.
본 발명에 대하여 전술한 일반적인 설명과 후술하는 상세한 설명은 예시적인 것이며, 청구항 기재 발명에 대한 추가적인 설명을 위한 것이다.
본 발명에 따르면, WFDS 시스템에서 서비스를 탐색하거나 광고하는 방법 및 장치가 제공될 수 있다. 구체적으로, 본 발명에서는 서비스 탐색 또는 광고를 위한 WFDS 디바이스의 ASP 제어 방안 또는 관리 방안이 제공될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 첨부되는 도면은 본 발명에 대한 이해를 제공하기 위한 것으로서 본 발명의 다양한 실시형태들을 나타내고 명세서의 기재와 함께 본 발명의 원리를 설명하기 위한 것이다.
도 1 은 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 예시적인 구조를 나타내는 도면이다.
도 2는 Wi-Fi Direct 네트워크를 예시한다.
도 3은 WFD 네트워크를 구성하는 과정을 설명하기 위한 도면이다.
도 4는 이웃 발견 과정을 설명하기 위한 도면이다.
도 5는 WFD 네트워크의 새로운 양상을 설명하기 위한 도면이다.
도 6은 WFD 통신을 위한 링크를 설정하는 방법을 설명하기 위한 도면이다.
도 7은 WFD를 하고 있는 통신 그룹에 참가(association)하는 방법을 설명하기 위한 도면이다.
도 8은 WFD 통신을 위한 링크를 설정하는 방법을 설명하기 위한 도면이다.
도 9는 WFD 통신 그룹에 참가하는 링크를 설정하는 방법을 설명하기 위한 도면이다.
도 10은 WFDS 프레임워크 구성요소를 설명하기 위한 도면이다.
도 11은 WFDS 동작을 설명하기 위한 도면이다.
도 12는 ASP와 서비스간 메소드 및 이벤트의 전송 예를 도시한 도면이다.
도 13 내지 도 15는 서비스 탐색 및 ASP 세션 셋업 동작의 흐름도이다.
도 16은 본 발명의 일 실시예에 따른 무선 디바이스의 구성을 나타내는 블록도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
이하의 실시예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시된다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
본 발명의 실시예들은 무선 액세스 시스템들인 IEEE 802 시스템, 3GPP 시스템, 3GPP LTE 및 LTE-A(LTE-Advanced)시스템, 3GPP2 시스템 및 Wi-Fi Alliance(WFA) 시스템 중 적어도 하나에 개시된 표준 문서들에 의해 뒷받침될 수 있다. 즉, 본 발명의 실시예들 중 본 발명의 기술적 사상을 명확히 드러내기 위해 설명하지 않은 단계들 또는 부분들은 상기 문서들에 의해 뒷받침될 수 있다. 또한, 본 문서에서 개시하고 있는 모든 용어들은 상기 표준 문서에 의해 설명될 수 있다.
이하의 기술은 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) 등과 같은 다양한 무선 액세스 시스템에 사용될 수 있다. CDMA는 UTRA(Universal Terrestrial Radio Access)나 CDMA2000과 같은 무선 기술(radio technology)로 구현될 수 있다. TDMA는 GSM(Global System for Mobile communications)/GPRS(General Packet Radio Service)/EDGE(Enhanced Data Rates for GSM Evolution)와 같은 무선 기술로 구현될 수 있다. OFDMA는 IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE S02-20, E-UTRA(Evolved UTRA) 등과 같은 무선 기술로 구현될 수 있다. 명확성을 위하여 이하에서는 IEEE 802.11 시스템을 위주로 설명하지만 본 발명의 기술적 사상이 이에 제한되는 것은 아니다.
WLAN 시스템의 구조
도 1 은 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 예시적인 구조를 나타내는 도면이다.
IEEE 802.11 구조는 복수개의 구성요소들로 구성될 수 있고, 이들의 상호작용에 의해 상위 레이어에 대해 트랜스패런트한 STA 이동성을 지원하는 WLAN이 제공될 수 있다. 기본 서비스 세트(Basic Service Set; BSS)는 IEEE 802.11 LAN에서의 기본적인 구성 블록에 해당할 수 있다. 도 1 에서는 2 개의 BSS(BSS1 및 BSS2)가 존재하고 각각의 BSS의 멤버로서 2 개의 STA이 포함되는 것(STA1 및 STA2는 BSS1에 포함되고, STA3 및 STA4는 BSS2에 포함됨)을 예시적으로 도시한다. 도 1 에서 BSS를 나타내는 타원은 해당 BSS에 포함된 STA들이 통신을 유지하는 커버리지 영역을 나타내는 것으로도 이해될 수 있다. 이 영역을 BSA(Basic Service Area)라고 칭할 수 있다. STA이 BSA 밖으로 이동하게 되면 해당 BSA 내의 다른 STA들과 직접적으로 통신할 수 없게 된다.
IEEE 802.11 LAN에서 가장 기본적인 타입의 BSS는 독립적인 BSS(Independent BSS; IBSS)이다. 예를 들어, IBSS는 2 개의 STA만으로 구성된 최소의 형태를 가질 수 있다. 또한, 가장 단순한 형태이고 다른 구성요소들이 생략되어 있는 도 1 의 BSS(BSS1 또는 BSS2)가 IBSS의 대표적인 예시에 해당할 수 있다. 이러한 구성은 STA들이 직접 통신할 수 있는 경우에 가능하다. 또한, 이러한 형태의 LAN은 미리 계획되어서 구성되는 것이 아니라 LAN이 필요한 경우에 구성될 수 있으며, 이를 애드-혹(ad-hoc) 네트워크라고 칭할 수도 있다.
STA의 켜지거나 꺼짐, STA이 BSS 영역에 들어오거나 나감 등에 의해서, BSS에서의 STA의 멤버십이 동적으로 변경될 수 있다. BSS의 멤버가 되기 위해서는, STA은 동기화 과정을 이용하여 BSS에 조인할 수 있다. BSS 기반구조의 모든 서비스에 액세스하기 위해서는, STA은 BSS에 연관(associated)되어야 한다. 이러한 연관(association)은 동적으로 설정될 수 있고, 분배시스템서비스(Distribution System Service; DSS)의 이용을 포함할 수 있다.
레이어 구조
무선랜 시스템에서 동작하는 STA의 동작은 레이어(layer) 구조의 관점에서 설명할 수 있다. 장치 구성의 측면에서 레이어 구조는 프로세서에 의해서 구현될 수 있다. STA는 복수개의 레이어 구조를 가질 수 있다. 예를 들어, 802.11 표준문서에서 다루는 레이어 구조는 주로 DLL(Data Link Layer) 상의 MAC 서브레이어(sublayer) 및 물리(PHY) 레이어다. PHY은 PLCP(Physical Layer Convergence Procedure) 개체, PMD(Physical Medium Dependent) 개체 등을 포함할 수 있다. MAC 서브레이어 및 PHY은 각각 MLME(MAC sublayer Management Entity) 및 PLME((Physical Layer Management Entity)라고 칭하여지는 관리 개체들을 개념적으로 포함한다. 이러한 개체들은 레이어 관리 기능이 작동하는 레이어 관리 서비스 인터페이스를 제공한다.
정확한 MAC 동작을 제공하기 위해서, SME(Station Management Entity) 가 각각의 STA 내에 존재한다. SME는, 별도의 관리 플레인 내에 존재하거나 또는 따로 떨어져(off to the side) 있는 것으로 보일 수 있는, 레이어 독립적인 개체이다. SME의 정확한 기능들은 본 문서에서 구체적으로 설명하지 않지만, 일반적으로는 다양한 레이어 관리 개체(LME)들로부터 레이어-종속적인 상태를 수집하고, 레이어-특정 파라미터들의 값을 유사하게 설정하는 등의 기능을 담당하는 것으로 보일 수 있다. SME는 일반적으로 일반 시스템 관리 개체를 대표하여(on behalf of) 이러한 기능들을 수행하고, 표준 관리 프로토콜을 구현할 수 있다.
전술한 개체들은 다양한 방식으로 상호작용한다. 예를 들어, 개체들 간에는 GET/SET 프리머티브(primitive)들을 교환(exchange)함으로써 상호작용할 수 있다. 프리머티브는 특정 목적에 관련된 요소(element)나 파라미터들의 세트를 의미한다. XX-GET.request 프리머티브는 주어진 MIB attribute(관리 정보 기반 속성 정보)의 값을 요청하기 위해 사용된다. XX-GET.confirm 프리머티브는, Status가 "성공"인 경우에는 적절한 MIB 속성 정보 값을 리턴하고, 그렇지 않으면 Status 필드에서 에러 지시를 리턴하기 위해 사용된다. XX-SET.request 프리머티브는 지시된 MIB 속성이 주어진 값으로 설정되도록 요청하기 위해 사용된다. 상기 MIB 속성이 특정 동작을 의미하는 경우, 이는 해당 동작이 수행되는 것을 요청하는 것이다. 그리고, XX-SET.confirm 프리머티브는 status가 "성공"인 경우에 지시된 MIB 속성이 요청된 값으로 설정되었음을 확인하여 주고, 그렇지 않으면 status 필드에 에러 조건을 리턴하기 위해 사용된다. MIB 속성이 특정 동작을 의미하는 경우, 이는 해당 동작이 수행되었음을 확인하여 준다.
또한, MLME 및 SME는 다양한 MLME_GET/SET 프리머티브들을 MLME_SAP(Service Access Point)을 통하여 교환할 수 있다. 또한, 다양한 PLME_GET/SET 프리머티브들이, PLME_SAP을 통해서 PLME와 SME 사이에서 교환될 수 있고, MLME-PLME_SAP을 통해서 MLME와 PLME 사이에서 교환될 수 있다.
무선랜의 진화
무선랜(WLAN) 기술에 대한 표준은 IEEE(Institute of Electrical and Electronics Engineers) 802.11 그룹에서 개발되고 있다. IEEE 802.11a 및 b는 2.4.GHz 또는 5GHz에서 비면허 대역(unlicensed band)을 이용하고, IEEE 802.11b는 11Mbps의 전송 속도를 제공하고, IEEE 802.11a는 54 Mbps의 전송 속도를 제공한다. IEEE 802.11g는 2.4GHz에서 직교 주파수 분할 다중화(Orthogonal Frequency Division Multiplexing, OFDM)를 적용하여 54Mbps의 전송 속도를 제공한다. IEEE 802.11n은 다중입출력 OFDM(Multiple Input Multiple Output-OFDM, MIMO-OFDM)을 적용하여 300Mbps의 전송 속도를 제공한다. IEEE 802.11n은 채널 대역폭(channel bandwidth)을 40 MHz까지 지원하며, 이 경우 600Mbps의 전송 속도를 제공한다.
IEEE 802.11e에 따른 무선랜 환경에서의 DLS(Direct Link Setup) 관련 프로토콜은 BSS(Basic Service Set)가 QoS(Quality of Service)를 지원하는 QBSS(Quality BSS)를 전제로 한다. QBSS에서는 비-AP(Non-AP) STA 뿐만 아니라 AP도 QoS를 지원하는 QAP(Quality AP)이다. 그런데, 현재 상용화되어 있는 무선랜 환경(예를 들어, IEEE 802.11a/b/g 등에 따른 무선랜 환경)에서는 비록 Non-AP STA이 QoS를 지원하는 QSTA(Quality STA)이라고 하더라도 AP는 QoS를 지원하지 못하는 레거시(Legacy) AP가 대부분이다. 그 결과, 현재 상용화되어 있는 무선랜 환경에서는 QSTA이라고 하더라도 DLS 서비스를 이용할 수가 없는 한계가 있다.
터널 다이렉트 링크 설정(Tunneled Direct Link Setup; TDLS)은 이러한 한계를 극복하기 위하여 새롭게 제안된 무선 통신 프로토콜이다. TDLS는 QoS를 지원하지는 않지만 현재 상용화된 IEEE 802.11a/b/g 등의 무선랜 환경에서도 QSTA들이 다이렉트 링크를 설정할 수 있도록 하는 것과 전원 절약 모드(Power Save Mode; PSM)에서도 다이렉트 링크의 설정이 가능하도록 하는 것이다. 따라서 TDLS는 레거시 AP가 관리하는 BSS에서도 QSTA들이 다이렉트 링크를 설정할 수 있도록 하기 위한 제반 절차를 규정한다. 그리고 이하에서는 이러한 TDLS를 지원하는 무선 네트워크를 TDLS 무선 네트워크라고 한다.
와이파이 다이렉트 네트워크
종래의 무선랜은 무선 액세스 포인트(AP)가 허브로서 기능하는 인프라스트럭쳐(infrastructure) BSS에 대한 동작을 주로 다루었다. AP는 무선/유선 연결을 위한 물리 레이어 지원 기능과, 네트워크 상의 디바이스들에 대한 라우팅 기능과, 디바이스를 네트워크에 추가/제거하기 위한 서비스 제공 등을 담당한다. 이 경우, 네트워크 내의 디바이스들은 AP를 통하여 연결되는 것이지, 서로간에 직접 연결되는 것은 아니다.
디바이스들 간의 직접 연결을 지원하는 기술로서 와이파이 다이렉트(Wi-Fi Direct) 표준의 제정이 완료되었다.
도 2는 WFD(Wi-Fi Direct) 네트워크를 예시한다. WFD 네트워크는 Wi-Fi 장치들이 홈 네트워크, 오피스 네트워크 및 핫스팟 네트워크에 참가하지 않아도, 서로 디바이스-대-디바이스(Device to Device; D2D)(혹은, Peer-to-Peer; P2P) 통신을 수행할 수 있는 네트워크로서 Wi-Fi 연합(Alliance)에 의해 제안되었다. 이하, WFD 기반 통신을 WFD D2D 통신(간단히, D2D 통신) 혹은 WFD P2P 통신(간단히, P2P 통신)이라고 지칭한다. 또한, WFD P2P 수행 디바이스를 WFD P2P 디바이스, 간단히 P2P 디바이스 또는 피어(Peer) 디바이스라고 지칭한다.
도 2를 참조하면, WFD 네트워크(200)는 제1 P2P 디바이스(202) 및 제2 P2P 디바이스 (204)를 포함하는 적어도 하나의 Wi-Fi 디바이스를 포함할 수 있다. P2P 디바이스는 디스플레이 장치, 프린터, 디지털 카메라, 프로젝터 및 스마트 폰 등 Wi-Fi를 지원하는 디바이스들을 포함한다. 또한, P2P 디바이스는 Non-AP STA 및 AP STA를 포함한다. 도시된 예에서, 제1 P2P 디바이스(202)는 휴대폰이고 제2 P2P 디바이스 (204)는 디스플레이 장치이다. WFD 네트워크 내의 P2P 디바이스들은 서로 직접 연결될 수 있다. 구체적으로, P2P 통신은 두 P2P 디바이스들간의 신호 전송 경로가 제3의 디바이스(예를 들어, AP) 또는 기존 네트워크(예를 들어, AP를 거쳐 WLAN에 접속)를 거치지 않고 해당 P2P 디바이스들간에 직접 설정된 경우를 의미할 수 있다. 여기서, 두 P2P 디바이스들 간에 직접 설정된 신호 전송 경로는 데이터 전송 경로로 제한될 수 있다. 예를 들어, P2P 통신은 복수의 Non-STA들이 AP를 거치지 않고 데이터(예, 음성/영상/문자 정보 등)를 전송하는 경우를 의미할 수 있다. 제어 정보(예, P2P 설정을 위한 자원 할당 정보, 무선 디바이스 식별 정보 등)를 위한 신호 전송 경로는 P2P 디바이스들(예를 들어, Non-AP STA-대-Non-AP STA, Non-AP STA-대-AP) 간에 직접 설정되거나, AP를 경유하여 두 P2P 디바이스들(예를 들어, Non-AP STA-대-Non-AP STA) 간에 설정되거나, AP와 해당 P2P 디바이스(예를 들어, AP-대-Non-AP STA#1, AP-대-Non-AP STA#2) 간에 설정될 수 있다.
도 3은 WFD 네트워크를 구성하는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, WFD 네트워크 구성 과정은 크게 두 과정으로 구분될 수 있다. 첫 번째 과정은 이웃 발견 과정(Neighbor Discovery, ND, procedure)이고(S302a), 두 번째 과정은 P2P 링크 설정 및 통신 과정이다(S304). 이웃 발견 과정을 통해, P2P 디바이스(예를 들어, 도 2의 202)는 (자신의 무선) 커버리지 내의 다른 이웃 P2P 디바이스(예를 들어, 도 2의 204)를 찾고 해당 P2P 디바이스와의 연관(association), 예를 들어 사전-연관(pre-association)에 필요한 정보를 획득할 수 있다. 여기서, 사전-연관은 무선 프로토콜에서 제2 레이어 사전-연관을 의미할 수 있다. 사전-연관에 필요한 정보는 예를 들어 이웃 P2P 디바이스에 대한 식별 정보 등을 포함할 수 있다. 이웃 발견 과정은 가용 무선 채널 별로 수행될 수 있다(S302b). 이후, P2P 디바이스(202)는 다른 P2P 디바이스(204)와 WFD P2P 링크 설정/통신을 위한 과정을 수행할 수 있다. 예를 들어, P2P 디바이스(202)는 주변 P2P 디바이스(204)에 연관된 후, 해당 P2P 디바이스(204)가 사용자의 서비스 요구 사항을 만족하지 못하는 P2P 디바이스인지 판단할 수 있다. 이를 위해, P2P 디바이스(202)는 주변 P2P 디바이스(204)와 제2 레이어 사전-연관 후 해당 P2P 디바이스(204)를 검색할 수 있다. 만약, 해당 P2P 디바이스(204)가 사용자의 서비스 요구 사항을 만족하지 못하는 경우, P2P 디바이스(202)는 해당 P2P 디바이스(204)에 대해 설정된 제2 레이어 연관을 끊고 다른 P2P 디바이스와 제2 레이어 연관을 설정할 수 있다. 반면, 해당 P2P 디바이스(204)가 사용자의 서비스 요구 사항을 만족하는 경우, 두 P2P 디바이스(202 및 204)는 P2P 링크를 통해 신호를 송수신할 수 있다.
도 4는 이웃 발견 과정을 설명하기 위한 도면이다. 도 4의 예시는 도 3에서 P2P 디바이스(202)와 P2P 디바이스(204) 사이의 동작으로 이해될 수 있다.
도 4를 참조하면, 도 3의 이웃 발견 과정은 SME(Station Management Entity)/어플리케이션/사용자/벤더의 지시에 의해 개시될 수 있고(S410), 스캔 단계(scan phase)(S412)와 찾기 단계(find phase)(S414-S416)로 나눠질 수 있다. 스캔 단계(S412)는 가용한 모든 무선 채널에 대해 802.11 방식에 따라 스캔하는 동작을 포함한다. 이를 통해, P2P 디바이스는 최상의 동작 채널을 확인할 수 있다. 찾기 단계(S414-S416)는 청취(listen) 모드 (S414)와 검색(search) 모드 (S416)를 포함하며, P2P 디바이스는 청취 모드(S414)와 검색 모드(S416)를 교대로 반복한다. P2P 디바이스(202, 204)는 검색 모드(S416)에서 프로브 요청 프레임(Probe request frame)을 사용하여 능동 검색을 실시하며, 빠른 검색을 위하여 검색 범위를 채널 1, 6, 11(예를 들어, 2412, 2437, 2462MHz)의 소셜 채널(social channel)로 한정할 수 있다. 또한, P2P 디바이스(202, 204)는 청취 모드(S414)에서 3개의 소셜 채널 중 하나의 채널만을 선택하여 수신 상태로 유지한다. 이 때, 다른 P2P 디바이스(예, 202)가 검색 모드에서 전송한 프로브 요청 프레임이 수신된 경우, P2P 디바이스(예를 들어, 204)는 프로브 응답 프레임(probe response frame)으로 응답한다. 청취 모드(S414) 시간은 랜덤하게 주어질 수 있다(예를 들어, 100, 200, 300 TU(Time Unit)). P2P 디바이스는 검색 모드와 수신 모드를 계속 반복하다 서로의 공통 채널에 도달할 수 있다. P2P 디바이스는 다른 P2P 디바이스를 발견한 후 해당 P2P 디바이스에 선택적으로 결합하기 위해, 프로브 요청 프레임과 프로브 응답 프레임을 사용하여 디바이스 타입, 제작사 또는 친근한 디바이스 명칭(name)을 발견/교환할 수 있다. 이웃 발견 과정을 통해 주변 P2P 디바이스를 발견하고 필요한 정보를 얻은 경우, P2P 디바이스(예를 들어, 202)는 SME/어플리케이션/사용자/벤더에게 P2P 디바이스 발견을 알릴 수 있다(S418).
현재, P2P는 주로 원격 프린트, 사진 공유 등과 같은 반-정적(semi-static) 통신을 위해 사용되고 있다. 그러나, Wi-Fi 디바이스의 보편화와 위치 기반 서비스 등으로 인해, P2P의 활용성은 점점 넓어지고 있다. 예를 들어, 소셜 채팅(예를 들어, SNS(Social Network Service)에 가입된 무선 디바이스들이 위치 기반 서비스에 기초해서 근접 지역의 무선 디바이스를 인식하고 정보를 송수신), 위치-기반 광고 제공, 위치-기반 뉴스 방송, 무선 디바이스간 게임 연동 등에 P2P가 활발히 사용될 것으로 예상된다. 편의상, 이러한 P2P 응용을 신규 P2P 응용이라고 지칭한다.
도 5는 WFD 네트워크의 새로운 양상을 설명하기 위한 도면이다.
도 5의 예시는 신규 P2P 응용(예를 들어, 소셜 채팅, 위치-기반 서비스 제공, 게임 연동 등)이 적용되는 경우의 WFD 네트워크 양상으로 이해될 수 있다.
도 5를 참조하면, WFD 네트워크에서 다수의 P2P 디바이스들(502a-502d)이 P2P 통신(510)을 수행하며, P2P 디바이스의 이동에 의해 WFD 네트워크를 구성하는 P2P 디바이스(들)이 수시로 변경되거나, WFD 네트워크 자체가 동적/단시간적으로 새로 생성되거나 소멸될 수 있다. 이와 같이, 신규 P2P 응용 부분의 특징은 밀집(dense) 네트워크 환경에서 상당히 다수의 P2P 디바이스간에 동적/단시간적으로 P2P 통신이 이뤄지고 종료될 수 있다는 점이다.
도 6은 WFD 통신을 위한 링크를 설정하는 방법을 설명하기 위한 도면이다.
도 6a에 도시된 바와 같이, 제1 STA(610, 이하, A라고 지칭한다)은 기존의 WFD 통신에서 그룹 오너(Group Owner)로서 동작 중에 있다. 기존 WFD 통신의 그룹 클라이언트(630)과의 통신 중에 A(610)가 새로운 WFD 통신 대상인, WFD 통신을 하고 있지 않는, 제2 STA(620, 이하, B라고 지칭한다)를 발견한 경우, A(610)는 B(620)와의 링크 설정을 시도한다. 이 경우, 새로운 WFD 통신은 A(610)과 B(620)간의 WFD 통신이고, A는 그룹 오너이므로, 기존의 그룹 클라이언트(630)의 통신과 별개로 통신 설정을 진행할 수 있다. 하나의 WFD 그룹에는 1개의 그룹 오너와 1개 이상의 그룹 클라이언트로 구성될 수 있기 때문에, 1개의 그룹 오너인 A(610)를 만족하므로, 도 6b에 도시된 바와 같이, WFD 링크가 설정될 수 있다. 이 경우, A(610)이 기존의 WFD 통신 그룹에 B(620)를 초대(invitation)한 경우이며, WFD 통신 특성상, A(610)와 B(620), A(610)와 기존의 그룹 클라이언트(630) 간의 WFD 통신은 각각 가능하나, B(620)와 기존 그룹 클라이언트(630) 간의 WFD 통신은 지원되지 않는다. 둘 다 그룹 클라이언트이기 때문이다.
도 7은 WFD를 하고 있는 통신 그룹에 참가(association)하는 방법을 설명하기 위한 도면이다.
도 7a에 도시된 바와 같이, 제1 STA(710, 이하 A라고 지칭한다)는 그룹 클라이언트(730)에 대하여 그룹 오너로서 통신 중에 있으며, 제2 STA(720, 이하 B라고 지칭한다)는 그룹 클라이언트(740)에 대하여 그룹 오너로서 통신 중에 있다. 도 7b에 도시된 바와 같이, A(710)은 기존의 WFD 통신을 종료(termination) 하고, B(720)가 속한 WFD 통신 그룹에 참가(association)할 수 있다. A(710)는 B(720)가 그룹 오너이므로, B의 그룹 클라이언트가 된다. A(710)는 B(720)에 연관을 요청하기 전에 기존의 WFD 통신을 종료하는 것이 바람직하다.
도 8은 WFD 통신을 위한 링크를 설정하는 방법을 설명하기 위한 도면이다.
도 8a에 도시된 바와 같이, 제2 STA(820, 이하 B라고 지칭한다)는 기존의 WFD 통신에서 그룹 오너(Group Owner)로서 동작 중에 있다. 기존의 WFD 통신에서 그룹 클라이언트(830)과 WFD 통신 중에 있는 경우, B(820)을 발견한, WFD 통신을 하고 있지 않는 제1 STA(810, 이하 A라고 지칭한다)가 B(820)와의 새로운 WFD 통신을 위해 링크 설정을 시도한다. 이 경우 B(820)가 링크 설정을 수락한 경우, A(810) 및 B(820) 간의 새로운 WFD 통신 링크가 설정되며, A(810)은 기존 B(820)의 WFD 그룹의 클라이언트로서 동작하게 된다. 이러한 경우, A(810)가 B(820)의 WFD 통신 그룹에 참가(association)한 경우가 된다. A(810)은 오직 그룹 오너인 B(820)와 WFD 통신할 수 있으며, A(810)와 기존 WFD 통신의 클라이언트(830) 간의 WFD 통신은 지원되지 않는다. 둘 다 그룹 클라이언트이기 때문이다.
도 9는 WFD 통신 그룹에 참가하는 링크를 설정하는 방법을 설명하기 위한 도면이다.
도 9a에 도시된 바와 같이, 제1 STA(910, 이하 A라고 한다)는 그룹 오너(930)에 대하여 그룹 클라이언트로서 WFD 통신 중에 있다. 이 때, 또 다른 WFD 통신의 그룹 클라이언트(940)에 대하여 그룹 오너로서 통신 중이 제2 STA(920, 이하 B라고 한다)를 발견한 A(910)은 그룹 오너(930)과의 링크를 종료(termination)하고, B(920)의 Wi-Fi Direct에 참가할 수 있다.
와이파이 다이렉트 서비스(WFDS)
와이파이 다이렉트는 링크 레이어(Link layer)의 동작까지 정의하는 네트워크 연결 표준 기술이다. 와이파이 다이렉트에 의해서 구성된 링크의 상위 레이어에서 동작하는 어플리케이션에 대한 표준이 정의되어 있지 않기 때문에, 와이파이 다이렉트를 지원하는 디바이스들이 서로 연결된 후에 어플리케이션을 구동하는 경우의 호환성을 지원하기가 어려웠다. 이러한 문제를 해결하기 위해서, 와이파이 다이렉트 서비스(WFDS)라는 상위 레이어 어플리케이션의 동작에 대한 표준화가 와이파이 얼라이언스(WFA)에서 논의중이다.
도 10은 WFDS 프레임워크 구성요소를 설명하기 위한 도면이다.
도 10의 Wi-Fi Direct 레이어는, 와이파이 다이렉트 표준에 의해서 정의되는 MAC 레이어를 의미한다. Wi-Fi Direct 레이어는 와이파이 다이렉트 표준과 호환되는 소프트웨어로서 구성될 수 있다. Wi-Fi Direct 레이어의 하위에는 WiFi PHY와 호환되는 물리 레이어(미도시)에 의해서 무선 연결이 구성될 수 있다. Wi-Fi Direct 레이어의 상위에 ASP(Application Service Platform)이라는 플랫폼이 정의된다.
ASP는 서비스가 필요로 하는 기능들을 실행하는 논리 개체이다. ASP는 공통 공유 플랫폼(common shared platform)이며, 그 상위의 어플리케이션(Application) 레이어와 그 하위의 Wi-Fi Direct 레이어 사이에서 디바이스 탐색(Device Discovery), 서비스 탐색(Service Discovery), ASP 세션 관리(ASP Session management), 접속 토폴로지 관리(Connection topology management) 및 보안(Security) 등의 태스크를 처리할 수 있다.
ASP의 상위에는 서비스(Service) 레이어가 정의된다. 서비스 레이어는 용도(use case) 특정 서비스들을 포함한다. WFDS에서는 4개의 기본 서비스인 전송(Send), 플레이(Play), 디스플레이(Display), 프린트(Print) 서비스를 정의한다. WFDS에서 정의하는 4개의 기본 서비스를 간략히 설명하면, 먼저, Send는 두 WFDS 디바이스간 파일 전송을 수행할 수 있는 서비스 및 어플리케이션을 의미한다. 전송 서비스는 피어 기기들 사이의 파일을 전송하기 위한 것이라는 점에서, 파일 전송 서비스(File Transfer Service, FTS)라 호칭될 수도 있다. Play는 두 WFDS 디바이스간 DLNA(Digital Living Network Alliance)를 기반으로 하는 오디오/비디오(A/V), 사진, 음악 등을 공유 또는 스트리밍하는 서비스 및 어플리케이션을 의미한다. Print는 문서, 사진 등의 콘텐츠를 가지고 있는 디바이스와 프린터 사이에서 문서, 사진 출력을 가능하게 하는 서비스 및 어플리케이션을 의미한다. Display는 WFA의 미라캐스트(Miracast) 소스와 싱크 사이에 화면 공유를 가능하게 하는 서비스 및 어플리케이션을 의미한다.
도 10에 도시된 인에이블(Enable) API(Application Program Interface)는 WFDS에서 정하는 기본 서비스 외에 서드파티(3rd party) 어플리케이션을 지원하는 경우에 ASP 공통 플랫폼을 이용할 수 있도록 하기 위해서 정의된다. 서드 파티 어플리케이션을 위해 정의되는 서비스는 하나의 어플리케이션에서만 이용될 수도 있고, 다양한 어플리케이션에서 일반적으로(또는 공통적으로) 이용될 수도 있다.
이하, 설명의 편의를 위해, WFDS에 의해 정의된 서비스는 WFDS 서비스, WFA가 아닌 서드 파티에 의해 새롭게 정의되는 서비스는 인에이블 서비스라 호칭하기로 한다.
어플리케이션 레이어는 사용자 인터페이스(UI)를 제공할 수 있으며, 정보를 사람이 인식 가능한 형태로 표현하고 사용자의 입력을 하위 레이어에 전달하는 등의 기능을 수행한다.
도 11은 WFDS 동작을 설명하기 위한 도면이다.
도 11에서는 2 개의 피어(peer) 디바이스 A 및 B가 존재하는 것으로 가정한다.
ASP는 서비스들이 필요로 하는 공통된 기능들을 구현하는 논리적인 개체(logical entity)이다. 이러한 기능들은 디바이스 발견(Device Discovery), 서비스 발견(Service Discovery), ASP-세션 관리, 연결 토폴로지(topology) 관리, 보안 등을 포함할 수 있다.
ASP-세션은 디바이스 A의 ASP와 디바이스 B의 ASP 간의 논리적인 링크이다. ASP-세션을 시작하기 위해서 피어 디바이스들 간의 P2P(Peer-to-Peer) 연결이 필요하다. ASP는 두 디바이스 간에 복수개의 ASP-세션들을 셋업할 수 있다. 각각의 ASP-세션은, ASP-세션을 요구하는 ASP에 의해서 할당되는 세션 식별자에 의해서 식별될 수 있다.
서비스는, 다른 서비스들 또는 어플리케이션에게 ASP를 이용하여 용도 특정 기능들을 제공하는 논리적인 개체이다. 하나의 디바이스의 서비스는 하나 이상의 다른 디바이스의 대응하는 서비스와, 서비스-특정 프로토콜(이는 서비스 표준 및 ASP 프로토콜에 의해서 정의될 수 있음)을 이용하여 통신할 수 있다.
ASP와 서비스 간의 인터페이스는 메소드(Method) 및 이벤트(Event)로 정의된다. Method는 서비스에 의해서 개시되는 동작을 나타내고, Method의 파라미터(또는 필드)에는 수행하려는 동작에 대한 정보가 포함될 수 있다. Event는 ASP로부터 서비스로 정보를 제공한다.
일예로, 도 12는 ASP와 서비스간 메소드 및 이벤트의 전송 예를 도시한 도면이다.
서비스가 메소드 콜을 행하면, 메소드 콜 반환 값으로 제한된 정보가 서비스에게 반환된다. 모든 메소드 콜은 즉시 반환되는 것이 원칙이다. 이에 따라, 서비스로 반환되는 값은 메소드 콜 반환의 지연을 야기하는 네트워크를 통해 획득된 정보 또는 유저로부터 획득된 정보에 의존적이지 않아야 한다.
ASP는 이벤트를 통해 서비스로 정보를 제공한다. 메소드와 같이, 이벤트도 파라미터들로 데이터를 전송한다. 이벤트는 일방향으로 전송되기 때문에, 서비스가 이벤트의 콘텐트에 기초하여 액션을 취하고자 하는 경우, 메소드 콜이 뒤따라야 한다.
ASP와 통신하는 복수의 서비스들은 메소드 및 이벤트를 사용할 수 있다. 메소드는 서비스로부터 ASP로 전파될 수 있고, 이벤트는 ASP로부터 특정 서비스로 전파될 수 있다. 이벤트는 메소드 콜에 대해 즉시 응답될 필요는 없다.
다시 도 11을 참조하면, 사용자가 디바이스 A 및 디바이스 B 간에 서비스 X를 이용하고자 하는 경우, 각각의 디바이스 상의 ASP들은 서비스 X 전용의 ASP-세션을 디바이스 간에 생성한다. 그 후에 사용자가 서비스 Y를 이용하고자 하는 경우, 해당 서비스를 위한 새로운 ASP-세션이 수립(establish)된다. 피어 기기들 사이에 복수의 ASP 세션이 수립된(established) 경우, 복수의 ASP 세션 각각은 ASP 세션의 수립을 요청한 피어 디바이스(구체적으로는 ASP 세션의 수립을 요청한 피어 디바이스의 ASP)에 의해 할당되는 세션 식별자(Session Identifier)에 의해 식별될 수 있다.
WFDS에서는 두 피어 디바이스들 간의 동작을 정의함에 있어서, 그 중에서 어떤 디바이스는 서비스 광고기(advertiser)의 역할을 수행하고 다른 디바이스는 서비스 탐색기(seeker)의 역할을 수행할 수 있다. 서비스 탐색기는 서비스 광고기(들)을 발견(discover)하여, 원하는 서비스를 찾은 경우 서비스 탐색기는 서비스 광고기와의 연결을 요청할 수도 있다.
서비스 탐색기로 설정된 피어 기기는 서비스 광고기로 설정된 피어 기기를 탐색하고, 서비스 광고기로 설정된 피어 기기로부터 소망하는 서비스를 발견하면, 서비스 광고기로 설정된 피어 기기에 연결을 요청할 수 있다. 구체적으로, 서비스 탐색기 측이 서비스 광고기 측으로 ASP 서비스 세션 수립을 요청하면, 서비스 광고기 측은 서비스 탐색기 측의 ASP 세션 수립 요청에 응답할 수 있다.
서비스 광고기와 서비스 탐색기의 관계는 고정된 것이 아니다. 일예로, 서비스 광고기 및 서비스 탐색기로서의 역할은 어느 하나의 ASP 세션과 다음 번 ASP 세션에서 서로 달라질 수 있다. 피어 기기가 서비스 광고기로 동작할 것인지, 서비스 탐색기로 동작할 것인지 여부는 어느 피어 기기가 서비스의 탐색(search)를 시작하였는지 여부를 기초로 결정될 수 있다. 즉, 서비스의 탐색을 요청하는 피어 기기가 서비스 탐색기로서 기능할 수 있다.
또한, 어느 하나의 피어 기기가 동일한 서비스에 대해, 서비스 광고기 및 서비스 탐색기로 동시에 설정될 수도 있고, 어느 하나의 피어 기기가 복수의 서비스 광고기를 갖거나, 복수의 서비스 탐색기를 가질 수도 있다. 일예로, 어느 하나의 피어 기기는 제 1 와이파이 다이렉트 서비스 및 제 2 와이파이 다이렉트 서비스의 서비스에 대해서는 서비스 광고기로 설정됨과 동시에, 제 3 와이파이 다이렉트 서비스 및 제 4 와이파이 다이렉트 서비스에 대해서는 서비스 탐색기로 설정될 수 있다.
이하에서는, 서비스 광고기 및 서비스 탐색기에 대해 더욱 상세히 설명하기로 한다.
서비스 광고기 및 서비스 탐색기
서비스 광고기로 설정된 피어 기기는 서비스(들)을 광고하고, 서비스 탐색기는 광고된 서비스(들)을 발견(discover)할 수 있다. 서비스 광고기로 설정된 피어 기기는 서비스 광고 중단 메소드(CancelAdvertiseService method)가 콜(call) 되거나, 광고 상태가 중단으로 설정되기 전까지(예컨대, AdvertiseStatus 파라미터의 status 값이 NotAdvertised를 지시) 서비스(들)를 광고할 수 있다. 서비스 광고기가 서비스를 광고하는 데에는 후 연계(post association) 및 조기 연계(pre-association) 중 적어도 하나가 이용될 수 있다.
서비스 광고기가 광고하는 서비스(들)는 서비스 이름으로 식별될 수 있다. 구체적으로, 피어 기기들은 서비스 탐색 동안 각 서비스가 UTF-8 서비스 이름 문자열을 포함하도록 제어할 수 있다. 여기서, UTF-8로 인코딩된 서비스 이름의 길이는 255 바이트 또는 그 이하일 수 있다. 서비스 이름의 길이는 서비스 탐색 요청 프레임 및 서비스 탐색 응답 프레임에서 이용 가능한 공간에 의해 결정될 수 있다.
"org.wi-fi"라는 문자열은 WFA 서비스를 식별하기 위해 예약된 것일 수 있다. 구체적으로, WFA 서비스 이름은 다음과 같다.
org.wi-fi.wfds.send.tx
org.wi-fi.wfds.send.rx
org.wi-fi.wfds.play.tx
org.wi-fi.wfds.play.rx
org.wi-fi.wfds.display.tx
org.wi-fi.wfds.display.rx
org.wi-fi.wfds.print.tx
org.wi-fi.wfds.print.rx
만약, 인에이블 서비스가 org.wi-fi 로 시작하는 서비스 이름을 사용하여 광고 또는 탐색할 것을 시도(attempt)하는 경우, ASP는 광고 또는 탐색에 대한 인에이블 서비스의 시도(attempt)를 거절할 수 있다. 인에이블 서비스를 위해서는 역 도메인 이름 표기법(Reserve domain name notation)이 사용될 수 있다. 이 표기법에 의하면, 어플리케이션 제작자(author)에 의해 소유된 DNS 이름 (예를 들어, example.com)에서의 각 요소 (예를 들어, example 및 com)의 순서를 뒤집어 배치한 것(예를 들어, com.example)을 인에이블 서비스의 서비스 이름의 프리픽스(prefix)로 사용할 수 있다.
이에 따라, 인에이블 서비스의 이름은 다음의 예와 같이 정의될 수 있다.
com.example.serviceX
com.example.productY
com.example.04cf75db-19d1-4d84-bef3-b13b33fcfa5a
인에이블 서비스는 하나의 어플리케이션을 위해 정의될 수도 있고, 다양한 어플리케이션에서 일반적으로 실행되기 위해 정의될 수도 있다.
서비스는 서비스 이름으로 식별됨과 동시에, 서비스 정보로 정의된다. 이에 따라, 이에 따라, 서비스 이름이 동일한 서비스라 하더라도, 서비스 정보가 다르면, 서로 다른 서비스인 것으로 취급될 수 있다.
서비스를 광고함에 있어서, 서비스 광고기는 광고되는 각각의 서비스에 광고 ID(advertisement ID)를 할당할 수 있다. 서비스 광고기는 서비스별로, 서로 다른 광고 ID가 할당되도록 제어할 수 있다.
서비스 광고(Service Advertisement)는 후 연계(post association)에서도 이용될 수 있다. 이를 위해, 피어 기기들은 P2P 그룹이 형성된(formed) 이후, 추가적인 ASP 세션의 수립을 허용할 수 있다.
서비스 탐색 절차는 서비스 탐색기가 ASP 세션을 시작하는 것에 필수적인 것은 아니다. 서비스 탐색기는 서비스 탐색 절차를 위해, 아웃 오브 밴드(out of band) 메커니즘을 허용할 수도 있다. 아울러, 서비스 탐색기는 피어 디바이스의 이미 발견된 서비스를 캐싱(caching)할 수도 있다.
서비스 탐색 절차에서는 와일드 카드 서치(또는 이름 서치)를 지원할 수 있다. 와일드 카드 서치에 대해서는 후술하기로 한다.
이하, 서비스 광고기 및 서비스 탐색기에서 취급되는 메소드 및 이벤트에 대해 상세히 설명하기로 한다.
서비스 광고기의 메소드
서비스 광고기는 서비스의 광고를 위해 서비스 광고 메소드(Advertise Service Method)를 호출(Call)할 수 있다. 이에 따라, 서비스 탐색기는 광고되는 서비스의 검색, 발견 및 ASP 세션을 시작할 수 있다. 서비스 광고 메소드에는 서비스 이름 파라미터(또는 서비스 이름의 리스트 파라미터), 포트 파라미터, 프로토콜 파라미터, 공유 파라미터, 자동 수락 파라미터 및 서비스 정보 파라미터 중 적어도 하나를 포함할 수 있다. 각 파라미터에 대한 설명은 다음과 같다.
i) 서비스 이름 (또는 서비스 이름의 리스트)
서비스 이름은 서비스 탐색을 요청하는(예컨대, SeekService Method 콜을 수행) 서비스 탐색기에 의해 검색이 가능한 서비스의 특징을 식별한다. 서비스 이름과 서비스 탐색기로부터의 질의(query)에 포함된 문자열과의 대조를 통해 서비스 이름 매칭이 이루어질 수 있다.
서비스 광고 메소드에는 복수개의 서비스 이름을 포함하는 서비스 이름 리스트가 포함될 수 있다. 일예로, 서비스가 동일한 포트에서 전송 및 수신을 지원한다면, 전송을 위한 서비스 이름(예컨대, service), 서비스 이름(예컨대, service.tx) 및 수신을 위한 서비스 이름(service.rx) 모두가 서비스 이름 리스트에 포함될 수 있다. 예컨대, 검색이 요청되는 서비스 이름이 org.wi-fi.wfds.send 이고, 서비스가 org.wi-fi.wfds.send.rx 및 org.wi-fi.wfds.send.tx 를 모두 지원한다면, 서비스 이름 리스트에는, "org.wi-fi.wfds.send", "org.wi-fi.wfds.send.rx" 및 "org.wi-fi.wfds.send.tx"가 모두 포함될 수 있다.
만약 서비스가 동일한 포트 넘버에서 모든 WFA 서비스를 지원한다면, 서비스 이름 리스트에는 모든 WFA 서비스의 이름, 모든 WFA 서비스에서의 전송을 위한 서비스 이름 및 모든 WFA 서비스에서의 전송을 위한 서비스 이름이 포함될 수 있다. 예컨대, 서비스가 모든 WFA 서비스를 지원한다면, 서비스 이름 리스트에는, "org.wi-fi.wfds.send.tx, org.wi-fi.wfds.send.rx, org.wi-fi.wfds.send, org.wi-fi.wfds.play.tx, org.wi-fi.wfds.play.rx, org.wi-fi.wfds.play, org.wi-fi.wfds.display.tx, org.wi-fi.wfds.display.rx, org.wi-fi.wfds.display, org.wi-fi.wfds.print.tx, org.wi-fi.wfds.print.rx, org.wi-fi.wfds.print" 가 포함될 수 있다.
ii) 서비스 포트
서비스 포트는 등록된 서비스를 청취하고, 서비스 탐색기로부터 수신되는 연결을 위한 IP 포트이다. 서비스 광고기는 서비스 이름 검색의 결과 파라미터로서 서비스 포트를 서비스 탐색기에게 알려줄 수 있다. 다만, 서비스 포트는 서비스 이름과 같이 서비스 탐색기에 의해 검색 가능한 것은 아니다. 서비스 포트는 예약된 것이어서, 서비스 포트를 공유하도록 설정되어 있지 않는 한(예컨대, 공유 파라미터가 "true" 로 설정되어 있지 않는 한), 다른 서비스 또는 다른 액티브 ASP 세션이 동일한 포트를 사용할 수 없다.
만약, 서비스 광고를 요청하는 메소드(AdvertiseService method)가 호출될 때, 서비스 포트가 이용 가능하지 않다면, 서비스 광고가 실패했음을 알리는 이벤트(예를 들어, Advertise Failed Event)가 ASP로부터 서비스로 전송될 수 있다.
서비스를 위한 ASP 세션이 생성되고, 네트워크 인터페이스가 알려진 상태일 때, 서비스 포트는 어플리케이션에 의해 매여 있을 수 있다.
iii) 프로토콜
프로토콜은 IANA(Internet Assigned Number Authority)에서 정의된 정수로 정의될 수 있다. 예를 들어, TCP는 숫자 6으로 정의되고, UDP는 숫자 17로서 정의될 수 있다.
iv) 공유
공유 파라미터는 다른 서비스와 서비스 포트를 허용할 것인지 여부를 지시한다. 일예로, 공유 파라미터의 값이 "True"인 경우, 서비스 포트는 다른 광고 및 ASP 세션에 의해 재사용될 수 있다. 서비스 포트를 공유하는, ASP 세션은 서비스 포트의 독점적으로 제어할 수 없어야 할 것이다. 이와 달리, 공유 파라미터의 값이 "Service"인 경우, 서비스 포트는 동일한 서비스 이름을 갖는 다른 서비스의 광고에 의해 재사용될 수 있다. 공유 파라미터의 값이 "False"인 경우, 하나의 서비스가 서비스 포트를 독점적으로 제어할 수 있다.
만약 서비스가 현재 광고중인 서비스에 의해 사용되는 서비스 포트의 독점적 사용을 요청하는 경우, ASP는 서비스에게 광고가 실패하였음을 알리는 이벤트(AdvertiseFailed Event)를 전송할 수 있다. 서비스가 독점적 사용이 예약된(reserved) 서비스 포트의 공유를 요청한 경우에도, ASP는 서비스에게 광고가 실패하였음을 알리는 이벤트를 전송할 수 있다. 아울러, 서비스가 이미 다른 서비스 광고 메소드(Advertise Service Method)와 공유되고 있는 서비스 포트를 비 공유(non-share) 서비스 포트로 설정할 것을 요청하는 경우에도, Asp는 서비스에게 광고가 실패하였음을 알리는 이벤트를 전송할 수 있다.
v) 자동 수락
서비스 광고기의 ASP는 ASP 세션의 셋업을 위해, 세션 요청 이벤트(SessionRequest Event)를 서비스 레이어로 전송할 수 있다. 이때, 만약, 자동 수락 파라미터의 값이 "True"인 경우, 서비스 광고기는 서비스 레이어에서 세션 요청 이벤트에 대한 응답으로 세션 확인 메소드(ConfirmSession Method)가 호출되지 않더라도, 서비스 탐색기로부터의 모든 ASP 세션 요청(ASP-session request)을 수락할 수 있다.
다만, 세션 요청 이벤트(SessionRequest Event)에서 get_network_config_PIN 파라미터가 True로 설정되어 있다면, 서비스 레이어에서 ASP 레이어로 전송되는 서비스 확인 메소드(또는 세션 확인 메소드)로 전송될 필요가 있다.
만약, 자동 수락 파라미터의 값이 "False"인 경우, 서비스 광고기의 ASP는 서비스로부터의 세션 확인 메소드의 수신을 기다려 ASP 세션 요청의 수락 여부를 결정할 수 있다.ASP 세션 셋업을 위한 세션 요청 이벤트는 자동 수락 파라미터의 값과 상관없이 ASP에서 서비스로 전송될 수 있다.
vi) 서비스 정보
서비스 정보는 서비스 탐색 절차에서 사용되는 서비스에 대한 구체적 정보를 의미한다. 서비스 정보의 내용(content)은 자유로운 형식이고(free-form) 선택적인 파라미터이다. 만약, 서비스 정보가 존재한다면, 서비스 탐색 응답 프레임 내에서 하나의 응답으로 서비스 정보가 서비스 탐색기로 전달될 수 있다.
서비스 탐색기는 서비스 탐색 메소드(SeekService Method) 내 서비스 정보 요청을 구체화함으로써 서비스 정보의 내용에 기초하여 검색을 행할 수 있다.
vii) 서비스 상태
서비스 상태는 서비스 광고 메소드가 호출될 시점의 서비스의 상태를 지시한다. 일예로, 서비스 상태 파라미터의 값이 '1'인 것은 서비스가 이용 가능함을 지시하는 것이고, 서비스 상태 파라미터의 값이 '0'인 것은 서비스가 이용 가능하지 않음을 지시하는 것일 수 있다. 다만, 서비스가 이용 가능하지 않은 상태라 하더라도, 서비스 광고기는 프로브 요청 프레임 또는 서비스 탐색 요청 프레임에 대한 응답으로 기기가 당해 서비스를 지원함을 지시하여 줄 수는 있다.
서비스 상태 파라미터가 '0'인 경우(즉, 서비스가 이용 가능하지 않은 상태인 경우), ASP는 ASP 세션 셋업을 위한 요청을 거절할 수 있다.
viii) 네트워크 롤(network role)
네트워크 롤은 서비스 광고기가 P2P 그룹에서 그룹 오너(GO)로 설정되어야 하는지 여부를 지시한다. 일예로, 네트워크 롤 파라미터가 '1'인 것은, P2P 그룹 내에서 서비스 광고기가 GO로 설정되어야 함을 가리키고, 네트워크 롤 파라미터가 '0'인 것은 서비스 광고기의 지위 여하는 불문하는 것을 의미하는 것일 수 있다.
ix) 네트워크 설정
네트워크 설정 파라미터는 접속을 위한 선호하는 WSC 설정 메소드(WSC Config.Method)를 지시한다. 일예로, 네트워크 설정 파라미터가 '1'인 것은 WFDS 디폴트 설정 메소드 또는 WSC PIN 메소드를 지시하는 것일 수 있고, 네트워크 설정 파라미터가 '2'인 것은 WSC PIN 메소드만을 지시하는 것일 수 있다.
x) 지연 세션 응답
명시적인 특정 서비스가 아닌 한, 기본적으로, 지연 세션 응답 프라미터의 값은 Null 일 수 있다. 아울러, 지연 세션 응답 파라미터는 자동 수락 파라미터의 값이 "False"인 경우에만 존재할 수 있다.
지연 세션 파라미터의 값이 존재하는 경우, 지연 세션 파라미터는 서비스 광고기의 자동 수락 파라미터의 값이 False로 설정되어 있고, 서비스 탐색기가 ASP 세션의 생성하고자 하는 때에, 서비스 광고기로부터 서비스 탐색기로 전송되는 메시지 프레임으로 취급될 수 있다.
일예로, 만약 서비스 탐색기가 ASP 세션을 생성하기 위해 프로비전 탐색 요청 프레임을 전송한다면, 지연 세션 파라미터는 서비스 광고기로부터 전송되는 프로비전 탐색 응답 프레임에 세션 정보 필드로써 포함될 수 있다.
다른 예로, 만약, 서비스 탐색기가 ASP 세션을 생성하기 위해, 세션 요청 메시지(Request_Session message)를 전송한다면, 지연 세션 응답 파라미터는 지연 세션 ASP 코오디네이션 프로토콜 메시지(Defferred_Session ASP coordination protocol message)의 지연 세션 응답 필드로서 포함될 수 있다.
ASP는 서비스 광고 메소드에 대해, 광고 ID를 반환하여 줄 수 있다. 광고 ID는 ASP에 의해 할당되고, 광고가 요청되는 서비스에 의해 조작되는 기기 상에서 고유하게 광고를 식별한다. 그리고, 광고 ID는 광고된 서비스의 ASP 세션의 수립을 위해, 서비스 탐색기로 전송될 수 있다.
서비스 광고기는, 기 존재하는(existing) 광고의 상태가 변경된 경우, 서비스 상태 변경을 알리는, 서비스 상태 변경 메소드(ServiceStatusChange Method)를 호출할 수 있다. 서비스 상태 변경 메소드에는 광고 ID 및 서비스 상태 파라미터가 포함될 수 있다. 각 파라미터에 대한 설명은 다음과 같다.
i) 광고 ID
서비스 광고 메소드에 의해 반환되는 본래의(originally) 광고 ID가 포함될 수 있다.
ii) 서비스 상태
서비스가 이용 가능한 상태인 경우, 서비스 상태 파라미터의 값은 "Available"로 설정될 수 있다. 서비스 광고기에 의해 지지되는 서비스가 그 순간 이용 가능하지 않은 상태인 경우, 서비스 상태 파라미터의 값은 "Unavailable"로 설정될 수 있다. 서비스 상태 파라미터 값은 프로브 응답 프레임 또는 서비스 탐색 응답 프레임에 포함될 수도 있다.
서비스 광고기는 기 존재하는 광고를 취소하기 위해, 서비스 광고 취소 메소드(CancelAdvertiseService Method)를 호출할 수 있다. 서비스 광고기가 서비스 광고 취소 메소드를 호출하면, 서비스 이름 및 연관된 정보(associated information)은 더 이상 광고되지 않고, 서비스 포트에 대한 예약(reservation)도 해제된다.
서비스가 ASP로부터 세션 요청 이벤트를 수신하면, 서비스 광고기는 ASP 세션 셋업(setup)을 허용할 것인지 여부를 결정하기 위해, 세션 확인 메소드(SessionCorfirm Method)를 호출할 수 있다. 세션 확인 메소드는 특정 서비스에 대한 세션 셋업을 허용할 것인지 여부를 지시한다는 점에서, 서비스 확인 메소드(ConfirmService Method)라 호칭될 수도 있다. 다만, 광고가 자동으로 시작된 경우(예를 들어, 서비스 광고 메소드(Advertise Service Method)의 자동 수락 파라미터의 값이 "True"인 경우)에는 ASP 세션 셋업이 자동으로 수락되기 때문에, 세션 확인 메소드가 호출되지 않을 수 있다.
세션 확인 메소드에는 세션 MAC 파라미터, 세션 ID 파라미터 및 확인(Confirmed) 파라미터 중 적어도 하나가 포함될 수 있다. 각 파라미터에 대한 상세한 설명은 다음과 같다.
i) 세션 MAC
세션 ID가 할당된 기기의 MAC 주소를 지시한다.
ii) 세션 ID
ASP 세션의 식별자(Identifier)를 지시한다.
iii) 확인(Confirmed)
확인 파라미터의 값이 True 이면, ASP 세션 셋업이 진행될 수 있다. 아울러, P2P 그룹이 기 존재하지 않는다면, 그룹의 형성(form)도 수행될 수 있다. 이와 달리, 확인 파라미터의 값이 False인 경우, 요청된 ASP 세션은 종료(closed)될 수 있다.
서비스 탐색기의 메소드
서비스 탐색기는 서비스 광고기로 기능하는 피어 디바이스가 갖는 서비스를 검색하기 위한 서비스 탐색을 요청하는, 서비스 탐색 메소드(SeekService Method)를 호출할 수 있다. 검색의 범위는 선택적으로 MAC 어드레스에 의해 제한될 수도 있다. 서비스를 탐색 메소드는 서비스 이름, 정확한 검색(exact search), MAC 주소 및 서비스 정보 요청 파라미터 중 적어도 하나를 포함할 수 있다. 각 파라미터에 대한 구체적인 설명은 다음과 같다.
i) 서비스 이름
서비스 이름 파라미터는 검색해야할 서비스의 이름을 지시한다. 서비스 이름 파라미터에 포함되는 문자열은 검색되어야 할 서비스 이름의 정확한 이름일 수도 있고, 검색되어야 할 서비스 이름의 프리픽스일 수도 있다.
프리픽스 서치의 일예로, 특정 서비스에 대한 수신 서비스 및 송신 서비스를 검색하기 위해서, 수신 서비스 및 송신 서비스 모두의 이름을 포함시키지 않고, 특정 서비스의 이름만을 포함시킬 수 있다. 예를 들어, Send 서비스에 대해, 만약 서비스가 org.wi-fi.wfds.send.rx 및 org.wi-fi.wfds.send.tx를 검색하기 위해서는, 양자가 공통적으로 포함하는 org.wi-fi.wfds.send 가 서비스 이름 파라미터에 삽입될 수 있다.
모든 WFA 서비스를 검색하기 위해서는, 모든 WFA 서비스 이름이 공통적으로 포함하는 문자열인 "org.wi-fi.wfds"가 서비스 이름 파라미터에 포함될 수 있을 것이다.
ii) 정확한 검색
정확한 검색 파라미터의 값이 "True" 이면, 정확한 검색이 수행된다. 구체적으로, 프로브 요청 및 응답 프레임의 교환을 통해, 서비스 이름 파라미터에 포함된 문자열과 정확히 일치하는 서비스가 검색될 수 있다.
정확한 검색 파라미터의 값이 "False"이면, 프리픽스 검색이 수행된다. 구체적으로, 프리픽스 검색을 위해, 프로브 요청/응답 프레임의 교환에 더하여, 서비스 탐색 요청/응답 프레임의 교환이 수행될 수 있다. 서비스 탐색/요청 응답 프레임의 교환을 통해, 서비스 이름 파라미터에 포함된 문자열을 프리픽스로서 포함하는 모든 서비스를 검색할 수 있다.
기기 탐색 동안 서비스 이름 파라미터에 포함된 문자열과 정확히 일치하는 기기만 프로브 요청에 응답할 것이기 때문에, 정확한 검색은 프리픽스보다 더 빠르다.
iii) MAC 주소
모든 피어 와이파이 다이렉트 기기 위의 서비스를 검색하기 위한 것이므로, 일반적으로, MAC 주소 파라미터는 NULL 로 설정될 수 있다. 다만, MAC 주소 파라미터에 특정 피어 기기의 MAC 주소값이 포함된다면, 서비스 검색은 명시된 MAC 주소에 한하여 제한적으로 수행될 수 있다. 피어 주소의 MAC 주소는 콜론(:)에 의해 구분되는 정규 포맷(canonical format) (예를 들어, "00:14:bb:11:22:33")으로 포함될 수 있다.
iv)서비스 정보 요청
서비스 정보 요청 파라미터에는, 서비스 광고기와 서비스 탐색 요청/응답 프레임이 교환되는 서비스 정보 탐색 동안 추가적인 정보를 요청하기 위한 문자열이 포함될 수 있다.
서비스 정보 요청을 질의(query)하는 문자열이 서비스 광고 메소드(AdvertiseService method)에 포함된 서비스 정보 셋의 부속 문자열(substring)인 경우, 검색 결과 이벤트(SearchResult Event)가 호출 될 수 있다. 예를 들어, "ABC"의 질의(query) 문자열은 여러 서비스 정보들 중에서 "ABCpdq" 또는 "ABC"로 읽히는 서비스 정보와 매칭될 수 있다.
서비스 탐색 요청 메소드(예를 들어, ServiceSeek Method)에 대응하여, 서비스 탐색 취소 메소드(예를 들어, CancelSeekService Method)를 위해 사용될 수 있는 핸들(handle) 파라미터가 반환될 수 있다.
서비스 탐색기는 서비스 탐색을 취소하는 서비스 탐색 취소 메소드(CancelSeek Method)를 호출할 수 있다. 서비스 탐색 취소 메소드에는 서비스 탐색 메소드에 의해 반환되는 핸들 파라미터가 포함될 수 있다.
서비스 광고기의 이벤트
원격 디바이스가 광고되는 서비스에 대한 ASP 세션을 시작하고자 하는 때에, 서비스 광고기의 ASP는 세션 요청 이벤트(SessionRequest Event)를 서비스로 전송할 수 있다. 이때, 세션 요청 이벤트는 서비스의 시작을 개시하기 위한 것이라는 점에서, 서비스 요청 이벤트(ServiceRequest Event)라 호칭될 수도 있다. 구체적으로, 세션 요청 이벤트는, 서비스 광고기의 ASP가 프로비전 탐색 요청 프레임을 수신하거나, REQUEST_SESSION ASP 코디네이션 프로토콜 메시지를 수신하는 경우 트리거 될 수 있다. 세션 요청 이벤트에는 다음의 파라미터가 포함될 수 있다.
i) 광고 ID
서비스 광고 메소드가 호출될 때 ASP에 의해 할당된 광고 식별자가 포함될 수 있다.
ii) 세션 MAC
세션 ID가 할당된 P2P 기기의 MAC 어드레스가 포함될 수 있다.
iii) 서비스 디바이스 이름
원격 디바이스의 디바이스 이름(구체적으로는 WSC 정의된 디바이스 이름)이 포함될 수 있다.
iv) 세션 ID
원격 ASP에 의해 할당된 세션 식별자가 포함될 수 있다.
v) 세션 정보
서비스 특정 데이터 페이로드가 포함될 수 있다. 세션 정보는 최대 144바이트의 길이를 가질 수 있다.
vi) 네트워크 설정 PIN 획득(get_network_config_PIN)
만약 서비스 광고기가 서비스 광고기에서 서비스 네트워크를 셋업하기 위한 PIN (Personal Identification Number)을 요구하는 WSC 설정 메소드(WSC Config method)와 함께, 프로비전 탐색 요청 프레임을 수신하면, 네트워크 설정 PIN 획득 파라미터의 값은 "True"일 수 있다. 사용자에 의해 입력된 WSC PIN은 세션 확인 메소드에 포함되어 ASP에 제공될 수 있다.
만약 서비스 광고기가 서비스 광고기에서 서비스 네트워크를 셋업하기 위한 PIN (Personal Identification Number)을 요구하지 않는 WSC 설정 메소드(WSC Config method)와 함께, 프로비전 탐색 요청 프레임을 수신하거나, REQUEST_SESSION ASP 코디네이션 프로토콜 메시지에 의해 서비스 요청 이벤트가 트리거된 경우, 네트워크 설정 PIN 획득 파라미터의 값은 "False"일 수 있다.
vii) 네트워크 설정 PIN
서비스 광고기의 ASP가 서비스 네트워크를 셋업하기 위해 디스플레이될 PIN을 요구하는 WSC 설정 메소드와 함께 프로비전 탐색 요청을 수신하는 경우, ASP는 WSC PIN 값을 생성하고, 생성된 WSC PIN 값을 서비스로 제공하여, WSC PIN 값이 디스플레이 되도록 할 수 있다.
서비스 광고기의 ASP가 서비스 네트워크를 셋업하기 위해 디스플레이될 PIN을 요구하지 않는 WSC 설정 메소드와 함께 프로비전 탐색 요청을 수신하는 경우, 또는 REQUEST_SESSION ASP 코디네이션 프로토콜 메시지에 의해 서비스 요청 이벤트가 트리거된 경우, 네트워크 설정 PIN 파라미터의 값은 '0'일 수 있다.
서비스를 더 이상 광고할 수 없거나, 서비스의 광고를 시작할 수 없는 경우, 광고 실패를 알리는 이벤트(예를 들어, AdvertiseFailed Event)가 전송될 수 있다. 광고 실패를 알리는 이벤트에는 광고 ID 및 실패 이유 파라미터가 포함될 수 있다. 각 파라미터에 대해 간략히 설명하면, 다음과 같다.
i) 광고 ID
서비스 광고 메소드(AdvertiseService Method)에 의해 반환되는 광고 ID값을 지시할 수 있다.
ii) 이유
광고 실패의 이유가 포함될 수 있다. 광고 실패 이유는 서비스 포트가 이미 공유중인 경우(일예로, 비 공유 서비스 포트를 요청했으나, 해당 서비스 포트가 이미 공유 서비스 포트로서 이용되는 경우), 서비스 포트가 이미 사적으로 사용되는 경우(일예로, 서비스 포트를 요청했으나, 서비스 포트가 이미 사적인(전용의) 서비스 포트로 사용되는 경우) 또는 기타 실패 사유 중 어느 하나를 지시할 수 있다.
서비스 탐색기의 이벤트
검색이 진행 중일 때, 피어 기기로부터 발견된 각각의 광고되는 서비스를 위해 검색 결과를 알리는, 검색 결과 이벤트(SearchResult Event)가 전송될 수 있다. 검색 결과 이벤트에는 핸들, 서비스 MAC, 광고 ID, 서비스 이름, 서비스 정보 및 서비스 상태 파라미터 중 적어도 하나가 포함될 수 있다. 각 파라미터에 대한 설명은 다음과 같다.
i) 핸들
서비스 탐색 메소드에 의해 반환되는 값을 지시한다.
ii) 서비스 MAC
피어 디바이스의 맥 주소를 지시한다.
iii) 광고 ID
피어 디바이스에 의해 정의된 광고 ID를 지시한다.
iv) 서비스 이름
피어 디바이스에 의해 정의된 풀(full) 서비스 이름을 지시한다.
v) 서비스 정보
서비스 광고기와 서비스 검색기 사이에 정의된 추가적인 서비스(벤더(vendor)) 특정 파라미터 또는 NULL 문자열이 포함된다.
vi) 서비스 상태
서비스가 이용가능한 상태인 경우, 서비스 상태 파라미터의 값은 "Available"로 설정될 수 있다. 서비스 광고기에 의해 지지되는 서비스가 그 순간 이용가능하지 않은 상태인 경우, 서비스 상태 파라미터의 값은 "Unavailable"로 설정될 수 있다.
서비스 탐색기는 서비스 탐색 메소드(SeekService Method)에 의해 개시된 검색을 중단하거나, 더 이상의 검색 결과 이벤트(Searchresult Event)가 생성되는 것을 방지하기 위한 검색 종료 이벤트(SearchTerminated Event)를 전송할 수 있다. 검색 종료 이벤트에는 핸들 및 종료 이유 파라미터가 포함될 수 있다. 각 파라미터에 대한 설명은 다음과 같다.
i) 핸들
종료되는 검색을 지시한다.
ii) 이유
검색의 종료 이유가 지시될 수 있다. 검색의 종료 이유로 타임아웃(Timeout) 또는 시스템 오류(SystemFailure)가 지시될 수 있다.
서비스 탐색기는 광고되는 서비스의 ASP 세션을 시작하기 위해, 서비스 요청 이벤트(ServiceRequest Event)를 전송할 수 있다. 서비스 요청 이벤트에는 광고 ID, 세션 MAC, 세션 ID 및 세션 정보 파라미터 중 적어도 하나가 포함될 수 있다. 각 파라미터에 대한 설명은 다음과 같다.
i) 광고 ID
피어 기기에 의해 정의된 광고 식별자가 포함될 수 있다.
ii) 세션 MAC
세션 ID가 할당된 피어 디바이스의 MAC 주소가 포함될 수 있다.
iii) 세션 ID
ASP 세션 식별자가 포함될 수 있다.
iv) 세션 정보
어플리케이션 특정 데이터 페이로드(payload)가 포함될 수 있다.
서비스 탐색 및 ASP 세션 셋업
상술한 설명을 기초로 본 발명에 따른 서비스 탐색 및 ASP 세션 셋업 과정 대해 상세히 살펴보기로 한다.
도 13 내지 도 15는 서비스 탐색 및 ASP 세션 셋업 동작의 흐름도이다. 도 13 내지 도 15에 도시된 ASP 세션 셋업 동작은 어떤 P2P 디바이스의 특정 서비스가 다른 P2P 디바이스 및 서비스를 탐색하고, 서비스를 요청하여, 와이파이 다이렉트 연결을 수립하고, 어플리케이션이 동작하는 과정을 의미한다.
설명의 편의를 위해, 도 13 내지 도 15에서 디바이스 A는 자신의 서비스를 광고하는 서비스 광고기로 동작하고, 디바이스 B는 서비스를 탐색하는 서비스 탐색기로 동작하는 것으로 가정한다.
디바이스 A의 서비스 레이어가 ASP로 서비스 광고 메소드를 전송하면, 디바이스 A의 ASP는 서비스 광고 메소드에 포함된 정보들에 기초하여 자신의 서비스를 광고하고, 다른 디바이스가 해당 서비스를 찾을 수 있도록 대기할 수 있다.
디바이스 B의 서비스 레이어가 ASP로 서비스 탐색 메소드를 전송하면, 디바이스 B의 ASP는 수신된 서비스 탐색 메소드에 포함된 정보들에 기초하여 상위 어플리케이션 또는 사용자가 원하는 서비스를 지원하는 디바이스를 탐색할 수 있다. 일예로, 디바이스 B의 서비스 레이어가 어플리케이션 레이어로부터 서비스를 사용하겠다는(Use Service) 의도를 나타내는 정보를 수신하면, 검색이 필요한 서비스에 대한 정보를 포함하는 서비스 탐색 메소드를 ASP에 전달할 수 있다.
서비스 탐색 메소드를 수신한 디바이스 B의 ASP는 원하는 서비스를 지원하는 디바이스를 탐색하기 위해, 프로브 요청 프레임을 전송할 수 있다. 이때, 프로브 요청 프레임에는 찾고자 하는 또는 자신이 지원가능한 서비스의 서비스 명칭(service name)을 해시(hash) 형태로 변환한 해시값이 포함될 수 있다. 해시값은 ASP가 서비스 이름 또는 서비스 이름의 프리픽스(prefix)를 해시 형태로 변환한 것으로, 6 옥텟의 길이를 가질 수 있다. 프로브 요청 프레임은 브로드캐스트 전송될 수도 있고, 특정 기기에 대해 유니캐스트 전송될 수도 있다.
프로브 요청 프레임을 수신한 디바이스 A는 해시 매칭(hash matching)을 시도하여, 프로브 요청 프레임에 포함된 해시값에 매칭되는 서비스를 지원하는 것으로 판단되는 경우, 프로브 응답 프레임(Probe Response frame)을 디바이스 B에게 전송할 수 있다. 이때, 프로브 응답 프레임에는 서비스 이름 및 광고 ID 필드 중 적어도 하나가 포함될 수 있다. 서비스 이름 필드는 프로브 요청 프레임을 통해 요청되는 해시값에 매칭되는 서비스의 이름을 지시하는 것이고, 광고 ID 필드는 ASP 내부에서 각 서비스에 대한 광고를 고유하게 식별하기 위해, ASP에 의해 할당된 값일 수 있다.
디바이스 A로부터 디바이스 B가 찾고자 하는 서비스가 지원됨을 알리는 프로브 요청 프레임을 수신하면, 디바이스 B는 디바이스 A의 서비스 정보를 탐색하기 위해, 서비스 탐색 요청 프레임을 트리거할 수 있다. 이때, 서비스 탐색 요청 프레임에는 서비스 이름 필드가 포함될 수 있다. 서비스 이름 필드는 검색하고자 하는 완전한(complete) 서비스 이름 또는 검색하고자 하는 서비스 이름의 프리픽스를 포함할 수 있다.
이에 대해서, 디바이스 A는 서비스 이름 매칭을 수행하여, 디바이스 B가 찾고자 하는 서비스를 제공 가부를 알리는 서비스 탐색 응답 프레임을 디바이스 B로 전송할 수 있다. 서비스 탐색 응답 프레임에는 서비스 이름, 서비스 상태, 광고 ID 및 서비스 정보가 포함될 수 있다. 여기서, 서비스 이름은 광고되는 서비스의 서비스 이름을 지시하는 문자열을 포함할 수 있다.
디바이스 A가 디바이스 B가 찾고자 하는 서비스를 지원한다 하더라도, 서비스 탐색 응답 프레임을 전송할 당시, 디바이스 B가 디바이스 A가 제공하는 서비스를 이용할 수 없는 경우가 발생할 수 있다. 예컨대, 디바이스 A가 디바이스 A가 검색하는 프린트(Print) 서비스를 지원하지만, 서비스 탐색 응답 프레임을 전송할 당시, 최대 가용 인원과 연계 중이어서, 더 이상의 피어 디바이스와의 연계를 허용할 수 없다면, 디바이스 A는 디바이스 B가 검색하고자 하는 서비스를 지원함에도 불구하고, 디바이스 B는 디바이스 A가 제공하는 서비스를 이용할 수 없게 된다. 이에 따라, 본 발명에 따른 디바이스 A는 서비스 탐색 응답 프레임이 전송되는 순간에 해당 서비스의 이용 가능성 여부를 지시하는 서비스 상태 정보를 서비스 탐색 응답 프레임에 포함시킬 수 있다.
즉, 서비스 탐색 응답 프레임이 전송되는 시점에 해당 서비스의 이용이 불가능하다면, 서비스 상태 정보는 해당 서비스가 이용 불가능함을 지시할 것임에 반해, 서비스 탐색 응답 프레임이 전송되는 시점에 해당 서비스의 이용이 가능하다면, 서비스 상태 정보는 해당 서비스를 이용할 수 있음을 지시할 수 있다. 서비스 상태 정보는 1비트의 지시자(indicator)일 수도 있다.
광고 ID 필드는 ASP 내부에서 각 서비스에 대한 광고를 고유하게 식별하기 위한 것일 수 있다.
서비스 정보 필드는 서비스 광고기인 디바이스 A가 서비스 탐색기인 디바이스 B와 공유할 수 있는 선택적인(optional) 정보를 포함할 수 있다. 주어진 서비스(즉, 디바이스 B가 찾고자 하는 서비스)에 대한 서비스 정보가 존재하면, 서비스 정보 필드에는 주어진 서비스와 매칭되는 프로브 응답 프레임을 통해 전송된 해시값이 포함될 수도 있다.
상술한 서비스 탐색 요청 및 응답 프레임은 IEEE 802.11u 시스템에서 정의하는 GAS(Generic Advertisement Protocol)을 사용하여 수행될 수도 있다.
디바이스 B의 ASP는 서비스 레이어가 요청한 서비스 탐색 메소드에 의해서 요청된 동작이 완료되면, 검색 결과 이벤트를 통해 그 결과를 서비스를 통하여 어플리케이션 및 사용자에게 알릴 수 있다.
이 시점까지는 Wi-Fi Direct의 그룹은 형성되지 않는 상태이다. 디바이스 A에서 제공하는 서비스가 이용가능하고, 사용자가 디바이스 A의 서비스를 선택하여 서비스가 세션 연결 메소드(ConnectSession Method)를 호출하는 경우, P2P 그룹 형성(group formation)을 위해, 프로비전 탐색 절차가 진행될 수 있다. 디바이스 B와 디바이스 A사이에는 프로비전 탐색 요청 프레임 및 프로비전 탐색 응답 프레임이 교환될 수 있다. 프로비전 탐색 요청 프레임 및 프로비전 탐색 응답 프레임의 교환을 통해 디바이스 A, B의 세션 정보와 연결 능력 정보가 교환될 수 있다.
세션 정보는 서비스를 요청하는 디바이스가 요청하는 서비스의 대략적인 정보를 알려주는 힌트(hint) 정보이다. 세션 정보는, 예를 들어, 파일 전송 서비스를 요청하고자 하는 경우에는, 파일의 개수, 크기 등을 알려줘서 상대방이 서비스 요청에 대한 수용/거절(accept/reject)을 결정할 수 있도록 하는 정보이다. 연결 능력은 GO 협상(Group Owner negotiation) 및 P2P 초대(invitation) 과정에서 그룹을 생성하기 위한 정보로서 이용될 수 있다.
이를 위해, 프로비전 탐색 요청 프레임에는 디바이스 B의 P2P 능력(P2P capability), P2P 기기 정보(P2P Device Info), 연결 능력(Connection Capability Info) 및 광고 ID가 포함될 수 있다. 디바이스 B의 서비스가 호출하는 세션 연결 메소드(ConnectSession Method)의 세션 정보(session_information)이 NULL이 아닌 경우, 세션 정보를 포함하는 서비스 사례 데이터(Service Instance Data)가 프로비전 탐색 요청 프레임에 더 포함될 수 있다.
서비스 탐색기가 서비스 광고기로 최초 전송하는 프로비전 탐색 요청 프레임에는 상태 정보가 포함될 필요가 없다. 만약, 서비스 광고기로 최초 전송하는 프로비전 탐색 요청 프레임에 상태 정보가 포함된다 하더라도, 상태 정보는 성공(Success)임을 지시할 수 있을 것이다.
디바이스 B가 디바이스 A에게 디바이스 B의 연결 능력 정보를 포함하는 프로비전 탐색 요청 프레임을 전달하면, 디바이스 A의 ASP는 자동 수락 파라미터(Auto_Accept)의 값에 따라, 세션 확인 메소드(SessionConfirm Method)의 수신을 기다려야 하는지 여부를 결정할 수 있다.
도 13에 도시된 예에서와 같이, 자동 수락 파라미터가 True 인 경우, 디바이스 A의 ASP는 세션 확인 메소드가 없어도, 상태 정보가 성공(success)임을 지시하는 프로비전 탐색 응답 프레임을 전달할 수 있다. 상태 정보가 성공임을 지시하는 프로비전 탐색 응답 프레임에는 디바이스 A의 연결 능력 정보가 포함될 수 있다. 디바이스 A의 ASP는 서비스 레이어로 ConnectStatus 이벤트를 전달하면서 서비스 요청이 수용되었음을 알려줄 수 있다.
이와 달리, 도 14에 도시된 예에서와 같이, 자동 수락 파라미터의 값이 False인 경우, 디바이스 A의 ASP는 서비스 정보 등을 포함하는 세션요청 이벤트(SessionRequest Event)를 서비스 레이어로 전달하고, 서비스 레이어는 서비스 정보를 어플리케이션/사용자에게 전달한다. 어플리케이션/사용자가 세션 정보에 기초하여 해당 세션을 수용하는 것으로 결정하면, 서비스 레이어를 통하여 서비스 확인 메소드가 ASP에게 전달된다.
그 동안, 디바이스 A의 ASP는 디바이스 B에게 프로비전 탐색 응답 프레임을 전달하는데, 그 상태 정보는 연기됨(deferred)으로 설정될 수 있다. 이는 해당 서비스가 그 즉시에는 수용되지 않음을 나타내고, 사용자의 입력을 기다리고 있음을 알려주기 위함이다. 이에 따라, 디바이스 B의 ASP는 서비스 레이어로 ConnectStatus 이벤트를 전달하면서 서비스 요청이 연기되었음을 알려줄 수 있다. 이 경우, 서비스 사례 데이터 정보에 포함되는 세션 정보는 사용자에게 서비스 요청에 대한 수용/거절을 결정하기 위한 힌트로서 사용될 수 있다.
사용자가 서비스 요청을 수용(accept)하면, 디바이스 A의 서비스는 서비스 확인 메소드를 ASP로 전송하고, 그리고 나서, 후속(follow-on) 프로비전 탐색 절차이 수행될 수 있다. 즉, 디바이스 A는 디바이스 B로 프로비전 탐색 요청 프레임을 전달할 수 있다. 이를 follow-on 프로비전 탐색 과정이라고 칭할 수 있다. 후속 프로비전 탐색 절차에서의 프로비전 탐색 요청 프레임에는 상태 정보, 연결 능력 및 광고 ID가 포함될 수 있다. 후속 프로비전 탐색 절차에서 프로비전 탐색 요청 프레임의 상태 정보는 성공(success)임을 지시할 수 있고, 광고 ID는 디바이스 B가 디바이스 A로 전송하였던 프로비전 탐색 요청 프레임에 포함된 광고 ID의 값과 동일하게 설정될 수 있다.
디바이스 A로부터 프로비전 탐색 요청 프레임을 수신하면, 디바이스 B의 ASP는 서비스 레이어로 ConnectStatus 이벤트를 전달하면서 서비스 요청이 수용되었음을 알려줄 수 있다. 또한, 디바이스 B의 ASP는 상태 정보가 성공임을 지시하는 프로비전 탐색 응답 프레임을 디바이스 A에게 전달할 수 있다. 이때, 후속 프로비전 탐색 절차에서의 프로비전 탐색 응답 프레임에는 상태 정보, 연결 능력 및 광고 ID가 포함될 수 있다. 후속 프로비전 탐색 절차에서 프로비전 탐색 요청 프레임의 상태 정보는 성공(success)임을 지시할 수 있다.
만약, 사용자가 서비스 요청을 거부(reject) 하였거나, 디바이스 A에서 기 설정된 시간 안에 사용자 입력을 수신하지 못한 경우, 또는 디바이스 B가 서비스 요청이 지연되었음을 알리는 ConnectStatus 이벤트를 전송한 이후 소정 시간 이내 디바이스 A로부터 프로비전 탐색 요청 프레임을 수신하지 못한 경우, 디바이스 A와 디바이스 B 사이의 ASP 세션 셋업은 실패할 수 있다.
도 15에 도시된 예에서와 같이, 디바이스 A와 디바이스 B 사이의 ASP 세션 셋업이 실패한 경우, 디바이스 B의 서비스는 어플리케이션단으로 상대방의 응답이 없음을 알리고, 세션 종료 메소드(SessionClose Method)를 ASP로 전송할 수 있다. ASP는 세션이 종료되었음을 알리는 세션 상태 이벤트(SessionStatus Event)를 서비스로 전송할 수 있다.
이하에서는, 프로브 요청 / 응답 프레임의 교환 및 서비스 탐색 요청 / 응답 프레임의 교환 단계에서 활용될 수 있는 와일드 카드 서치에 대해 상세히 살펴보기로 한다.
와일드 카드 서치
서비스 탐색기의 서비스가 서비스 탐색 메소드(SeekService Method)를 호출하면, 서비스 탐색기의 ASP는 서비스 탐색 메소드에 포함된 서비스 이름을 해시 형태로 변환한 해시값을 포함하는 프로브 요청 프레임을 서비스 광고기로 전송할 수 있다.
서비스 탐색기로부터 프로브 요청 프레임을 수신한 서비스 광고기의 ASP는 프로브 요청 프레임에 포함된 해시값이, 서비스 광고 메소드(ServiceAdvertise Method)에 포함된 서비스 이름의 해시 값과 일치하는지 여부를 기초로, 서비스 탐색기가 요청하는 서비스를 지원하는지 여부를 판단할 수 있다.
이때, 서비스 탐색기 및 서비스 광고기 사이에는 정확한 검색 및 와일드 카드 서치가 지원될 수 있다.
정확한 검색은 서비스 광고 메소드에 포함된 서비스 이름과 정확하게 일치하는 서비스를 탐색하기 위한 것이다. 일예로, 정확한 검색을 위해 'abc'라는 검색어가 설정되었다면, 정확히 'abc'를 서비스 이름으로 갖는 서비스가 검색 결과로 반환될 수 있다. 정확한 검색을 위해, 서비스 탐색기의 ASP는 서비스 탐색 메소드로부터 전달된 서비스 이름을 해시 변환한 해시 값을 프로브 요청 프레임에 포함시킬 수 있다.
와일드 카드 서치로는 프리픽스(Prefix) 서치가 허용될 수 있다. 프리픽스 서치란 검색어를 프리픽스로서 포함하는 모든 서비스를 탐색하는 것일 수 있다. 일예로, 프리픽서 서치를 위해 'abc'라는 검색어가 설정되었다면, 'abc'를 프리픽스로 갖는 서비스들(예컨대, 'abcde' 및 'abcfg' 등) 등이 검색 결과로 반환될 수 있다. 프리픽스 서치의 반대로서 포스트픽스 서치가 존재할 수 있다. 구체적으로, 포스트픽스 서치란 검색어를 포스트픽스로 포함하는 모든 서비스를 탐색하기 위한 것일 수 있다. 일예로, 포스트픽스 서치를 위해, 'abc'라는 검색어가 설정되었다면, 'abc'를 포스트픽스로 포함하는 서비스들(예컨대, 'deabc' 및 'fgabc' 등) 등이 검색 결과로 반환되어야 할 것이다. 다만, 와일드 카드 서치로는 프리픽스 서치만이 허용되고, 포스트 픽스 서치는 불허용될 수 있다.
와일드 카드 서치를 위해, 서비스 탐색기의 ASP는 서비스 탐색 메소드로부터 전달된 특정 서비스의 프리픽스를 해시 변환한 해시 값을 프로브 요청 프레임에 포함시킬 수 있다.
와일드 카드 서치를 통해, 서비스 탐색기는 임의의 WFA 서비스를 지원하는 서비스 광고기를 탐색할 수도 있다. 예컨대, 모든 WFA 서비스들의 이름이 공통적으로 포함하는 'org.wi-fi.wfds'라는 프리픽스의 해시 값이 프로브 요청 프레임에 포함된다면, WFA 서비스의 종류를 불문하고, WFA 서비스를 지원하는 서비스 광고기가 프로브 요청 프레임에 응답할 수 있을 것이다.
와일드 카드 서치를 통해, 서비스 탐색기는 특정 WFA 서비스를 지원하는 서비스 광고기를 탐색할 수도 있다. 예컨대, Send 서비스를 지원하는 서비스 광고기를 탐색하고자 하는 경우, 서비스 탐색기의 ASP는, Send 리시버 서비스(org.wi-fi.wfds.send.rx) 및 Send 트랜스미터 서비스(org.wi-fi.sfds.send.tx)가 공통적으로 포함하는 프리픽스 'org.wi-fi.wfds.send'의 해시 값을 프로브 요청 프레임에 포함시킬 수 있을 것이다.
와일드 카드 서치를 수행하여야 하는지 여부는 서비스 탐색 메소드의 정확한 검색 파라미터에 의해 지시될 수 있다. 구체적으로, 정확한 검색 파라미터의 값이 "True" 인 경우, 서비스 탐색기의 ASP는 서비스 탐색 메소드로부터 전달된 서비스 이름의 해시 값을 프로브 요청 프레임에 포함시킬 수 있고, 정확한 검색 파라미터의 값이 "False"인 경우, 서비스 탐색기의 ASP는 서비스 탐색 메소드로부터 전달된 서비스 이름의 프리픽스, 예컨대, 'org.wi-fi.wfds'의 해시 값을 프로브 요청 프레임에 포함시킬 수 있다.
정확한 서치시, 서비스 탐색 메소드를 통해 전달되는 서비스 이름은, 특정 서비스에 대한 풀 네임일 수 있고, 와일드 카드 서치시, 서비스 탐색 메소드를 통해 전달되는 서비스 이름은, 모든 WFA 서비스의 프리픽스(예컨대, 'org.wi-fi.wfds') 또는 특정 WFA 서비스에 대한 프리픽스(예컨대, Send 서비스의 경우, 'org.wi-fi.wfds.send') 일 수 있다.
서비스 광고기의 ASP는 서비스가 호출한 서비스 광고 메소드(AdvertiseService Method)에 포함된 서비스 이름을 기초로 해시값을 생성하고, 생성된 해시값이 프로브 응답 프레임을 통해 수신된 해시값과 일치하는지 여부를 판단할 수 있다.
이때, 프리픽스 서치에 대한 응답을 위해, 서비스 광고기의 ASP는 서비스 광고 메소드에 포함된 서비스 이름의 프리픽스에 대한 해시 변환을 수행할 수 있다. 예컨대, 서비스 광고 메소드에 포함된 서비스 이름이 'org.wi-fi.wfds.send.tx'인 경우, 서비스 광고기는 프리픽스 서치의 응답을 위한 'org.wi-fi.wfds' 및 정확한 검색의 응답을 위한 'org.wi-fi.wfds.send.tx'에 대한 해시 변환을 수행할 수 있다.
이때, 서비스 광고기의 ASP가 해시 변환하여야 할 수를 적정한 수준으로 유지하기 위해 프리픽스 서치는 도트('.')로 분리되는 단어 단위로 수행되는 것이 바람직하다.
예컨대, 'org.wi-fi.wfds.send.tx' 라는 서비스에 대해 하나의 문자 단위로 프리픽스 서치의 수행이 가능하다면, 서비스 광고기는 'org.wi-fi.wfds', 'org.wi-fi.wfds.s', 'org.wi-fi.wfds.se', 'org.wi-fi.wfds.sen', 'org.wi-fi.wfds.send', 'org.wi-fi.wfds.send.t', 'org.wi-fi.wfds.send.tx' 등 서비스 이름에 포함된 문자의 개수만큼의 해시 변환을 수행하여야 할 것이다.
이는 서비스 광고기의 처리량을 가중시키므로, 프리픽스 서치는, 'org.wi-fi.wfds' 및 'org.wi-fi.wfds.send' 등과 같이, 도트로 분리될 수 있는 단어 단위로 수행되는 것이 바람직하다.
프로브 요청 프레임은 복수 서비스에 대한 해시 값이 포함할 수도 있다. 다만, 프로브 요청 프레임에 복수 서비스에 대한 해시 값이 포함된다고 해서, 프로브 응답 프레임에도 복수 서비스에 대한 정보가 포함되어야 하는 것은 아니다. 프로브 응답 프레임에는 프로브 요청 프레임에 포함되는 복수의 해시 값 중 서비스 광고기에서 지원하는 서비스에 대응되는 서비스의 정보만이 포함되는 것으로 족하다.
프로브 요청 프레임에 포함된 해시값의 해시 매칭을 통해 일치하는 서비스가 검색되면, 서비스 광고기의 ASP는 서비스 탐색기로 프로브 응답 프레임을 전송할 수 있다. 이때, 프로브 응답 프레임에는 서비스 이름 및 광고 ID가 포함될 수 있다.
프로브 요청 프레임에 포함된 해시값과 일치하는 서비스가 발견된 경우, 서비스 광고기의 ASP는 해시값과 매칭되는 서비스 이름(구체적으로는, 서비스 이름의 문자열)을 프로브 요청 프레임에 포함시킬 수 있다.
정확한 검색이 이루어진 경우, 프로브 요청 프레임에는 전체 서비스 이름이 포함될 수 있고, 프리픽스 검색이 이루어진 경우, 프로브 요청 프레임에는 서비스 이름의 프리픽스가 포함될 수 있다.
예컨대, 프로브 요청 프레임에 포함된 해시값이 'org.wi-fi.wfds.send.rx'에 대응되는 것일 경우, 프로브 응답 프레임에는 'org.wi-fi.wfds.send.rx'라는 서비스 이름이 포함될 수 있고, 프로브 요청 프레임에 포함된 해시값이 'org.wi-fi.wfds'에 대응되는 것일 경우, 프로브 응답 프레임에는 'org.wi-fi.wfds'라는 프리픽스가 포함될 수 있다.
프로브 응답 프레임은 광고 ID를 포함할 수 있다. 광고 ID는 서비스 광고기의 ASP가, 서비스 광고기에서 광고되는 서비스에 대한 광고를 식별하기 위해 할당한 것일 수 있다.
예컨대, 서비스 광고 메소드를 통해 'org.wi-fi.wfds.send.rx'의 광고가 요청된 경우, 'org.wi-fi.wfds.send.rx'의 광고에는 광고 ID = 1이 할당될 수 있고, 이후, 서비스 광고 메소드를 통해 추가적으로 'org.wi-fi.wfds.send.tx'의 광고가 요청된 경우, 'org.wi-fi.wfds.send.tx'의 광고에는 광고 ID = 2가 할당될 수 있다.
만약, 프로브 요청 프레임에 포함된 해시값이 'org.wi-fi.wfds'에 대응되는 것일 경우, 서비스 광고기의 ASP는 프로브 응답 프레임의 광고 ID가 기 설정된 값(예컨대, 광고 ID = 0)으로 자동 설정할 수도 있다.
프로브 응답 프레임이 수신되면, 서비스 탐색기의 ASP는 서비스 광고기로 서비스 탐색 요청 프레임을 전송할 수 있다. 서비스 탐색 요청 프레임을 수신한 서비스 광고기의 ASP는 서비스 탐색 요청 프레임에 포함된 서비스 이름이 서비스 광고 메소드에 포함된 서비스 이름과 일치하는지 여부를 기초로, 서비스 탐색기가 요청하는 서비스를 지원하는지 여부를 판단할 수 있다.
서비스 탐색 요청 프레임 및 서비스 탐색 응답 프레임의 교환 단계에 있어서도, 정확한 검색 및 와일드 카드 서치가 지원될 수 있다.
와일드 카드 서치, 즉 프리 픽스 서치를 요청하고자 하는 서비스 탐색기의 ASP는 서비스 탐색 메소드를 통해 전달된 서비스 이름의 프리픽스에 기 설정된 기호(예컨대, '*')를 덧붙일 수 있다. 기 설정된 기호를 덧붙임에 있어서, 기 설정된 기호와 프리픽스 사이에는 도트('.')가 삽입될 수도, 그렇지 않을 수도 있다. 예컨대, 프리픽스가 'org.wi-fi.wfds'인 경우, 프리픽스 서치를 위한 검색어는 'org.wi-fi.wfds*' 또는 'org.wi-fi.wfds.*' 일 수 있다.
서비스 광고기의 ASP는 서비스 탐색이 요청된 서비스 이름에 기 설정된 기호가 포함되어 있는지 여부에 따라, 정확한 검색인지 혹은 프리픽스 서치인지 여부를 구분할 수 있다. 탐색이 요청된 서비스 이름에 기 설정된 기호가 포함되어 있지 않은 경우, 서비스 광고기의 ASP는 탐색이 요청된 서비스 이름과 동일한 서비스가 존재하는지 여부를 탐색할 수 있다. 그렇지 않고, 서비스 이름에 기 설정된 기호가 포함되어 있는 경우, 서비스 광고기의 ASP는 탐색이 요청된 서비스 이름 중 기 설정된 기호를 제외한 문자열을 프리픽스로 갖는 서비스가 존재하는지 여부를 탐색할 수 있다.
일예로, 서비스 탐색 요청 프레임에 포함된 서비스 이름이 'org.wi-fi.wfds.send.rx' 인 경우, 서비스 탐색 요청 프레임에 기 설정된 기호(즉, '*')가 포함되어 있지 않으므로, 서비스 광고기의 ASP는 정확한 서치를 수행할 수 있다. 이에 따라, 서비스 탐색 요청 프레임에 포함된 서비스 이름과 정확하게 동일한 'org.wi-fi.wfds.send.rx'을 검색할 수 있다.
다른 예로, 서비스 탐색 요청 프레임에 포함된 서비스 이름이 'org.wi-fi.wfds*' 인 경우, 서비스 탐색 요청 프레임에 기 설정된 기호(즉, '*')가 포함되어 있으므로, 서비스 광고기의 ASP는 프리픽스 서치를 수행할 수 있다. 이에 따라, 서비스 탐색 요청 프레임은 기 설정된 기호를 제외한 문자열을 프리픽스로 갖는 서비스에 대한 검색을 수행할 수 있다.
'org.wi-fi.wfds'라는 문자열은 모든 WFA 서비스가 공통적으로 포함하고 있으므로, 임의 WFA 서비스를 탐색하기 위해 'org.wi-fi.wfds*'라는 검색어가 사용될 수 있다.
특정 WFA 서비스를 탐색하기 위해서는 'org.wi-fi.wfds.servicename*'(여기서, servicename은 Send, Play, Display, Print 중 어느 하나일 수 있음) 이라는 검색어가 사용될 수 있다. 이는 'org.wi-fi.wfds.servicename' 이라는 프리픽스를 포함하는 서비스, 예컨대, 'org.wi-fi.wfds.servicename.tx' 및 'org.wi-fi.wfds.servicename.rx' 를 탐색하기 위한 것일 수 있다.
서비스 탐색 메소드의 서비스 이름 파라미터에 기 설정된 기호(예컨대, '*')가 포함되어 있다면, 서비스 탐색기의 ASP는 와일드 카드 서치를 수행할 수 있다.
프리픽스 서치는 검색어에서 기 설정된 기호, '*'를 제외한 문자열을 프리픽스로 갖는 서비스를 탐색하기 위한 것일 수 있다. 일예로, 모든 WFA 서비스(즉, Send, Play, Display, Print)는 프리픽스로서 'org.wi-fi.wfds'라는 문자열을 포함하므로, 모든 WFA 서비스를 탐색하기 위해 'org.wi-fi.wfds*'(또는 'org.wi-fi.wfds.*) 라는 검색어가 사용될 수 있다.
특정 WFA 서비스를 탐색하기 위해서는 'org.wi-fi.wfds.servicename*'(또는 'org.wi-fi.wfds.servicename.*') (여기서, servicename은 Send, Play, Display, Print 중 어느 하나일 수 있음) 라는 검색어가 사용될 수 있다. 이는 'org.wi-fi.wfds.servicename' 이라는 프리픽스를 포함하는 서비스, 예컨대, 'org.wi-fi.wfds.servicename.tx' 및 'org.wi-fi.wfds.servicename.rx' 를 탐색하기 위한 것일 수 있다.
서비스 탐색 요청 프레임에 포함된 서비스 이름과 매칭되는 서비스가 발견된 경우, 서비스 광고기의 ASP는 서비스 탐색 응답 프레임을 서비스 탐색기로 전송할 수 있다. 이때, 서비스 탐색 응답 프레임에는 서비스 이름, 광고 ID 및 서비스 상태가 포함될 수 있다.
서비스 탐색 응답 프레임에 포함되는 서비스 이름은 서비스 광고 메소드를 통해 전달된 서비스 이름 중 서비스 탐색 요청 프레임을 통해 수신된 서비스 이름과 매칭되는 것일 수 있다.
예컨대, 서비스 광고 메소드를 통해 전달된 서비스 이름이, 'org.wi-fi.wfds.send.tx' 및 'org.wi-fi.wfds.send.rx'이고, 서비스 탐색 요청 프레임을 통해 수신된 서비스 이름이 'org.wi-fi.wfds.send.rx'인 경우, 서비스 탐색 응답 프레임에는 'org.wi-fi.wfds.send.rx'가 포함될 수 있을 것이다.
이와 달리, 서비스 광고 메소드를 통해 전달된 서비스 이름이, 'org.wi-fi.wfds.send.tx' 및 'org.wi-fi.wfds.send.rx'이고, 서비스 탐색 요청 프레임을 통해 수신된 서비스 이름이 'org.wi-fi.wfds*'인 경우, 서비스 탐색 응답 프레임에는 'org.wi-fi.wfds'를 프리픽스로 갖는, 'org.wi-fi.wfds.send.tx' 및 'org.wi-fi.wfds.send.rx'가 포함될 수 있을 것이다.
광고 ID는 서비스 광고기에서 광고되는 서비스에 대한 광고를 식별하기 위해 할당한 것일 수 있다.
서비스 상태는 서비스 광고기 측에서의 서비스의 이용 가능성을 지시할 수 있다. 서비스 상태를 통해 서비스 광고기가 원격 기기(예컨대, 서비스 탐색기)가 요청한 서비스를 지원하는 것과 별개로, 해당 서비스가 현재 이용가능한지 여부가 지시될 수 있다. 예컨대, 서비스 광고기가 서비스 탐색기가 요청하는 프린트 리시버 서비스(org.wi-fi.wfds.print.rx)를 지원한다 하더라도, 현재 접속한 인원 수가 많아, 서비스 광고기와의 새로운 접속(connection)을 수립할 수 없는 상태라면, 서비스 광고기는 프린트 리시버 서비스가 이용가능하지 않은 상태임을 지시할 수 있다.
이네이블 서비스도 정확한 서치 및 와일드 카드 서치가 지원될 수 있다. 예컨대, 서비스 광고기가 지원하는 이네이블 서비스가, 'com.example.serviceX' 및 'com.example.serviceY'라면, 상기 두개의 이네이블 서비스를 탐색하기 위해, 양자가 공통적으로 포함하는 프리픽스를 기초로 'com*' 또는 'com.example*' 등의 검색어를 활용할 수 있을 것이다.
상술한 실시예들에서 설명하는 본 발명의 예시적인 방법은 설명의 간명함을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 또한, 본 발명에서 제안하는 방법을 구현하기 위해서 도면에서 예시하는 모든 단계가 반드시 필요한 것은 아니다.
또한, 본 발명에 따른 방법에 있어서, 전술한 본 발명의 다양한 실시예에서 설명한 사항들은 독립적으로 적용되거나 또는 2 이상의 실시예가 동시에 적용되도록 구현될 수 있다.
도 16은 본 발명의 일 실시예에 따른 무선 디바이스의 구성을 나타내는 블록도이다.
무선 디바이스(10)는 프로세서(11), 메모리(12), 송수신기(13)를 포함할 수 있다. 송수신기(13)는 무선 신호를 송신/수신할 수 있고, 예를 들어, IEEE 802 시스템에 따른 물리 레이어를 구현할 수 있다. 프로세서(11)는 송수신기(13)와 전기적으로 연결되어 IEEE 802 시스템에 따른 물리 레이어 및/또는 MAC 레이어를 구현할 수 있다. 또한, 프로세서(11)는 전술한 본 발명의 다양한 실시예에 따른 어플리케이션, 서비스, ASP 레이어 중의 하나 이상의 동작을 수행하도록 구성될 수 있다. 또한, 전술한 본 발명의 다양한 실시예에 따른 무선 디바이스의 동작을 구현하는 모듈이 메모리(12)에 저장되고, 프로세서(11)에 의하여 실행될 수도 있다. 메모리(12)는 프로세서(11)의 내부에 포함되거나 또는 프로세서(11)의 외부에 설치되어 프로세서(11)와 공지의 수단에 의해 연결될 수 있다.
도 16의 무선 디바이스(10)의 구체적인 구성은, 전술한 본 발명의 다양한 실시예에서 설명한 사항들이 독립적으로 적용되거나 또는 2 이상의 실시예가 동시에 적용되도록 구현될 수 있으며, 중복되는 내용은 명확성을 위하여 설명을 생략한다.
상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
상술한 바와 같이 개시된 본 발명의 바람직한 실시형태에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시 형태를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다.
상술한 바와 같은 본 발명의 다양한 실시형태들은 IEEE 802.11 시스템을 중심으로 설명하였으나, 다양한 이동통신 시스템에 동일한 방식으로 적용될 수 있다.

Claims (12)

  1. 와이파이 다이렉트 서비스를 지원하는 제 1 무선 디바이스에서 서비스 탐색을 수행하는 방법에 있어서,
    해시 값을 포함하는 프로브 요청 프레임을 전송하는 단계;
    제 2 무선 디바이스로부터 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 수신하는 단계;
    상기 제 2 무선 디바이스로 검색어를 포함하는 서비스 탐색 요청 프레임을 전송하는 단계; 및
    상기 제 2 무선 디바이스로부터 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 수신하는 단계;
    를 포함하되,
    상기 서비스 탐색 요청 프레임 및 상기 서비스 탐색 응답 프레임에 기초하여 와일드 카드 검색 및 정확한 검색 (exact search) 중 어느 하나가 지원되고,
    상기 와일드 카드 검색이 지원되는 경우, 상기 검색어에는 기 설정된 기호가 포함되고, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함하며,
    상기 정확한 검색이 지원되는 경우, 상기 검색어에는 상기 기 설정된 기호가 포함되지 않고, 상기 제 2 서비스 정보는 상기 검색어와 일치하는 서비스 이름만을 포함하는, 서비스 탐색 수행 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 기 설정된 기호는, '*' 인 것을 특징으로 하는, 서비스 탐색 수행 방법.
  4. 제 1 항에 있어서,
    상기 제 2 서비스 정보는 상기 검색어와 매칭되는 서비스의 이용 가능성을 지시하는 서비스 상태 정보를 더 포함하는 것을 특징으로 하는, 서비스 탐색 수행 방법.
  5. 제 1 항에 있어서,
    상기 제 1 서비스 정보는, 상기 해시 값에 대응되는 서비스 이름 및 광고 식별자를 포함하는 것을 특징으로 하는, 서비스 탐색 수행 방법.
  6. 제 5 항에 있어서,
    상기 해시 값이 모든 WFA(WiFi Alliance) 서비스가 공통적으로 갖는 프리픽스를 해시 변환한 것이고, 상기 제 2 무선 디바이스가 적어도 하나의 WFA 서비스를 지원하는 경우,
    상기 해시 값에 대응되는 서비스 이름은, 상기 모든 WFA 서비스가 공통적으로 갖는 프리픽스이고,
    상기 광고 식별자는 기 설정된 값으로 설정되는 것을 특징으로 하는, 서비스 탐색 수행 방법.
  7. 제 6 항에 있어서,
    상기 모든 WFA 서비스가 공통적으로 갖는 프리픽스는 'org.wi-fi.wfds' 인 것을 특징으로 하는, 서비스 탐색 수행 방법.
  8. 제 1 항에 있어서, 상기 검색어는,
    특정 서비스의 서비스 이름이거나,
    상기 서비스 이름에 포함된 도트('.')를 기준으로, 상기 서비스 이름을 전단부 및 후단부로 분리하였을 때, 상기 전단부인 것을 특징으로 하는, 서비스 탐색 수행 방법.
  9. 제 1 항에 있어서,
    상기 프로브 요청 프레임이 복수의 해시 값을 포함하는 경우,
    상기 제 1 서비스 정보는 상기 복수의 해시 값 중 적어도 하나와 매칭되는 적어도 하나의 서비스의 서비스 이름 및 광고 식별자를 포함하는 것을 특징으로 하는, 서비스 탐색 수행 방법.
  10. 와이파이 다이렉트 서비스를 지원하는 제 1 무선 디바이스에서 서비스 광고를 수행하는 방법에 있어서,
    제 2 무선 디바이스로부터 해시 값을 포함하는 프로브 요청 프레임을 수신하는 단계;
    상기 제 2 무선 디바이스로 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 전송하는 단계;
    상기 제 2 무선 디바이스로부터 검색어를 포함하는 서비스 탐색 요청 프레임을 수신하는 단계; 및
    상기 제 1 무선 디바이스로 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 전송하는 단계;
    를 포함하되,
    상기 서비스 탐색 요청 프레임 및 상기 서비스 탐색 응답 프레임에 기초하여 와일드 카드 검색 및 정확한 검색 (exact search) 중 어느 하나가 지원되고,
    상기 와일드 카드 검색이 지원되는 경우, 상기 검색어에는 기 설정된 기호가 포함되고, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함하며,
    상기 정확한 검색이 지원되는 경우, 상기 검색어에는 상기 기 설정된 기호가 포함되지 않고, 상기 제 2 서비스 정보는 상기 검색어와 일치하는 서비스 이름만을 포함하는, 서비스 광고 수행 방법.
  11. 서비스 탐색을 수행하는, 와이파이 다이렉트 서비스를 지원하는 제 1 무선 디바이스에 있어서,
    송수신기; 및
    프로세서를 포함하고,
    상기 프로세서는 해시 값을 포함하는 프로브 요청 프레임을 전송하도록 상기 송수신기를 제어하고,
    상기 송수신기가 제 2 무선 디바이스로부터 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 수신하면, 상기 송수신기가 상기 제 2 무선 디바이스로 검색어를 포함하는 서비스 탐색 요청 프레임을 전송하고, 상기 제 2 무선 디바이스로부터 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 수신하도록 제어하되,
    상기 서비스 탐색 요청 프레임 및 상기 서비스 탐색 응답 프레임에 기초하여 와일드 카드 검색 및 정확한 검색 (exact search) 중 어느 하나가 지원되고,
    상기 와일드 카드 검색이 지원되는 경우, 상기 검색어에는 기 설정된 기호가 포함되고, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함하며,
    상기 정확한 검색이 지원되는 경우, 상기 검색어에는 상기 기 설정된 기호가 포함되지 않고, 상기 제 2 서비스 정보는 상기 검색어와 일치하는 서비스 이름만을 포함하는, 서비스 탐색을 위한 제 1 무선 디바이스.
  12. 서비스 광고를 수행하는, 와이파이 다이렉트 서비스를 지원하는 제 1 무선 디바이스에 있어서,
    송수신기; 및
    프로세서를 포함하고,
    상기 송수신기가 제 2 무선 디바이스로부터 해시 값을 포함하는 프로브 요청 프레임을 수신하면,
    상기 프로세서는, 상기 송수신기가 상기 해시 값에 대응되는 제 1 서비스 정보를 포함하는 프로브 응답 프레임을 상기 제 2 무선 디바이스로 전송하도록 제어하고,
    상기 송수신기가 상기 제 2 무선 디바이스로부터 검색어를 포함하는 서비스 탐색 요청 프레임을 수신하면,
    상기 프로세서는, 상기 송수신기가 상기 검색어에 대응되는 제 2 서비스 정보를 포함하는 서비스 탐색 응답 프레임을 상기 제 2 무선 디바이스로 전송하도록 제어하되,
    상기 서비스 탐색 요청 프레임 및 상기 서비스 탐색 응답 프레임에 기초하여 와일드 카드 검색 및 정확한 검색 (exact search) 중 어느 하나가 지원되고,
    상기 와일드 카드 검색이 지원되는 경우, 상기 검색어에는 기 설정된 기호가 포함되고, 상기 제 2 서비스 정보는 상기 검색어를 프리픽스로 갖는 적어도 하나의 서비스 이름을 포함하며,
    상기 정확한 검색이 지원되는 경우, 상기 검색어에는 상기 기 설정된 기호가 포함되지 않고, 상기 제 2 서비스 정보는 상기 검색어와 일치하는 서비스 이름만을 포함하는, 서비스 광고를 위한 제 1 무선 디바이스.
KR1020157015598A 2012-11-20 2013-11-20 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치 KR101680675B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261728244P 2012-11-20 2012-11-20
US61/728,244 2012-11-20
US201261732866P 2012-12-03 2012-12-03
US61/732,866 2012-12-03
US201261736490P 2012-12-12 2012-12-12
US61/736,490 2012-12-12
PCT/KR2013/010572 WO2014081195A1 (ko) 2012-11-20 2013-11-20 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167032498A Division KR101779437B1 (ko) 2012-11-20 2013-11-20 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20150095674A KR20150095674A (ko) 2015-08-21
KR101680675B1 true KR101680675B1 (ko) 2016-11-29

Family

ID=50776307

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157015598A KR101680675B1 (ko) 2012-11-20 2013-11-20 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치
KR1020167032498A KR101779437B1 (ko) 2012-11-20 2013-11-20 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167032498A KR101779437B1 (ko) 2012-11-20 2013-11-20 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치

Country Status (3)

Country Link
US (1) US9860828B2 (ko)
KR (2) KR101680675B1 (ko)
WO (1) WO2014081195A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11075796B2 (en) 2018-04-25 2021-07-27 Humax Networks, Inc. Wireless communication equipment and method for configuring mesh network thereof

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY168007A (en) * 2012-04-13 2018-10-11 Sony Corp Wireless communication device, communication system, and communication method
WO2014084519A1 (ko) * 2012-11-29 2014-06-05 엘지전자 주식회사 와이파이 다이렉트 서비스 시스템에서 통신 설정 방법 및 이를 위한 장치
JP6271839B2 (ja) * 2013-01-25 2018-01-31 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP2015144422A (ja) * 2013-12-25 2015-08-06 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
WO2015133865A1 (en) * 2014-03-06 2015-09-11 Samsung Electronics Co., Ltd. Method and system for establishing a service session between seeker device and advertiser device
US20160050551A1 (en) * 2014-08-15 2016-02-18 Emily Qi Methods, systems, and devices for enabling multiple radio assited discovery
KR101901951B1 (ko) * 2014-10-29 2018-09-28 엘지전자 주식회사 무선 통신 시스템에서 와이파이 다이렉트를 지원하는 장치가 디스커버리를 수행하는 방법 및 장치
US9807806B2 (en) * 2014-12-24 2017-10-31 Mediatek Inc. Method for accessing a network in electronic system and associated portable device
US20160285630A1 (en) * 2015-03-23 2016-09-29 Qualcomm Incorporated Private service identifiers in neighborhood aware networks
US10148769B2 (en) * 2015-09-11 2018-12-04 Blackberry Limited Pre-association discovery of services
US10098067B2 (en) * 2016-09-21 2018-10-09 Intel IP Corporation Service discovery via low-power wake-up radio
KR102183828B1 (ko) * 2018-11-05 2020-11-27 옴니비스타 주식회사 광고 앱을 이용한 광고 시스템 및 이를 이용한 광고 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090239469A1 (en) * 2008-03-24 2009-09-24 Anand Rangarajan Techniques for discovering services provided in a wireless network
US20120243524A1 (en) * 2009-11-17 2012-09-27 Samsung Electronics Co., Ltd. Method and device for investigating wifi display service in a wifi direct network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285860B2 (en) * 2009-03-16 2012-10-09 Apple Inc. Efficient service discovery for peer-to-peer networking devices
US8478820B2 (en) 2009-08-26 2013-07-02 Qualcomm Incorporated Methods and systems for service discovery management in peer-to-peer networks
US8559340B2 (en) * 2009-12-22 2013-10-15 Samsung Electronics Co., Ltd. Method and apparatus for service discovery in Wi-Fi direct network
US8509105B2 (en) * 2010-06-23 2013-08-13 Nokia Corporation Method and apparatus for device-to-device network coordination
US9503833B2 (en) 2011-03-23 2016-11-22 Qualcomm Incorporated System and method for network provisioning of mobile entities for peer-to-peer service
US9137621B2 (en) * 2012-07-13 2015-09-15 Blackberry Limited Wireless network service transaction protocol

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090239469A1 (en) * 2008-03-24 2009-09-24 Anand Rangarajan Techniques for discovering services provided in a wireless network
US20120243524A1 (en) * 2009-11-17 2012-09-27 Samsung Electronics Co., Ltd. Method and device for investigating wifi display service in a wifi direct network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11075796B2 (en) 2018-04-25 2021-07-27 Humax Networks, Inc. Wireless communication equipment and method for configuring mesh network thereof
US11575567B2 (en) 2018-04-25 2023-02-07 Humax Networks, Inc. Wireless communication equipment and method for configuring mesh network thereof

Also Published As

Publication number Publication date
US9860828B2 (en) 2018-01-02
KR20150095674A (ko) 2015-08-21
US20150341849A1 (en) 2015-11-26
KR101779437B1 (ko) 2017-09-18
KR20160137667A (ko) 2016-11-30
WO2014081195A1 (ko) 2014-05-30

Similar Documents

Publication Publication Date Title
US9843632B2 (en) Method for peer to peer group formation in direct communication system and device therefor
KR102152713B1 (ko) 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치
KR101680675B1 (ko) 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치
KR101611329B1 (ko) 무선 통신 시스템에서 서비스 전환 방법 및 장치
AU2013356802B2 (en) Method and device for session initialization in wireless communication system
US9699715B2 (en) Discovery method and device in a wireless communication system
KR20150135219A (ko) 무선 통신 시스템에서 세션 수립 방법 및 장치
KR101801591B1 (ko) 무선 통신 시스템에서 디스커버리를 수행하는 방법 및 장치
US10194381B2 (en) Method and apparatus for performing discovery using MDNS in wireless communication system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant