이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
본 발명의 실시예들은 무선 접속 시스템들인 IEEE 802 시스템, 3GPP 시스템, 3GPP LTE 및 LTE-A(LTE-Advanced)시스템 및 3GPP2 시스템 중 적어도 하나에 개시된 표준 문서들에 의해 뒷받침될 수 있다. 즉, 본 발명의 실시예들 중 본 발명의 기술적 사상을 명확히 드러내기 위해 설명하지 않은 단계들 또는 부분들은 상기 문서들에 의해 뒷받침될 수 있다. 또한, 본 문서에서 개시하고 있는 모든 용어들은 상기 표준 문서에 의해 설명될 수 있다.
이하의 기술은 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 802-20, E-UTRA(Evolved UTRA) 등과 같은 무선 기술로 구현될 수 있다. UTRA는 UMTS(Universal Mobile Telecommunications System)의 일부이다. 3GPP(3rd Generation Partnership Project) LTE(long term evolution)은 E-UTRA를 사용하는 E-UMTS(Evolved UMTS)의 일부로써, 하향링크에서 OFDMA를 채용하고 상향링크에서 SC-FDMA를 채용한다. LTE-A(Advanced)는 3GPP LTE의 진화이다.
설명을 명확하게 하기 위해, IEEE 802.11 시스템을 위주로 기술하지만 본 발명의 기술적 특징이 이에 제한되는 것은 아니다.
시스템 일반
도 1 은 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 예시적인 구조를 나타내는 도면이다.
IEEE 802.11 구조는 복수개의 구성요소들로 구성될 수 있고, 이들의 상호작용에 의해 상위계층에 대해 트랜스패런트한 STA 이동성을 지원하는 WLAN이 제공될 수 있다. 기본 서비스 세트(BSS: Basic Service Set)는 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(IBSS: Independent BSS)이다. 예를 들어, 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)는 동적으로 설정될 수 있고, 분배 시스템 서비스(DSS: Distribution System Service)의 이용을 포함할 수 있다.
도 2 는 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 다른 예시적인 구조를 나타내는 도면이다. 도 2 에서는 도 1 의 구조에서 분배 시스템(DS: Distribution System), 분배 시스템 매체(DSM: Distribution System Medium), 액세스 포인트(AP: Access Point) 등의 구성요소가 추가된 형태이다.
LAN에서 직접적인 스테이션-대-스테이션의 거리는 PHY 성능에 의해서 제한될 수 있다. 어떠한 경우에는 이러한 거리의 한계가 충분할 수도 있지만, 경우에 따라서는 보다 먼 거리의 스테이션 간의 통신이 필요할 수도 있다. 확장된 커버리지를 지원하기 위해서 분배 시스템(DS)이 구성될 수 있다.
DS는 BSS들이 상호 연결되는 구조를 의미한다. 구체적으로, 도 1 과 같이 BSS가 독립적으로 존재하는 대신에, 복수개의 BSS들로 구성된 네트워크의 확장된 형태의 구성요소로서 BSS가 존재할 수도 있다.
DS는 논리적인 개념이며 분배 시스템 매체(DSM)의 특성에 의해서 특정될 수 있다. 이와 관련하여, IEEE 802.11 표준에서는 무선 매체(WM: Wireless Medium)와 분배 시스템 매체(DSM)을 논리적으로 구분하고 있다. 각각의 논리적 매체는 상이한 목적을 위해서 사용되며, 상이한 구성요소에 의해서 사용된다. IEEE 802.11 표준의 정의에서는 이러한 매체들이 동일한 것으로 제한하지도 않고 상이한 것으로 제한하지도 않는다. 이와 같이 복수개의 매체들이 논리적으로 상이하다는 점에서, IEEE 802.11 LAN 구조(DS 구조 또는 다른 네트워크 구조)의 유연성이 설명될 수 있다. 즉, IEEE 802.11 LAN 구조는 다양하게 구현될 수 있으며, 각각의 구현예의 물리적인 특성에 의해서 독립적으로 해당 LAN 구조가 특정될 수 있다.
DS는 복수개의 BSS들의 끊김 없는(seamless) 통합을 제공하고 목적지로의 어드레스를 다루는 데에 필요한 논리적 서비스들을 제공함으로써 이동 장치를 지원할 수 있다.
AP 는, 연계된 STA들에 대해서 WM을 통해서 DS 로의 액세스를 가능하게 하고 STA 기능성을 가지는 개체를 의미한다. AP를 통해서 BSS 및 DS 간의 데이터 이동이 수행될 수 있다. 예를 들어, 도 2 에서 도시하는 STA2 및 STA3 은 STA의 기능성을 가지면서, 연계된 STA들(STA1 및 STA4)가 DS로 액세스하도록 하는 기능을 제공한다. 또한, 모든 AP는 기본적으로 STA에 해당하므로, 모든 AP는 어드레스 가능한 개체이다. WM 상에서의 통신을 위해 AP 에 의해서 사용되는 어드레스와 DSM 상에서의 통신을 위해 AP 에 의해서 사용되는 어드레스는 반드시 동일할 필요는 없다.
AP에 연계된 STA들 중의 하나로부터 그 AP의 STA 어드레스로 전송되는 데이터는, 항상 비제어 포트(uncontrolled port)에서 수신되고 IEEE 802.1X 포트 액세스 개체에 의해서 처리될 수 있다. 또한, 제어 포트(controlled port)가 인증되면 전송 데이터(또는 프레임)는 DS로 전달될 수 있다.
도 3 은 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 또 다른 예시적인 구조를 나타내는 도면이다. 도 3 에서는 도 2 의 구조에 추가적으로 넓은 커버리지를 제공하기 위한 확장된 서비스 세트(ESS: Extended Service Set)를 개념적으로 나타낸다.
임의의(arbitrary) 크기 및 복잡도를 가지는 무선 네트워크가 DS 및 BSS들로 구성될 수 있다. IEEE 802.11 시스템에서는 이러한 방식의 네트워크를 ESS 네트워크라고 칭한다. ESS는 하나의 DS에 연결된 BSS들의 집합에 해당할 수 있다. 그러나, ESS는 DS를 포함하지는 않는다. ESS 네트워크는 LLC(Logical Link Control) 계층에서 IBSS 네트워크로 보이는 점이 특징이다. ESS에 포함되는 STA들은 서로 통신할 수 있고, 이동 STA들은 LLC에 트랜스패런트하게 하나의 BSS에서 다른 BSS로 (동일한 ESS 내에서) 이동할 수 있다.
IEEE 802.11 에서는 도 3 에서의 BSS들의 상대적인 물리적 위치에 대해서 아무것도 가정하지 않으며, 다음과 같은 형태가 모두 가능하다. BSS들은 부분적으로 중첩될 수 있고, 이는 연속적인 커버리지를 제공하기 위해서 일반적으로 이용되는 형태이다. 또한, BSS들은 물리적으로 연결되어 있지 않을 수 있고, 논리적으로는 BSS들 간의 거리에 제한은 없다. 또한, BSS들은 물리적으로 동일한 위치에 위치할 수 있고, 이는 리던던시를 제공하기 위해서 이용될 수 있다. 또한, 하나 (또는 하나 이상의) IBSS 또는 ESS 네트워크들이 하나 (또는 하나 이상의) ESS 네트워크로서 동일한 공간에 물리적으로 존재할 수 있다. 이는 ESS 네트워크가 존재하는 위치에 애드-혹 네트워크가 동작하는 경우나, 상이한 기관(organizations)에 의해서 물리적으로 중첩되는 IEEE 802.11 네트워크들이 구성되는 경우나, 동일한 위치에서 2 이상의 상이한 액세스 및 보안 정책이 필요한 경우 등에서의 ESS 네트워크 형태에 해당할 수 있다.
도 4 는 WLAN 시스템의 예시적인 구조를 나타내는 도면이다. 도 4 에서는 DS를 포함하는 기반 구조 BSS 의 일례가 도시된다.
도 4 의 예시에서 BSS1 및 BSS2가 ESS를 구성한다. WLAN 시스템에서 STA는 IEEE 802.11 의 MAC/PHY 규정에 따라 동작하는 장치다. STA는 AP STA 및 비-AP(non-AP) STA을 포함한다. Non-AP STA는 랩탑 컴퓨터, 이동 전화기와 같이 일반적으로 사용자가 직접 다루는 장치에 해당한다. 도 4 의 예시에서 STA1, STA3, STA4 는 non-AP STA에 해당하고, STA2 및 STA5 는 AP STA 에 해당한다.
이하의 설명에서 non-AP STA는 단말(terminal), 무선 송수신 유닛(WTRU: Wireless Transmit/Receive Unit), 사용자 장치(UE: User Equipment), 이동국(MS: Mobile Station), 이동단말(Mobile Terminal), 이동 가입자국(MSS: Mobile Subscriber Station) 등으로 칭할 수도 있다. 또한, AP는 다른 무선 통신 분야에서의 기지국(BS: Base Station), 노드-B(Node-B), 발전된 노드-B(eNB: evolved Node-B), 기저 송수신 시스템(BTS: Base Transceiver System), 펨토 기지국(Femto BS) 등에 대응하는 개념이다.
도 5는 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 데이터 링크 계층(Data Link Layer)와 물리 계층(Physical Layer)의 구조를 예시하는 도면이다.
도 5를 참조하면, 물리 계층(520)은 PLCP 개체(Physical Layer Convergence Procedure Entity, 521)와 PMD 개체(Physical Medium Dependent Entity, 522)를 포함할 수 있다. PLCP 개체(521)는 MAC서브 계층(510)과 데이터 프레임을 연결하는 역할을 수행한다. PMD 개체(522)는 OFDM 방식을 사용하여 2개 또는 그 이상의 STA과 데이터를 무선으로 송수신 하는 역할을 수행한다.
MAC 부계층(510)과 물리 계층(520) 모두 개념상의 관리 개체를 포함할 수 있으며, 각각 MLME(MAC Sublayer Management Entity, 511)과 PLME (Physical Layer Management Entity, 523)로 지칭할 수 있다. 이들 개체(511, 521)은 계층 관리 함수의 동작을 통해 계층 관리 서비스 인터페이스를 제공한다.
정확한 MAC 동작을 제공하기 위하여, SME(Station Management Entity, 530)가 각 STA 내에 존재할 수 있다. SME(530)는 각 계층과 독립적인 관리 개체로서 여러 계층 관리 개체들로부터 계층 기반 상태 정보를 수집하거나 각 계층의 특정 파라미터들의 값을 설정한다. SME(530)는 일반 시스템 관리 개체들을 대신하여 이러한 기능을 수행할 수 있으며, 표준 관리 프로토콜을 구현할 수 있다.
위와 같은 다양한 개체들은 다양한 방법으로 상호 작용(interact)할 수 있으며, 도 5에서는 GET/SET 프리미티브(primitive)를 교환하는 예를 나타낸다. XX-GET.request 프리미티브는 관리 정보 베이스 속성(MIB attribute: Management Information Base attribute)의 값을 요청하기 위해 사용되고, XX-GET.confirm 프리미티브는 상태가 'SUCCESS'라면, 해당 MIB 속성 값을 리턴(return)하고, 그 외의 경우에는 상태 필드에 오류 표시를 하여 리턴한다. XX-SET.request 프리미티브는 지정된 MIB 속성을 주어진 값으로 설정하도록 요청하기 위해 사용된다. MIB 속성이 특정 동작으로 의미하고 있다면, 이 요청은 그 특정 동작의 실행을 요청한다. 그리고, XX-SET.confirm 프리미티브는 상태가 'SUCCESS'라면, 이는 지정된 MIB 속성이 요청된 값으로 설정되었음을 의미한다. 그 외의 경우에는, 상태 필드는 오류 상황을 나타낸다. 이 MIB 속성이 특정 동작을 의미한다면, 이 프리미티브는 해당 동작의 수행된 것을 확인해 줄 수 있다.
도 5에 도시된 바와 같이 MLME(511)와 SME(530), PLME(523)와 SME (530)는 다양한 프리미티브를 각각 MLME_SAP(MLME_Service Access Point, 550), PLME_SAP(PLME_Service Access Point, 560)를 통해 교환할 수 있다. 그리고, MLME(511)와 PLME(523) 간에는 MLME-PLME_SAP(MLME-PLME_Service Access Point, 570)을 통해 프리미티브를 교환할 수 있다.
링크 셋업 과정
도 6은 본 발명이 적용될 수 있는 무선랜 시스템에서 일반적인 링크 셋업(link setup) 과정을 설명하기 위한 도면이다.
STA이 네트워크에 대해서 링크를 셋업하고 데이터를 송수신하기 위해서는, 먼저 네트워크를 발견(discovery)하고, 인증(authentication)을 수행하고, 연계(association)을 맺고(establish), 보안(security)을 위한 인증 절차 등을 거쳐야 한다. 링크 셋업 과정을 세션 개시 과정, 세션 셋업 과정이라고도 칭할 수 있다. 또한, 링크 셋업 과정의 발견, 인증, 연계, 보안 설정의 과정을 통칭하여 연계 과정이라고 칭할 수도 있다.
도 6을 참조하여 예시적인 링크 셋업 과정에 대해서 설명한다.
단계 S610에서 STA은 네트워크 발견 동작을 수행할 수 있다. 네트워크 발견 동작은 STA의 스캐닝(scanning) 동작을 포함할 수 있다. 즉, STA이 네트워크에 액세스하기 위해서는 참여 가능한 네트워크를 찾아야 한다. STA은 무선 네트워크에 참여하기 전에 호환 가능한 네트워크를 식별하여야 하는데, 특정 영역에 존재하는 네트워크 식별과정을 스캐닝이라고 한다.
스캐닝 방식에는 능동적 스캐닝(active scanning)과 수동적 스캐닝(passive scanning)이 있다.
도 6에서는 예시적으로 능동적 스캐닝 과정을 포함하는 네트워크 발견 동작을 도시한다. 능동적 스캐닝에서 스캐닝을 수행하는 STA은 채널들을 옮기면서 주변에 어떤 AP가 존재하는지 탐색하기 위해 프로브 요청 프레임(probe request frame)을 전송하고 이에 대한 응답을 기다린다. 응답자(responder)는 프로브 요청 프레임을 전송한 STA에게 프로브 요청 프레임에 대한 응답으로 프로브 응답 프레임(probe response frame)을 전송한다. 여기에서, 응답자는 스캐닝되고 있는 채널의 BSS에서 마지막으로 비콘 프레임(beacon frame)을 전송한 STA일 수 있다. BSS에서는 AP가 비콘 프레임을 전송하므로 AP가 응답자가 되며, IBSS에서는 IBSS 내의 STA들이 돌아가면서 비콘 프레임을 전송하므로 응답자가 일정하지 않다. 예를 들어, 1번 채널에서 프로브 요청 프레임을 전송하고 1번 채널에서 프로브 응답 프레임을 수신한 STA은, 수신한 프로브 응답 프레임에 포함된 BSS 관련 정보를 저장하고 다음 채널(예를 들어, 2번 채널)로 이동하여 동일한 방법으로 스캐닝(즉, 2번 채널 상에서 프로브 요청/응답 송수신)을 수행할 수 있다.
도 6에서 도시하고 있지 않지만, 스캐닝 동작은 수동적 스캐닝 방식으로 수행될 수도 있다. 수동적 스캐닝에서 스캐닝을 수행하는 STA은 채널들을 옮기면서 비콘 프레임을 기다린다. 비콘 프레임은 IEEE 802.11에서 관리 프레임(management frame) 중 하나로서, 무선 네트워크의 존재를 알리고, 스캐닝을 수행하는 STA으로 하여금 무선 네트워크를 찾아서, 무선 네트워크에 참여할 수 있도록 주기적으로 전송된다. BSS에서 AP가 비콘 프레임을 주기적으로 전송하는 역할을 수행하고, IBSS에서는 IBSS 내의 STA들이 돌아가면서 비콘 프레임을 전송한다. 스캐닝을 수행하는 STA은 비콘 프레임을 수신하면 비콘 프레임에 포함된 BSS에 대한 정보를 저장하고 다른 채널로 이동하면서 각 채널에서 비콘 프레임 정보를 기록한다. 비콘 프레임을 수신한 STA은, 수신한 비콘 프레임에 포함된 BSS 관련 정보를 저장하고 다음 채널로 이동하여 동일한 방법으로 다음 채널에서 스캐닝을 수행할 수 있다.
능동적 스캐닝과 수동적 스캐닝을 비교하면, 능동적 스캐닝이 수동적 스캐닝보다 딜레이(delay) 및 전력 소모가 작은 장점이 있다.
STA이 네트워크를 발견한 후에, 단계 S620에서 인증 과정이 수행될 수 있다. 이러한 인증 과정은 후술하는 단계 S640의 보안 셋업 동작과 명확하게 구분하기 위해서 첫 번째 인증(first authentication) 과정이라고 칭할 수 있다.
인증 과정은 STA이 인증 요청 프레임(authentication request frame)을 AP에게 전송하고, 이에 응답하여 AP가 인증 응답 프레임(authentication response frame)을 STA에게 전송하는 과정을 포함한다. 인증 요청/응답에 사용되는 인증 프레임(authentication frame)은 관리 프레임에 해당한다.
인증 프레임은 인증 알고리즘 번호(authentication algorithm number), 인증 트랜잭션 시퀀스 번호(authentication transaction sequence number), 상태 코드(status code), 검문 텍스트(challenge text), RSN(Robust Security Network), 유한 순환 그룹(Finite Cyclic Group) 등에 대한 정보를 포함할 수 있다. 이는 인증 요청/응답 프레임에 포함될 수 있는 정보들의 일부 예시에 해당하며, 다른 정보로 대체되거나, 추가적인 정보가 더 포함될 수 있다.
STA은 인증 요청 프레임을 AP에게 전송할 수 있다. AP는 수신된 인증 요청 프레임에 포함된 정보에 기초하여, 해당 STA에 대한 인증을 허용할지 여부를 결정할 수 있다. AP는 인증 처리의 결과를 인증 응답 프레임을 통하여 STA에게 제공할 수 있다.
STA이 성공적으로 인증된 후에, 단계 S630에서 연계 과정이 수행될 수 있다. 연계 과정은 STA이 연계 요청 프레임(association request frame)을 AP에게 전송하고, 이에 응답하여 AP가 연계 응답 프레임(association response frame)을 STA에게 전송하는 과정을 포함한다.
예를 들어, 연계 요청 프레임은 다양한 능력(capability)에 관련된 정보, 비콘 청취 간격(listen interval), SSID(service set identifier), 지원 레이트(supported rates), 지원 채널(supported channels), RSN, 이동성 도메인, 지원 오퍼레이팅 클래스(supported operating classes), TIM 방송 요청(Traffic Indication Map Broadcast request), 상호동작(interworking) 서비스 능력 등에 대한 정보를 포함할 수 있다.
예를 들어, 연계 응답 프레임은 다양한 능력에 관련된 정보, 상태 코드, AID(Association ID), 지원 레이트, EDCA(Enhanced Distributed Channel Access) 파라미터 세트, RCPI(Received Channel Power Indicator), RSNI(Received Signal to Noise Indicator), 이동성 도메인, 타임아웃 간격(연계 컴백 시간(association comeback time)), 중첩(overlapping) BSS 스캔 파라미터, TIM 방송 응답, QoS(Quality of Service) 맵 등의 정보를 포함할 수 있다.
이는 연계 요청/응답 프레임에 포함될 수 있는 정보들의 일부 예시에 해당하며, 다른 정보로 대체되거나, 추가적인 정보가 더 포함될 수 있다.
STA이 네트워크에 성공적으로 연계된 후에, 단계 S640에서 보안 셋업 과정이 수행될 수 있다. 단계 S640의 보안 셋업 과정은 RSNA(Robust Security Network Association) 요청/응답을 통한 인증 과정이라고 할 수도 있고, 상기 단계 S620의 인증 과정을 첫 번째 인증(first authentication) 과정이라고 하고, 단계 S640의 보안 셋업 과정을 단순히 인증 과정이라고도 칭할 수도 있다.
단계 S640의 보안 셋업 과정은, 예를 들어, EAPOL(Extensible Authentication Protocol over LAN) 프레임을 통한 4-웨이(way) 핸드쉐이킹을 통해서, 프라이빗 키 셋업(private key setup)을 하는 과정을 포함할 수 있다. 또한, 보안 셋업 과정은 IEEE 802.11 표준에서 정의하지 않는 보안 방식에 따라 수행될 수도 있다.
WLAN의 진화
무선랜에서 통신 속도에 대한 한계를 극복하기 위하여 비교적 최근에 제정된 기술 표준으로서 IEEE 802.11n이 존재한다. IEEE 802.11n은 네트워크의 속도와 신뢰성을 증가시키고, 무선 네트워크의 운영 거리를 확장하는데 목적을 두고 있다. 보다 구체적으로, IEEE 802.11n에서는 데이터 처리 속도가 최대 540Mbps 이상인 고처리율(HT: High Throughput)을 지원하며, 또한 전송 에러를 최소화하고 데이터 속도를 최적화하기 위해 송신부와 수신부 양단 모두에 다중 안테나를 사용하는 MIMO(Multiple Inputs and Multiple Outputs) 기술에 기반을 두고 있다.
무선랜의 보급이 활성화되고 또한 이를 이용한 어플리케이션이 다양화됨에 따라, 최근에는 IEEE 802.11n이 지원하는 데이터 처리 속도보다 더 높은 처리율을 지원하기 위한 새로운 무선랜 시스템에 대한 필요성이 대두되고 있다. 초고처리율(VHT: Very High Throughput)를 지원하는 차세대 무선랜 시스템은 IEEE 802.11n 무선랜 시스템의 다음 버전(예를 들어, IEEE 802.11ac)으로서, MAC 서비스 액세스 포인트(SAP: Service Access Point)에서 1Gbps 이상의 데이터 처리 속도를 지원하기 위하여 최근에 새롭게 제안되고 있는 IEEE 802.11 무선랜 시스템중의 하나이다.
차세대 무선랜 시스템은 무선채널을 효율적으로 이용하기 위하여 복수의 STA들이 동시에 채널에 액세스하는 MU-MIMO(Multi User Multiple Input Multiple Output) 방식의 전송을 지원한다. MU-MIMO 전송 방식에 따르면, AP가 MIMO 페어링(pairing)된 하나 이상의 STA에게 동시에 패킷을 전송할 수 있다. 또한, 화이트스페이스(whitespace)에서 무선랜 시스템 동작을 지원하는 것이 논의되고 있다. 예를 들어, 아날로그 TV의 디지털화로 인한 유휴 상태의 주파수 대역(예를 들어, 54~698MHz 대역)과 같은 TV 화이트스페이스(TV WS)에서의 무선랜 시스템의 도입은 IEEE 802.11af 표준으로서 논의되고 있다. 하지만, 이는 예시에 불과하고, 화이트스페이스는 허가된 유저(licensed user)가 우선적으로 사용할 수 있는 허가된 대역이라 할 수 있다. 허가된 유저는 허가된 대역의 사용을 허가 받은 유저를 의미하며, 허가된 장치(licensed device), 프라이머리 유저(primary user), 우선적 사용자(incumbent user) 등으로 칭할 수도 있다.
예를 들어, WS에서 동작하는 AP 및/또는 STA은 허가된 유저에 대한 보호(protection) 기능을 제공하여야 한다. 예를 들어 WS 대역에서 특정 대역폭을 가지도록 규약(regulation)상 분할되어 있는 주파수 대역인 특정 WS 채널을 마이크로폰(microphone)과 같은 허가된 유저가 이미 사용하고 있는 경우, 허가된 유저를 보호하기 위하여 AP 및/또는 STA은 해당 WS 채널에 해당하는 주파수 대역은 사용할 수 없다. 또한, AP 및/또는 STA은 현재 프레임 전송 및/또는 수신을 위해 사용하고 있는 주파수 대역을 허가된 유저가 사용하게 되면 해당 주파수 대역의 사용을 중지해야 한다.
따라서 AP 및/또는STA은 WS 대역 내 특정 주파수 대역의 사용이 가능한지, 다시 말해서 상기 주파수 대역에 허가된 유저가 있는지 여부를 파악하는 절차가 선행되어야 한다. 특정 주파수 대역에 허가된 유저가 있는지 여부를 파악하는 것을 스펙트럼 센싱(spectrum sensing)이라 한다. 스펙트럼 센싱 메커니즘으로 에너지 탐지(energy detection) 방식, 신호 탐지(signature detection) 방식 등이 활용된다. 수신 신호의 강도가 일정 값 이상이면 허가된 유저가 사용중인 것으로 판단하거나, DTV 프리앰블(preamble)이 검출되면 허가된 유저가 사용중인 것으로 판단할 수 있다.
또한, 차세대 통신 기술로서 M2M(Machine-to-Machine) 통신 기술이 논의되고 있다. IEEE 802.11 무선랜 시스템에서도 M2M 통신을 지원하기 위한 기술 표준이IEEE 802.11ah로서 개발되고 있다. M2M 통신은 하나 이상의 머신(Machine)이 포함되는 통신 방식을 의미하며, MTC(Machine Type Communication) 또는 사물 통신으로 칭하여지기도 한다. 여기서, 머신이란 사람의 직접적인 조작이나 개입을 필요로 하지 않는 개체(entity)를 의미한다. 예를 들어, 무선 통신 모듈이 탑재된 검침기(meter)나 자동 판매기와 같은 장치는 물론, 사용자의 조작/개입 없이 자동으로 네트워크에 접속하여 통신을 수행할 수 있는 스마트폰과 같은 사용자 기기도 머신의 예시에 해당할 수 있다. M2M 통신은 디바이스 간의 통신(예를 들어, D2D(Device-to-Device) 통신), 디바이스와 서버(application server) 간의 통신 등을 포함할 수 있다. 디바이스와 서버 통신의 예시로, 자동 판매기와 서버, POS(Point of Sale) 장치와 서버, 전기, 가스 또는 수도 검침기와 서버 간의 통신을 들 수 있다. 그 외에도 M2M 통신 기반의 애플리케이션(application)에는, 보안(security), 운송(transportation), 헬스 케어(health care) 등이 포함될 수 있다. 이러한 적용례의 특성을 고려하면, 일반적으로 M2M 통신은 매우 많은 기기가 존재하는 환경에서 가끔씩 적은 양의 데이터를 저속으로 송수신하는 것을 지원할 수 있어야 한다.
구체적으로, M2M 통신은 많은 STA의 개수를 지원할 수 있어야 한다. 현재 정의되어 있는 무선랜 시스템에서는 하나의 AP에 최대 2007 개의 STA이 연계되는 경우를 가정하지만, M2M 통신에서는 이보다 많은 개수(약 6000 개)의 STA이 하나의 AP에 연계되는 경우를 지원하는 방안들이 논의되고 있다. 또한, M2M 통신에서는 낮은 전송 속도를 지원/요구하는 애플리케이션이 많을 것으로 예상된다. 이를 원활하게 지원하기 위해서, 예를 들어, 무선랜 시스템에서는 트래픽 지시 맵(TIM: Traffic Indication Map) 요소 기반으로 STA이 자신에게 송신될 데이터의 존재 여부를 인지할 수 있는데, TIM의 비트맵 크기를 줄이는 방안들이 논의되고 있다. 또한, M2M 통신에서는 송신/수신 간격이 매우 긴 트래픽이 많을 것으로 예상된다. 예를 들어, 전기/가스/수도 사용량과 같이 긴 주기(예를 들어, 한 달) 마다 매우 적은 양의 데이터를 주고 받는 것이 요구된다. 이에 따라, 무선랜 시스템에서는, 하나의 AP에 연계될 수 있는 STA의 개수는 매우 많아지더라도, 하나의 비콘 주기 동안에 AP로부터 수신할 데이터 프레임이 존재하는 STA의 개수가 매우 적은 경우를 효율적으로 지원하는 방안들이 논의되고 있다.
이와 같이 무선랜 기술은 빠르게 진화하게 있으며, 전술한 예시들 외에도 직접 링크 셋업, 미디어 스트리밍 성능의 개선, 고속 및/또는 대규모의 초기 세션 셋업의 지원, 확장된 대역폭 및 동작 주파수의 지원 등을 위한 기술이 개발되고 있다.
프레임 구조
도 7 은 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 MAC 프레임 포맷을 예시한다.
도 7을 참조하면, MAC 프레임 포맷은 MAC 헤더(MHR: MAC Header), MAC 페이로드(MAC Payload) 및 MAC 풋터(MFR: MAC Footer)로 구성된다. MHR은 프레임 제어(Frame Control) 필드, 지속 기간/식별자(Duration/ID) 필드, 주소 1(Address 1) 필드, 주소 2(Address 2) 필드, 주소 3(Address 3) 필드, 시퀀스 제어(Sequence Control) 필드, 주소 4(Address 4) 필드, QoS 제어(QoS Control) 필드 및 HT 제어(HT Control) 필드를 포함하는 영역으로 정의된다. 프레임 바디(Frame Body) 필드는 MAC 페이로드(payload)로 정의되고, 상위 계층에서 전송하고자 하는 데이터가 위치하게 되며, 가변적인 크기를 가진다. 프레임 체크 시퀀스(FCS: frame check sequence) 필드는 MAC 풋터(footer)로 정의되고, MAC 프레임의 에러 탐색을 위하여 사용된다.
처음 세 필드(프레임 제어 필드, 지속 기간/식별자 필드, 주소 1 필드)와 제일 마지막 필드(FCS 필드)는 최소 프레임 포맷을 구성하며, 모든 프레임에 존재한다. 그 외의 필드는 특정 프레임 타입에서만 존재할 수 있다.
앞서 설명한 각 필드들에 포함되는 정보들은 IEEE 802.11 시스템의 정의를 따를 수 있다. 또한, 앞서 설명한 각 필드들은 MAC 프레임에 포함될 수 있는 필드들의 예시에 해당하며, 다른 필드로 대체되거나, 추가적인 필드가 더 포함될 수 있다.
도 8은 도 7에 따른 MAC 프레임에서 HT Control 필드의 HT 포맷을 예시한다.
도 8을 참조하면, HT 제어 필드는 VHT 서브필드, 링크 적응(Link Adaptation) 서브필드, 캘리브레이션 포지션(Calibration Position) 서브필드, 캘리브레이션 시퀀스(Calibration Sequence) 서브필드, 채널 상태 정보/조정(CSI/Steering: Channel State Information/Steering) 서브필드, NDP 공지(NDP Announcement: Null Data Packet Announcement) 서브필드, 액세스 카테고리 제한(AC Constraint: Access Category Constraint) 서브필드, 역방향 승인/추가 PPDU(RDG: Reverse Direction Grant/More PPDU) 서브필드, 예약(Reserved) 서브필드를 포함할 수 있다.
링크 적응 서브필드는 트레이닝 요청(TRQ: Training request) 서브필드, MCS 요청 또는 안테나 선택 지시(MAI: MCS(Modulation and Coding Scheme) Request or ASEL(Antenna Selection) Indication) 서브필드, MCS 피드백 시퀀스 지시(MFSI: MCS Feedback Sequence Identifier) 서브필드, MCS 피드백 및 안테나 선택 명령/데이터(MFB/ASELC: MCS Feedback and Antenna Selection Command/data) 서브필드를 포함할 수 있다.
TRQ 서브필드는 응답자(responder)에게 사운딩 PPDU(sounding PPDU) 전송을 요청하는 경우 1로 설정되고, 응답자에게 사운딩 PPDU 전송을 요청하지 않는 경우 0으로 설정된다. 그리고, MAI 서브필드가 14로 설정되면 안테나 선택 지시(ASEL indication)를 나타내며, MFB/ASELC 서브필드는 안테나 선택 명령/데이터로 해석된다. 그렇지 않은 경우, MAI 서브필드는 MCS 요청을 나타내며, MFB/ASELC 서브필드는 MCS 피드백으로 해석된다. MAI 서브필드가 MCS 요청(MRQ: MCS Request)을 나타내는 경우, 어떠한 MCS 피드백을 요청하지 않는 경우 0으로 설정되고, MCS 피드백을 요청하는 경우 1로 설정된다. 사운딩 PPDU는 채널 추정을 위하여 사용될 수 있는 트레이닝(training) 심볼을 전달하는 PPDU를 의미한다.
앞서 설명한 각 서브 필드들은 HT 제어 필드에 포함될 수 있는 서브필드들의 예시에 해당하며, 다른 서브필드로 대체되거나, 추가적인 서브필드가 더 포함될 수 있다.
도 9는 도 7에 따른 MAC 프레임에서 HT Control 필드의 VHT 포맷을 예시한다.
도 9를 참조하면, HT 제어 필드는 VHT 서브필드, MRQ 서브필드, MSI 서브필드, MCS 피드백 시퀀스 지시/그룹 ID 최하위 비트(MFSI/GID-L: LSB of Group ID) 서브필드, MFB 서브필드, 그룹 ID 최상위 비트(GID-H: MSB of Group ID) 서브필드, 코딩 타입(Coding Type) 서브필드, MFC 응답 전송 타입(FB Tx Type: Transmission type of MFB response) 서브필드, 자발적 MFB(Unsolicited MFB) 서브필드, AC 교정(AC Constraint) 서브필드, RDG/More PPDU 서브필드를 포함할 수 있다. 그리고, MFB 서브필드는 VHT 공간-시간 스트림 개수(N_STS: Number of space time streams) 서브필드, MCS 서브필드, 대역폭(BW: Bandwidth) 서브필드, 신호 대 잡음비(SNR: Signal to Noise Ratio) 서브필드를 포함할 수 있다.
표 1은 HT 제어 필드의 VHT 포맷에서의 각 서브필드에 대한 설명을 나타낸다.
표 1
서브필드 | 의미 | 정의 |
MRQ | MCS request | MCS 피드백(비자발적(solicited) MFB)을 요청하는 경우 1로 설정됨. 그렇지 않은 경우, 0으로 설정됨 |
MSI | MRQ sequence identifier | MRQ 서브필드가 1로 설정되면, MSI 서브필드는 특정 요청을 식별하는 0 내지 6 범위 내 시퀀스 번호를 포함함. MRQ 서브필드가 0으로 설정되면, MSI 서브필드는 예약됨 |
MFSI/GID-L | MFB sequence identifier/LSB of Group ID | 자발적(unsolicited) MFB 서브필드가 0으로 설정되면, MFSI/GID-L 서브필드는 MFB 정보가 나타내는 프레임 내 포함된 MSI의 수신 값을 포함함. 자발적(unsolicited) MFB 서브필드가 1로 설정되면, MFSI/GID-L 서브필드는 자발적 MFB가 나타내는 PPDU의 그룹 ID의 최하위 3비트를 포함함 |
MFB | VHT N_STS, MCS, BW, SNR feedback | MFB 서브필드는 추천되는 MFB를 포함함. MCS=15, VHT N_STS=7은 피드백이 존재하지 않는 것을 지시함 |
GID-H | MSB of Group ID | 자발적(unsolicited) MFB 서브필드가 1로 설정되면, GID-H 서브필드는 자발적 MFB가 나타내는 PPDU의 그룹 ID의 최상위 3비트를 포함함 |
Coding Type | Coding type of MFB response | 자발적(unsolicited) MFB 서브필드가 1로 설정되면, 코딩 타입 서브필드는 자발적 MFB가 나타내는 코딩 정보(BCC(binary convolutional code) 경우 1, LDPC(low-density parity check) 경우 0)를 포함함. 그렇지 않은 경우, 예약됨 |
FB Tx Type | Transmission type of MFB response | 자발적(unsolicited) MFB 서브필드가 1로 설정되고 FB Tx Type 서브필드가 0으로 설정되면, 자발적 MFB는 빔포밍되지 않은(unbeamformed) VHT PPDU 또는 STBC(space-time block coding) VHT PPDU 를 사용하는 전송 다이버시티 중 어느 하나를 나타냄. 자발적(unsolicited) MFB 서브필드가 1로 설정되고 FB Tx Type 서브필드가 1로 설정되면, 자발적 MFB는 빔포밍된(beamformed) SU-MIMO(Single User MIMO) VHT PPDU를 나타냄. 그렇지 않은 경우, 예약됨 |
Unsolicited MFB | Unsolicited MCS feedback indicator | MFB가 MRQ의 응답이 아니면 1로 설정됨. MFB가 MRQ의 응답이면 0으로 설정됨 |
AC Constraint | | 역방향 허용(RDG)에 대한 응답이 어떠한 트래픽 식별자(TID: traffic identifier)로부터의 데이터 프레임을 포함하면 0으로 설정되고, 역방향 승인(RDG)에 대한 응답이 동일한 역방향(RD) 개시자(initiator)로부터 수신되는 마지막 데이터 프레임과 동일한 AC로부터의 프레임만을 포함하면 1로 설정됨 |
RDG/More PPDU | | RDG/More PPDU 서브필드가 0이면, 역방향(RD) 개시자(initiator)가 전송하는 경우 역방향 승인(RDG)이 없음을 나타내고, 역방향 응답자(responder)가 전송하는 경우 MAC 프레임을 전달하는 PPDU가 최종 송신임을 나타냄. RDG/More PPDU 서브필드가 1이면, 역방향(RD) 개시자(initiator)가 전송하는 경우 역방향 허용(RDG)이 존재함을 나타내고, 응답자(responder)가 전송하는 경우 MAC 프레임을 전달하는 PPDU 이후 다른 PPDU가 후속함을 나타냄 |
앞서 설명한 각 서브 필드들은 HT 제어 필드에 포함될 수 있는 서브필드들의 예시에 해당하며, 다른 서브필드로 대체되거나, 추가적인 서브필드가 더 포함될 수 있다.
한편, MAC 서브계층은 MAC 프로토콜 데이터 유닛(MPDU: MAC protocol data unit)을 물리 서비스 데이터 유닛(PSDU: PHY Service Data Unit)으로서 물리 계층에 전달한다. PLCP 개체는 수신한 PSDU에 물리 헤더(PHY header)와 프리앰블을 덧붙여 PLCP 프로토콜 데이터 유닛(PPDU: PLCP protocol data unit)을 생성한다.
도 10은 본 발명이 적용될 수 있는 IEEE 802.11n 시스템의 PPDU프레임 포맷을 예시한다.
도 10의 (a)는 논 HT(Non-HT) 포맷, HT 혼합(HT Mixed) 포맷, HT-그린필드(HT-Greenfield) 포맷에 따른 PPDU 프레임을 예시하고 있다.
논 HT 포맷은 기존의 레가시 시스템(IEEE 802.11 a/g) STA을 위한 프레임 포맷을 나타낸다. 논 HT 포맷 PPDU는 레가시-숏 트래이닝 필드(L-STF: Legacy-Short Training field), 레가시-롱 트래이닝 필드(L-LTF: Legacy-Long Training field), 레가시 시그널(L-SIG: Legacy-Signal) 필드로 구성되는 레가시 포맷 프리앰블을 포함한다.
HT 혼합 포맷은 기존의 레가시 시스템 STA의 통신을 허용함과 동시에 IEEE 802.11n STA을 위한 프레임 포맷을 나타낸다. HT 혼합 포맷 PPDU는 L-STF, L-LTF, L-SIG으로 구성되는 레가시 포맷 프리앰블과 HT-숏 트래이닝 필드(HT-STF: HT-Short Training field), HT-롱 트래이닝 필드(HT-LTF: HT-Long Training field) 및 HT 시그널(HT-SIG: HT-Signal) 필드로 구성되는 HT 포맷 프리앰블을 포함한다. L-STF, L-LTF 및 L-SIG는 하위 호환성(backward compatibility)를 위한 레가시 필드를 의미하므로, L-STF 부터 L-SIG까지 논 HT 포맷과 동일하며, STA는 그 뒤에 오는 HT-SIG 필드 이용하여 STA는 혼합 포맷 PPDU임을 알 수 있다.
HT-그린필드(Greenfield) 포맷은 기존의 레가시 시스템과 호환성이 없는 포맷으로 IEEE 802.11n STA을 위한 프레임 포맷을 나타낸다. HT-그린필드 포맷 PPDU는 HT-그린필드-STF(HT-GF-STF: HT-Greefield-STF), HT-LTF1, HT-SIG 및 하나 이상의 HT-LTF들로 구성되는 그린필드 프리앰블을 포함한다.
데이터(Data) 필드는 서비스(SERVICE) 필드, PSDU, 테일(tail) 비트, 패드(pad) 비트를 포함한다. 데이터 필드의 모든 비트는 스크램블된다.
도 10의 (b)는 데이터 필드에 포함되는 서비스 필드를 나타낸다. 서비스 필드는 16 비트를 가진다. 각 비트는 0번부터 15번까지 부여되며, 0번 비트부터 순차적으로 전송된다. 0번부터 6번 비트는 0으로 설정되고, 수신단 내 디스크램블러(descrambler)를 동기화하기 위하여 사용된다.
도 11은 본 발명이 적용될 수 있는 IEEE 802.11ac 시스템의 VHT PPDU 프레임 포맷을 예시한다.
도 11을 참조하면, VHT 포맷 PPDU는 데이터 필드 이전에 L-STF, L-LTF, L-SIG 로 구성되는 레가시 포맷 프리앰블과 VHT-SIG-A 및 HT-STF 및 HT-LTF들로 구성되는 VHT 포맷 프리앰블을 포함한다. L-STF, L-LTF 및 L-SIG는 하위 호환성(backward compatibility)를 위한 레가시 필드를 의미하므로, L-STF 부터 L-SIG까지 논 HT 포맷과 동일하며, STA는 그 뒤에 오는 VHT-SIG 필드 이용하여 VHT 포맷 PPDU임을 알 수 있다.
L-STF는 프레임 검출, 자동 이득 제어(AGC: Auto Gain Control), 다이버티 검출, 대략 주파수/시간 동기화(coarse frequency/time synchronization) 등을 위한 필드이다. L-LTF는 정밀 주파수/시간 동기화(fine frequency/time synchronization), 채널 추정 등을 위한 필드이다. L-SIG는 레가시 제어 정보 전송을 위한 필드이다. VHT-SIG-A는 VHT STA들의 공통되는 제어 정보 전송을 위한 VHT 필드이다. VHT-STF는 MIMO를 위한 AGC, 빔포밍된 스트림을 위한 필드이다. VHT-LTFs는 MIMO를 위한 채널 추정, 빔포밍된 스트림을 위한 필드이다. VHT-SIG-B는 각 STA에 특정된 제어 정보를 전송하기 위한 필드이다.
매체 액세스 메커니즘
IEEE 802.11에 따른 무선랜 시스템에서, MAC(Medium Access Control)의 기본 액세스 메커니즘은 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 메커니즘이다. CSMA/CA 메커니즘은 IEEE 802.11 MAC의 분배 조정 기능(DCF: Distributed Coordination Function)이라고도 불리는데, 기본적으로 "listen before talk" 액세스 메커니즘을 채용하고 있다. 이러한 유형의 액세스 메커니즘 따르면, AP 및/또는 STA은 전송을 시작하기에 앞서, 소정의 시간구간(예를 들어, DIFS(DCF Inter-Frame Space) 동안 무선 채널 또는 매체(medium)를 센싱(sensing)하는 CCA(Clear Channel Assessment)를 수행할 수 있다. 센싱 결과, 만일 매체가 유휴 상태(idle status)인 것으로 판단 되면, 해당 매체를 통하여 프레임 전송을 시작한다. 반면, 매체가 점유 상태(occupied status)인 것으로 감지되면, 해당 AP 및/또는 STA은 자기 자신의 전송을 시작하지 않고 매체 액세스를 위한 지연 기간(예를 들어, 임의 백오프 주기(random backoff period))을 설정하여 기다린 후에 프레임 전송을 시도할 수 있다. 임의 백오프 주기의 적용으로, 여러 STA들은 서로 다른 시간 동안 대기한 후에 프레임 전송을 시도할 것이 기대되므로, 충돌(collision)을 최소화시킬 수 있다.
또한, IEEE 802.11 MAC 프로토콜은 HCF(Hybrid Coordination Function)를 제공한다. HCF는 상기 DCF와 PCF(Point Coordination Function)를 기반으로 한다. PCF는 폴링(polling) 기반의 동기식 액세스 방식으로 모든 수신 AP 및/또는 STA이 데이터 프레임을 수신할 수 있도록 주기적으로 폴링하는 방식을 일컫는다. 또한, HCF는 EDCA(Enhanced Distributed Channel Access)와 HCCA(HCF Controlled Channel Access)를 가진다. EDCA는 제공자가 다수의 사용자에게 데이터 프레임을 제공하기 위한 액세스 방식을 경쟁 기반으로 하는 것이고, HCCA는 폴링(polling) 메커니즘을 이용한 비경쟁 기반의 채널 액세스 방식을 사용하는 것이다. 또한, HCF는 WLAN의 QoS(Quality of Service)를 향상시키기 위한 매체 액세스 메커니즘을 포함하며, 경쟁 주기(CP: Contention Period)와 비경쟁 주기(CFP: Contention Free Period) 모두에서 QoS 데이터를 전송할 수 있다.
도 12는 본 발명이 적용될 수 있는 무선랜 시스템에서 백오프 과정을 설명하기 위한 도면이다.
도 12를 참조하여 임의 백오프 주기에 기반한 동작에 대해서 설명한다.
점유(occupy 또는 busy) 상태이던 매체가 유휴(idle) 상태로 변경되면, 여러 STA들은 데이터(또는 프레임) 전송을 시도할 수 있다. 이 때, 충돌을 최소화하기 위한 방안으로서, STA들은 각각 임의 백오프 카운트를 선택하고 그에 해당하는 슬롯 시간만큼 대기한 후에, 전송을 시도할 수 있다. 임의 백오프 카운트는 의사-임의 정수(pseudo-random integer) 값을 가지며, 0 내지 CW 범위의 값 중에서 하나로 결정될 수 있다. 여기서, CW는 경쟁 윈도우(Contention Window) 파라미터 값이다. CW 파라미터는 초기값으로 CWmin이 주어지지만, 전송 실패의 경우(예를 들어, 전송된 프레임에 대한 ACK을 수신하지 못한 경우)에 2 배의 값을 취할 수 있다. CW 파라미터 값이 CWmax가 되면 데이터 전송이 성공할 때까지 CWmax 값을 유지하면서 데이터 전송을 시도할 수 있고, 데이터 전송이 성공하는 경우에는 CWmin 값으로 리셋된다. CW, CWmin 및 CWmax 값은 2n-1 (n=0, 1, 2, ...)로 설정되는 것이 바람직하다.
임의 백오프 과정이 시작되면 STA은 결정된 백오프 카운트 값에 따라서 백오프 슬롯을 카운트 다운하는 동안에 계속하여 매체를 모니터링한다. 매체가 점유상태로 모니터링되면 카운트 다운을 멈추고 대기하고, 매체가 유휴 상태가 되면 나머지 카운트 다운을 재개한다.
도 12의 예시에서 STA3의 MAC에 전송할 패킷이 도달한 경우에, STA3는 DIFS 만큼 매체가 유휴 상태인 것을 확인하고 바로 프레임을 전송할 수 있다. 한편, 나머지 STA들은 매체가 점유(busy) 상태인 것을 모니터링하고 대기한다. 그 동안 STA1, STA2 및 STA5의 각각에서도 전송할 데이터가 발생할 수 있고, 각각의 STA은 매체가 유휴상태로 모니터링되면 DIFS만큼 대기한 후에, 각자가 선택한 임의 백오프 카운트 값에 따라 백오프 슬롯의 카운트 다운을 수행할 수 있다. 도 12의 예시에서는 STA2가 가장 작은 백오프 카운트 값을 선택하고, STA1이 가장 큰 백오프 카운트 값을 선택한 경우를 나타낸다. 즉, STA2가 백오프 카운트를 마치고 프레임 전송을 시작하는 시점에서 STA5의 잔여 백오프 시간은 STA1의 잔여 백오프 시간보다 짧은 경우를 예시한다. STA1 및 STA5는 STA2가 매체를 점유하는 동안에 잠시 카운트 다운을 멈추고 대기한다. STA2의 점유가 종료되어 매체가 다시 유휴 상태가 되면, STA1 및 STA5는 DIFS만큼 대기한 후에, 멈추었던 백오프 카운트를 재개한다. 즉, 잔여 백오프 시간만큼의 나머지 백오프 슬롯을 카운트 다운한 후에 프레임 전송을 시작할 수 있다. STA5의 잔여 백오프 시간이 STA1보다 짧았으므로 STA5이 프레임 전송을 시작하게 된다. 한편, STA2가 매체를 점유하는 동안에 STA4에서도 전송할 데이터가 발생할 수 있다. 이 때, STA4의 입장에서는 매체가 유휴 상태가 되면 DIFS만큼 대기한 후, 자신이 선택한 임의 백오프 카운트 값에 따른 카운트 다운을 수행하고 프레임 전송을 시작할 수 있다. 도 12의 예시에서는 STA5의 잔여 백오프 시간이 STA4의 임의 백오프 카운트 값과 우연히 일치하는 경우를 나타내며, 이 경우, STA4와 STA5 간에 충돌이 발생할 수 있다. 충돌이 발생하는 경우에는 STA4와 STA5 모두 ACK을 받지 못하여, 데이터 전송을 실패하게 된다. 이 경우, STA4와 STA5는 CW 값을 2배로 늘린 후에 임의 백오프 카운트 값을 선택하고 카운트 다운을 수행할 수 있다. 한편, STA1은 STA4와 STA5의 전송으로 인해 매체가 점유 상태인 동안에 대기하고 있다가, 매체가 유휴 상태가 되면 DIFS만큼 대기한 후, 잔여 백오프 시간이 지나면 프레임 전송을 시작할 수 있다.
STA의 센싱 동작
전술한 바와 같이 CSMA/CA 메커니즘은 AP 및/또는 STA이 매체를 직접 센싱하는 물리적 캐리어 센싱(physical carrier sensing) 외에 가상 캐리어 센싱(virtual carrier sensing)도 포함한다. 가상 캐리어 센싱은 숨겨진 노드 문제(hidden node problem) 등과 같이 매체 액세스에서 발생할 수 있는 문제를 보완하기 위한 것이다. 가상 캐리어 센싱을 위하여, 무선랜 시스템의 MAC 은 네트워크 할당 벡터(NAV: Network Allocation Vector)를 이용할 수 있다. NAV는 현재 매체를 사용하고 있거나 또는 사용할 권한이 있는 AP 및/또는 STA이, 매체가 이용 가능한 상태로 되기까지 남아 있는 시간을 다른 AP 및/또는 STA에게 지시(indicate)하는 값이다. 따라서 NAV로 설정된 값은 해당 프레임을 전송하는 AP및/또는 STA에 의하여 매체의 사용이 예정되어 있는 기간에 해당하고, NAV 값을 수신하는 STA은 해당 기간동안 매체 액세스가 금지된다. NAV는, 예를 들어, 프레임의 MAC 헤더(header)의 지속 기간(duration) 필드의 값에 따라 설정될 수 있다.
또한, 충돌 가능성을 감소시키기 위해서 강인한 충돌 검출(robust collision detect) 메커니즘이 도입되었다. 이에 대해서 도 13 및 도 14를 참조하여 설명한다. 실제 캐리어 센싱 범위와 전송 범위는 동일하지 않을 수도 있지만, 설명의 편의를 위해서 동일한 것으로 가정한다.
도 13은 숨겨진 노드 및 노출된 노드에 대한 설명을 위한 도면이다.
도 13(a)는 숨겨진 노드에 대한 예시이며, STA A와 STA B는 통신 중에 있고 STA C가 전송할 정보를 가지고 있는 경우이다. 구체적으로 STA A가 STA B에 정보를 전송하고 있는 상황이지만, STA C가 STA B로 데이터를 보내기 전에 캐리어 센싱을 수행할 때에 매체가 유휴 상태인 것으로 판단할 수 있다. 이는 STA A의 전송(즉, 매체 점유)을 STA C의 위치에서는 센싱하지 못할 수도 있기 때문이다. 이러한 경우에, STA B는 STA A와 STA C의 정보를 동시에 받기 때문에 충돌이 발생하게 된다. 이 때 STA A는 STA C의 숨겨진 노드라고 할 수 있다.
도 13(b)는 노출된 노드(exposed node)에 대한 예시이며, STA B는 STA A에 데이터를 전송하고 있는 상황에서, STA C가 STA D에서 전송할 정보를 가지고 있는 경우이다. 이 경우에 STA C가 캐리어 센싱을 수행하면, STA B의 전송으로 인하여 매체가 점유된 상태라고 판단할 수 있다. 이에 따라, STA C가 STA D에 전송할 정보가 있더라도 매체 점유 상태라고 센싱되기 때문에 매체가 유휴 상태가 될 때까지 기다려야 한다. 그러나, 실제로는 STA A는 STA C의 전송 범위 밖에 있으므로, STA C로부터의 전송과 STA B로부터의 전송은 STA A의 입장에서는 충돌하지 않을 수도 있으므로, STA C는 STA B가 전송을 멈출 때까지 불필요하게 대기하는 것이 된다. 이 때 STA C를 STA B의 노출된 노드라고 할 수 있다.
도 14는 RTS와 CTS를 설명하기 위한 도면이다.
도 13과 같은 예시적인 상황에서 충돌 회피(collision avoidance) 메커니즘을 효율적으로 이용하기 위해서, RTS(request to send)와 CTS(clear to send)등의 짧은 시그널링 패킷(short signaling packet)을 이용할 수 있다. 두 STA 간의 RTS/CTS는 주위의 STA(들)이 오버히어링(overhearing)할 수 있도록 하여, 상기 주위의 STA(들)이 상기 두 STA 간의 정보 전송 여부를 고려하도록 할 수 있다. 예를 들어, 데이터를 전송하려는 STA이 데이터를 받는 STA에 RTS 프레임을 전송하면, 데이터를 받는 STA은 CTS 프레임을 주위의 단말들에게 전송함으로써 자신이 데이터를 받을 것임을 알릴 수 있다.
도 14(a)는 숨겨진 노드 문제를 해결하는 방법에 대한 예시이며, STA A와 STA C가 모두 STA B에 데이터를 전송하려고 하는 경우를 가정한다. STA A가 RTS를 STA B에 보내면 STA B는 CTS를 자신의 주위에 있는 STA A와 STA C에 모두 전송을 한다. 그 결과 STA C는 STA A와 STA B의 데이터 전송이 끝날 때까지 기다리게 되어 충돌을 피할 수 있게 된다.
도 14(b)는 노출된 노드 문제를 해결하는 방법에 대한 예시이며, STA A와 STA B 간의 RTS/CTS 전송을 STA C가 오버히어링함으로써, STA C는 자신이 다른 STA(예를 들어, STA D)에게 데이터를 전송하더라도 충돌이 발생하지 않을 것으로 판단할 수 있다. 즉, STA B는 주위의 모든 단말기에 RTS를 전송하고, 실제로 보낼 데이터가 있는 STA A만 CTS를 전송하게 된다. STA C는 RTS만을 받고 STA A의 CTS를 받지 못했기 때문에 STA A는 STC C의 캐리어 센싱 밖에 있다는 것을 알 수 있다.
전력 관리(power management)
전술한 바와 같이 무선랜 시스템에서는 STA이 송수신을 수행하기 전에 채널 센싱을 수행해야 하는데, 채널을 항상 센싱하는 것은 STA의 지속적인 전력 소모를 야기한다. 수신 상태에서의 전력 소모는 송신 상태에서의 전력 소모에 비하여 크게 차이가 나지 않으며, 수신 상태를 계속 유지하는 것도 전력이 제한된(즉, 배터리에 의해 동작하는) STA에게 큰 부담이 된다. 따라서, STA이 지속적으로 채널을 센싱하기 위해서 수신 대기 상태를 유지하면, 무선랜 처리율 측면에서 특별한 이점 없이 전력을 비효율적으로 소모하게 된다. 이러한 문제점을 해결하기 위해서, 무선랜 시스템에서는 STA의 전력 관리(PM: power management) 모드를 지원한다.
STA의 전력 관리 모드는 액티브(active) 모드 및 전력 절약(PS: power save) 모드로 나뉘어 진다. STA은 기본적으로 액티브 모드로 동작한다. 액티브 모드로 동작하는 STA은 어웨이크 상태(awake state)를 유지한다. 어웨이크 상태는, 프레임 송수신이나 채널 스캐닝 등 정상적인 동작이 가능한 상태이다. 한편, PS 모드로 동작하는 STA은 슬립 상태(sleep state)와 어웨이크 상태(awake state)를 전환(switch)해가며 동작한다. 슬립 상태로 동작하는 STA은 최소한의 전력으로 동작하며, 프레임 송수신은 물론 채널 스캐닝도 수행하지 않는다.
STA이 슬립 상태로 가능한 오래 동작할수록 전력 소모가 줄어들기 때문에, STA은 동작 기간이 증가한다. 하지만 슬립 상태에서는 프레임 송수신이 불가능하기 때문에 무조건적으로 오래 동작할 수는 없다. 슬립 상태로 동작하는 STA이 AP에게 전송할 프레임이 존재하는 경우 어웨이크 상태로 전환하여 프레임을 송신할 수 있다. 한편, AP가 STA에게 전송할 프레임이 있는 경우, 슬립 상태의 STA은 이를 수신할 수 없으며 수신할 프레임이 존재하는 것도 알 수 없다. 따라서, STA은 자신에게 전송될 프레임의 존재 여부를 알기 위해(또한 존재한다면 이를 수신하기 위해) 특정 주기에 따라 어웨이크 상태로 전환하는 동작이 필요할 수 있다.
도 15는 전력 관리 동작을 설명하기 위한 도면이다.
도 15를 참조하면, AP(210)는 일정한 주기로 비콘 프레임(beacon frame)을 BSS 내의 STA들에게 전송한다(S211, S212, S213, S214, S215, S216). 비콘 프레임에는 TIM(Traffic Indication Map) 정보 요소(Information Element)가 포함된다. TIM 정보 요소는 AP(210)가 자신과 연계된 STA들에 대한 버퍼된 트래픽이 존재하며, 프레임을 전송할 것임을 알려주는 정보를 포함한다. TIM 요소에는 유니캐스트(unicast) 프레임을 알려주는데 사용되는 TIM과 멀티캐스트(multicast) 또는 브로드캐스트(broadcast) 프레임을 알려주는데 사용되는 DTIM(delivery traffic indication map)이 있다.
AP(210)는 3번의 비콘 프레임을 전송할 때 마다 1회씩 DTIM을 전송할 수 있다.
STA1(220) 및 STA2(230)는 PS 모드로 동작하는 STA이다. STA1(220) 및 STA2(230)는 소정의 주기의 웨이크업 인터벌(wakeup interval) 마다 슬립 상태에서 어웨이크 상태로 전환하여 AP(210)에 의하여 전송된 TIM 요소를 수신할 수 있도록 설정될 수 있다. 각각의 STA은 자신의 로컬 클럭(local clock)에 기초하여 어웨이크 상태로 전환할 시점을 계산할 수 있으며, 도 15의 예시에서는 STA의 클럭은 AP의 클럭과 일치하는 것으로 가정한다.
예를 들어, 상기 소정의 웨이크업 인터벌은, STA1(220)이 비콘 인터벌마다 어웨이크 상태로 전환하여 TIM 요소를 수신할 수 있도록 설정될 수 있다. 따라서, STA1(220)은 AP(210)가 첫 번째로 비콘 프레임을 전송할 때(S211) 어웨이크 상태로 전환될 수 있다(S221). STA1(220)은 비콘 프레임을 수신하고 TIM 요소를 획득할 수 있다. 획득된 TIM 요소가 STA1(220)에게 전송될 프레임이 있음을 지시하는 경우, STA1(220)은 AP(210)에게 프레임 전송을 요청하는 PS-Poll(Power Save-Poll) 프레임을 AP(210)에게 전송할 수 있다(S221a). AP(210)는 PS-Poll 프레임에 대응하여 프레임을 STA1(220)에게 전송할 수 있다(S231). 프레임 수신을 완료한 STA1(220)은 다시 슬립 상태로 전환하여 동작한다.
AP(210)가 두 번째로 비콘 프레임을 전송함에 있어서, 다른 장치가 매체에 액세스하고 있는 등 매체가 점유된(busy medium) 상태이므로, AP(210)는 정확한 비콘 인터벌에 맞추어 비콘 프레임을 전송하지 못하고 지연된 시점에 전송할 수 있다(S212). 이 경우 STA1(220)은 비콘 인터벌에 맞추어 동작 모드를 어웨이크 상태로 전환하지만, 지연 전송되는 비콘 프레임을 수신하지 못하여 다시 슬립 상태로 전환한다(S222).
AP(210)가 세 번째로 비콘 프레임을 전송할 때, 해당 비콘 프레임에는 DTIM으로 설정된 TIM 요소가 포함될 수 있다. 다만, 매체가 점유된(busy medium) 상태이므로 AP(210)는 비콘 프레임을 지연 전송한다(S213). STA1(220)은 비콘 인터벌에 맞추어 어웨이크 상태로 전환하여 동작하며, AP(210)에 의해 전송되는 비콘 프레임을 통하여 DTIM을 획득할 수 있다. STA1(220)이 획득한 DTIM은 STA1(220)에 전송될 프레임은 없으며 다른 STA을 위한 프레임이 존재함을 지시하는 경우를 가정한다. 이 경우, STA1(220)은 자신이 수신할 프레임이 없음을 확인하고, 다시 슬립 상태로 전환하여 동작할 수 있다. AP(210)는 비콘 프레임 전송 후 프레임을 해당 STA에게 전송한다(S232).
AP(210)는 네 번째로 비콘 프레임을 전송한다(S214). 다만, STA1(220)은 이 전 2회에 걸친 TIM 요소 수신을 통해 자신에 대한 버퍼된 트래픽이 존재한다는 정보를 획득할 수 없었으므로, TIM 요소 수신을 위한 웨이크업 인터벌을 조정할 수 있다. 또는, AP(210)에 의해 전송되는 비콘 프레임에 STA1(220)의 웨이크업 인터벌 값을 조정을 위한 시그널링 정보가 포함된 경우, STA1(220)의 웨이크업 인터벌 값이 조정될 수 있다. 본 예시에서, STA1(220)은 비콘 인터벌마다 TIM 요소 수신을 위해 운영 상태를 전환하던 것을 3회의 비콘 인터벌마다 한 번 깨어나는 것으로 운영 상태를 전환하도록 설정될 수 있다. 따라서, STA1(220)은 AP(210)가 네 번째 비콘 프레임을 전송하고(S214), 다섯 번째 비콘 프레임을 전송하는 시점에(S215) 슬립 상태를 유지하므로 해당 TIM 요소를 획득할 수 없다.
AP(210)가 여섯 번째로 비콘 프레임을 전송할 때(S216), STA1(220)은 어웨이크 상태로 전환하여 동작하고 비콘 프레임에 포함된 TIM요소를 획득할 수 있다(S224). TIM 요소는 브로드캐스트 프레임이 존재함을 지시하는 DTIM이므로, STA1(220)은 PS-Poll 프레임을 AP(210)에게 전송하지 않고, AP(210)에 의해 전송되는 브로드캐스트 프레임을 수신할 수 있다(S234). 한편 STA2(230)에 설정된 웨이크업 인터벌은 STA1(220)보다 긴 주기로 설정될 수 있다. 따라서, STA2(230)는 AP(210)가 다섯 번째로 비콘 프레임을 전송하는 시점(S215)에 어웨이크 상태로 전환하여 TIM 요소를 수신할 수 있다(S241). STA2(230)는 TIM 요소를 통하여 자신에게 전송될 프레임이 존재함을 알고, 프레임 전송을 요청하기 위해 AP(210)에게 PS-Poll 프레임을 전송할 수 있다(S241a). AP(210)는 PS-Poll 프레임에 대응하여 STA2(230)에게 프레임을 전송할 수 있다(S233).
도 15와 같은 전력 절약 모드 운영을 위해 TIM 요소에는 STA이 자신에게 전송될 프레임이 존재하는지를 지시하는 TIM 또는 브로드캐스트/멀티캐스트 프레임이 존재하는지를 지시하는 DTIM이 포함된다. DTIM은 TIM 요소의 필드 설정을 통하여 구현될 수 있다.
도 16 내지 18은 TIM을 수신한 STA의 동작을 상세하게 설명하기 위한 도면이다.
도 16을 참조하면, STA은 AP로부터 TIM을 포함하는 비콘 프레임을 수신하기 위해 슬립 상태에서 어웨이크 상태로 전환하고, 수신한 TIM 요소를 해석하여 자신에게 전송될 버퍼된 트래픽이 있음을 알 수 있다. STA은 PS-Poll 프레임 전송을 위한 매체 액세스를 위해 다른 STA들과 경쟁(contending)을 수행한 후에, AP에게 데이터 프레임 전송을 요청하기 위하여 PS-Poll 프레임을 전송할 수 있다. STA에 의해 전송된 PS-Poll 프레임을 수신한 AP는 STA에게 프레임을 전송할 수 있다. STA은 데이터 프레임을 수신하고 이에 대한 확인응답(ACK) 프레임을 AP에게 전송할 수 있다. 이후 STA은 다시 슬립 상태로 전환될 수 있다.
도 16과 같이 AP는 STA으로부터 PS-Poll 프레임을 수신한 다음 소정의 시간(예를 들어, SIFS(Short Inter-Frame Space)) 후에 데이터 프레임을 전송하는 즉시 응답(immediate response) 방식에 따라 동작할 수 있다. 한편, AP가 PS-Poll 프레임을 수신한 후에 STA에게 전송할 데이터 프레임을 SIFS 시간 동안에 준비하지 못한 경우에는 지연된 응답(deferred response) 방식에 따라 동작할 수 있으며, 이에 대해서 도 17을 참조하여 설명한다.
도 17의 예시에서 STA이 슬립 상태에서 어웨이크 상태로 전환하여 AP로부터 TIM을 수신하고 경쟁을 거쳐 PS-Poll 프레임을 AP로 전송하는 동작은 도 16의 예시와 동일하다. AP가 PS-Poll 프레임을 수신하고도 SIFS 동안 데이터 프레임을 준비하지 못한 경우, 데이터 프레임을 전송하는 대신 ACK 프레임을 STA에게 전송할 수 있다. AP는 ACK 프레임 전송 후 데이터 프레임이 준비되면, 컨텐딩을 수행한 후 데이터 프레임을 STA에게 전송할 수 있다. STA은 데이터 프레임을 성공적으로 수신하였음을 나타내는 ACK 프레임을 AP에게 전송하고, 슬립 상태로 전환될 수 있다.
도 18은 AP가 DTIM을 전송하는 예시에 대한 것이다. STA들은 AP로부터 DTIM 요소를 포함하는 비콘 프레임을 수신하기 위해 슬립 상태에서 어웨이크 상태로 전환할 수 있다. STA들은 수신한 DTIM을 통해 멀티캐스트/브로드캐스트 프레임이 전송될 것임을 알 수 있다. AP는 DTIM을 포함하는 비콘 프레임 전송 후 PS-Poll 프레임의 송수신 동작 없이 바로 데이터(즉, 멀티캐스트/브로드캐스트 프레임)를 전송할 수 있다. STA들은 DTIM을 포함하는 비콘 프레임을 받은 후에 계속하여 어웨이크 상태를 유지하는 중에 데이터를 수신하고, 데이터 수신이 완료된 후에 다시 슬립 상태로 전환할 수 있다.
앞서 도 16 내지 18을 참조하여 설명한 TIM(또는 DTIM) 프로토콜을 기반으로 한 전력 절약 모드 운영 방법에 있어서, STA들은 TIM 요소에 포함된 STA 식별 정보를 통하여 자신을 위해 전송될 데이터 프레임이 존재하는지 여부를 확인할 수 있다. STA 식별 정보는 STA이 AP와 연계(association)시에 할당받는 식별자인 AID(Association Identifier)와 관련된 정보일 수 있다.
AID는 하나의 BSS 내에서는 각각의 STA에 대한 고유한(unique) 식별자로서 사용된다. 일례로, 현재 무선랜 시스템에서 AID는 1에서 2007까지의 값 중 하나의 값으로 할당될 수 있다. 현재 정의되어 있는 무선랜 시스템에서는, AP 및/또는 STA이 전송하는 프레임에는 AID를 위하여 14비트가 할당될 수 있으며, AID 값은 16383까지 할당될 수 있으나 2008에서 16383은 예비(reserved) 값으로 설정되어 있다.
자동 전력 절약 전달(Automatic Power Saving Delivery)를 이용한 전력 관리
상술한 PS-Poll을 기반으로 하는 전력 절약 방법 외에도 IEEE 802.11e 시스템에서는 자동 전력 절약 전달(APSD: Automatic Power Saving Delivery) 방법을 제공한다. APSD는 크게 스케줄된 APSD(s-APSD: scheduled-APSD) 방법과 스케줄되지 않은 APSD(u-APSD: unscheduled-APSD) 방법으로 분류된다. 그 중 u-APSD는 APSD를 지원하는 AP(QoS AP)가 활성(awake) 상태와 수면(doze) 상태를 오가는 절전 모드로 동작함과 동시에 APSD를 지원하는 STA(QoS STA)로 하향 링크 프레임을 전달하는 메커니즘을 의미한다.
APSD를 지원할 수 있는 QoS(Quality of Service) AP는 비콘, 프로브 응답, (재)연계 응답 관리 프레임 내 능력 정보 필드(Capability Information field)의 APSD 서브필드의 사용을 통해서 이러한 능력을 STA에 시그널링할 수 이다.
STA들은 스케줄링되지 않은 서비스 기간(unscheduled-service period, 이하 'u-SP'라고 지칭함) 동안 AP로부터 전달되는 해당 STA들의 버퍼가능한 유닛(BU: bufferable unit)의 일부 혹은 전체를 수신하기 위하여 U-APSD를 사용할 수 있다. u-SP가 진행 중이지 않는 경우, STA가 트리거 가능(trigger-enalbled)으로 설정된 액세스 카테고리(AC)에 속하는 QoS 데이터 또는 QoS 널(QoS Null) 프레임을 AP에 전송함으로써 u-SP가 시작되고, 이때, 전송되는 상향링크 프레임을 트리거 프레임(trigger frame)이라고 한다. 집합된 MPDU(A-MPDU: Aggregate MPDU)는 하나 또는 그 이상의 트리거 프레임을 포함한다. 스케줄링되지 않은 SP은 AP가 전달 가능한 AC와 해당 STA에 예정된 적어도 하나의 BU의 전송을 시도한 후 종료된다. 다만, 해당 STA의 (재)연계 요청 프레임의 QoS 능력 요소(QoS Capability element)의 최대 서비스 기간 길이 필드(Max SP Length field)가 0이 아닌 값을 가지면 해당 필드 내에서 지시된 값 이내로 제한다.
u-SP 동안 AP로부터 BU를 수신하기 위하여 STA는 해당 STA의 전달 가능(delivery-enabled) 및 트리거 가능(trigger-enabled) AC의 하나 또는 그 이상을 지정한다. IEEE 802.11e 시스템에서는 QoS를 제공하기 위하여 서로 다른 8개의 우선순위와 이를 기초로 4개의 AC를 정의한다. STA는 두 가지 방법을 사용하여 AP가 U-APSD를 사용하도록 설정할 수 있다. 먼저, STA는 (재)연계 요청 프레임에서 전달되는 QoS 능력 요소(QoS Capability element)의 QoS 정보 서브필드(QoS Info subfield) 내에서 개별적인 U-APSD 플래그 비트를 설정할 수 있다. U-APSD 플래그 비트가 1이면, 해당 AC가 전달 가능하고 트리거 가능하다는 것을 지시한다. (재)연계 요청 프레임 내 모든 4개의 U-APSD 플래그 서브필드가 1과 같을 때, STA와 관련된 모든 AC들은 (재)연계 동안에 전달 가능하고 트리거 가능하다. (재)연계 요청 프레임 내 모든 4개의 U-APSD 플래그 서브필드가 0과 같을 때, STA와 관련된 AC들에서 (재)연계 동안에 전달 가능하고 트리거 가능한 AC는 존재하지 않는다. 또는, STA는 AP에 AC 별로 1로 설정된 APSD 서브필드를 가지는 ADDTS(add traffic stream) 요청 프레임(ADDTS Request frame)과 TSPEC(traffic specification) 요소(TSPEC element) 내 트래픽 스트림(TS: traffic stream) 정보 필드(TS Info field) 내에서 0으로 설정된 스케줄 서브필드(Schedule subfield)를 전송하여 트리거 가능하고 전달 가능한 하나 또는 그 이상의 AC를 지정할 수 있다. TSPEC 요청(TSPEC request) 내 APSD 설정은 QoS 능력 요소(QoS Capability element) 내에서 전달되는 정적인(static) U-APSD 설정보다 우선시 될 수 있다. 다시 말해, TSPEC 요청은 어떠한 이전의 AC의 U-APSD 설정에 오버라이트(overwrite)될 수 있다. 해당 요청은 ACM 서브필드가 0인 AC를 위하여 전송될 수 있다.
STA는 상향링크 또는 하향링크 전송 방향에서 각각 1로 설정된 APSD 서브필드와 0으로 설정된 스케줄 서브필드를 가지는 TSPEC을 설정함으로써 트리거 가능 또는 전달 가능하도록 AC를 설정할 수 있다. 1로 설정된 APSD 서브필드와 0으로 설정된 스케줄 서브필드를 가지는 상향링크 TSPEC, 하향링크 TSPEC 또는 양방향(bidirectional) TSPEC은 AC가 트리거 가능하고 전달 가능하도록 설정할 수 있다. APSD 서브필드와 스케줄 서브필드가 모두 0으로 설정된 상향링크 TSPEC, 하향링크 TSPEC 또는 양방향(bidirectional) TSPEC은 AC가 트리거 불가능하고 전달 불가능하도록 설정할 수 있다.
스케줄링된 서비스 기간(scheduled-service period, 이하 's-SP'라고 지칭함)은 서비스 간격 필드(Service Interval field)에서 특정된 고정된 시간 간격을 가지고 시작한다. 액세스 정책이 채널 액세스를 제어하면, TS에 대한 s-SP를 사용하기 위하여, STA는 TSPEC 요소(TSPEC element) 내 TS 정보 필드(TS Info field)의 1로 설정된 APSD 서브필드를 가지는 ADDTS 요청 프레임(ADDTS Request frame)을 AP에 전송할 수 있다. 반면, 액세스 정책이 경쟁 기반(contention-based) 채널 액세스를 지원하면, TS에 대한 s-SP를 사용하기 위하여, STA는 TSPEC 요소(TSPEC element) 내 TS 정보 필드(TS Info field)에서 1로 설정된 APSD 서브필드 및 스케줄 서브필드를 가지는 ADDTS 요청 프레임(ADDTS Request frame)을 AP에 전송할 수 있다. APSD 메커니즘이 AP에 의하여 지원되고 AP가 STA로부터의 해당 ADDTS 요청 프레임(ADDTS Request frame)을 수락하면, AP는 요청된 서비스가 AP에 의하여 제공될 수 있음을 지시하는 스케줄 요소(Schedule element)를 포함하는 ADDTS 응답 프레임(ADDTS Request frame)으로 응답할 수 있다. 타이밍 동기 기능(TSF: timing synchronization function) 타이머의 최하위(lower order) 4 옥텟(octet)이 서비스 시작 타입 필드(Service Start Time field)에서 특정된 값과 같을 때, 최초 s-SP가 시작된다. s-SP를 사용하는 STA는 AP 또는 하이브리드 코디네이터(HC: hybrid coordinator)로부터 자신에게 개별적으로 지정된(addressded) 버퍼된 및/또는 폴(poll)된 BU를 수신하기 위하여 최초로 웨이크 업(wake up)할 수 있다. STA는 그 후에 서비스 간격(SI: service interval)과 동일한 일정 시간 간격에서 웨이크 업할 수 있다. AP는 성공적인 ADDTS 응답 프레임(ADDTS Request frame)(ADDTS 요청 프레임(ADDTS Request frame)에 대한 응답임)과 스케줄 프레임(다른 시점에 전송됨) 내 스케줄 요소(Schedule element)를 통해 서비스 시작 시간을 조정할 수 있다.
s-SP는 TSPEC에 대한 응답으로 전송된 스케줄 요소(Schedule element) 내에서 지시된 서비스 시작 시간 및 SI에 대응하는 스케줄된 웨이크 업 시간에서 시작된다. STA는 그 후 아래 수학식 1에 따른 시점에서 웨이크 업한다.
BSS 내에서 s-SP 주기가 지원되면, STA는 동일한 시간에 서로 다른 AC에 대하여 U-APSD와 S-APSD를 모두 사용할 수 있다. STA가 AC를 위한 스케줄링된 전달이 설정될 때, AP는 트리거 프레임에 의하여 개시된 SP 동안에 해당 AC를 사용하는 BU를 전송하지 않으며, 트리거 프레임으로 STA로부터 수신한 AC를 사용하는 BU를 처리하지 않는다. AP는 동일한 시간에 동일한 AC에 대하여 사용하기 위한 S-APSD와 U-APSD를 모두 사용하도록 지시하는 어떠한 ADDTS 요청 프레임(ADDTS Request frame)을 거부하지 않는다. APSD는 개별적으로 지정된(addressed) BU의 전달만을 위하여 사용될 수 있다. 그룹으로 지정된(addressed) BU 전달은 그룹 지정 BU를 위한 프레임 전달 규칙을 따를 수 있다.
U-APSD를 사용하는 비-AP STA는 해당 비-AP STA에서 관찰되는 간섭으로 인하여 서비스 기간 동안 AP로부터 전송되는 모든 프레임을 수신할 수 없을 수 있다. 이 경우, AP가 동일한 간섭이 관찰되지 않더라도, 프레임이 비-AP STA에 의하여 정확히 수신되지 않은 것을 판단할 수 있다. U-APSD 공존(coexistence) 능력은 비-AP STA이 u-SP 동안 사용을 위하여 요청된 전송 지속 기간(transmission duration)을 AP에게 지시할 수 있도록 한다. 전송 지속 기간을 사용함으로써 AP는 SP 동안 프레임을 전송할 수 있으며, 비-AP STA는 간섭을 받는 상황에서도 프레임을 수신 가능성을 향상시킬 수 있다. U-APSD 공존 능력은 AP가 서비스 기간 동안 프레임이 성공적으로 수신되지 않을 가능성을 감소 시킨다.
도 19는 U-APSD 공존 요소 포맷을 예시한다.
도 19를 참조하면, 요소 ID(Element ID) 필드는 U-APSD 공존 값과 동일하다. 길이(Length) 필드의 값은 12에 존재하는 추가적인 서브요소(subelements)의 길이가 덧붙여 진다. TSF 0 오프셋(TSF 0 Offset) 필드에서 0이 아닌 값은 비-AP STA가 간섭이 시작됨을 알았을 때의 시간(TSF 시간 0) 이후 마이크로초(microsecond)의 수를 의미한다. AP는 비-AP STA로 전송을 위하여 간격/지속 시간(interval/Duration) 필드와 함께 TSF 0 오프셋 필드를 사용한다.
"dot11MgmtOptionUAPSDCoexistenceActivated"가 'true' 값을 가지는 STA는 U-APSD 공존을 지원하는 STA로서 정의된다. 여기서, "dot11MgmtOptionUAPSDCoexistenceActivated"가 'true' 값은 가지는 STA는 확장 능력 요소(Extended Capabilities element)의 U-APSD 공존 필드(APSD Coexistence field)를 1로 설정하고, 그렇지 않은 경우 0으로 설정한다. AP와 연계된 비-AP STA는(U-APSD 공존 능력을 지원함을 이전에 둘 다 공지한 경우), U-APSD 공존 요소(U-APSD Coexistence element)를 포함하는 ADDTS 요청 프레임(ADDTS Request frame) 해당 AP에 전송할 수 있다.
U-APSD 공존 요소(U-APSD Coexistence element)를 포함하지 않는 ADDTS 요청 프레임(ADDTS Request frame)의 내용을 이하, 기본 ADDTS 요청(Base ADDTS Request)으로 지칭한다. 성공적으로 ADDTS 요청 프레임(ADDTS Request frame)을 수신하면, AP는 기본 ADDTS 요청 프레임(Base ADDTS Request frame)의 내용을 처리한다. AP가 기본 ADDTS 요청(Base ADDTS Request)이 승인될 수 없다고 결정하면, U-APSD 공존 요소(U-APSD Coexistence element)를 처리 하지 않는다. 반면, AP가 기본 ADDTS 요청(Base ADDTS Request)이 승인될 수 있다고 결정하면, U-APSD 공존 요소(U-APSD Coexistence element)를 처리한다. AP가 U-APSD 공존 요소(U-APSD Coexistence element)의 간격/지속 시간(Interval/Duration) 필드 내 특정된 지속 기간 값을 위한 U-APSD 서비스 기간 동안 프레임 전송을 지원하면, AP는 ADDTS 요청을 승인할 수 있다. 그렇지 않은 경우, AP는 ADDTS 요청을 거부할 수 있다.
AP가 이전에 U-APSD 공존을 가지는 ADDTS 요청을 승인한 경우, U-APSD 공존을 포함하지 않는 ADDTS 요청 프레임(ADDTS Request frame)에 의하여 제공된 QoS 서비스를 계속하여 사용하는 비-AP STA는 U-APSD 공존 요소(U-APSD Coexistence element)를 포함하지 않는 ADDTS 요청 프레임(ADDTS Request frame)을 전송함으로써 U-APSD 공존의 사용을 종료할 수 있다. 비-AP STA가 U-APSD 공존을 포함하는 ADDTS 요청 프레임(ADDTS Request frame)에 의한 모든 QoS 서비스의 사용을 종료하길 원하는 경우, 비-AP STA는 AP에 DELTS(delete traffic stream) 요청 프레임(DELTS Request frame)을 전송할 수 있다.
마지막 성공적으로 수신한 ADDTS 요청 프레임(ADDTS Request frame)에 의하여 이전의 ADDTS 요청 프레임(ADDTS Request frame)이 무효되는 경우, 비-AP STA는 다중의 ADDTS 요청 프레임(ADDTS Request frame)을 AP에 전송할 수 있다. U-APSD 공존을 지원하고 ADDTS 요청을 수락하는 AP는 ADDTS 프레임의 U-APSD 공존 요소(U-APSD Coexistence element)에서 특정된 파라미터에 따라 U-APSD 공존 서비스 기간을 제한할 수 있다. 또한, AP는 다음과 같은 규칙에 따라 비-AP STA에게 요청하기 위하여 프레임을 전송한다.
먼저, 비-AP STA가 U-APSD 공존 요소(U-APSD Coexistence element)에서 TSF 0 오프셋(TSF 0 Offset) 값을 0이 아닌 값으로 특정하면, AP는 U-APSD 공존 서비스 기간 밖에서 비-AP STA에게 프레임을 전송하지 않는다. U-APSD 공존 서비스 시간은 AP가 U-APSD 트리거 프레임(U-APSD trigger frame)을 수신할 때 시작하고, 이후 아래 수학식 2에 의하여 특정된 전송 기간 이후에 종료된다.
수학식 2에서, T는 U-APSD 트리거 프레임(U-APSD trigger frame)이 AP에 수신된 시간을 나타낸다. 또한, 간격(Interval)은 U-APSD 공존 요소(U-APSD Coexistence element)의 지속 기간/간격(Duration/Interval) 필드 값과 1로 설정된 서비스 기간 종료(EOSP: end of service period) 비트를 가지는 전송이 성공된 시점 중 일찍 도래하는 값을 나타낸다.
반면, 비-AP STA가 U-APSD 공존 요소(U-APSD Coexistence element)에서 TSF 0 오프셋(TSF 0 Offset) 값을 0으로 특정하면, AP는 U-APSD 공존 서비스 기간 밖에서 비-AP STA에게 프레임을 전송하지 않는다. U-APSD 공존 서비스 시간은 AP가 U-APSD 트리거 프레임(U-APSD trigger frame)을 수신할 때 시작하고, 이후 아래 수학식 3에 의하여 특정된 전송 기간 이후에 종료된다.
수학식 3에서 T는 U-APSD 트리거 프레임(U-APSD trigger frame)이 AP에 수신된 시간을 나타낸다. 또한, 지속 기간은 U-APSD 공존 요소(U-APSD Coexistence element)의 지속 기간/간격(Duration/Interval) 필드 값과 1로 설정된 EOSP 비트를 가지는 전송이 성공된 시점 중 일찍 도래하는 값을 나타낸다.
U-APSD 공존 서비스 시간 동안에 AP는 해당 AP가 전송할 프레임을 더 가지며 서비스 기간이 만료하기 전에 해당 프레임이 성공적으로 전송될 것으로 판단하는 경우, 추가(More) 비트를 1로 설정할 수 있다.
AP는 U-APSD 공존 서비스 기간 동안에 비-AP STA에게 전송될 마지막 프레임이라고 예상하는 경우, 해당 프레임 내에서 EOSP 비트를 1로 설정할 수 있다. U-APSD 공존 서비스 기간의 종료 이전에 해당 마지막 프레임이 성공적으로 비-AP STA에게 전송되지 않는 경우, AP는 EOSP 비트를 1로 설정한 QoS 널 프레임(QoS null frame)을 전송한다. 비-AP STA는 U-APSD 공존 서비스 기간의 종료 시점에서 도즈 상태(Doze State)로 진입할 수 있다.
TIM 요소 구조
도 20은 TIM 요소(TIM element) 포맷을 예시하는 도면이다.
도 20을 참조하면, TIM 요소는 요소 식별자(Element ID) 필드, 길이(Length) 필드, DTIM 카운트(DTIM Count) 필드, DTIM 주기(DTIM period) 필드, 비트맵 제어(Bitmap Control) 필드, 부분 가상 비트맵(Partial Virtual Bitmap) 필드를 포함하여 구성될 수 있다. 길이 필드는 정보 필드의 길이를 나타낸다. DTIM 카운트 필드는 다음 DTIM이 전송되기 전 얼마나 많은 비콘 프레임이 존재하는지(현재 프레임 포함하여) 나타낸다. DTIM 주기 필드는 연속적인 DTIM 사이의 비콘 간격 수를 나타낸다. 만약, 모든 TIM이 DTIM이면, DTIM 주기 필드는 1의 값을 갖는다. DTIM 주기 값은 0는 예약되어 있고, 1 옥텟을 구성된다. 비트맵 제어 필드는 하나의 옥텟으로 구성된다. 비트맵 제어 필드의 비트 0은 AID 0에 대한 트래픽 지시자(Traffic Indicator) 비트이며, 하나 혹은 그 이상의 그룹 지정(group addressed)된 MSDUs(MAC service data unit)/MMPDUs(MAC management protocol data unit)이 AP 혹은 메쉬 STA(mesh STA)에서 보낼 데이터가 있다면, DTIM 카운트 필드는 0으로 셋팅되고, 비트맵 제어 필드의 비트 0은 1로 셋팅된다. 첫 번째 옥텟에서 나머지 7 비트는 비트맵 오프셋을 나타낸다. TIM을 생성하는 AP 혹은 메쉬 STA에 의한 트래픽 지시 가상 비트맵(traffic-indication virtual bitmap)은 2008 비트(=251 옥텟)로 구성된다. 비트맵에서 비트 번호 N(0<=N<=2007)은 옥텟 번호 N/8과 비트 번호(N mod 8)로 나타낼 수 있다. 트래픽 지시 가상 비트맵에 있는 각각의 비트는 AP가 보낼 데이터의 유무를 나타낸다. 만약 개별적 지정된(addressed) MSDU/MMPDU (AID=N)를 위해 AP가 보낼 데이터가 있는 경우에 비트 번호 N은 1로 셋팅되고, 보낼 데이터가 없는 경우에는 0으로 셋팅될 수 있다.
앞서 설명한 각 필드들은 TIM 요소에 포함될 수 있는 필드들의 예시에 해당하며, 다른 필드로 대체되거나, 추가적인 필드가 더 포함될 수 있다.
TIM 요소의 비트맵을 압축하기 위한 방안의 일례로, 트래픽 패턴(traffic pattern)에 따라 STA의 AID를 변경(재할당)하는 방안이 고려될 수 있으며, 이에 대해서 도 21을 참조하여 설명한다.
도 21은 동적 AID 할당(Dynamic AID Assignment)을 이용한 TIM 요소의 압축을 예시하는 도면이다.
도 21을 참조하면, AP가 STA에게 전송할 데이터가 있는 경우, TIM 요소의 비트맵에서 해당 STA의 AID를 지시하는 비트를 1로 설정하고, AP가 STA에게 전송할 데이터가 없는 경우, TIM 요소의 비트맵에서 해당 STA의 AID를 지시하는 비트를 0으로 설정한다. 또한, 그 반대로 AP가 STA에게 전송할 데이터가 있는 경우 TIM 요소의 비트맵에서 해당 STA의 AID를 지시하는 비트를 0으로 설정하고, AP가 STA에게 전송할 데이터가 없는 경우, TIM 요소의 비트맵에서 해당 STA의 AID를 지시하는 비트를 1로 설정할 수도 있다. 도 21에서는 AID 2, 6, 10이 할당된 STA들에게 전송할 데이터가 있는 경우를 예시하고 있으며, 이 경우, AID 6을 가지는 STA의 AID를 1로 변경(재할당)하고, AID 10을 가지는 STA의 AID를 3으로 변경(재할당)하게 되면, TIM 요소를 구성하는 비트맵의 크기를 줄일 수 있다. 구체적으로, 변경 전 AID(original AID) 2, 6, 10이 할당된 STA들에게 전송할 데이터가 있는 경우, 기존의 TIM 요소에서는 이를 지시하기 위하여 비트맵에 데이터가 존재하는 STA의 AID를 지시하는 비트들의 사이에 위치하는 비트를 포함시켜야 한다. 예를 들어, 변경 전 AID 2와 변경 전 AID 6을 지시하는 비트의 사이에 위치하는 비트들(변경 전 AID 3 내지 5를 지시하는 비트들)과 변경 전 AID 6과 변경 전 AID 10을 지시하는 비트의 사이에 위치하는 비트들(변경 전 AID 7 내지 9를 지시하는 비트들)이 비트맵에 포함될 수 밖에 없다. 다만, AP가 전송할 데이터가 존재하는 STA의 AID가 연속적으로 구성될 수 있도록 변경(재할당)하게 되면, 변경 후 AID를 지시하는 비트 사이에 위치하는 비트를 제외하고 비트맵을 구성할 수 있으므로 비트맵의 크기를 줄일 수 있다.
STA에게 할당된 AID를 트래픽 패턴 등에 따라 동적으로 변경시킬 때, AID의 변경에 따라 비트맵의 크기를 효과적으로 줄이기 위해서는 STA들에게 AID를 연속적으로 할당하는 것보다 AID 간에 일정 여유 공간을 두고 할당하는 것이 바람직하다. 다만, AID 간에 일정 여유 공간을 두고 할당하는 경우, 전체 비트맵 크기가 증가할 수 있다. 따라서, 비트맵 인코딩 방식 또한 이에 적합하도록 변경될 필요가 있다.
본 발명에서는 상술한 동적 AID 할당(Dynamic AID Assignment)을 효과적으로 지원하며 아울러 비트맵을 효율적으로 압축하기 위한 TIM 요소의 구조를 제안한다.
개선된 TIM 구조
도 22는 TIM 요소의 포맷을 설명하기 위한 도면이다.
도 22를 참조하면, AID n부터 AID m까지 범위에 속하는 STA들에 대하여 버퍼된 하향링크 데이터의 존재 여부를 알려주기 위한 TIM 요소의 비트맵 형태를 예시하고 있다.
TIM 요소는 오프셋(offset) 필드, 길이(length) 필드, 비트맵(bitmap) 필드를 포함하여 구성될 수 있다. 이러한 필드들은 앞서 도 20에서 예시한 TIM 요소에서 부분 가상 비트맵(Partial Virtual Bitmap) 필드 내에 포함될 수 있다. 이러한 각 필드들은 TIM 요소에 포함될 수 있는 필드들의 예시에 해당하며, 다른 필드로 대체되거나, 추가적인 필드가 더 포함될 수 있다.
오프셋(offset) 필드는 비트맵의 시작으로 의미한다. 즉, 해당 TIM 요소가 트래픽 지시(traffic indication)하는 AID 범위의 시작점을 의미한다. 도 22의 예시에서 TIM 요소가 AID n부터 AID m까지 범위에 속하는 STA들에 대한 TIM 요소를 나타내므로, 오프셋 필드는 AID n 값을 가진다. 길이(length) 필드는 비트맵의 길이를 나타낸다. 즉, 해당 TIM 요소가 트래픽 지시하는 AID 범위를 나타낸다. 여기서, 길이 필드의 단위(예를 들어, 옥텟)는 비트맵의 구성 단위로 표현될 수 있다. 도 22에서는 AID n부터 AID m까지 범위(또는 개수)를 지시하는 값을 가진다. 비트맵(bitmap) 필드는 오프셋 필드 값이 지시하는 AID부터 시작하여 길이 필드 값이 지시하는 AID 범위에 속하는 STA들에게 대한 버퍼된 하향링크 데이터를 AP가 저장하고 있는지 여부를 0과 1로 표시한다. 도 22에서는 AID n부터 AID m까지 범위에 속하는 STA들에 대한 버퍼된 하향링크 데이터를 AP가 저장하고 있는지 여부를 0과 1로 표시한다.
여기서, 비트맵을 구성하는 방법으로 크게 2가지 방법으로 구분될 수 있다. 먼저, 비트맵에 포함되는 비트들이 각각 해당 비트에 대응되는 AID를 지시하도록 비트맵을 구성할 때, 1 만큼씩 순차적으로 증가하는 AID들에 대한 비트맵을 구성할 수 있다. 이러한 방법을 순차 비트맵(Sequential bitmap)이라고 지칭할 수 있다. 또한, 비트맵에 포함되는 비트들이 각각 해당 비트에 대응되는 AID를 지시하도록 비트맵을 구성할 때, 소정의 값(이하, 이를 델타(delta)라고 지칭한다.)만큼씩 순차적으로 증가하는 AID들에 대한 비트맵을 구성할 수 있다. 이러한 방법을 선형 비트맵(Linear bitmap)이라고 지칭할 수 있다. 이에 대해서 도 23을 참조하여 설명한다.
도 23은 본 발명의 일 실시예에 따른 TIM 요소의 비트맵 포맷을 설명하기 위한 도면이다.
도 23의 (a)는 순차 비트맵(Sequential bitmap)을 예시하고, 도 23의 (b)는 선형 비트맵(Linear bitmap)을 예시하고 있으며, 22와 마찬가지로 AID n부터 AID m까지 범위에 속하는 STA들에 대한 비트맵을 예시한다.
순차 비트맵의 경우, 비트맵의 첫 번째 위치(position)가 오프셋 필드가 지시하는 AID 값을 가지는 STA(도 23에서는 AID n을 가지는 STA)에 대한 트래픽 지시(traffic indication)를 나타낸다. 비트맵의 첫 번째 비트 위치부터 1 만큼씩 순차적으로 증가하는 AID 값을 가지는 STA들에 대하여 연속된 비트맵 위치(bitmap position)를 통해 트래픽 지시를 나타낸다. 도 23에서는 AID n 과 AID n+8을 가지는 STA에 대하여 버퍼된 프레임(하향링크 데이터)을 AP가 저장하고 있다는 것을 나타낸다.
선형 비트맵의 경우, 순차 비트맵과 마찬가지로 비트맵의 첫 번째 위치(position)가 오프셋 필드가 지시하는 AID 값을 가지는 STA(도 23에서는 AID n을 가지는 STA)에 대한 트래픽 지시(traffic indication)를 나타낸다. 다만, 비트맵의 첫 번째 비트 위치부터 델타(delta) 만큼씩 증가하는 AID 값을 가지는 STA들에 대하여 연속된 비트맵 위치를 통해 트래픽 지시를 나타낸다. 도 23에서 델타 값은 8에 해당되며, AID n 과 AID n+8을 가지는 STA에 대하여 버퍼된 프레임(하향링크 데이터)을 AP가 저장하고 있다는 것을 나타낸다. 여기서, 델타 값은 비트맵 구성 단위 보다 작거나(예를 들어, 비트맵 구성 단위의 약수) 동일할 수 있다. 이처럼, 선형 비트맵(Linear bitmap) 인코딩 방식이 적용되는 경우, AP는 시스템 정보로 연계(association) 과정 중에 STA에게 델타(delta) 값을 알려주거나 해당 TIM 요소를 통해 STA에게 델타 값을 알려줄 수도 있다.
만약, 비트맵의 구성 단위가 1 옥텟(8 비트)라고 할 경우, 순차 비트맵을 사용하게 되면 비트맵 인코딩(bitmap encoding)으로 2 옥텟이 필요하다. 다만, 하지만, 선형 비트맵을 사용하게 되면 비트맵 인코딩으로 1 옥텟이면 충분하다. AID n+1, AID n+9, AID n+17, AID n+25, AID n+33, AID n+41, AID n+49, AID n+57을 가지는 STA에 대해서는 AP에 버퍼된 트래픽이 없기 때문에 해당 부분은 비트맵을 구성할 때 제외될 수 있기 때문이다. 이 경우, 상술한 바와 같이 길이 비트맵의 구성 단위가 1 옥텟이라면, 길이 필드의 단위 역시 옥텟일 수 있으므로, 순차 비트맵의 길이 필드 값은 2가 되고, 선형 비트맵의 길이 필드 값을 1이 된다.
한편, 기존의 정의에 따른 TIM 요소는, 하나의 AP에 많은 개수의 (예를 들어, 2007개 초과의) STA들이 연관될 수 있는 M2M 애플리케이션의 적용에 적절하지 않다. 기존의 TIM 요소의 구조를 그대로 확장하는 경우에는 TIM 요소의 비트맵 크기가 너무 커져서 기존의 프레임 포맷으로는 지원할 수 없고, 낮은 전송 레이트의 애플리케이션을 고려하는 M2M 통신에 적합하지 않다. 또한, M2M 통신에서는 하나의 비콘 주기 동안에 수신 데이터 프레임이 존재하는 STA의 개수가 매우 적을 것으로 예상된다. 따라서, 위와 같은 M2M 통신의 적용예를 고려하면, TIM 요소의 비트맵의 크기는 커지지만 대부분의 비트가 0 값을 가지는 경우가 많이 발생할 것으로 예상되므로, 비트맵을 효율적으로 압축하는 기술이 요구된다.
이를 위한 방안으로 TIM 요소가 계층적(hierarchical) 구조를 가지도록 구성할 수 있으며, 이에 대해서 도 24를 참조하여 설명한다.
도 24는 TIM 요소의 계층적(hierarchical) 구조를 설명하기 위한 도면이다.
도 24를 참조하면, 3-레벨의 계층을 가지는 TIM 요소의 계층적 구조를 예시한다. 3-레벨 계층의 구조에서, 최대 지원 가능한 STA들에 대한 전체 AID 공간은 복수개의 페이지(page) 그룹으로 분할되고, 각각의 페이지 그룹은 복수개의 블록으로 구분되며, 각각의 블록은 복수개의 서브-블록으로 구분될 수 있다. 도 24의 예시에서는 3-레벨의 계층을 예시하지만, 2-레벨 혹은 3 이상의 레벨의 형태로 계층적 구조의 TIM 요소가 구성될 수도 있다. 도 24의 예시에서, 전체 AID 공간은 총 4개의 페이지 그룹으로 분할되고, 하나의 페이지 그룹은 32개의 블록으로 구분되며, 하나의 블록은 8개의 서브-블록으로 구분될 수 있다. 하나의 서브-블록이 1 옥텟의 크기를 가진다면, 하나의 서브-블록은 8개의 STA을 지원할 수 있고, 하나의 블록은 총 64개(8*8)의 STA을 지원할 수 있으며, 하나의 페이지 그룹은 총 2048개(64*32)의 STA을 지원할 수 있다. 다만, 도 24는 하나의 예시에 불과하며 전체 AID 공간이 분할되는 페이지 그룹의 개수, 하나의 페이지 그룹이 구분되는 블록의 개수, 하나의 블록이 구분되는 서브-블록의 개수는 이와 상이하게 설정될 수 있다.
이와 같이 전체 AID 공간을 복수개의 페이지(page) 그룹으로 분할함으로써, 하나의 TIM 요소에 특정 페이지 그룹에 속하는 AID(들)만을 포함시키고, 특정 시간 구간(예를 들어, 해당 TIM 요소를 포함하는 비콘 인터벌)에는 특정 페이지 그룹에 속하는 AID(들)에 해당하는 STA(들)만의 채널 액세스를 허용하고 나머지 STA(들)의 채널 액세스가 제한(restrict)될 수 있다. 이와 같이 특정 STA(들)에게만 액세스가 허용되는 소정의 시간 구간을, 제한된 액세스 윈도우(RAW: Restricted Access Window)라고 칭할 수도 있다. 이처럼, 특정 시간 구간 동안에는 특정 페이지 그룹에 해당하는 STA(들)에게만 채널 액세스가 허용됨으로써 페이지 그룹에 따라 다른 시간 구간에 채널 액세스를 허용할 수 있으며, 많은 수의 STA에 대한 TIM 요소 부족 문제를 해결함과 동시에 효율적인 데이터의 송수신이 이루어질 수 있다.
이처럼, TIM 요소가 계층적(hierarchical) 구조로 구성되는 경우, 계층적 구조를 가지는 TIM 요소를 기반으로 AID 구조가 결정될 수 있으며, 이에 대해서 도 25를 참조하여 설명한다.
도 25는 계층적(hierarchical) TIM 요소의 구조에 따른 AID 구조를 예시하는 도면이다.
도 25를 참조하면, TIM 요소가 앞서 도 24와 같이 3-레벨의 계층을 구조로 구성되는 경우를 가정하여, 이를 기반으로 하는 AID의 일례를 나타내는 도면이다. AID는 TIM 요소의 계층적 구조에 따라 페이지 그룹 식별자, 블록 인덱스, 서브-블록 인덱스 및 서브-블록 내 해당 STA의 비트 위치 인덱스를 나타내기 위한 비트들로 구성될 수 있다. 즉, 순서대로 AID의 앞의 몇 비트는 페이지 그룹, 그 다음의 몇 비트는 블록 인덱스, 그 다음의 몇 비트는 서브-블록 인덱스, 그 다음의 몇 비트는 서브-블록 내 해당 STA의 비트 위치 인덱스를 나타낼 수 있다. 도 25의 예시에서 AID의 처음 2 비트는 총 4개의 페이지 그룹 내에서 페이지 그룹 식별자를 지시하고, 그 다음의 5 비트는 총 32개의 블록 내에서 블록 인덱스를 지시하며, 그 다음의 3 비트는 총 8개의 서브-블록 내에서 서브-블록 인덱스를 지시하고, 그 다음의 3 비트는 하나의 서브-블록 내 해당 STA의 비트 위치 인덱스를 지시한다. 이처럼, STA은 페이지 그룹, 블록, 서브-블록으로 그룹핑되어 AID가 할당될 수 있으며, STA은 자신에게 할당된 AID를 통해서 TIM 요소의 비트맵에서 자신을 지시하는 비트 위치를 확인할 수 있다.
이와 같이, TIM 요소가 계층적(hierarchical) 구조로 구성되는 경우, TIM 요소의 비트맵은 서브-비트맵(서브-블록 비트맵)으로 나누어 구성될 수 있으며, TIM 요소의 포맷에 대하여 아래 도 26을 참조하여 설명한다.
도 26은 계층적 구조를 가지는 TIM 요소의 포맷을 예시하는 도면이다.
도 26을 참조하면, AID n부터 AID m까지 범위에 속하는 STA들에 대하여 버퍼된 하향링크 데이터의 존재 여부를 알려주기 위한 TIM 요소의 비트맵 형태를 예시하고 있다.
TIM 요소는 오프셋(offset) 필드, 비트맵 제어(bitmap control) 필드, 비트맵(bitmap) 필드를 포함하여 구성될 수 있다. 오프셋(offset) 필드는 비트맵의 시작으로 의미한다. 즉, 해당 TIM 요소가 트래픽 지시(traffic indication)하는 AID 범위의 시작점을 의미한다. 도 22의 예시에서 TIM 요소가 AID n부터 AID m까지 범위에 속하는 STA들에 대한 TIM 요소를 나타내므로, 오프셋 필드는 AID n 값을 가진다. 비트맵 제어(bitmap control) 필드는 비트맵(bitmap) 필드가 어떠한 서브-비트맵들로 구성되었는지 나타내기 위한 서브-비트맵 지시 용도로 사용된다. 즉, 비트맵(bitmap) 필드는 비트맵 제어(bitmap control) 제어 필드가 지시하는 서브-비트맵으로 구성될 수 있다. 예를 들어, 도 26과 같이 비트맵(bitmap) 필드에 포함될 수 있는 서브-비트맵이 8개라고 가정하면, 만약 비트맵 제어 필드가 1,0,1,0,0,0,0,0을 가지는 경우, 첫 번째 서브-비트맵, 세 번째 서브-비트맵만으로 비트맵 필드가 구성되는 것을 의미한다.
이러한 각 필드들은 TIM 요소에 포함될 수 있는 필드들의 예시에 해당하며, 다른 필드로 대체되거나, 추가적인 필드가 더 포함될 수 있다. 예를 들어, 앞서 도 20에서 예시한 TIM 요소에서 부분 가상 비트맵(Partial Virtual Bitmap) 필드가 블록 레벨로 인코딩되는 경우, 부분 가상 비트맵 필드는 하나의 페이지 그룹에 속하는 하나 이상의 블록들을 포함할 수 있으며, 앞서 예시하는 각 필드들은 하나의 블록 내에 포함될 수 있다. 이 경우, 오프셋(offset) 필드는 블록 오프셋(block offset) 필드, 비트맵 제어(bitmap control) 필드는 블록 제어(block control) 필드 혹은 블록 비트맵(block bitmap) 필드로 대체될 수 있다. 이에 대하여, 아래 도 27을 참조하여 설명한다.
도 27은 계층적 구조를 가지는 TIM 요소의 포맷을 예시하는 도면이다.
도 27을 참조하면, 다수의 AID들이 하나의 서브-블록으로 지시되고, 다수의 서브-블록들이 하나의 블록으로 지시된다. 도 27이 예시에서는 하나의 서브-블록이 8개의 AID를 커버하며, 하나의 블록이 8개의 서브-블록을 커버한다.
TIM 요소는 블록 오프셋(block offset) 필드, 블록 제어(block control) 필드, 블록 비트맵(block bitmap) 필드, 비트맵(bitmap) 필드(혹은 서브-블록(sub-block) 필드)를 포함하여 구성될 수 있다. 블록 오프셋(block offset) 필드는 전체 TIM 요소의 비트맵에서 블록의 위치가 어디인지 알려주는 용도로 사용된다. 블록 제어(block control) 필드는 여러 가지 TIM 요소의 지시 방법(혹은 비트맵 인코딩 방식)이 존재하는 경우, 이를 지시하기 위한 용도로 사용된다. 블록 비트맵(block bitmap) 필드는 첫 번째 비트 위치부터 연속된 비트 위치를 통해 페이징(paging)되는 AID가 하나라도 속하는 서브-블록(또는 서브-블록 비트맵)을 지시한다. 즉, 블록 비트맵(block bitmap) 필드의 n 번째 비트는 비트맵(bitmap) 필드에 n 번째 서브-블록의 비트맵이 존재하는지 여부를 나타낸다. 도 27의 예시에서, 첫 번째, 세 번째, 일곱 번째 서브-블록들이 이에 해당되고, 블록 비트맵 필드는 해당 서브-블록들을 지시하기 위하여 1,0,1,0,0,0,1,0을 가진다. 서브-블록 비트맵의 m 번째 비트 위치는 m 번째 STA이 AP에 버퍼된 데이터를 가지는지 여부를 지시한다.
도 27에서는 블록 비트맵 인코딩 방식을 이용하여, 8 바이트의 트래픽 지시 비트맵(Traffic indication bitmap) 블록을 5 바이트의 인코딩된 비트맵으로 압축할 수 있어, TIM의 오버헤드를 줄일 수 있다.
일반적으로, TIM은 비콘 프레임에 포함되어 전송되고, BSS 내의 대부분의 STA이 TIM을 포함하는 비콘 프레임을 수신할 수 있도록 하려면, 낮은 MCS(Modulation and Coding Scheme)이 적용되어야 한다. 이 경우, 자원의 효율적 활용 측면에서 TIM 크기를 줄이는 것은 필수적이라 할 것이다.
상술한 예에서와 같이 블록 비트맵 인코딩 방식을 이용하는 경우, TIM의 오버헤드를 줄일 수 있다. 그러나, 하나의 블록에서 지시되는 서브-블록 비트맵의 수가 적을 때, 서브-블록 비트맵을 나타내기 위한 오버헤드는 실제 전달되는 서브블록 비트맵에 비해 상당한 부분을 차지하게 된다.
예컨대, 블록 당 하나의 서브 블록 비트맵이 존재하는 경우, 서브블록 비트맵은 1바이트의 서브블록 비트맵에 2바이트의 오버헤드(3비트의 블록 제어, 5비트의 블록 오프셋 및 1바이트의 블록 비트맵)가 부가 된다. 즉, 1바이트의 정보를 전송하기 위해, 2바이트가 더 부가되어 200% 오버헤드가 발생하게 된다. 만약, 블록 당 두개의 서브 블록 비트맵이 존재한다면, 2바이트의 서브 블록 비트맵에 2바이트가 더 부가되므로(3비트의 블록 제어, 5비트의 블록 오프셋 및 1바이트의 블록 비트맵), 100% 오버헤드가 발생할 것이다. 만약 블록 당 세개의 서브 블록 비트맵이 존재한다면, 3바이트의 서브 블록 비트맵에 2바이트가 더 부가되므로(3비트의 블록 제어 필드, 5비트의 블록 오프셋 필드 및 1바이트의 블록 비트맵 필드) 50%의 오버헤드가 발생할 것이다.
도 28은 세개의 연속된 블록에서 블록 당 하나의 서브 블록 비트맵이 지시될 경우 발생하는 오버헤드를 설명하기 위한 예시도이다. 도 28에서는 각 블록 당 하나의 서브 블록이 지시되는 것으로 가정한다. 도 28에 도시된 예에서와 같이, 하나의 블록 당 각각 하나의 블록 컨트롤 필드, 블록 오프셋 필드 및 블록 비트맵 필드가 사용되므로, 3개의 블록을 압축하는 데에는 최소, 6 바이트((3비트(블록 제어 필드) + 5비트(블록 오프셋 필드) + 1바이트(블록 비트맵 필드))* 3)의 오버헤드가 부가되어야 한다. 블록 당 하나의 서브 블록을 지시하므로, 3바이트의 서브 블록을 지시하기 위해, 6바이트의 오버헤드가 부가되어야 한다.
이와 같이, 임의의 블록에서 지시하는 적으면, 전송하고자 하는 데이터에 비해 오버헤드가 커 전송 효율이 나빠진다는 문제점이 발생한다. 본 발명은 이의 해결을 위해 개선된 인코딩 방식을 제안한다.
개선된 인코딩 방식
본 발명은 N(N은 2 이상의 자연수)개의 블록을 지시할 수 있는 개선된 인코딩 방식를 제안한다. 여기서, N은 시스템에서 고정된 값이거나, STA에 의해 임의 선택된 값일 수 있다. N이 시스템에 의해 고정적으로 운용될 경우에는 긴 블록 비트맵(Long Block Bitmap) 인코딩 방식이 적용될 수 있고, N이 STA에 의해 임의 선택되어 운용되는 경우에는 멀티플 블록 비트맵(Multiple Block Bitmap) 인코딩 방식이 적용될 수 있다. 각각의 인코딩 방식에 대해 상세히 설명한다.
실시예 1 - 긴 블록 비트맵 인코딩 방식
긴 블록 비트맵 인코딩 방식이 적용된 TIM 요소는 시스템에 의해 고정된 N개의 블록을 지시하는데 사용될 수 있다. 이를 위해, 블록 제어 필드는 최대 N 개의 연속된 블록 비트맵이 존재한다는 것을 가리킬 수 있다. 블록 비트맵 필드는 N*8 비트의 크기를 가질 수 있다. 일예로, N이 2라면, 블록 비트맵 필드는 16 비트의 크기를 갖게 될 것이고, N이 3이라면 블록 비트맵 필드는 24비트의 크기를 갖게 될 것이다.
결과적으로, 긴 블록 비트맵 인코딩 방식이 적용된 TIM 요소는 3비트의 블록 제어 필드, 5 비트의 블록 오프셋 필드, N*8 비트의 블록 비트맵 필드 및 지시되는 서브 블록의 수에 따라 크기가 가변되는 서브 블록 비트맵 필드를 포함할 수 있다.
도 29 내지 도 31은 긴 블록 비트맵 인코딩 방식을 설명하기 위해 예시한 도면이다.
도 29는 N이 2일 때의 TIM 요소를 도시한 것이고, 도 30은 N이 3일 때의 TIM 요소를 도시한 것이다. 설명의 편의를 위해 각 블록에서 페이징되는 AID를 포함하는 서브 블록은 하나인 것으로 가정한다.
도 29에 도시된 예에서와 같이, 2개의 블록을 지시하는데 사용되고, 긴 블록 비트맵 인코딩 방식이 적용된 TIM 요소는, 3비트의 블록 제어 필드, 5비트의 블록 오프셋 필드 및 2바이트의 블록 비트맵 필드를 포함할 수 있다. 도 29에서는 블록당 하나의 서브 블록이 페이징되는 AID를 포함하고 있으므로, 서브 블록 필드는 총 2바이트의 크기를 갖게 된다.
블록 제어 필드는 긴 블록 비트맵임을 TIM 요소가 긴 블록 인코딩 방식으로 인코딩 되었음을 지시한다. STA는 블록 제어 필드가 지정하는 인코딩 방식을 확인하고, TIM 요소가 N 개의 블록을 지시함을 인지할 수 있다.
블록 비트맵(block bitmap) 필드는 N개의 블록에서 페이징(paging)되는 AID가 하나라도 속하는 서브-블록(또는 서브-블록 비트맵)을 지시한다. 블록 비트맵 필드는 8비트 단위로 하나의 블록을 지시할 수 있다. 일예로, 도 29에서와 같이, 2개의 블록을 지시하기 위해서는 최소 16비트의 길이를 가져야 하고, 도 30에서와 같이, 3개의 블록을 지시하기 위해서는 최소 24비트의 길이를 가져야 한다.
이에 따라, 도 29에서, 최초 8 비트(#0)는 첫번째 블록(Block #0)의 서브 블록들을 지시하는데 사용되고, 잔여 8 비트(#1)는 두번째 블록(Block #1)의 서브 블록들을 지시하는데 사용되는 것으로 이해될 수 있다.
도 29의 예에서는 첫번째 블록의 서브 블록 2 및 두번째 블록의 서브 블록 5가 페이징되는 AID를 포함하고 있으므로, 블록 비트맵 필드는 0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0 값을 갖게 될 것이다.
기존의 인코딩 방식을 이용할 경우, 3비트의 블록 제어 필드, 5비트의 블록 오프셋 필드 및 1바이트의 블록 비트맵 필드를 포함하는 2개의 TIM 요소를 이용하여 2개의 블록을 지시할 수 있을 것이다. 도 29에 도시된 예에서와 같이, 긴 블록 비트맵 인코딩 방식을 이용하면, 서브 블록 비트맵 필드를 제외하고, 3바이트만이 추가적으로 요구되어(3비트(블록 제어 필드) + 5비트(블록 오프셋 필드) + 2바이트(블록 비트맵 필드)) 4바이트를 추가적으로 요구하는({3비트(블록 제어 필드) + 5비트(블록 오프셋 필드) + 1바이트(블록 비트맵 필드)}*2) 기존의 인코딩 방식에 비해 1바이트의 게인을 얻을 수 있다.
도 30에 도시된 예에서와 같이, 3개의 블록을 지시하는데 사용되고, 긴 블록 비트맵 인코딩 방식이 적용된 TIM 요소는, 3비트의 블록 제어 필드, 5비트의 블록 오프셋 필드 및 3 바이트의 블록 비트맵 필드를 포함할 수 있다. 도 30에서는 블록당 하나의 서브 블록이 페이징되는 AID를 포함하고 있으므로, 서브 블록 필드는 총 3바이트의 크기를 갖게 된다.
이때, 블록 비트맵 필드의 최초 8 비트(#0)는 첫번째 블록(Block #0)의 서브 블록들을 지시하는데 사용되고, 다음 8 비트(#1)는 두번째 블록(Block #1)의 서브 블록들을 지시하는데 사용되며, 잔여 8비트는 세번째 블록(Block #2)의 서브 블록을을 지시하는데 사용될 수 있다.
도 30의 예에서는 첫번째 블록의 서브블록 2, 두번째 블록의 서브블록 5 및 세번째 블록의 서브블록 7이 페이징되는 AID를 포함하고 있으므로, 블록 비트맵 필드는 0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0 값을 갖게 될 것이다.
기존의 인코딩 방식을 이용할 경우, 3비트의 블록 제어 필드, 5비트의 블록 오프셋 필드 및 1바이트의 블록 비트맵 필드를 포함하는 3개의 TIM 요소를 이용하여 3개의 블록을 지시할 수 있을 것이다. 도 30에 도시된 예에서와 같이, 긴 블록 비트맵 인코딩 방식을 이용하면, 서브 블록 비트맵 필드를 제외하고, 4바이트만이 추가적으로 요구되어(3비트(블록 제어 필드) + 5비트(블록 오프셋 필드) + 3바이트(블록 비트맵 필드)) 6바이트를 추가적으로 요구하는({3비트(블록 제어 필드) + 5비트(블록 오프셋 필드) + 1바이트(블록 비트맵 필드)}*2) 기존의 인코딩 방식에 비해 2바이트의 게인을 얻을 수 있다.
N개의 블록을 지시하기 위해, 기존의 인코딩 방식을 이용할 경우, TIM 요소는 서브 블록 비트맵 필드를 제외하고, N*2 바이트의 크기를 필요로 한다. 이에 반해, 긴 블록 비트맵 인코딩 방식을 적용할 경우, TIM 요소는 서브 블록 비트맵 필드를 제외하고 1바이트(3비트의 블록 제어 필드 및 5비트의 블록 오프셋 필드) + N*1바이트(블록 비트맵 필드)의 크기를 필요로 한다. 이에 따라, 긴 블록 인코딩 방식은 기존의 인코딩 방식에 비해, N-1 바이트의 게인을 얻을 수 있다.
도 29 및 도 30에서는 TIM요소가 N 바이트의 블록 비트맵 필드 하나를 포함하는 것으로 예시하였다. 이와 달리, 블록 비트맵 크기 필드는 1바이트씩 반복적으로 위치할 수도 있다. 예컨대, 도 31에 도시된 예에서와 같이, 블록 비트맵 필드의 크기가 3바이트인 경우, 블록 비트맵 필드와 서브 블록 비트맵 필드가 반복적으로 4회 위치할 수 있다. 도 31의 예에서, 첫번째 블록 비트맵 필드(#0)는 첫번째 블록(#0)을 지시하는데 사용되고, 두번째 블록 비트맵 필드(#1)는 두번째 블록(#1)을 지시하는데 사용될 수 있다. 즉, N 번째 블록 비트맵 필드는 N번째 블록을 지시하는데 사용될 수 있다.
도 31에서는 블록 비트맵 필드들 사이에 위치하는 서브 블록 비트맵 필드들이 모두 1 바이트인 것으로 예시하였지만, 서브 블록 비트맵 필드는 블록내 페이징되는 AID를 포함하는 서브 블록의 개수에 따라 가변될 수 있다.
실시예 2 - 멀티플 블록 비트맵 인코딩 방식
멀티플 블록 비트맵 인코딩 방식이 적용된 TIM 요소는 AP가 주체적으로 결정한 N개의 블록을 지시하는데 사용될 수 있다. 이를 위해, 멀티플 블록 비트맵 인코딩 방식이 적용된 TIM 요소에는 긴 블록 비트맵 인코딩 방식이 적용된 TIM 요소에 비해 블록 비트맵 사이즈 필드가 더 포함될 수 있다.
블록 비트맵 크기 필드는 블록 비트맵 필드의 크기를 지시한다. 구체적으로, 블록 비트맵 크기 필드는 바이트 단위 또는 블록 단위로 블록 비트맵 필드의 크기를 지시할 수 있다. 구체적으로, TIM 요소가 N 개의 블록을 지시하는 경우, 블록 비트맵 크기 필드는 블록 비트맵 필드의 크기가 N 바이트 임을 지시할 수 있다. 예컨대, TIM 요소가 4개의 블록을 지시하도록 설정된 경우라면, 블록 비트맵 크기 필드는 블록 비트맵 필드가 4 바이트임을 지시할 수 있다.
도 32 및 도 33은 멀티플 블록 비트맵 인코딩 방식을 설명하기 위해 예시한 도면이다. 설명의 편의를 위해, TIM 요소는 4개의 블록을 지시하는 것으로 가정하고, 각 블록에서 페이징되는 AID를 포함하는 서브 블록은 하나인 것으로 가정한다.
도 32에 도시된 예에서와 같이, 4개의 블록을 지시하는데 사용되고, 멀티플 비트맵 인코딩 방식이 적용된 TIM 요소는, 3비트의 블록 제어 필드, 5비트의 블록 오프셋 필드, 1바이트의 블록 비트맵 크기 필드 및 2바이트의 블록 비트맵 필드를 포함할 수 있다. 도 32에서는 TIM 요소가 4개의 블록을 지시하는데 사용되므로, 블록 비트맵 크기 필드는 블록 비트맵 크기를 1바이트로 지시할 것이다.
TIM 요소를 수신한 STA는 블록 비트맵 크기 필드를 디코딩하여, 블록 비트맵 필드의 크기 및 TIM 요소가 지시하는 볼록의 개수를 인지할 수 있다.
도 32에 도시된 예에서와 같이, 블록 비트맵 크기 필드가 지시하는 크기의 블록 비트맵 필드가 블록 비트맵 크기 필드 다음에 위치할 수 있다. 4바이트의 크기를 갖는 블록 비트맵 필드는 앞서 도 29 내지 31을 통해 살펴본 바와 같이, 8비트 단위로 블록을 지시할 수 있다.
블록 비트맵 크기 필드는 1바이트씩 반복적으로 위치할 수도 있다. 예컨대, 도 33에 도시된 예에서와 같이, 블록 비트맵 필드 크기가 지시하는 블록 비트맵 필드의 크기가 4바이트인 경우, 블록 비트맵 필드와 서브 블록 비트맵 필드가 반복적으로 4회 위치할 수 있다. 도 33의 예에서, 첫번째 블록 비트맵 필드(#0)는 첫번째 블록(#0)을 지시하는데 사용되고, 두번째 블록 비트맵 필드(#1)는 두번째 블록(#1)을 지시하는데 사용될 수 있다. 즉, N 번째 블록 비트맵 필드는 N번째 블록을 지시하는데 사용될 수 있다.
도 33에서는 블록 비트맵 필드들 사이에 위치하는 서브 블록 비트맵 필드들이 모두 1 바이트인 것으로 예시하였지만, 서브 블록 비트맵 필드는 블록내 페이징되는 AID를 포함하는 서브 블록의 개수에 따라 가변될 수 있다.
N개의 블록을 지시하기 위해, 기존의 인코딩 방식을 이용할 경우, TIM 요소는 서브 블록 비트맵 필드를 제외하고, N*2 바이트의 크기를 필요로 한다. 이에 반해, 멀티플 블록 비트맵 인코딩 방식을 적용할 경우, TIM 요소는 서브 블록 비트맵 필드를 제외하고 1바이트(3비트의 블록 제어 필드 및 5 비트의 블록 오프셋 필드) + 1바이트(블록 비트맵 크기 필드) + N*1바이트(블록 비트맵 필드)의 크기를 필요로 한다. 이에 따라, 긴 블록 인코딩 방식은 기존의 인코딩 방식에 비해, N-2 바이트의 게인을 얻을 수 있다.
상기 설명한 실시예 1 및 실시예 2가 반드시 독립적으로 실시되어야 하는 것은 아니다. 실시예 1 및 실시예 2는 무선 통신 시스템에서 조합되어 사용될 수도 있다. 예컨대, AP는 평상시 시스템이 정하는 N개의 블록을 지시하기 위한 긴 블록 비트맵 인코딩 방식을 사용하다가 시스템이 정하는 N개보다 더 많은 블록을 하나의 TIM요소로 지시하고자 하는 경우, 비로소 멀티플 블록 비트맵 인코딩 방식을 적용할 수 있다.
도 34는 본 발명의 일 실시예에 따른 무선 장치의 구성을 나타내는 블록도이다.
AP(10)는 프로세서(11), 메모리(12), 송수신기(13)를 포함할 수 있다. STA(20)는 프로세서(21), 메모리(22), 송수신기(23)를 포함할 수 있다. 송수신기(13 및 23)는 무선 신호를 송신/수신할 수 있고, 예를 들어, IEEE 802 시스템에 따른 물리 계층을 구현할 수 있다. 프로세서(11 및 21)는 송수신기(13 및 21)와 연결되어 IEEE 802 시스템에 따른 물리 계층 및/또는 MAC 계층을 구현할 수 있다. 프로세서(11 및 21)는 전술한 본 발명의 다양한 실시예에 따른 동작을 수행하도록 구성될 수 있다. 또한, 전술한 본 발명의 다양한 실시예에 따른 AP 및 STA의 동작을 구현하는 모듈이 메모리(12 및 22)에 저장되고, 프로세서(11 및 21)에 의하여 실행될 수 있다. 메모리(12 및 22)는 프로세서(11 및 21)의 내부에 포함되거나 또는 프로세서(11 및 21)의 외부에 설치되어 프로세서(11 및 21)와 공지의 수단에 의해 연결될 수 있다.
위와 같은 AP 및 STA 장치의 구체적인 구성은, 전술한 본 발명의 다양한 실시예에서 설명한 사항들이 독립적으로 적용되거나 또는 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), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
상술한 바와 같이 개시된 본 발명의 바람직한 실시형태에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시 형태를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다.