KR100631736B1 - Ack 프레임 전송 방법 및 장치 - Google Patents

Ack 프레임 전송 방법 및 장치 Download PDF

Info

Publication number
KR100631736B1
KR100631736B1 KR1020040063599A KR20040063599A KR100631736B1 KR 100631736 B1 KR100631736 B1 KR 100631736B1 KR 1020040063599 A KR1020040063599 A KR 1020040063599A KR 20040063599 A KR20040063599 A KR 20040063599A KR 100631736 B1 KR100631736 B1 KR 100631736B1
Authority
KR
South Korea
Prior art keywords
frame
bit
msdu
identification information
ack
Prior art date
Application number
KR1020040063599A
Other languages
English (en)
Other versions
KR20060014875A (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 삼성전자주식회사
Priority to KR1020040063599A priority Critical patent/KR100631736B1/ko
Priority to JP2007525531A priority patent/JP2008509622A/ja
Priority to PCT/KR2005/002420 priority patent/WO2006016745A1/en
Priority to BRPI0514128-1A priority patent/BRPI0514128A/pt
Priority to MX2007001682A priority patent/MX2007001682A/es
Priority to US11/201,442 priority patent/US20060034317A1/en
Priority to CNA2005100907185A priority patent/CN1734998A/zh
Priority to EP05255018A priority patent/EP1626520A1/en
Publication of KR20060014875A publication Critical patent/KR20060014875A/ko
Application granted granted Critical
Publication of KR100631736B1 publication Critical patent/KR100631736B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/14Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 보다 효율적인 버스트 ACK(burst ACK)을 이용한 무선 통신 방법에 관한 것이다.
본 발명에 따른 ACK 프레임 전송 방법은, 송신 디바이스로부터 프레임을 수신하고 수신된 프레임의 식별 정보를 저장하는 단계와, 상기 저장된 식별 정보를 이용하고 상기 수신된 각 프레임에 대한 비트쌍의 집합을 기록하여 제1 필드를 생성하는 단계와, 생성된 제1 필드를 포함하여 ACK 프레임을 생성하는 단계와, 생성된 ACK 프레임을 송신 디바이스에 전송하는 단계를 포함하며, 상기 비트쌍은 해당 프레임이 정상적으로 수신되었는가를 확인하는 제1 비트와, 제1 비트가 해당 프레임 하나에 대한 수신 확인을 나타내는 것인가, 해당 프레임 이후의 모든 프래그먼트에 대한 수신 확인을 나타내는 것인가를 구별하는 제2 비트로서 구성된다.
무선 네트워크, MSDU, Fragment, ACK

Description

ACK 프레임 전송 방법 및 장치{Method and apparatus for transmitting ACK frame}
도 1은 일반적인 버스트 ACK 프레임 전송 방식을 설명하는 도면.
도 2는 IEEE 802.15.3 표준에 따른 지연 ACK 프레임의 구성을 나타낸 도면.
도 3은 IEEE 802.11e 표준에 따른 블럭 ACK 프레임의 구성을 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 버스트 ACK 프레임의 구성을 나타낸 도면.
도 5는 종래의 IEEE 802.11 계열 표준의 MAC header 및 IEEE 802.15.3 표준의 MAC header의 구조를 나타낸 도면.
도 6 내지 도 10은 여러 가지 실시예에 따라서 버스트 ACK 프레임이 어떻게 결정되는가를 설명하기 위한 도면.
도 11은 본 발명의 일 실시예에 따른 무선 디바이스의 구성을 나타낸 블록도.
도 12는 버스트 ACK 생성 모듈의 세부 구성을 나타낸 블록도.
도 13은 종래의 IEEE 802.11 계열 표준에 따른 MAC Header의 구성을 상세히 도시한 도면.
도 14는 종래의 IEEE 802.15.3 표준에 따른 MAC Header의 구성을 상세히 도 시한 도면.
도 15는 본 발명의 일 실시예에 따른 버스트 ACK 프레임 생성 과정을 나타낸 흐름도.
도 16은 도 15의 S50 단계에 대한 보다 자세한 과정을 나타낸 흐름도.
(도면의 주요부분에 대한 부호 설명)
100 : 버스트 ACK 프레임 200 : 무선 디바이스
210 : 버스트 ACK 생성 모듈 211 : 생성 제어 모듈
212 : MPDU ID 생성 모듈 213 : 비트맵 생성 모듈
214 : 패드 생성 모듈 220 : MAC 모듈
230 : 상위층 모듈 240 : PHY 모듈
250 : 메모리 260 : 제어 유닛
본 발명은 무선 통신 방법에 관한 것으로, 보다 상세하게는 보다 효율적인 버스트 ACK(burst ACK)을 이용한 무선 통신 방법에 관한 것이다.
네트워크가 무선화 되어가고 있고 대용량의 멀티미디어 데이터 전송 요구의 증대로 인하여 무선 네트워크 환경에서의 효과적인 전송법에 대한 연구가 요구되고 있다. 주어진 무선 자원을 여러 디바이스들이 공유하여 사용하는 무선 네트워크의 특성상, 경쟁이 증가하면 통신 중에 충돌로 인해 귀중한 무선 자원을 허비하게 될 가능성이 크다. 이러한 충돌을 줄이고 안정하게 데이터를 송수신하도록 하기 위하여, 무선 LAN(wireless Local Area Network) 환경에서는 경쟁 기반의 DCF(Distributed Coordination Function) 또는 무경쟁 방식의 PCF(Point Coordination Function)를 사용하고 있고, 무선 PAN(wireless Personal Area Network) 환경에서는 채널 시간 할당(channel time allocation)이라는 시분할 방식을 사용하고 있다.
이와 같은 방법으로 하여 무선 환경에서 충돌 없이 안정적으로 데이터를 송수신할 수 있지만, 하나의 디바이스가 통신하는 동안에는 같은 전파 범위 내에 존재하는 다른 디바이스는 대기할 수 밖에 없으므로, 디바이스의 수가 늘어나면 전송률은 상당히 감소하게 된다. 따라서, 무선 네트워크 환경에서 안정적인 통신을 보장하면서 동시에 데이터 전송률을 향상시키는 것이 중요한 쟁점이 되고 있다.
전송률을 향상시키기 위해서는, 주로 전송하는 데이터에서 불필요한 오버헤드를 줄이는 방법, 또는 디바이스 간에 시간 할당을 보다 효율적으로 하는 방법 등이 있다. 본 발명은 이 중에서도, 무선 네트워크 환경(무선 LAN, 무선 PAN 등)에서 빈번히 사용되는 ACK 프레임(Acknowledgement frame)의 구조를 보다 효율적으로 간략화하여 ACK 프레임으로 인한 트래픽(traffic)을 감소시키기 위한 것이다.
일반적으로, 데이터를 전송하는 디바이스(이하, 송신 디바이스라 함)가 데이터를 수신하는 디바이스(이하, 수신자 디바이스)에 데이터 프레임을 전송하면, 수신 디바이스가 상기 데이터 프레임을 제대로 수신한 경우에는 이를 알리는 ACK 프레임을 상기 송신 디바이스에 전송하게 된다.
이와 같은 ACK 프레임에는 하나의 프레임을 수신할 때 마다, 제대로 수신하였다는 사실을 즉시 알려 주는 ACK 프레임과, 일정 회수 동안 복수의 프레임을 수신하고 그 복수의 프레임 전체에 대하여 한꺼번에 수신 여부를 알려 주는 ACK 프레임이 있다. 전자의 ACK 프레임을 즉시 ACK 프레임(Immediate ACK frame)으로, 후자의 ACK 프레임을 버스트 ACK 프레임(Burst ACK frame)으로 정의할 수 있는데, 본 발명은 이 중에서도 버스트 ACK 프레임의 구조를 개선에 주안점을 두고 있다.
일반적인 버스트 ACK 프레임은 도 1에 나타내는 방식과 같이 전송된다. 송신 디바이스는 n개의 데이터 프레임을 수신 디바이스에 전송하면, 수신 디바이스는 n개의 데이터 프레임에 대한 ACK 프레임을 한번에 보냄으로써 즉시 ACK 프레임을 일일이 보내는데 비하여 트래픽을 감소시킬 수 있다.
실제로, 이러한 버스트 ACK 프레임의 개념으로서, IEEE(Institute of Electrical and Electronics Engineers) 802.15.3 무선 PAN 표준에서는 지연 ACK 프레임(Delayed ACK frame)을 사용하고, IEEE 802.11e 무선 LAN 표준에서는 블럭 ACK 프레임(Block ACK frame)을 사용한다.
도 2는 IEEE 802.15.3 표준에 따른 지연 ACK 프레임(10)의 구성을 나타낸 것이다. IEEE 802.15.3에서 프레임 포맷은 우측에서부터 표시하는 것이 일반적이므로 우측단에 MAC header(11)가 표시되어 있다. 지연 ACK 프레임(10)은 MAC header(11)와, 지연 ACK을 대기하고 있는 프레임 중 최대 MAC 프레임 크기를 갖는 프레임의 수를 나타내는 Max burst 필드(12)와, 지연 ACK으로 한꺼번에 처리할 수 있는 최대 프레임 수를 나타내는 Max frames 필드(130)와, n개의 MPDU(MAC Protocol Data Unit) ID block 필드(15, 16, 등)와, 에러 체크섬(checksum)을 계산하기 위한 FCS 필드(17)로 구성될 수 있다.
MPDU ID block 필드(15, 16, 등) 각각은 다시 송신 디바이스의 MAC 단에서 상위층(예를 들어, LLC(Logical Link Control) 층)으로부터 MSDU(MAC Service Data Unit)를 수신할 때마다 1씩 증가되는 MSDU 번호(즉, MSDU의 식별번호)가 기록되는 MSDU number 필드(18)와, MSDU가 프래그먼트화되어 전송될 때 프래그먼트화 순서가 기록되는 Fragment number 필드(19)로 구성된다. 수신 디바이스는 자신이 수신한 데이터에 대하여 MSDU number와, Fragment number를 기록하여 송신 디바이스에 전송함으로써, 송신 디바이스는 전송한 데이터 중 어떤 데이터(MSDU 자체, 또는 MSDU의 일부 프래그먼트)가 제대로 전송되지 않았는지를 알게 된다. 이후 송신 디바이스는 제대로 전송되지 않은 데이터만을 수신 디바이스에 재전송하게 된다.
도 2에 나타낸 바와 같이, IEEE 802.15.3 표준에서는 MSDU number 필드(18)에는 9비트가 할당되고, Fragment number 필드(19)에는 7비트가 할당되므로, 하나의 MPDU ID block 필드(15, 16, 등)는 2바이트(2 octet)가 할당된다.
도 3은 IEEE 802.11e 표준에 따른 블럭 ACK 프레임(20)의 구성을 나타낸 것이다. 블럭 ACK 프레임(20)은 MAC header(21)와, 블럭 ACK 프레임의 동작을 제어하기 위한 BA Control 필드(22)와, 첫 번째 MPDU의 fragment number와 sequence number가 기록되는 Block ACK Starting Sequence Control 필드(23)와, 이후의 MPDU에 대한 '수신 확인 정보'(특정 데이터를 올바르게 수신하였는가를 나타내는 정보)가 순서대로 기록되는 Block ACK Bitmap 필드(24)와, 에러 체크섬을 계산하기 위한 FCS 필드(25)로 구성될 수 있다.
Block ACK Bitmap 필드(24)에는 128바이트가 할당되므로, 하나의 MSDU에 대하여 2바이트씩 할당한다면 최대, 64개의 MSDU에 대한 수신 확인 정보가 기록될 수 있다. 이와 같이, 하나의 MSDU에 대하여 2바이트가 할당되는 것은, IEEE 802.11e에서 하나의 MSDU는 최대 16개까지 프래그멘테이션(fragmentation) 될 수 있으므로 최대 프래그먼트화 개수만큼의 비트 수(16× 1비트), 즉 2바이트가 할당된 것이다. 따라서, 실제로 프래그멘테이션 되지 않거나, 16보다 작은 수만큼 프래그멘테이션이 이루어진 경우에도 2바이트가 일률적으로 할당되므로 이와 같이 하나의 비트로 수신 확인 정보를 나타내는 것은 효율적이지 못하다.
도 2 또는 도 3에 나타낸 바와 같이 하나의 MSDU를 표현하는데, 2바이트를 사용한다고 하면, 버스트 ACK 프레임의 크기가 필요 이상으로 커지는 문제가 있다. 만약, n개의 데이터를 전송하고 이에 대한 버스트 ACK 프레임을 수신한다고 하면, 버스트 ACK 프레임의 페이로드(payload)는 2n 바이트 이상이 될 것이다. 따라서, 데이터의 전송회수가 증가할수록 따라서 버스트 ACK 프레임의 크기가 커짐으로써 무선 네트워크 환경에 불필요한 트래픽을 유발하게 된다.
따라서, 기존의 버스트 ACK 프레임의 기능을 그대로 수행하면서 보다 작은 크기를 갖는 버스트 ACK 프레임을 개발하여 ACK 프레임으로 인한 트래픽을 감소시킬 필요가 있다.
본 발명은 상기한 문제점을 고려하여 창안된 것으로, 버스트 ACK 프레임의 오버헤드(overhead)를 감소시키는 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은, 하나의 MSDU에 대하여 2비트로 수신 확인 정보를 표시할 수 있는 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여, 송신 디바이스로부터 복수의 프레임을 수신하고 이에 대하여 하나의 ACK 프레임으로 확인 응답을 하는 ACK 프레임 전송 방법으로서, (a) 상기 송신 디바이스로부터 프레임을 수신하고 상기 수신된 프레임의 식별 정보를 저장하는 단계; (b) 상기 저장된 식별 정보를 이용하여, 상기 수신된 각 프레임에 대한 비트쌍의 집합을 기록하여 제1 필드를 생성하는 단계; (c) 상기 생성된 필드를 포함하여 ACK 프레임을 생성하는 단계; 및 (d) 상기 생성된 ACK 프레임을 상기 송신 디바이스에 전송하는 단계를 포함하며, 상기 비트쌍은 해당 프레임이 정상적으로 수신되었는가를 확인하는 제1 비트와, 상기 제1 비트가 해당 프레임 하나에 대한 수신 확인을 나타내는 것인가, 해당 프레임 이후의 모든 프래그먼트에 대한 수신 확인을 나타내는 것인가를 구별하는 제2 비트로서 구성된다.
상기한 목적을 달성하기 위하여, 송신 디바이스로부터 복수의 프레임을 수신하고 이에 대하여 하나의 ACK 프레임으로 확인 응답을 하는 ACK 프레임 전송 장치로서, 상기 송신 디바이스로부터 프레임을 수신하는 제1 수단; 상기 수신된 프레임의 식별 정보를 저장하는 제2 수단; 상기 저장된 식별 정보를 이용하여, 상기 수신된 각 프레임에 대한 비트쌍의 집합을 기록하여 제1 필드를 생성하고, 상기 생성된 필드를 포함하여 ACK 프레임을 생성하는 제3 수단; 및 상기 생성된 ACK 프레임을 상기 송신 디바이스에 전송하는 제4 수단을 포함하며, 상기 비트쌍은 해당 프레임이 정상적으로 수신되었는가를 확인하는 제1 비트와, 상기 제1 비트가 해당 프레임 하나에 대한 수신 확인을 나타내는 것인가, 해당 프레임 이후의 모든 프래그먼트에 대한 수신 확인을 나타내는 것인가를 구별하는 제2 비트로서 구성된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 4는 본 발명의 일 실시예에 따른 버스트 ACK 프레임(100)의 구성을 나타낸 도면이다. 버스트 ACK 프레임(100)은 MAC header(110)와 페이로드 영역(120, 130, 140)으로 구성될 수 있다. MAC header(110)는 도 5의 110A와 같이 종래의 IEEE 802.11 계열 표준의 MAC header, 또는 도 5의 110B와 같이 종래의 IEEE 802.15.3 표준의 MAC header와 동일한 구성을 가질 수 있다.
페이로드 영역은 MPDU ID 필드(120)와, Bitmap 필드(130)와, Pad 필드(140)를 포함하여 구성될 수 있다. MPDU ID 필드(120)는 ACK 응답을 할 대상이 되는 프레임(이하 '대상 프레임'이라고 정의함) 중 첫번째 프레임의 식별 정보가 기록되는 데, 이는 다시 MSDU number 필드(121)와, Fragment number 필드(122)로 나뉘어 질 수 있다. 본 발명에 따른 버스트 ACK 프레임(100)은 수신된 프레임뿐만 아니라 수신되지 않은 프레임을 포함한 전체 전송 프레임에 수신 여부를 응답하므로, 상기 대상 프레임이란 일정 기간내의 전체 전송 프레임(ACK을 요하는 전송 프레임에 한정됨)을 의미하는 것이다.
MSDU number 필드(121)에는 대상 프레임 중 첫번째 프레임의 MSDU number가 기록되며, Fragment number 필드(122)에는 대상 프레임 중 첫번째 프레임의 Fragment number가 기록된다. MSDU number와, Fragment number는 수신되는 대상 프레임의 MAC 헤더를 살펴 보면 알 수 있다.
Bitmap 필드(130)에는 대상 프레임에 대한 ACK 비트와 Type 비트의 쌍(이하 비트쌍 이라고 함)이 순서대로 기록되는데, 상기 비트 쌍의 개수(m)는 최소인 경우 총 MSDU의 개수와 같고, 최대인 경우 총 프래그먼트의 개수와 같다.
주지하는 바와 같이, 대상 프레임은 프래그멘테이션이 이루어지지 않은 경우에는 하나의 MSDU로 이루어지고, 프래그멘테이션이 이루어진 경우에는 MSDU 중 일부 프래그먼트로 이루어질 수 있다.
Bitmap 필드(130) 중에서 ACK 비트에는 해당 프레임이 정상적으로 수신되었는가를 확인하는 비트가 기록되는데, 정상적으로 수신된 경우에는 1로, 그렇지 않은 경우에는 0으로 기록될 수 있다. 그리고, Type 비트에는 상기 ACK 비트가 해당 프레임(MSDU 또는 프래그먼트)에 대한 수신 확인을 나타내는 것인가(전자), MSDU 내에서 현재 프래그먼트 이후의 모든 프래그먼트에 대한 수신 확인을 나타내는 것 인가(후자)를 구별하는 비트 정보가 기록된다. Type 비트는 전자의 경우 0으로, 후자의 경우 1로 기록될 수 있다.
Pad 필드(140)는 가변 비트로서 모두 더미 비트(예: 0)로 채워진다. 이 필드(140)는, Bitmap 필드(130)가 비트 단위이므로 소정 개수의 더미 비트(dummy bits), 예를 들어, 소정 개수의 0을 채워 바이트 내지 옥텟(octet) 단위로 만들기 위해서 사용된다. 따라서 Bitmap 필드(130)와 Pad 필드(140)의 크기를 합하면 항상 바이트 단위가 될 것이다. 그러나, Pad 필드(140)는 본 발명에 따른 프로토콜을 정의하기 위한 필수 항목은 아니므로 생략될 수도 있다.
이하, 도 6 내지 도 10은 여러 가지 실시예에 따라서 버스트 ACK 프레임(100)이 어떻게 결정되는가를 설명하기 위한 도면들이다. 여기서, [A:B]는 프레임을 식별하는 표시로서, A는 송신 디바이스가 전송한 MSDU number에 부여한 순번(이하 MSDU 순번이라 함)을, B는 Fragment number(0부터 시작)를 의미하는 것으로 한다. 예를 들어서, 송신 디바이스가 MSDU number가 1234에서 1237인 프레임을 전송하였다면, 각각 순서대로 1에서 4까지 MSDU 순번이 부여되는 것이다. 이러한 MSDU 순번은 송신 디바이스가 전송한 MSDU number를 기준으로 하는 것이지, 수신 디바이스가 수신하여 저장한 MSDU number를 기준으로 하는 것은 아니다. 만약, 송신 디바이스는 MSDU number가 1234에서 1237인 프레임을 전송하였지만, 수신 디바이스는 1235, 및 1237인 프레임만을 수신하였더라도, MSDU 순번은 1234에서 1237까지 전체에 대하여 순차적으로 부여된다.
도 6은 [1:0], [2:0], [3:0], [4:0]를 모두 정상적으로 수신한 경우에 버스 트 ACK 프레임(100)의 구조를 나타낸 것으로 프래그멘테이션(fragmentation)이 전혀 일어 나지 않은 경우이다. MPDU ID 필드(120)에는 [1:0]의 MSDU number(=1) 및 Fragment number(=0)가 기록된다. 그리고, Bitmap 필드(130)에는 대상 프레임에 대한 ACK 비트와 Type 비트로 이루어진 비트쌍이 순서대로 기록된다. 그런데, Bitmap 필드(130) 만으로 바이트 단위가 되므로, 별도의 Pad 필드는 필요 없다. 여기서 순서라 함은 MSDU number 및 Fragment number에 따른 순서이지, 프레임을 수신한 순서가 아님을 명확히 밝혀 둔다. 왜냐하면, 먼저 전송한 프레임이 어떠한 이유로 나중에 수신될 수도 있기 때문이다.
[1:0], [2:0], [3:0], [4:0]는 모두 정상적으로 수신되었으므로 비트쌍의 첫번째 비트는 1로 채워진다. 두번째 비트쌍(X로 표시됨)은 0 또는 1 중 어떤 값으로 채워도 상관이 없다. 그 프레임에서 해당 MSDU가 완결되기 때문에 1로 표시할 수도 있는 것이고 한편, 하나의 프레임에 대한 ACK 여부 표시이기도 하기 때문에 0으로 표시할 수도 있는 것이기 때문이다. 더욱이, 어떠한 MSDU가 프래그멘테이션 되었는가는 송신 디바이스와 수신 디바이스가 그에 관한 정보를 공유함으로써 서로 알고 있기 때문에 혼동을 유발할 가능성은 없다. 하지만, 일단 하나의 MSDU에서 완결되었다는 의미를 명확히 하는 측면에서 1로 채우는 것이 보다 바람직할 것이다. 이하 X는 본 실시예에서와 같은 의미로 해석된다.
도 7은 [1:0], [2:0], [2:1], [3:0], [4:0]를 모두 정상적으로 수신한 경우에 버스트 ACK 프레임(100)의 구조를 나타낸 것으로 두번째 MSDU에서 프래그멘테이션(fragmentation)이 일어난 경우이다. 도 6에서와 마찬가지로 MPDU ID 필드(120) 에는 [1:0]의 MSDU number(=1) 및 Fragment number(=0)가 기록된다. 그리고, Bitmap 필드(130)에는 대상 프레임에 대한 ACK 비트와 Type 비트로 이루어진 비트쌍이 순서대로 기록된다.
[1:0], [2:0], [2:1], [3:0], [4:0]는 모두 정상적으로 수신되었으므로 비트쌍의 첫번째 비트는 1로 채워지며, 이 중 [1:0], [3:0], [4:0]는 완결된 프레임이므로 두번째 비트는 X로 채워진다. 다만, [2:0] 이후에 같은 MSDU number 및 다른 Fragment number를 갖는 [2:1]이 존재하므로, [2:0]에 대한 비트쌍 중 두번째 비트는 1로 표시하여 [2:0] 이후의 모두 프래그먼트가 정상적으로 수신됨을 표시한다.
이와 같이 프래그먼트로 된 MSDU에 대하여 한꺼번에 표시하는 것이 바람직하지만, 동일한 상황에서 버스트 ACK 프레임(100)을 도 8과 같이 MSDU가 프래그먼트로 된 경우에는 각 프래그먼트 별로 표시하는 방법도 생각할 수 있다.
도 9는 송신 디바이스가 [1:0], [2:0], [2:1], [2:2], [3:0]를 전송하였지만, 수신 디바이스에서는 [1:0], [2:0], [3:0] 만을 정상적으로 수신한 경우에 버스트 ACK 프레임(100)의 구조를 나타낸 것이다. 여기서, 두번째 MSDU는 3개의 프래그먼트로 나뉘어졌음을 알 수 있다. MPDU ID 필드(120)에는 [1:0]의 MSDU number(=1) 및 Fragment number(=0)가 기록된다. 그리고, Bitmap 필드(130)에는 송신 디바이스가 전송한 모든 대상 프레임에 대하여 ACK 비트와 Type 비트로 이루어진 비트쌍이 순서대로 기록된다.
[1:0], [3:0]는 모두 정상적으로 수신되었으므로 비트쌍의 첫번째 비트는 1로 채워지며, 완결된 프레임이므로 두번째 비트는 X로 채워진다. 그런데, [2:0]은 정상적으로 수신되었지만 그 후의 프래그먼트가 존재하므로 해당 프레임, 즉 해당 프래그먼트에 대한 수신 확인만을 하기 위하여 해당 위치에 '10' 이 기록된다. 그러나 [2:1] 및 [2:2]는 정상적으로 수신되지 못하였으므로 이 두 프레임을 대표하여 [2:1]의 위치에 해당하는 비트쌍의 첫번째 비트는 0으로 표시된다. 그리고, 두번째 비트는 1로서 표시되는데, 이는 첫번째 비트가 해당 위치 이후 즉, [2:1] 및 [2:2]에 대한 ACK 비트임을 의미한다.
그런데, 수신 디바이스가 [2:0] 만을 수신하였는데, [2:1] 및 [2:2]가 존재하는지 여부를 어떻게 알 수 있는가가 문제된다. 그러나, 이는 [2:0]의 MAC 헤더를 살펴보면 알 수 있다. 이에 대한 보다 자세한 설명은 도 13 및 도 14의 설명에서 후술하기로 한다.
도 10은 송신 디바이스가 [1:0], [2:0], [2:1], [2:2], [3:0]를 전송하였지만, 수신 디바이스에서는 [1:0], [3:0] 만을 정상적으로 수신한 경우에 버스트 ACK 프레임(100)의 구조를 나타낸 것이다. 여기서, 수신 디바이스는 두번째 MSDU에 관한 데이터를 하나도 수신하지 못하였으므로 그것이 3개의 프래그먼트로 이루어져 있음을 알 수는 없다. 하지만, [1:0], 및 [3:0]을 수신하였으므로 2번째 MSDU에 대한 프레임이 전송되지 않았다는 것은 알 수가 있다.
MPDU ID 필드(120)에는 [1:0]의 MSDU number(=1) 및 Fragment number(=0)가 기록된다. 그리고, Bitmap 필드(130)에는 송신 디바이스가 전송한 모든 대상 프레임에 대하여 ACK 비트와 Type 비트로 이루어진 비트쌍이 순서대로 기록된다.
[1:0], [3:0]는 모두 정상적으로 수신되었으므로 비트쌍의 첫번째 비트는 1 로 채워지며, 완결된 프레임이므로 두번째 비트는 X로 채워진다. 그런데, MSDU가 1인 프레임과 3인 프레임이 수신된 것을 보면 MSDU가 2인 프레임도 전송되었지만 에러로 인하여 수신되지 못하였음을 알 수 있다. 이와 같이, 두번째 MSDU에 대한 프레임은 전혀 수신하지 못하였지만, [2:0]의 위치에 첫번째 비트를 0으로 채우고, 두번째 비트를 1로 채움으로써, [2:0] 이후의 모든 프래그먼트는 수신되지 못하였음을 표시할 수 있는 것이다.
도 11은 이상의 같은 버스트 ACK 프레임(100)을 전송하는, 본 발명의 일 실시예에 따른 무선 디바이스(200)의 구성을 나타낸 블록도이다. 무선 디바이스(200)는 버스트 ACK 생성 모듈(210)과, MAC 모듈(220)과, 상위층 모듈(230)과, PHY 모듈(240)과, 메모리(250)와, 제어 유닛(260)를 포함하여 구성될 수 있다.
버스트 ACK 생성 모듈(210)은, 수신되는 데이터 프레임의 헤더 정보로부터 해당 프레임의 식별 정보로서, MPDU ID 정보를 판독하고 이 정보를 이용하여 본 발명에 따른 버스트 ACK 프레임(100)의 페이로드(payload)를 생성한다. 버스트 ACK 생성 모듈(210)은 다시 도 12와 같은 세부 구조를 갖는다. 즉 버스트 ACK 생성 모듈(210)은 생성 제어 모듈(211)과, MPDU ID 생성 모듈(212)과, 비트맵 생성 모듈(213)과, 패드 생성 모듈(214)을 포함하여 구성될 수 있다.
생성 제어 모듈(211)은 특정 송신 디바이스로부터 수신된 소정 개수의 프레임에 대한 버스트 ACK 프레임(100)을 생성하기 위한 조건(이하 'ACK 생성 조건'이라 함)을 체크하여, 조건이 완성되지 않은 동안에는 상기 특정 송신 디바이스로부터 수신되는 프레임의 MAC 헤더에 포함되는 MPDU ID 정보를 MAC 모듈(220)로부터 수신하여 메모리(250)에 저장하여 둔다. 그리고, 조건이 완성되면 MPDU ID 생성 모듈(212), 비트맵 생성 모듈(213), 및 패드 생성 모듈(214)로 하여금 상기 저장된 MPDU ID 정보를 이용하여 버스트 ACK 프레임(100)의 페이로드를 생성하도록 한다.
여기서, MPDU ID 정보는, 수신된 프레임의 MSDU에 대한 고유 일련 번호를 나타내는 'MSDU number'와 프래그먼트로 된 순서를 나타내는 'Fragment number'를 포함한다. MPDU ID 정보는 도 13과 같은 IEEE 802.11 계열 표준에 따른 MAC Header(110A)에도 나타나 있고, 도 14과 같은 IEEE 802.15.3 표준에 따른 MAC Header(110B)에도 나타나 있다.
도 13의 MAC Header(110A)에서 Sequence Control 필드(112)는 Fragment Number 필드(114)와, Sequence Number 필드(115)로 나뉘어지는데, Fragment Number 필드(114)에는 'Fragment Number'가 기록되고, Sequence Number 필드(115)에는 'MSDU Number'가 기록된다. 따라서, Sequence Control 필드(112)를 읽음으로써 MSDU ID 정보를 알 수 있다.
한편, Frame Control 필드(111)에는 More Frag 비트(113)가 포함되는데, 여기에는 현재 프레임이 마지막 프래그먼트인지 여부를 알려주는 비트 정보가 기록된다. 만약, 비트가 1이면 이후의 프래그먼트가 더 존재한다는 의미이고, 비트가 0이면 현재 프레임이 마지막 프래그먼트라는 의미이다. 도 9와 같은 경우에 [2:0] 만을 수신하고, 전체 프래그먼트가 3개 임을 알 수는 없지만, [2:0]가 최종 프래그먼트가 아니라는 것은 알 수가 있게 된다.
도 14의 MAC Header(110B)에서 Fragmentation Control 필드(112)는 MSDU number 필드(117)와, Fragment number 필드(118)와, Last fragment number 필드(119)로 나뉘어진다. 따라서, Fragmentation Control 필드(112)를 읽음으로써 MSDU ID 정보를 알 수 있다. 다만, 도 12와는 달리 프래그먼트로 된 모든 프레임에는 Last fragment number 필드(119)에 마지막 프래그먼트의 번호가 기록되므로, 도 9와 같은 경우에 [2:0] 만을 수신하여도 [2:1] 및 [2:2]가 존재함을 알 수 있는 것이다.
다시 도 12로 돌아가서, 생성 제어 모듈(211)이 체크하는 조건은, 송신 디바이스가 수신 디바이스에게 대상 프레임을 전송할 때, MAC 헤더 중 버스트 ACK 프레임 요청하는 일부 비트(이하 ' 요청 비트'라 함)가 ON으로 되어 있는지 여부를 기준으로 할 수 있다. 즉, 대상 프레임을 수신할 때마다 해당 프레임의 '요청 비트'의 값을 판독하여, 그 값이 OFF을 나타내는 비트(=0)이면 ACK 생성 조건이 성취되지 않은 것으로, 그 값이 ON을 나타내는 비트(=1)이면 ACK 생성 조건이 성취된 것으로 판단하는 것이다.
만약 송신 디바이스가 [1:0], [2:0], [3:0]을 전송하고, [3:0]에 요청 비트가 ON으로 설정된 경우에, 수신 디바이스가 [1:0], [2:0] 만을 수신하였다면, 수신 디바이스는 ACK 생성 조건이 성취되지 않았으므로 버스트 ACK 프레임을 생성하지 않을 것이다. 그 후 송신 디바이스는 일정 시간 내에 버스트 ACK 프레임이 수신되지 않으면 전송 에러가 있는 것으로 보고 다시 요청 비트를 ON으로 설정하여 [3:0]을 전송할 것이다.
이상에서는 ACK 생성 조건을 송신 디바이스가 결정하는 것으로 하였지만, 이 에 한하지 않고 일정 개수 이상의 대상 프레임이 수신되면 ACK 생성 조건이 만족되는 것으로 하는 방법도 가능하다.
MPDU ID 생성 모듈(212)은 메모리(250)에 저장된 MSDU ID 정보를 이용하여, MPDU ID 필드(120), 즉 대상 프레임 중 최초 프레임의 MSDU number 필드(121)와, 대상 프레임 중 최초 프레임의 fragment number 필드(122)를 기록한다.
비트맵 생성 모듈(213)은 상기 MPDU ID 필드(120)에 덧붙여 대상 프레임에 대한 비트쌍을 순차적으로 기록한다. 첫번째 비트(ACK 비트)에는 현재 비트쌍이 나타내는 프레임이 정상적으로 수신되었는가(정상적으로 수신되면 1, 아니면 0)를 확인하는 비트가 기록되고, 두번째 비트(Type 비트)에는 상기 첫번째 비트가 해당 프레임에 대한 수신 확인을 나타내는 것(0으로 기록)인가, 한 MSDU 내에서 현재 프래그먼트 이후의 모든 프래그먼트에 대한 수신 확인을 나타내는 것(1로 기록)인가를 구별하는 비트 정보가 기록된다.
패드 생성 모듈(214)은 비트맵의 크기가 바이트 단위로 되지 않는 경우에 나머지 비트를 0으로 채워 바이트 단위가 되도록 한다.
다시 도 11을 참조하면, MAC 모듈(220)은 MAC 층(Media Access Control Layer)에서의 동작을 관장한다. 즉, 상위층 모듈(230)로부터 MSDU를 전달받아 여기에 도 13 또는 도 14와 같은 MAC 헤더를 부착하고 그 결과를 PHY 모듈(240)에 전달한다. 또한, MAC 모듈(220)은 버스트 ACK 생성 모듈(210)로부터 버스트 ACK 프레임의 페이로드를 전달받고, 마찬가지로 여기에 MAC 헤더를 부착하여 PHY 모듈(240)에 전달한다.
또한, PHY 모듈(240)로부터 다른 디바이스로부터 전송된 프레임을 수신하면 여기서 MAC 헤더를 판독한 후 MAC 헤더를 제거하고 그 결과를 상위층 모듈(230)에 전달한다. 그리고, MAC 헤더 중 판독되는 MPDU ID 정보를 버스트 ACK 생성 모듈(210)에 전달한다.
상위층 모듈(230)은 MSDU를 생성하여 MAC 모듈(220)에 전달하고, MAC 모듈(220)로부터 MAC 헤더가 제거된 데이터를 전달받는다. 이러한 상위층 모듈(230)은 LLC 층(Logical Link Layer) 이상의 네트워크 층을 관장한다.
PHY 모듈(240)은 물리층(Physical Layer)에서의 동작을 관장한다. 즉, MAC 모듈(220)로부터 MPDU(MAC Protocol Data Unit)를 전달받아 PPDU(PACKet Protocol Data Unit)를 생성하고 이를 포함하는 무선 신호를 생성하여 전송한다. 또한, 무선 매체를 통하여 전달되는 신호를 수신하여 가공한 후 이를 MAC 모듈(220)에 전달한다. PHY 모듈(240)은 다시 세분화하여 베이스밴드 프로세서(base band processor)와 RF(radio frequency) 모듈로 세분화 될 수 있다.
메모리(250)는 수신된 프레임에 대한 MPDU ID 정보를 저장하였다가 버스트 ACK 생성 모듈(210)의 요청이 있으면 이 정보를 제공한다.
제어 유닛(260)은 무선 디바이스(100) 내의 다른 모듈의 동작을 제어하는데, 중앙 처리 유닛(CPU), 마이콤(Microcomputer) 등으로 구현될 수 있다.
지금까지의 설명에서, "모듈(module)"이라는 용어는 소프트웨어 구성요소(software component) 또는 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)과 같은 하드웨어 구성요소 (hardware component)를 의미하며, 모듈은 어떤 역할들을 수행한다.  그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다.  모듈은 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다.  따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스(class) 구성요소들 및 태스크(task) 구성요소들과 같은 구성요소들과, 프로세스들(processes), 함수들(functions), 속성들(properties), 프로시저들(procedures), 서브루틴들(sub-routines), 프로그램 코드(program code)의 세그먼트들(segments), 드라이버들(drivers), 펌웨어(firmwares), 마이크로코드(micro-codes), 회로(circuits), 데이터(data), 데이터베이스(databases), 데이터 구조들(data structures), 테이블들(tables), 어레이들(arrays), 및 변수들(variables)을 포함한다.  구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.  뿐만 아니라, 구성요소들 및 모듈들은 통신 시스템 내의 하나 또는 그 이상의 컴퓨터들을 실행시키도록 구현될 수도 있다.
도 15는 본 발명의 일 실시예에 따른 버스트 ACK 프레임(100) 생성 과정을 나타낸 흐름도이다.
먼저, ACK 생성 조건이 완성되기 전까지(S20의 아니오), PHY 모듈(240)을 통하여 '대상 프레임'을 수신하고(S10), 생성 제어 모듈은 상기 수신되는 대상 프레임의 MPDU ID 정보를 저장하는 과정(S25)을 반복한다. MPDU ID 정보에는 해당 대상 프레임의 MSDU number 및 Fragment number가 포함한다.
만약, 생성 제어 모듈(211)은 ACK 생성 조건이 완성되었는지를 판단하여 완성되면(S20의 예), 비로소 버스트 ACK 프레임(100)의 페이로드를 생성하도록 제어하게 된다. 상기 페이로드를 생성하는 과정은 S30 내지 S69 단계에서 이루어진다.
먼저, MPDU ID 생성 모듈(212)은 메모리(250)에 저장된 대상 프레임 중 최초 프레임의 MSDU number 필드(121)와 fragment number 필드(122)를 기록함으로써 MPDU ID 필드(120)를 생성한다(S40).
비트맵 생성 모듈(213)은 상기 MPDU ID 필드(120)에 덧붙여 대상 프레임에 대한 비트쌍을 순차적으로 기록함으로써 Bitmap 필드(130)를 생성한다(S50). S50 단계에 대한 보다 자세한 과정은 도 16의 설명에서 후술하기로 한다.
상기 생성된 Bitmap 필드(130)의 크기가 바이트 단위인 경우에는(S68의 예), Pad 필드(140)를 생성할 필요가 없지만, 그렇지 않은 경우에는 소정의 비트의 연속된 0 값을 갖는 Pad 필드(140)을 상기 Bitmap 필드(130)에 연속하여 덧붙인다. 상기 연속된 0 값을 갖는 비트 수는 Bitmap 필드(130)와 Pad 필드(140)를 합하여 바이트 단위가 되도록 하는 개수이다.
MAC 모듈(120)은 S50 또는 S69에서 생성된 버스트 ACK 프레임(100)의 페이로드에 MAC 헤더를 부착하여 버스트 ACK 프레임(100)을 생성한다(S70). 그리고, PHY 모듈(140)은 대상 프레임을 전송한 디바이스에 생성된 버스트 ACK 프레임(100)을 무선 매체를 통하여 전송한다(S80).
도 16은 도 15의 S50 단계를 보다 자세히 나타낸 흐름도이다.
먼저, 메모리(250)에 저장된 MSDU number에 'MSDU 순번'을 부여한다(S51). 예를 들어, 저장된 MSDU number가 1234에서 1237 까지라면, MSDU number의 MSDU 순번(k)은 순서대로 1에서 4가 된다. 만약, 저장된 MSDU number가 연속적이지 않은 경우, 예를 들어 1234, 1236, 1237인 경우에도 존재하지 않는 1235에 대하여도, 모두 제대로 수신된 경우와 마찬가지로, MSDU 순번(k=3)이 부여된다.
다음으로, 초기 값으로서 k를 1로 두고 마지막 MSDU 순번을 N으로 둔다(S52).
수신 에러가 있을 수 있으므로, 인하여 모든 MSDU 순번(k)에 대하여 메모리(250)에 저장된 MSDU number가 존재하는 것은 아니다. 따라서, k번째 MSDU 순번에 대하여 MSDU number가 존재하는지를 판단하여(S53), 존재하지 않으면(S53의 아니오) Bitmap 필드(130)에 비트쌍을 '01'로 기록한다(S59).
만약 존재하는 경우에는 k번째 MSDU가 프래그먼트 되었는가를 판단하여(S54), 프래그먼트 되어 있지 않으면(S54의 아니오) Bitmap 필드(130)에 비트쌍을 '1X'로 기록한다. 여기서, X는 1 또는 0 아무 값이나 기록하여도 좋다는 의미이다.
프래그먼트 되어 있으면(S54의 예), k번째 MSDU에 해당하는 저장된 모든 프래그먼트의 Fragment number를 읽는다(S55). 그리고, 저장된 Fragment number 중 최대 Fragment number 보다 작은 'Fragment 순번' 각각에 대하여 Bitmap 필드(130)에 순차적으로 비트쌍을 기록한다(S56). 상기 Fragment 순번도 MSDU 순번과 마찬가지로 송신 디바이스가 전송한 프레임을 기준으로 하여 순차적으로 부여된다.
예를 들어, [2:0], [2:1], [2:2], 및 [2:3]이 전송되었지만, [2:1]과 [2:3] 만이 수신된 경우를 생각하면, 저장된 프래그먼트의 Fragment number는 1, 3이므로 최대 Fragment number은 3이 된다. 3보다 작은 'Fragment 순번'은 0, 1, 2를 의미하므로, 이에 대하여 Bitmap 필드(130)에 순차적으로 비트쌍을 기록하면, '00', '10', '00'이 되는 것이다.
다음, 최대 Fragment number가 최종 Fragment number와 같으면(S57의 예), Bitmap 필드(130)에 비트쌍을 '1X'로 기록한다. 여기서, 최대 Fragment number는 전술한 바와 같이 메모리(250)에 저장된 Fragment number 중 최대 값을 의미하고, 최종 Fragment number는 송신 디바이스가 전송한 대상 프레임의 최종 Fragment number를 의미한다. 최대 Fragment number가 최종 Fragment number 인지 여부는 도 13에서 More Frag 필드(113) 또는 도 14에서 Last fragment number 필드(119)를 참조하여 알 수 있다.
S57 단계에서 '아니오'인 경우에는 Bitmap 필드(130)에 최대 Fragment number를 갖는 프래그먼트에 대한 비트쌍, 즉 '10'을 기록하고(S61), 이후의 모든 Fragment number에 대한 비트쌍은 '01'로 총괄하여 기록한다(S62).
S58 단계, S59 단계, S60 단계, 또는 S66 단계를 수행한 이후에는 k가 N과 같으면 Bitmap 필드(130)의 기록은 완료되었으므로 종료하고, 그렇지 않으면 k를 1증가시킨 후 다시 S53 단계로 돌아간다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
본 발명에 따르면, 버스트 ACK 프레임을 전송하는데 따른 오버헤드를 절감하는 효과가 있다.
또한 본 발명에 따르면, 상기 ACK 프레임의 오버헤드 절감으로 인하여 무선 네트워크 전체에서 총 데이터 전송률을 향상시키는 효과가 있다.
그리고, 본 발명에 따른 버스트 ACK 프레임 포맷은 IEEE 802.11e 표준에서의 블럭 ACK 프레임이나 IEEE 802.15.3 표준에서의 지연 ACK 프레임에 적용될 수 있다.

Claims (15)

  1. 송신 디바이스로부터 복수의 프레임을 수신하고 이에 대하여 하나의 ACK 프레임으로 확인 응답을 하는 ACK 프레임 전송 방법으로서,
    (a) 상기 송신 디바이스로부터 프레임을 수신하고 상기 수신된 프레임의 식별 정보를 저장하는 단계;
    (b) 상기 저장된 식별 정보를 이용하여, 상기 수신된 각 프레임에 대한 적어도 하나 이상의 비트쌍을 기록함으로써 제1 필드를 생성하는 단계;
    (c) 상기 생성된 제1 필드를 포함하여 ACK 프레임을 생성하는 단계; 및
    (d) 상기 생성된 ACK 프레임을 상기 송신 디바이스에 전송하는 단계를 포함하며,
    상기 비트쌍은 해당 프레임이 정상적으로 수신되었는가를 확인하는 제1 비트와,
    상기 제1 비트가 해당 프레임 하나에 대한 수신 확인을 나타내는 것인가, 해당 프레임 이후의 모든 프레임에 대한 수신 확인을 나타내는 것인가를 구별하는 제2 비트로서 구성되는, ACK 프레임 전송 방법.
  2. 제1항에 있어서, 상기 (c) 단계는
    (c1) 상기 식별 정보 중 최초의 식별 정보를 기록하는 제2 필드를 생성하는 단계를 포함하는, ACK 프레임 전송 방법.
  3. 제2항에 있어서, 상기 (c) 단계는
    (c2) 상기 제1 필드가 바이트 단위로 되지 않는 경우에는 소정의 더미(dummy) 비트를 추가하여 바이트 단위로 만드는 단계를 더 포함하는, ACK 프레임 전송 방법.
  4. 제3항에 있어서, 상기 식별 정보는
    상기 수신된 프레임의 MSDU number 및 Fragment number를 포함하는, ACK 프레임 전송 방법.
  5. 제4항에 있어서,
    상기 최초의 식별 정보는 상기 MSDU number가 가장 앞서는 식별 정보 중에서 Fragment number가 가장 앞서는 식별 정보인, ACK 프레임 전송 방법.
  6. 제1항에 있어서,
    상기 제1 비트는, 해당 프레임이 정상적으로 수신된 경우에 1로, 그 이외에는 0으로 기록되고,
    상기 제2 비트는, 상기 제1 비트가 해당 프레임 하나에 대한 수신 확인을 나타내는 것이면 1로, 그 이외에는 0으로 기록된다고 가정할 때, 상기 (b) 단계는
    (b1) 특정 MSDU 순번에 대하여 MSDU number가 존재하지 않으면 비트쌍을 '01'로 기록하고, 존재하면 상기 순번의 MSDU가 프래그먼트 되었는가를 판단하는 단계; 및
    (b2) 상기 MSDU가 프래그먼트 되지 않은 경우에는 비트쌍을 '1X'로 기록하는 단계를 포함하며,
    상기 X는 1 또는 0 중 어느 하나의 값인, ACK 프레임 전송 방법.
  7. 제6항에 있어서, 상기 MSDU가 프래그먼트 된 경우에 상기 (b) 단계는
    (b3) 최대 Fragment number 보다 작은 Fragment 순번 각각에 대하여 순차적으로 비트쌍을 기록하는 단계;
    (b4) 최대 Fragment number가 최종 Fragment number와 같으면 비트쌍을 '1X'로 기록하는 단계를 더 포함하는, ACK 프레임 전송 방법.
  8. 제7항에 있어서, 상기 최대 Fragment number가 최종 Fragment number와 같지 않으면 비트쌍을 '10'로 기록하고 연이은 비트쌍을 '01'로 기록하는 단계를 더 포함하는, ACK 프레임 전송 방법.
  9. 제1항에 있어서, 상기 (b) 단계는
    상기 송신 디바이스로부터 ACK 프레임 전송 요청을 받은 경우에 수행되는 ACK 프레임 전송 방법.
  10. 송신 디바이스로부터 복수의 프레임을 수신하고 이에 대하여 하나의 ACK 프레임으로 확인 응답을 하는 ACK 프레임 전송 장치로서,
    상기 송신 디바이스로부터 프레임을 수신하는 제1 수단;
    상기 수신된 프레임의 식별 정보를 저장하는 제2 수단;
    상기 저장된 식별 정보를 이용하여, 상기 수신된 각 프레임에 대한 적어도 하나 이상의 비트쌍을 기록함으로써 제1 필드를 생성하고, 상기 생성된 제1 필드를 포함하여 ACK 프레임을 생성하는 제3 수단; 및
    상기 생성된 ACK 프레임을 상기 송신 디바이스에 전송하는 제4 수단을 포함하며,
    상기 비트쌍은 해당 프레임이 정상적으로 수신되었는가를 확인하는 제1 비트와,
    상기 제1 비트가 해당 프레임 하나에 대한 수신 확인을 나타내는 것인가, 해당 프레임 이후의 모든 프레임에 대한 수신 확인을 나타내는 것인가를 구별하는 제2 비트로서 구성되는, ACK 프레임 전송 장치.
  11. 제10항에 있어서, 상기 제3 수단은
    상기 식별 정보 중 최초의 식별 정보를 기록하는 제2 필드를 생성하는, ACK 프레임 전송 장치.
  12. 제11항에 있어서, 상기 제3 수단은
    상기 제1 필드가 바이트 단위로 되지 않는 경우에는 소정의 더미(dummy) 비트를 추가하여 바이트 단위로 만드는, ACK 프레임 전송 장치.
  13. 제12항에 있어서, 상기 식별 정보는
    상기 수신된 프레임의 MSDU number 및 Fragment number를 포함하는, ACK 프레임 전송 장치.
  14. 제13항에 있어서,
    상기 최초의 식별 정보는 상기 MSDU number가 가장 앞서는 식별 정보 중에서 Fragment number가 가장 앞서는 식별 정보인, ACK 프레임 전송 장치.
  15. 제10항에 있어서, 상기 제3 수단은
    상기 송신 디바이스로부터 ACK 프레임 전송 요청을 받을 받음에 따라서 동작하는 ACK 프레임 전송 장치.
KR1020040063599A 2004-08-12 2004-08-12 Ack 프레임 전송 방법 및 장치 KR100631736B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020040063599A KR100631736B1 (ko) 2004-08-12 2004-08-12 Ack 프레임 전송 방법 및 장치
JP2007525531A JP2008509622A (ja) 2004-08-12 2005-07-26 Ackフレーム伝送方法及び装置
PCT/KR2005/002420 WO2006016745A1 (en) 2004-08-12 2005-07-26 Method and apparatus for transmitting ack frame
BRPI0514128-1A BRPI0514128A (pt) 2004-08-12 2005-07-26 método de transmissão de quadros de ack, e aparelho de transmissão de quadros de ack
MX2007001682A MX2007001682A (es) 2004-08-12 2005-07-26 Metodo y aparato de transmision de cuadro ack.
US11/201,442 US20060034317A1 (en) 2004-08-12 2005-08-11 Method and apparatus for transmitting ACK frame
CNA2005100907185A CN1734998A (zh) 2004-08-12 2005-08-11 发送确认帧的方法和设备
EP05255018A EP1626520A1 (en) 2004-08-12 2005-08-12 Method and apparatus for transmitting acknowledgement frames

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040063599A KR100631736B1 (ko) 2004-08-12 2004-08-12 Ack 프레임 전송 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20060014875A KR20060014875A (ko) 2006-02-16
KR100631736B1 true KR100631736B1 (ko) 2006-10-09

Family

ID=36077218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040063599A KR100631736B1 (ko) 2004-08-12 2004-08-12 Ack 프레임 전송 방법 및 장치

Country Status (2)

Country Link
KR (1) KR100631736B1 (ko)
CN (1) CN1734998A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9929847B2 (en) * 2014-12-23 2018-03-27 Qualcomm Incorporated Shortened block acknowledgement with fragmentation acknowledgement signaling
CN106161583B (zh) 2015-05-12 2020-02-21 华为技术有限公司 一种块确认帧的传输方法及设备
CN106612159B (zh) * 2015-10-23 2020-06-26 华为技术有限公司 基于业务类型指示的确认方法及装置
US10361832B2 (en) * 2016-04-22 2019-07-23 Qualcomm Incorporated Block acknowledgment generation and selection rules
CN105790896B (zh) * 2016-05-04 2019-03-29 珠海市魅族科技有限公司 无线局域网的通信方法、通信装置、接入点和站点
CN106792903A (zh) * 2016-12-13 2017-05-31 深圳中科讯联科技股份有限公司 一种多对多无线数据发送方法及装置、接收方法及装置
EP4060918A4 (en) * 2019-11-11 2023-08-02 Beijing Xiaomi Mobile Software Co., Ltd. METHOD AND DEVICE FOR TRANSMISSION OF HYBRID AUTOMATIC REPEAT REQUEST FEEDBACK AND COMMUNICATION DEVICE
US11665588B2 (en) * 2020-01-07 2023-05-30 Mediatek Singapore Pte. Ltd Extended sequence control for fragmented frames in WLAN

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333080A (ja) 2000-05-24 2001-11-30 Toyota Industries Corp 無線通信装置
US6658619B1 (en) 2000-10-06 2003-12-02 Ericsson Inc. Systems and methods for implementing hierarchical acknowledgement bitmaps in an ARQ protocol

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333080A (ja) 2000-05-24 2001-11-30 Toyota Industries Corp 無線通信装置
US6658619B1 (en) 2000-10-06 2003-12-02 Ericsson Inc. Systems and methods for implementing hierarchical acknowledgement bitmaps in an ARQ protocol

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1020040063599 - 646716

Also Published As

Publication number Publication date
CN1734998A (zh) 2006-02-15
KR20060014875A (ko) 2006-02-16

Similar Documents

Publication Publication Date Title
KR100678943B1 (ko) 블록 ack 프레임 전송방법 및 장치
US7680148B2 (en) Communication apparatus and communication method
JP4047836B2 (ja) 通信装置、通信システム、通信方法、および通信制御プログラム
KR100842586B1 (ko) 무선 근거리 네트워크 시스템에서 응집된 매체 액세스 제어프로토콜 데이터 유닛들의 전송 방법 및 그 시스템
KR100750166B1 (ko) 무선 네트워크 환경에서 효율적인 데이터 재전송 장치 및방법
US7729665B2 (en) Down-link data transmission and receiving system and method of ARQ in wireless communication system
US20060136614A1 (en) System and method for variable length aggregate acknowledgements in a shared resource network
EP1548990A1 (en) Aggregated frame, generated above, within or below a MAC layer or in a physical layer
JP2022537001A (ja) 無線ネットワークにおけるショートフィードバック手順のためのランダムアクセス
JP4314294B2 (ja) 通信装置、通信システム、通信方法、および通信制御プログラム
US7477630B2 (en) Transmission controller used in media access control processing apparatus and transmission controlling method thereof
KR100714675B1 (ko) 데이터 프레임 재전송 방법 및 상기 방법을 사용하는네트워크 장치
KR100631736B1 (ko) Ack 프레임 전송 방법 및 장치
CN1260658A (zh) 无线通信***中分配无线资源的方法
KR20050064267A (ko) 액세스 포인트를 이용한 무선 네트워크에서의 데이터 전송방법
US20050117541A1 (en) System and method for dynamically determining reservation parameters in a wireless network
US11984985B2 (en) Method of performing wireless communication, wireless transmission device and wireless reception device performing the same
CN114938340A (zh) 业务指示方法及装置
KR20220022837A (ko) 무선 통신 방법, 상기 방법을 수행하는 무선 통신 장치 및 무선 통신 시스템
CN117480810A (zh) 记分板状态更新方法、装置、设备及存储介质
CN115915262A (zh) 无线通信***中执行业务流管理的方法和设备

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
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee