이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 무선통신시스템에서 단말기가 주기적 또는 비주기적으로 웨이크업(wakeup)하여 데이터 송수신을 일괄적으로 처리하기 위한 방안에 대해 설명 하기로 한다.
도 2는 본 발명의 실시예에 따른 무선통신시스템에서 접속점(AP)의 구성을 도시하고 있다.
도시된 바와 같이, 본 발명에 따른 접속점(AP)은 호스트 인터페이스부(201), 버퍼관리부(203), 프로토콜 제어부(205), 프레임 집성 제어부(207), 전력절약 제어부(209), 물리계층 인터페이스부(211)를 포함하여 구성된다.
도 2를 참조하면, 먼저 버퍼관리부(203)는 호스트 인터페이스부(201)를 통해 호스트(host)와 인터페이싱한다. 상기 버퍼관리부(203)는 복수의 송신 및 수신 버퍼들(도시하지 않음)을 포함하며, 본 발명에 따라 슬립모드 단말기들로 전송할 데이터를 버퍼링하기 위한 슬립모드용 버퍼(213)를 포함한다. 상기 버퍼관리부(203)는 상기 호스트로부터 상기 프로토콜 제어부(205)로 전달되는 송신 데이터 및 상기 프로토콜 제어부(205)로부터 상기 호스트로 전달되는 수신 데이터를 임시 버퍼링하는 기능을 수행한다. 이때, 슬립모드 단말기로 전송할 데이터는 상기 슬립모드용 버퍼(213)에 버퍼링된다.
상기 프로토콜 제어부(205)는 상기 버퍼 관리부(203)로부터의 송신 프레임을 규정된 프로토콜에 따라 인캡슐레이션(encapsulation)하여 프레임 집성(aggregation) 제어부(207)로 전달하고, 상기 프레임 집성 제어부(207)로부터의 수신 프레임을 디캡슐레이션(decapsulation)하여 상기 버퍼 관리부(203)로 전달한다. 또한, 상기 프로토콜 제어부(205)는 규정된 프로토콜에 따라 제어정보 프레임을 송수신하는 기능을 수행한다. 상기 디캡슐레이션 결과, 제어정보 프레임이 수신되었 다고 판단되면, 상기 프로토콜 제어부(205)는 수신된 제어정보 프레임에 대응하는 동작을 수행한다. 예를들어, 단말기로부터 웨이크업을 통보하는 제어정보 프레임이 수신되었다고 판단되면, 상기 프로토콜 제어부(205)는 상기 수신된 프레임에 응답하기 위한 제어정보 프레임을 생성하여 상기 단말기로 전송한다.
상기 전력절약 제어부(209)는 슬립모드 단말기들의 정보(버퍼(213)에 버퍼링된 데이터량 등)를 관리하기 위한 슬립모드 정보 관리부(219)와, 슬립모드 단말기들의 상태(QoS 등) 혹은 다운링크(downlink) 트래픽량 등을 고려해서 각 단말기의 웨이크업 시간을 계산하기 위한 웨이크업 시간 계산부(229)를 포함한다. 단말기의 웨이크업이 감지될 경우, 상기 전력절약 제어부(209)는 상기 단말기의 버퍼 정보를 상기 프로토콜 제어부(205)로 제공하고, 웨이크업 시간이 요청될 경우 해당 단말기의 다음 웨이크업 시간을 계산하여 상기 프로토콜 제어부(205)로 제공한다. 상기 웨이크업 시간을 포함하는 제어정보 프레임은 프레임 집성 제어부(207)에서 다른 송신 프레임들과 집성(aggregation)되어 해당 단말기로 전송된다.
상기 프레임 집성 제어부(207)는 물리계층 인터페이스부(211)를 통해 물리계층(Physical layer)과 인터페이싱한다. 상기 프레임 집성 제어부(207)는 상기 프로토콜 제어부(205)로부터의 프레임들을 하나의 PPDU(PHY Protocol Data Unit)로 집성(aggregation)하여 물리계층 인터페이스부(211)로 출력하고, 상기 물리계층 인터페이스부(211)로부터의 집성 PPDU을 프레임 단위로 해체하여 상기 프로토콜 제어부(205)로 출력한다.
상술한 도 2의 실시예는, 프로토콜 제어부와 프레임 집성 제어부를 별도의 모듈로 설명하고 있지만, 프로토콜 제어부와 프레임 집성 제어부를 하나의 모듈로 구현할 수 있다. 즉, 프레임 집성(aggregation) 동작을 프로토콜 제어부의 일부 기능으로 구현할 수 있다. 또한, 프로토콜 제어부(205)에서 수행되는 일부 프로토콜 관련 동작(예 : 프레임 집성에 관련된 제어정보 프레임 송수신)을 상기 프레임 집성 제어부(207)에서 수행하도록 구현할 수도 있다.
도 3은 본 발명의 실시예에 따른 무선통신시스템에서 단말기(STA)의 구성을 도시하고 있다.
도시된 바와 같이, 단말기(STA)는 호스트 인터페이스부(301), 버퍼 관리부(303), 프로토콜 제어부(305), 프레임 집성 제어부(307), 전력절약 제어부(309) 및 물리계층 인터페이스부(311)를 포함하여 구성된다.
도 3을 참조하면, 먼저 버퍼 관리부(303)는 상기 호스트 인터페이스부(301)를 통해 호스트(host)와 인터페이싱한다. 상기 버퍼관리부(303)는 복수의 송신 및 수신 버퍼들(도시하지 않음)을 포함하며, 상기 호스트로부터 상기 프로토콜 제어부(305)로 전달되는 송신 데이터 및 상기 프로토콜 제어부(305)로부터 상기 호스트로 전달되는 수신 데이터를 임시 버퍼링하는 기능을 수행한다.
상기 프로토콜 제어부(305)는 상기 버퍼 관리부(303)로부터의 송신 프레임을 규정된 프로토콜에 따라 인캡슐레이션하여 프레임 집성 제어부(307)로 전달하고, 상기 프레임 집성 제어부(307)로부터의 수신 프레임을 디캡슐레이션하여 상기 버퍼 관리부(303)로 전달한다. 또한, 상기 프로토콜 제어부(305)는 규정된 프로토콜에 따라 제어정보 프레임들을 송수신하는 기능을 수행한다. 예를 들어, 접속점(AP)으로부터 버퍼정보를 포함하는 제어정보 프레임이 수신되었다고 판단되면, 상기 프로토콜 제어부(305)는 수신가능기간을 포함하는 제어정보를 생성하여 상기 접속점(AP)으로 전송한다.
전력절약 제어부(309)는 단말기의 상태(QoS 등), 트래픽량 및 접속점(AP)이 권고한 웨이크업 시간 등을 고려해서 웨이크업할 시간을 결정하기 위한 결정기(319)를 포함한다. 상기 프로토콜 제어부(305)로부터 슬립모드로의 전환이 통보될시, 상기 전력절약 제어부(309)는 단말기를 슬립(sleep)모드로 전환하기 위한 동작(또는 제어)을 수행하고, 웨이크업 시간에 도달시 단말기가 활성(active)모드로 전환하기 위한 동작을 수행한다. 예를들어, 웨이크업시 상기 프로토콜 제어부(305)로 웨이크업을 통보하여 상기 프로토콜 제어부(305)가 접속점(AP)으로 웨이크업 프레임을 전송하도록 한다.
상기 프레임 집성 제어부(307)는 물리계층 인터페이스부(311)를 통해 물리계층과 인터페이싱한다. 상기 프레임 집성 제어부(307)는 상기 프로토콜 제어부(305)로부터의 프레임들을 하나의 PPDU(PHY Protocol Data Unit)로 집성(aggregation)하여 물리계층 인터페이스부(311)로 출력하고, 상기 물리계층 인터페이스부(311)로부터의 집성 PPDU(aggregation PPDU)을 프레임 단위로 해체하여 상기 프로토콜 제어부(305)로 출력한다.
상술한 도 3의 실시예는, 프로토콜 제어부와 프레임 집성 제어부를 별도의 모듈로 설명하고 있지만, 프로토콜 제어부와 프레임 집성 제어부를 하나의 모듈로 구현할 수 있다. 즉, 프레임 집성(aggregation) 동작을 프로토콜 제어부의 일부 기능으로 구현할 수 있다. 또한, 프로토콜 제어부(305)에서 수행되는 일부 프로토콜 관련 동작(예 : 프레임 집성에 관련된 제어정보 프레임 송수신)을 상기 프레임 집성 제어부(307)에서 수행하도록 구현할 수도 있다.
이하 본 발명의 동작을 설명함에 있어, 어떠한 시스템에도 구속되지 않는 일반적인 실시예(제1실시예)와 802.11 TGn Sync(Task Group ‘n’ synchronization)에 적용될수 있는 실시예(제2실시예)를 구분하여 설명하기로 한다.
도 4는 본 발명의 제1실시예에 따른 무선통신시스템에서 단말기(STA)의 전력절약모드 수행 절차를 도시하고 있다.
도 4를 참조하면, 먼저 단말기(STA)는 401단계에서 슬립모드에서 웨이크업 하는지를 검사한다. 상기 웨이크업시, 상기 단말기는 403단계에서 웨이크업 프레임을 생성하여 접속점(AP)으로 전송한다. 상기 웨이크업 프레임을 전송한후, 상기 단말기는 405단계에서 상기 접속점(AP)으로부터 버퍼정보(BUFF_INFO) 프레임이 수신되는지 검사한다. 상기 버퍼정보 프레임은 요청 송신기간(req_tx_length) 정보를 포함한다.
상기 버퍼정보 프레임이 수신되면, 상기 단말기는 407단계에서 상기 요청 송신기간 정보를 검사하여 접속점(AP)에 버퍼링된 데이터가 존재하는지 판단한다. 즉, 접속점(AP)이 송신기간을 요청하였는지 검사한다. 만일, 상기 접속점(AP)이 송신기간을 요청하였으면, 상기 단말기는 409단계에서 수신기간(rx_duration) 정보를 포함하는 개시자 제어정보(INIT_CNTR_INFO) 프레임을 생성한다. 그리고, 상기 단말기는 411단계에서 상기 개시자 제어정보 프레임 및 버퍼링되어 있는 송신 프레임들을 하나의 PPDU(PHY Protocol Data Unit)으로 집성(aggregation)하여 상기 접속점(AP)으로 전송한다.
상기 집성 PPDU를 전송한후, 상기 단말기는 413단계에서 상기 접속점(AP)으로부터 집성 PPDU가 수신되는지 검사한다. 상기 접속점(AP)으로부터 집성 데이터 수신시, 상기 단말기는 415단계에서 상기 집성 PPDU내 응답자 제어정보(RESP_CNTR_INFO) 프레임을 검사하여 접속점(AP)에 여전히 버퍼링된 데이터가 존재하는지 검사한다. 만일, 상기 접속점(AP)으로부터 수신할 데이터가 여전히 존재하면, 상기 단말기는 상기 409단계로 되돌아가 이하 단계를 재수행한다. 만일, 상기 접속점(AP)으로부터 수신할 데이터가 없으면, 상기 단말기는 417단계로 진행하여 슬립모드로의 전환을 통보하는 블록 응답(BA : Block ACK) 프레임을 상기 접속점(AP)으로 전송한다. 즉, 블록 응답 프레임의 헤더 필드중 PS(Power Save) 비트를 '1'로 설정하여 상기 접속점(AP)으로 전송한다. 그리고, 상기 단말기는 419단계에서 슬립모드(sleep mode)로 전환한 후, 상기 401단계로 되돌아간다.
한편, 상기 407단계에서 접속점(AP)에 버퍼링된 데이터가 없다고 판단되면, 상기 단말기는 421단계로 진행하여 슬립모드로의 전환을 통보하는 개시자 제어정보(INIT_CNTR_INFO) 프레임을 생성한다. 즉, 슬립모드로의 전환을 통보하기 위해 상기 개시자 제어정보 프레임내 PS(Power Save) 비트를 '1'로 설정한다. 그리고, 상기 단말기는 423단계에서 상기 개시자 제어정보 프레임 및 버퍼링되어 있는 송신 프레임들을 하나의 PPDU(PHY Protocol Data Unit)으로 집성(aggregation)하여 상기 접속점(AP)으로 전송한후 상기 419단계로 진행한다.
상술한 실시예에서, 접속점(AP)으로부터 수신되는 집성 PPDU는 집성을 위한 제어정보 프레임(RESP_CNTR_INFO frame), 사용자 데이터 프레임들 및 블록 응답(BA) 프레임을 하나의 물리계층 데이터 유닛으로 구성한 것이다. 만일, 접속점(AP)에 상기 단말기를 위한 데이터가 더 이상 존재하지 않으면, 상기 접속점(AP)은 상기 제어정보 프레임내 권고 다음 웨이크업 시간(rec_next_wakeup_time)을 설정하여 전송할 수 있는데, 단말기는 상기 권고 다음 웨이크업 시간을 고려해서 다음 웨이크업 시간을 결정할 수 있다.
도 5는 본 발명의 제1실시예에 따른 무선통신시스템에서 접속점(AP)의 전력절약모드 수행절차를 도시하고 있다.
도 5를 참조하면, 먼저 접속점(AP)은 501단계에서 슬립모드인 단말기들중 어느 하나로부터 웨이크업 프레임이 수신되는지 검사한다. 상기 웨이크업 프레임 수신시, 상기 접속점(AP)은 상기 웨이크업 프레임을 전송한 단말기를 위해 버퍼링되어 있는 송신 데이터 량에 근거해서 요청 송신기간(req_tx_length)을 계산하고, 상기 요청 송신시간 정보를 포함하는 버퍼정보(BUFF_INFO) 프레임을 상기 단말기로 전송한다.
상기 버퍼정보 프레임을 전송한후, 상기 접속점(AP)은 505단계에서 상기 단말기로부터 집성 PPDU가 수신되는지 검사한다. 여기서, 상기 집성 PPDU는 집성을 위한 제어정보(INIT_CNTR_INFO) 프레임, 사용자 데이터 프레임들을 포함할 수 있다. 상기 집성 PPDU가 수신될 경우, 상기 접속점(AP)은 507단계에서 상기 집성 PPDU내 개시자 제어정보(INIT_CNTR_INFO) 프레임을 검사해서 상기 단말기가 슬립모드로 전환하는지를 판단한다. 즉, 상기 개시자 제어정보 프레임내 PS(Power Save)비트가 '1'로 설정되어 있는지 검사한다.
상기 단말기가 활성상태에 있는 경우(PS=0), 상기 접속점(AP)은 509단계에서 상기 개시자 제어정보 프레임내 수신기간(rx_duration) 정보를 확인하고, 상기 수신기간을 넘지 않도록 상기 단말기의 버퍼링된 데이터를 독출한다. 그리고, 상기 접속점(AP)은 511단계에서 버퍼링된 데이터가 여전히 존재하는지 검사한다.
만일, 버퍼(슬립모드용 송신버퍼)에 여전히 상기 단말기를 위한 데이터가 존재하면, 상기 접속점(AP)은 513단계에서 상기 버퍼에 존재하는 상기 단말기의 데이터량에 근거해서 요청송신기간(req_tx_length)을 계산하고, 상기 요청송신기간 정보(또는 버퍼정보)를 포함하는 응답자 제어정보(RESP_CNTR_INFO) 프레임을 생성한다. 그리고, 상기 접속점(AP)은 515단계에서 상기 응답자 제어정보 프레임, 상기 독출된 송신 프레임들 및 블록 응답 프레임을 하나의 PPDU(PHY Protocol Data Unit)으로 집성(aggregation)하여 상기 단말기로 전송한후 상기 515단계로 진행한다.
만일, 상기 버퍼에 상기 단말기를 위한 데이터가 존재하지 않으면, 상기 접속점(AP)은 519단계에서 단말기들의 상태(QoS 등) 및 트래픽량을 고려하여 상기 단말기의 권고 다음 웨이크업 시간(rec_next_wakeup_time)을 계산하고, 상기 권고 다 음 웨이크업 시간 정보를 포함하는 응답자 제어정보(RESP_CNTR_INFO) 프레임을 생성한후 상기 515단계로 진행한다.
한편, 상기 507단계에서 상기 단말기가 슬립모드로 전환한 것으로 판단되면, 상기 접속점(AP)은 517단계에서 상기 단말기로 전송할 데이터를 상기 슬립모드용 버퍼에 버퍼링하기 시작한후, 상기 501단계로 되돌아가 이하 단계를 재수행한다.
상술한 제1실시예에 따른 제어정보 프레임들은 다음과 같은 정보를 포함해야 한다.
버퍼정보(BUFF_INFO : Buffer Information) 프레임은 버퍼링된 데이터량을 단말기에게 알리기 위한 프레임으로, 요청 송신기간(req_tx_length : Required tx length) 정보를 포함한다. 개시자 제어정보(INIT_CNTR_INFO : Initiator Control Information) 프레임은 프레임 집성(aggregation)을 위한 제어 프레임으로, 수신기간(rx_duration) 정보를 포함한다. 응답자 제어정보(RESP_CNTR_INFO : Responder Control Information) 프레임은 상기 개시자 제어정보 프레임에 대한 응답 프레임으로, 요청 송신기간(req_tx_length : Required tx length) 정보 또는 권고 다음 웨이크업 시간(rec_next_wake_time : Recommended next wake time) 정보를 포함한다.
도 6은 본 발명의 제2실시예에 따른 무선통신시스템에서 단말기(STA)의 전원절약모드 수행 절차를 도시하고 있다. 앞서 언급한 바와 같이, 본 발명의 제2실시 예는 802.11 TGn Sync(Task Group ‘n’ synchronization)에 적용할수 있는 실시예이다.
도 6을 참조하면, 먼저 단말기(STA)는 601단계에서 슬립모드에서 웨이크업 하는지를 검사한다. 상기 웨이크업시, 상기 단말기는 603단계에서 웨이크업을 통보하기 위한 IAC(Initiator Aggregation Control) 프레임을 생성하여 접속점(AP)으로 전송한다. 여기서, 상기 IAC 프레임은 접속점(AP)의 최대전송시간을 지정하는 역방향 한계(RDL : Reverse Direction Limit) 정보를 포함한다. 여기서, 상기 역방향은 응답자(responder)에서 개시자(initiator)로의 전송을 나타낸다. 상기 웨이크업 프레임을 전송한후, 상기 단말기는 605단계에서 상기 접속점(AP)으로부터 RAC(Responder Aggregation Control) 프레임이 수신되는지 검사한다. 상기 RAC 프레임은 접속점(AP)이 요청하는 송신시간을 나타내는 역방향 요청(RDR : Reverse Direction Request) 사이즈 정보를 포함한다.
상기 RAC 프레임이 수신되면, 상기 단말기는 607단계에서 상기 RDR 필드에 설정된 값을 검사하여 접속점(AP)에 버퍼링된 데이터가 존재하는지 판단한다. 즉, 접속점(AP)이 송신기간을 요청하였는지 검사한다. 만일, 상기 접속점(AP)이 송신기간을 요청하였으면, 상기 단말기는 609단계에서 수신기간을 지정하는 역방향 승인(RDG : Reverse Direction Grant) 정보를 포함하는 IAC 프레임을 생성한다. 그리고, 상기 단말기는 611단계에서 상기 IAC프레임 및 버퍼링되어 있는 송신 프레임들을 하나의 PPDU(PHY Protocol Data Unit)으로 집성(aggregation)하여 상기 접속점(AP)으로 전송한다.
상기 집성 PPDU를 전송한후, 상기 단말기는 613단계에서 상기 접속점(AP)으로부터 집성 PPDU가 수신되는지 검사한다. 상기 접속점(AP)으로부터 집성 데이터 수신시, 상기 단말기는 615단계에서 상기 집성 PPDU내 RAC프레임을 검사하여 접속점(AP)에 여전히 버퍼링된 데이터가 존재하는지 검사한다. 여기서, RDR 사이즈 필드가 '0'으로 설정되거나 RAC 마스크의 RDR 비트가 '0'으로 설정되면, 버퍼링된 데이터가 없는 것으로 판단한다.
만일, 상기 접속점(AP)으로부터 수신할 데이터가 여전히 존재하면, 상기 단말기는 상기 609단계로 되돌아가 이하 단계를 재수행한다. 만일, 상기 접속점(AP)으로부터 수신할 데이터가 없으면, 상기 단말기는 617단계로 진행하여 슬립모드의 전환을 통보하는 블록 응답(BA : Block ACK) 프레임을 상기 접속점(AP)으로 전송한다. 즉, 상기 블록 응답 프레임의 헤더 필드중 PS(power Save) 비트를 '1'로 설정하여 접속점(AP)으로 전송한다.
그리고, 상기 단말기는 619단계에서 송신기회(TXOP : TX Opportunity) 구간이 남아 있는지 검사한다. 만일, 상기 송신기회 구간이 남아있지 않으면, 상기 단말기는 623단계로 진행하여 슬립모드로 바로 전환한후 상기 601단계로 되돌아간다. 만일, 상기 송신기회 구간이 남아있으면, 상기 단말기는 621단계로 진행하여 비경쟁 종료(CF-End : Contention-Free End) 프레임을 전송한후 상기 623단계로 진행한다.
한편, 상기 607단계에서 접속점(AP)에 버퍼링된 데이터가 없다고 판단되면, 상기 단말기는 625단계로 진행하여 슬립모드로의 전환을 통보하는 IAC 프레임을 생 성한다. 즉, 상기 IAC프레임내 PS(Power Save) 비트를 '1'로 설정한다. 그리고, 상기 단말기는 627단계에서 상기 IAC프레임 및 버퍼링되어 있는 송신 프레임들을 하나의 PPDU(PHY Protocol Data Unit)으로 집성(aggregation)하여 상기 접속점(AP)으로 전송한후 상기 619단계로 진행한다.
상술한 실시예에서, 접속점(AP)으로부터 수신되는 집성 PPDU는 IAC 프레임, 사용자 데이터 프레임들 및 블록 응답(BA) 프레임을 하나의 물리계층 데이터 유닛으로 구성한 것이다. 만일, 접속점(AP)에 상기 단말기를 위한 데이터가 더 이상 존재하지 않으면, 상기 접속점(AP)은 상기 IAC 프레임에 권고 웨이크업 기간(RWI : Recommended Wakeup Interval)을 설정하여 전송할 수 있는데, 단말기는 상기 권고 웨이크업 기간을 고려해서 다음 웨이크업 시간을 결정할수 있다.
도 7은 본 발명의 제2실시예에 따른 무선통신시스템에서 접속점(AP)의 전력절약모드 수행절차를 도시하고 있다.
도 7을 참조하면, 먼저 접속점(AP)은 701단계에서 슬립모드인 단말기들중 어느 하나로부터 웨이크업을 통보하는 IAC프레임이 수신되는지 검사한다. 상기 IAC프레임 수신시, 상기 접속점(AP)은 703단계에서 상기 웨이크업 프레임을 전송한 단말기를 위해 버퍼링되어 있는 데이터 량에 근거해서 역방향 요청(RDR : Reverse Direction Request) 사이즈를 계산하고, 상기 역방향 요청 사이즈 정보를 포함하는 RAC프레임을 상기 단말기로 전송한다.
상기 RAC 프레임을 전송한후, 상기 접속점(AP)은 705단계에서 상기 단말기로 부터 집성 PPDU가 수신되는지 검사한다. 여기서, 상기 집성 PPDU는 IAC프레임, 사용자 데이터 프레임들을 포함할 수 있다. 상기 집성 PPDU가 수신될 경우, 상기 접속점(AP)은 707단계에서 상기 집성 PPDU내 IAC프레임을 검사해서 상기 단말기가 슬립모드로 전환하는지를 판단한다. 즉, 상기 IAC 프레임내 PS(Power Save)비트가 '1'로 설정되어 있는지 검사한다.
상기 단말기가 활성상태(PS=0)에 있는 경우, 상기 접속점(AP)은 709단계에서 상기 IAC 프레임내 역방향 승인(RDG : Reverse Direction Grant) 정보를 확인하고, 상기 역방향 승인 정보에 따른 기간을 넘지 않도록 상기 단말기의 버퍼링된 데이터를 독출한다. 그리고, 상기 접속점(AP)은 711단계에서 슬립모드용 버퍼에 상기 단말기를 위해 버퍼링된 데이터가 여전히 존재하는지 검사한다.
만일, 상기 버퍼에 여전히 상기 단말기를 위한 데이터가 존재하면, 상기 접속점(AP)은 713단계에서 상기 버퍼에 존재하는 데이터량에 근거해서 역방향 요청(RDR : Reverse Direction Request) 사이즈를 계산하고, 상기 역방향 요청 사이즈 정보를 포함하는 RAC프레임을 생성한다. 그리고, 상기 접속점(AP)은 715단계에서 상기 RAC 프레임, 상기 독출된 송신 프레임들 및 블록 응답 프레임을 하나의 PPDU(PHY Protocol Data Unit)으로 집성(aggregation)하여 상기 단말기로 전송한후 상기 705단계로 진행한다.
만일, 상기 버퍼에 상기 단말기를 위한 데이터가 존재하지 않으면, 상기 접속점(AP)은 719단계에서 단말기들의 상태(QoS 등) 및 트래픽량을 고려하여 상기 단말기의 권고 웨이크업 기간(RWI : Recommended Wakeup Interval)을 계산하고, 상기 권고 웨이크업 기간을 포함하는 IAC 프레임을 생성한후 상기 715단계로 진행한다.
한편, 상기 707단계에서 상기 단말기가 슬립모드로 전환한 것으로 판단되면, 상기 접속점(AP)은 717단계에서 상기 단말기로 전송할 데이터를 상기 버퍼에 버퍼링하기 시작한후, 상기 701단계로 되돌아가 이하 단계를 재수행한다.
상술한 제2실시예에 따른 제어정보 프레임들은 다음과 같은 정보를 포함해야 한다.
도 12는 본 발명의 실시예에 따른 IAC(Initiator Aggregation Control) 프레임의 구조를 보여준다. 상기 IAC 프레임은 전송기회를 얻은 단말기가 전송하는 집성 데이터를 위한 제어정보 프레임이다. 상기 IAC 프레임은 집성 데이터를 전송할 때, 집성 PPDU의 앞부분에 포함되어 전송된다.
도시된 바와 같이, 본 발명에 따른 IAC 프레임은, MAC(Media Access Control) 헤더(header) 필드, IAC 마스크(mask) 필드, 다음 PPDU 사이즈 필드, 다음 PPDU 디폴트 MCS(Modulation and Coding Scheme) 필드, 역방향 한계(Reverse Direction Limit) 필드, 역방향 승인(Reverse Direction Grant) 필드, 응답기간 오프셋(Response Period Offset) 필드, 역방향 트래픽 식별자(Reverse Traffic Identifier) 필드, MCS 피드백 필드, FCS(Frame Check Sequence) 필드를 포함한다. 여기서, 본 발명에 따른 중요 필드들은 음영으로 표시하고 있다.
각 필드의 기능을 살펴보면, 먼저 "IAC Mask"는 IAC 프레임이 포함하고 있는 정보를 식별하기 위한 필드이다. "Next PPDU Size"는 다음 PPDU의 크기 정보를 기록하기 위한 필드이다. "Next PPDU Default MCS"는 다음 PPDU에 사용할 코딩 및 변조 방식을 기록하기 위한 필드이다. "Reverse Direction Limit"는 역방향 최대 전송시간을 기록하기 위한 필드이다. 응답자(Responder)는 역방향 최대 전송시간을 참조하여 역방향 송신기간을 요청한다. "Reverse Direction Grant"는 응답자에게 할당할 역방향 송신기간을 기록하기 위한 필드이다. "Response Period Offset"은 RDG(Reverse Direction Grant)을 전송할 때 의미가 있는 필드로, 역방향 전송을 하기 위한 지연시간이 기록된다. "Reverse Direction Traffic Identifier" 는 역방향 전송이 가능한 AC(Access Category)나 TSID(Traffic Stream Identifier)를 기록하기 위한 필드이다. "MCS Feedback"은 권고 MCS(Recommended MCS) 레벨을 기록하기 위한 필드이다.
여기서, 상기 "IAC Mask" 필드를 자세히 나타내면 도 13과 같다.
도 13에 도시된 바와 같이, "IAC Mask" 필드는, RTS(Request To Send) 필드, TRQ(Training Request) 필드, MRQ(MCS Request) 필드, MFB(MCS Feedback) 필드, FPD(Following Packet Descriptor) 필드, RDG(Reverse Direction Grant) 필드, RPS(Recommended Power Saving) 필드 및 예약(reserved) 필드를 포함한다. 상기 RTS 필드가 '1'로 설정되면, RTS임을 의미한다. 상기 TRQ 필드가 '1'로 설정되면, 맹목적 피드백(Implicit feedback)을 사용하는 MIMO(Multiple Input Multiple Output)에서 채널 트레인(channel train)의 요청을 나타낸다. 상기 MRQ 필드가 '1'로 설정되면, MCS 피드백의 요청을 의미한다. 상기 MFB 필드가 '1'로 설정되면, 폐루프 채널 적응(Closed loop channel adaptation)의 사용을 의미한다. 상기 FPD 필드가 '1'로 설정되면, 다음 PPDU 기간을 "Next PPDU Size"와 "Next PPDU Default MCS"를 이용해 계산하라는 의미이다. 상기 RDG 필드가 '1'로 설정되면, RDG가 제공됨을 의미한다. 상기 RPS 필드가 '1'로 설정되면, 접속점(AP)에게 다음 웨이크업 시간을 권고해달라는 의미이다. 즉, 본 발명에 따라 추가되는 필드는 "RPS" 이다.
도 14는 본 발명의 실시예에 따른 RAC(Responder Aggregation Control) 프레임의 구조를 보여준다. 상기 RAC 프레임은 IAC 프레임을 수신한 접속점(AP)이 그에 대한 응답으로 전송하는 프레임 집성(aggregation)을 위한 제어정보 프레임이다. 접속점(AP)은 RAC 프레임을 이용하여 송신할 데이터가 있음을 통보한다. IAC 프레임과 마찬가지로 역방향 집성 PPDU의 앞부분에 포함되어 전송된다.
도시된 바와 같이, 본 발명에 따른 RAC 프레임은, MAC(Media Access Control) 헤더(header) 필드, RDR(Reverse Direction Request) 사이즈 필드, 다음 PPDU 디폴트 MCS 필드, MCS 피드백 필드를 포함한다. 여기서, 본 발명에 따른 중요 필드들은 음영으로 표시하고 있다.
각 필드의 기능을 살펴보면, 먼저 "RAC Mask"는 RAC 프레임이 포함하고 있는 정보를 식별하기 위한 필드이다. "RDR Size"는 RDL(Reverse Direction Limit) 값 내에서 결정된 요청 송신기간을 기록하기 위한 필드이다. "Next PPDU Default MCS"는 다음 PPDU에 사용할 변조 및 코딩 방식을 기록하기 위한 필드이다. "MCS Feedback"은 권고 MCS 레벨을 기록하기 위한 필드이다.
여기서, 상기 "RAC Mask" 필드를 자세히 나타내면 도 15와 같다.
도 15에 도시된 바와 같이, "RAC Mask" 필드는, CTS(Clear To Send) 필드, TRQ(Training Request) 필드, MRQ(MCS Request) 필드, MFB(MCS Feedback) 필드, RDR(Reverse Direction Request) 필드, RWI(Recommended Wakeup Interval) 필드 및 예약 필드를 포함한다. 상기 CTS 필드가 '1'로 설정되면, CTS임을 의미한다. 상기 TRQ 필드가 '1'로 설정되면, 맹목적 피드백(Implicit feedback)을 사용하는 MIMO(Multiple Input Multiple Output)에서 채널 트레인(channel train)의 요청을 나타낸다. 상기 MRQ 필드가 '1'로 설정되면, MCS 피드백의 요청을 의미한다. 상기 MFB 필드가 '1'로 설정되면, 폐루프 채널 적응(Closed loop channel adaptation)의 사용을 의미한다. 상기 RDR 필드가 '1'로 설정되면, RDR 사이즈가 제공됨을 의미한다. 상기 RWI 필드가 '1'로 설정되면, 다음 웨이크업 시간이 제공됨을 의미한다. 즉, 본 발명에 따라 추가되는 필드는 "RWI"이다.
상기 RDR 필드와 상기 RWI 필드 값의 조합에 따른 프레임 해석 방법은 다음과 같다.
RDR: 1 RWI: 0 ---> RDR 사이즈가 제공됨
RDR: 0 RWI: 1 ---> RWI가 제공됨
RDR: 0 RWI: 0 ---> RDR, RWI 모두 제공되지 않음
RDR: 1 RWI: 1 ---> 정의되지 않음
상기한 바와 같이, RWI 비트가 '1'이면, RDR 사이즈 필드 값을 권고 웨이크업 기간으로 해석하고, 단말기(STA)는 이 값을 참조하여 다음 웨이크업 시간을 결정한다.
본 발명의 실시예들을 웨이크업을 권고하는 경우와 그렇지 않은 경우로 나누어서 설명하면 다음과 같다.
도 8은 본 발명의 제1실시예에 따른 무선통신시스템에서 단말기(STA)와 접속점(AP) 사이의 신호 교환 절차를 보여준다. 특히, 상기 도 8은 접속점(AP)이 웨이크업 시간을 권고하지 않는 경우를 설명하기 위한 것이다.
도 8에 도시된 바와 같이, 웨이크업시 단말기(STA)는 801단계에서 웨이크업을 통보하기 위한 웨이크업 프레임을 접속점(AP)으로 전송한다. 그러면, 상기 접속점(AP)은 803단계에서 상기 웨이크업 프레임에 대한 응답으로 버퍼정보(BUFF_INFO) 프레임을 SIFS(short inter frame space)이내에 상기 단말기(STA)로 전송한다. 상기 버퍼정보 프레임은 집성(aggregation)에 의한 전송시 필요한 요청송신기간(req_tx_length) 정보를 포함한다.
한편, 상기 단말기(STA)는 805단계에서 상기 버퍼정보 프레임에 대한 응답으로 개시자 제어정보(INIT_CNTR_INFO) 프레임을 작성하고, 상기 개시자 제어정보 프레임과 송신 프레임들을 하나의 PPDU로 집성(aggregation)하여 SIFS이내에 상기 접속점(AP)으로 전송한다. 여기서, 접속점(AP)에 버퍼링된 데이터가 존재하면 상기 개시자 제어정보 프레임은 수신기간(rx_duration) 정보를 포함한다.
이후, 상기 접속점(AP)은 807단계에서 상기 개시자 제어정보 프레임에 대한 응답으로 응답자 제어정보 (RESP_CNTR_INFO) 프레임을 작성하고, 상기 응답자 제어정보 프레임, 상기 수신기간(rx_duration)만큼의 송신 프레임들 및 블록 응답 프레임을 하나의 PPDU로 집성하여 SIFS이내에 상기 단말기(STA)로 전송한다. 여기서, 더 이상 상기 단말기를 위한 데이터가 존재하지 않으면, 상기 응답자 제어정보 프레임의 송신시간(req_tx_length) 필드는 '0'으로 설정된다.
상기 집성 PPDU 수신시, 상기 단말기(STA)는 809단계에서 상기 집성 PPDU에 대한 응답으로 블록 응답 프레임을 SIFS 이내에 상기 접속점(AP)으로 전송한다. 이때, 상기 응답자 제어정보 프레임을 확인하여 상기 접속점(AP)으로부터 수신할 데이터가 더 이상 없다고 판단되면, 상기 블록 응답 프레임의 헤더 필드중 PS(power save) 비트를 '1'로 설정하여 슬립모드의 전환을 상기 접속점(AP)에 통보한다.
상기한 바와 같이, 도 8은 접속점(AP)에서 웨이크업 시간을 권고하지 않은 경우로, 단말기(STA)는 자체 판단을 통해 주기적 혹은 비주기적으로 웨이크업하게 된다.
도 9는 본 발명의 제1실시예에 따른 무선통신시스템에서 단말기(STA)와 접속점(AP) 사이의 신호 교환 절차를 보여준다. 특히, 상기 도 9는 접속점(AP)이 웨이크업 시간을 권고하는 경우를 설명하기 위한 것으로, 도 8의 경우와는 다음과 같은 차이를 가진다.
도 9에 도시된 바와 같이, 901단계 내지 905단계는 앞서 도 8에서 설명된 바와 같다. 이후 과정에 대해 살펴보면, 접속점(AP)은 907단계에서 단말기(STA)로부터 수신되는 개시자 제어정보(INIT_CNTR_INFO) 프레임에 대한 응답으로 응답자 제어정보(RESP_CNTR_INFO) 프레임을 작성하고, 상기 응답자 제어정보 프레임, 상기 수신기간(rx_duration)만큼의 송신 프레임들 및 블록 응답 프레임을 하나의 PPDU로 집성하여 SIFS이내에 상기 단말기(STA)로 전송한다. 여기서, 더 이상 상기 단말기를 위한 데이터가 존재하지 않으면, 상기 응답자 제어정보 프레임의 요청송신시간 (req_tx_length) 필드를 '0'으로 설정하고, 권고 다음 웨이크업 시간(Rec_next_wake_time) 필드에 다음 웨이크업 시간을 설정한다.
상기 집성 PPDU 수신시, 상기 단말기(STA)는 909단계에서 상기 집성 PPDU에 대한 응답으로 블록 응답 프레임을 SIFS 이내에 상기 접속점(AP)으로 전송한다. 이때, 상기 응답자 제어정보 프레임을 확인하여 상기 접속점(AP)으로부터 수신할 데이터가 더 이상 없다고 판단되면, 상기 블록 응답 프레임의 헤더 필드중 PS 비트를 '1'로 설정하여 슬립모드의 전환을 상기 접속점(AP)에 통보한다. 한편, 상기 단말기(STA)는 도시된 바와 같이 상기 응답자 제어정보 프레임내 설정된 권고 다음 웨이크업 시간(Rec_next_wakeup_time)을 고려해서 슬립기간(sleep interval)을 결정한다.
도 10은 본 발명의 제2실시예에 따른 무선통신시스템에서 단말기(STA)와 접속점(AP) 사이의 신호 교환 절차를 보여준다. 특히, 상기 도 10은 접속점(AP)이 웨이크업 시간을 권고하지 않은 경우를 설명하기 위한 것이다.
도 10에 도시된 바와 같이, 웨이크업시 단말기(STA)는 1001단계에서 웨이크업을 통보하기 위한 IAC(Initiator Aggregation Control) 프레임을 접속점(AP)으로 전송한다. 여기서, 상기 IAC프레임은 접속점(AP)의 최대전송시간을 나타내는 역방향 한계(RDL : Reverse Direction limit) 정보를 포함한다.
그러면, 상기 접속점(AP)은 1003단계에서 상기 IAC 프레임에 대한 응답으로 RAC(Responder Aggregation Control) 프레임을 SIFS(short inter frame space)이내 에 상기 단말기(STA)로 전송한다. 상기 RAC 프레임은 집성(aggregation)에 의한 전송시 필요한 송신기간을 나타내는 역방향요청(RDR : Reverse Direction Request) 사이즈 정보를 포함한다.
한편, 상기 단말기(STA)는 1005단계에서 상기 RAC 프레임에 대한 응답으로 IAC 프레임을 작성하고, 상기 IAC 프레임, 사용자 데이터 프레임들 및 블록응답 요청(BAR : Block Ack Request) 프레임을 하나의 PPDU로 집성(aggregation)하여 SIFS이내에 상기 접속점(AP)으로 전송한다. 여기서, 접속점(AP)에 버퍼링된 데이터가 존재하면, 상기 IAC 프레임은 수신가능기간을 나타내는 역방향승인(RDG : Reverse Direction Grant) 정보를 포함한다.
이후, 상기 접속점(AP)은 1007단계에서 상기 IAC 프레임에 대한 응답으로 RAC 프레임을 작성하고, 상기 RAC프레임, 상기 역방향승인(RDG)만큼의 송신 프레임들 및 블록 응답 프레임을 하나의 PPDU로 집성하여 SIFS이내에 상기 단말기(STA)로 전송한다. 여기서, 상기 PPDU 이외에 버퍼링된 데이터가 더 존재하면, 상기 RAC 프레임은 남아 있는 데이터의 전송에 필요한 송신기간을 나타내는 역방향요청(RDR) 사이즈 정보를 포함한다.
한편, 상기 단말기(STA)는 1009단계에서 상기 RAC 프레임에 대한 응답으로 IAC 프레임을 작성하고, 상기 IAC 프레임, 사용자 데이터 프레임들 및 블록응답 요청(BAR : Block Ack Request) 프레임을 하나의 PPDU로 집성(aggregation)하여 SIFS이내에 상기 접속점(AP)으로 전송한다.
그러면, 상기 접속점(AP)은 1011단계에서 상기 IAC 프레임에 대한 응답으로 RAC 프레임을 작성하고, 상기 RAC프레임, 상기 역방향승인(RDG)만큼의 송신 프레임들 및 블록 응답 프레임을 하나의 PPDU로 집성하여 SIFS이내에 상기 단말기(STA)로 전송한다. 여기서, 상기 PPDU 이외에 버퍼링된 데이터가 더 이상 존재하지 않으면, 상기 RAC 프레임내 역방향요청 사이즈 필드를 '0'으로 설정하거나 RAC 마스크의 RDR 비트를 '0'으로 설정한다.
상기 집성 PPDU 수신시, 상기 단말기(STA)는 1013단계에서 상기 집성 PPDU에 대한 응답으로 블록 응답 프레임을 SIFS 이내에 상기 접속점(AP)으로 전송한다. 이때, 상기 RAC 프레임을 확인하여 상기 접속점(AP)으로부터 더 이상 수신할 데이터가 없다고 판단되면, 상기 블록 응답 프레임의 헤더 필드중 PS 비트를 '1'로 설정하여 슬립모드의 전환을 상기 접속점(AP)에 통보한다. 한편, 송신기회(TX Opportunity)가 남아 있으면, 상기 단말기(STA)는 1015단계에서 비경쟁 종료(CF-End) 프레임을 전송한후 슬립모드로 전환한다.
상기한 바와 같이, 도 10은 접속점(AP)에서 웨이크업 시간을 권고하지 않은 경우로, 단말기(STA)는 자체 판단을 통해 주기적 혹은 비주기적으로 웨이크업하게 된다.
도 11은 본 발명의 제2실시예에 따른 무선통신시스템에서 단말기(STA)와 접속점(AP) 사이의 신호 교환 절차를 보여준다. 특히, 상기 도 11은 접속점(AP)이 웨이크업 시간을 권고하는 경우를 설명하기 위한 것으로, 도 10의 경우와는 다음과 같은 차이를 가진다.
도 11에 도시된 바와 같이, 1101단계 내지 1105단계는 앞서 도 10에서 설명된 바와 같다. 이후 과정에 대해 살펴보면, 접속점(AP)은 1107단계에서 단말기(STA)로부터 수신되는 IAC 프레임에 대한 응답으로 RAC 프레임을 작성하고, 상기 RAC프레임, 상기 역방향승인(RDG)만큼의 송신 프레임들 및 블록 응답 프레임을 하나의 PPDU로 집성하여 SIFS이내에 상기 단말기(STA)로 전송한다. 여기서, 상기 PPDU 이외에 버퍼링된 데이터가 더 이상 존재하지 않으면, 상기 RAC 프레임내 역방향요청(RDR) 사이즈 필드에 권고 웨이크업 기간(RWI : Recommended wakeup Interval)을 설정하여 전송한다.
상기 집성 PPDU 수신시, 상기 단말기(STA)는 1109단계에서 상기 집성 PPDU에 대한 응답으로 블록 응답 프레임을 SIFS 이내에 상기 접속점(AP)으로 전송한다. 이때, 상기 RAC 프레임을 확인하여 상기 접속점(AP)으로부터 더 이상 수신할 데이터가 없다고 판단되면, 상기 블록 응답 프레임의 헤더 필드중 PS 비트를 '1'로 설정하여 슬립모드의 전환을 상기 접속점(AP)에 통보한다. 한편, 상기 단말기(STA)는 도시된 바와 같이 상기 RAC 프레임내 설정된 권고 웨이크업 기간(RWI)을 고려해서 슬립기간(sleep interval)을 결정한다.
상술한 도 11의 경우는 앞서 설명한 바와 같이, IAC 프레임내 RPS(Recommended Power Saving) 필드를 이용하여 단말기(STA)가 접속점(AP)으로 웨이크업 권고를 요청할수 있다. 즉, PRS비트가 '1'로 설정되면 접속점(AP)은 단말기(STA)에게 웨이크업 기간을 권고하고, '0'으로 설정되면 웨이크업 기간을 권고하지 않는다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.