KR100708190B1 - Method for effectively transmitting or receiving data via wireless network, and wireless device thereof - Google Patents

Method for effectively transmitting or receiving data via wireless network, and wireless device thereof Download PDF

Info

Publication number
KR100708190B1
KR100708190B1 KR1020050105004A KR20050105004A KR100708190B1 KR 100708190 B1 KR100708190 B1 KR 100708190B1 KR 1020050105004 A KR1020050105004 A KR 1020050105004A KR 20050105004 A KR20050105004 A KR 20050105004A KR 100708190 B1 KR100708190 B1 KR 100708190B1
Authority
KR
South Korea
Prior art keywords
data
retransmission
frame
data frame
data unit
Prior art date
Application number
KR1020050105004A
Other languages
Korean (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 KR1020050105004A priority Critical patent/KR100708190B1/en
Priority to CN201410354387.0A priority patent/CN104104479B/en
Priority to PCT/KR2006/003148 priority patent/WO2007021097A1/en
Priority to MX2008001797A priority patent/MX2008001797A/en
Priority to EP06823633.0A priority patent/EP1913723B1/en
Priority to US11/503,155 priority patent/US8321734B2/en
Application granted granted Critical
Publication of KR100708190B1 publication Critical patent/KR100708190B1/en

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/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 무선 네트워크를 통하여 데이터의 전송시 안정성 및 전송효율을 제고하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for improving stability and transmission efficiency in data transmission through a wireless network.

본 발명의 일 실시예에 따른 무선 데이터 전송 방법은, 복수의 데이터 유닛을 포함하는 제1 데이터 프레임을 수신 디바이스에 전송하는 단계와, 상기 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 수신 디바이스로부터 수신하는 단계와, 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 근거하여 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛을 포함하는 제2 데이터 프레임을 전송하는 단계로 이루어진다.According to an aspect of the present invention, there is provided a method of transmitting wireless data, the method comprising: transmitting a first data frame including a plurality of data units to a receiving device, and in response to the data frame, for each of the plurality of data units; Receiving an acknowledgment from the receiving device, and transmitting a second data frame including, among the plurality of data units, a data unit which is determined not to be normally transmitted based on the acknowledgment.

IEEE 802.11, MAC, PHY, ACK, 무선 네트워크, 비트맵, 구분자 IEEE 802.11, MAC, PHY, ACK, Wireless Network, Bitmap, Separator

Description

무선 네트워크를 통하여 데이터를 효율적으로 송/수신하는 방법 및 그 방법을 이용한 무선 디바이스{Method for effectively transmitting or receiving data via wireless network, and wireless device thereof}Method for effectively transmitting or receiving data via wireless network, and wireless device according to the present invention.

도 1은 종래의 무선 랜 상의 통신 방식을 설명하는 도면이다.1 is a diagram illustrating a communication method on a conventional wireless LAN.

도 2는 무선 디바이스 간의 통신 중 에러가 발생된 경우에 대한 종래의 처리 과정을 나타낸 도면이다.2 is a diagram illustrating a conventional process for a case where an error occurs during communication between wireless devices.

도 3은 종래의 무선 통신 과정에서 낭비되는 시간을 나타낸 도면이다.3 is a view showing the time wasted in the conventional wireless communication process.

도 4는 본 발명의 실시예에 따른 프레임들의 구조를 설명하는 도면이다.4 is a view for explaining the structure of the frame according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 MAC 헤더의 구성을 도시하는 도면이다.5 is a diagram illustrating a configuration of a MAC header according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 PHY 헤더의 구성을 도시하는 도면이다.6 is a diagram illustrating a configuration of a PHY header according to an embodiment of the present invention.

도 7은 도 4의 데이터 프레임의 구성을 보다 상세히 도시한 도면이다.FIG. 7 illustrates the configuration of the data frame of FIG. 4 in more detail.

도 8은 송신 디바이스가 수신 디바이스에 복수의 TS를 전송하는 과정을 설명하는 개략도이다.8 is a schematic diagram illustrating a process in which a transmitting device transmits a plurality of TSs to a receiving device.

도 9는 도 7의 데이터 프레임과 다른 실시예에 따른 데이터 프레임을 도시한 도면이다.FIG. 9 is a diagram illustrating a data frame according to another embodiment than the data frame of FIG. 7.

도 10은 도 4의 블록 ACK 프레임의 구성을 보다 자세히 나타낸 도면이다.FIG. 10 is a diagram illustrating the configuration of the block ACK frame of FIG. 4 in more detail.

도 11은 본 발명의 일 실시예에 따른 통신 과정을 나타낸 도면이다.11 is a diagram illustrating a communication process according to an embodiment of the present invention.

도 12는 본 발명의 일 실시예에 따른 무선 디바이스의 구성 및 동작을 도시하는 도면이다.12 is a diagram illustrating the configuration and operation of a wireless device according to an embodiment of the present invention.

도 13은 도 12의 페이로드 처리부의 세부 구성을 도시한 블록도이다.FIG. 13 is a block diagram illustrating a detailed configuration of the payload processing unit of FIG. 12.

도 14는 어플리케이션에서 생성된 복수의 TS가 계층별로 처리되는 형태를 도시한 도면이다.14 is a diagram illustrating a form in which a plurality of TSs generated in an application are processed for each layer.

도 15는 도 12의 비트맵 처리부의 구성을 보다 세부적으로 나타낸 도면이다.FIG. 15 is a diagram illustrating the configuration of the bitmap processing unit of FIG. 12 in more detail.

도 16은 최초로 전송되는, 복수의 데이터 유닛을 포함하는 데이터 프레임의 일 예를 도시하는 도면.FIG. 16 illustrates an example of a data frame including a plurality of data units that are initially transmitted. FIG.

도 17a 내지 도 17i는 다양한 재전송 메커니즘을 설명하기 위한 도면이다.17A to 17I are diagrams for describing various retransmission mechanisms.

도 18은 본 발명의 일 실시예에 따른 무선 디바이스 간의 통신 방법을 설명하는 흐름도이다.18 is a flowchart illustrating a communication method between wireless devices according to an embodiment of the present invention.

도 19는 본 발명에 따른 실험 결과와 TGn Sync에서 제시한 방법에 따른 실험 결과를 비교한 그래프이다.19 is a graph comparing experimental results according to the present invention and experimental results according to the method presented in TGn Sync.

(도면의 주요부분에 대한 부호 설명)(Symbol description of main part of drawing)

41 : PHY 헤더 42 : MAC 헤더41: PHY header 42: MAC header

43 : 구분자 44, 45, 46, 470 : 데이터 유닛43: separator 44, 45, 46, 470: data unit

47 : 비트맵 51, 61 : 제어부47: bitmap 51, 61: control unit

52 : 패킷 카운터 53 : 타임 스탬퍼52: Packet Counter 53: Time Stamper

54, 64 : 버퍼 55 : 검사합 체크부54, 64: buffer 55: check sum check unit

56 : 검사합 생성부 62 : 비트맵 생성부56: check sum generation unit 62: bitmap generation unit

63 : 비트맵 판독부 70 : 전송 스트림63: bitmap reader 70: transport stream

71 : Packet No. 필드 72 : PN CRC 필드71: Packet No. Field 72: PN CRC Field

73 : Time Stamp 필드 74 : CRC 필드73: Time Stamp Field 74: CRC Field

75 : 헤더 CRC 필드 100 : 데이터 프레임 75: header CRC field 100: data frame

200 : 블록 ACK 프레임 500 : 송신 디바이스200: block ACK frame 500: transmitting device

510, 610 : 어플리케이션 520, 620 : 디바이스 드라이버510, 610: Application 520, 620: Device Driver

521, 621 : 송신 큐 522, 622 : 수신 큐521, 621: transmit queue 522, 622: receive queue

530, 630 : MAC 모듈 531, 631 : 소프트웨어 MAC 모듈530, 630: MAC module 531, 631: Software MAC module

532, 632 : 인터페이스 533, 633 : 하드웨어 MAC 모듈532, 632: interface 533, 633: hardware MAC module

540, 640 : PHY 모듈 541, 641 : 베이스밴드 프로세서540, 640: PHY module 541, 641: baseband processor

542, 642 : RF 모듈 550, 650 : 무선 안테나542, 642: RF module 550, 650: wireless antenna

560, 660 : I/O 포트 580, 680 : 데이터 처리부560, 660: I / O port 580, 680: data processing unit

581, 681 : 페이로드 처리부 582, 682 : 비트맵 처리부581 and 681: Payload processing unit 582 and 682: Bitmap processing unit

본 발명은 무선 통신 기술에 관한 것으로, 보다 상세하게는 무선 네트워크를 통하여 데이터의 전송시 안정성 및 전송효율을 제고하는 방법 및 장치에 관한 것이다.The present invention relates to a wireless communication technology, and more particularly, to a method and apparatus for improving stability and transmission efficiency when transmitting data through a wireless network.

네트워크가 무선화 되어가고 있고 대용량의 멀티미디어 데이터 전송 요구의 증대로 인하여 무선 네트워크 환경에서의 효과적인 전송법에 대한 연구가 요구되고 있다. 주어진 무선 자원을 여러 디바이스들이 공유하여 사용하는 무선 네트워크의 특성상, 경쟁이 증가하면 통신 중에 충돌로 인해 귀중한 무선 자원을 허비하게 될 가능성이 크다. 이러한 충돌(collision) 또는 손실(loss)을 줄이고 안정하게 데이터를 송수신하도록 하기 위하여, 무선 LAN(wireless Local Area Network) 환경에서는 경쟁 기반의 DCF(Distributed Coordination Function) 또는 무경쟁 방식의 PCF(Point Coordination Function)를 사용하고 있고, 무선 PAN(wireless Personal Area Network) 환경에서는 채널 시간 할당(channel time allocation)이라는 시분할 방식을 사용하고 있다.Networks are becoming wireless and researches on effective transmission methods in wireless network environments have been required due to the increasing demand for large-capacity multimedia data transmission. Due to the nature of a wireless network in which multiple devices share and use a given radio resource, increasing competition is likely to waste valuable radio resources due to collisions during communication. In order to reduce the collision or loss and to transmit and receive data stably, in a wireless LAN (wireless local area network) environment, a competitive-based distributed coordination function (DCF) or a contention-free point coordination function (PCF) In the wireless personal area network (PAN) environment, a time division scheme called channel time allocation is used.

무선 네트워크에 이와 같은 방법들을 적용함으로써 어느 정도 충돌을 감소시키고 안정적으로 통신을 할 수 있기는 하지만, 유선 네트워크에 비해서는 여전히 전송 데이터간의 충돌이 발생될 가능성이 크다. 왜냐하면, 무선 네트워크 환경에는 본질적으로 다중 경로(multi-path), 페이딩(fading), 간섭(interference) 등 안정적인 통신을 방해하는 요소들이 많이 존재하기 때문이다. 뿐만 아니라, 상기 무선 네트워크에 참여하는 무선 네트워크의 수가 증가할수록 충돌, 손실 등의 문제가 발생할 가능성은 더욱 커지게 된다.Although such a method can be applied to a wireless network to reduce collisions to some extent and provide stable communication, there is still a high possibility of collision between transmission data compared to a wired network. This is because there are many elements in the wireless network environment that inherently interfere with stable communication such as multi-path, fading, and interference. In addition, as the number of wireless networks participating in the wireless network increases, the possibility of problems such as collisions and losses increases.

이러한 충돌은 무선 네트워크의 전송속도(throughput)에 치명적인 악영향을 미치는 재전송(retransmission)을 요구하게 된다. 특히 Audio/Video 데이터(AV 데이터)와 같이 보다 나은 QoS(Quality of Service)가 필요한 경우에 있어서는, 이러한 재전송 횟수를 줄임으로써 가용 대역폭을 보다 많이 확보하는 것이 매우 중요한 문제이다.Such collisions require retransmissions that have a fatal adverse effect on the throughput of the wireless network. In particular, when better quality of service (QoS) is required, such as audio / video data (AV data), it is very important to secure more available bandwidth by reducing the number of retransmissions.

도 1은 종래의 무선 랜 상의 통신 방식을 설명하는 도면이다. 무선 네트워크 상의 어떤 디바이스, 즉 송신 디바이스(transmitting device)가 데이터 프레임(data frame)을 무선 네트워크 상의 다른 디바이스, 즉 수신 디바이스(receiving device)에 보내고자 하면, 송신 디바이스는 MAC 계층 및 PHY 계층을 통하여 헤더(header)를 생성하고 이를 데이터에 부가하여 전송한다.1 is a diagram illustrating a communication method on a conventional wireless LAN. If a device on the wireless network, i.e. a transmitting device, wishes to send a data frame to another device on the wireless network, i.e. a receiving device, the transmitting device may send a header through the MAC layer and the PHY layer. Creates a header and appends it to the data for transmission.

상기 데이터를 수신한 수신 디바이스는 FCS(Frame Check Sequence)를 통해 에러 여부를 검출할 수 있으며, 에러가 없는 경우에 상기 수신된 데이터를 상위 계층(upper layer)으로 올려 보내게 된다.The receiving device that receives the data may detect an error through a frame check sequence (FCS), and if there is no error, the receiving device uploads the received data to an upper layer.

IEEE 802.11 계열의 프로토콜(protocol)은 SIFS(Short InterFrame Space)라는 프레임 간의 최소한의 간격을 보장하고 있다. SIFS는 PHY 계층에서의 지연, MAC 계층에서 프레임을 처리하는 시간, 및 수신기/전송기(RX/TX)의 전환 시간(Turnaround time)을 포함한다. 다시 말해, SIFS는 한 무선 디바이스에서 한 프레임을 수신하여 처리하고 이에 대한 응답 프레임을 만들어 보낼 준비를 하기 위한 시간이라 할 수 있다. 따라서, 송신 디바이스가 다수 프레임을 수신 디바이스에 전송하고자 한다면, 상기 다수 프레임을 전송하는 시간 이외에도, 다수의 SIFS 시간, 및 다수의 응답 프레임을 전송하는 시간이 필요하다.The protocol of the IEEE 802.11 series guarantees a minimum interval between frames called Short InterFrame Space (SIFS). SIFS includes a delay at the PHY layer, a time to process a frame at the MAC layer, and a turnaround time of the receiver / transmitter (RX / TX). In other words, SIFS is a time for a wireless device to receive one frame, process it, and prepare to send a response frame. Therefore, if the transmitting device intends to transmit a plurality of frames to the receiving device, in addition to the time for transmitting the plurality of frames, a plurality of SIFS times and a time for transmitting the plurality of response frames are required.

도 2는 무선 디바이스 간의 통신 중 에러가 발생된 경우에 대한 종래의 처리 과정을 나타낸 도면이다. 도 2는 특히, 무선 네트워크 상에서는 여러 가지 이유로 인해 프레임 전송이 실패하였거나, 또는 전송된 프레임에 에러가 발생하였을 경우, 송신 디바이스와 수신 디바이스 간의 처리 방식을 보여준다. 송신 디바이스 단에서는 프레임을 전송하는 순간부터 "ACK Timeout"이라는 카운터가 줄어들게 된다. 송신 디바이스는, 상기 카운터가 0이 될 때까지 수신 디바이스로부터 ACK 프레임(이하 간단히 "ACK"이라 함)이 도달하지 않으면 전송 실패로 간주하여 상기 프레임을 재전송하게 된다. 도 2에서 전송이 실패하거나 에러가 발생한 프레임은 점선으로 도시된다.2 is a diagram illustrating a conventional process for a case where an error occurs during communication between wireless devices. 2 illustrates a processing method between a transmitting device and a receiving device, particularly when a frame transmission fails or an error occurs in a transmitted frame on a wireless network for various reasons. At the transmitting device end, the counter "ACK Timeout" is decremented from the moment of transmitting the frame. If the ACK frame (hereinafter simply referred to as "ACK") does not arrive from the receiving device until the counter becomes zero, the transmitting device retransmits the frame as a transmission failure. In FIG. 2, a frame in which transmission fails or an error occurs is shown by a dotted line.

상기 재전송하는 횟수는 송신 디바이스에 설정된 "Retry limit" 값을 따르게 되고, Retry limit 값만큼의 재전송하였음에도 불구하고 실패하게 되면 해당 프레임을 스킵(skipping)하게 된다. 도 2에서 보면, 스킵되는 것은 데이터 2를 포함한 프레임이다. 수신 디바이스 단에서는 수신된 프레임에 대해 MAC FCS 에러 검사를 하여 에러가 없는 경우, 수신된 프레임에 포함된 데이터를 상위 계층으로 전달함과 동시에 상기 수신된 프레임에 대한 응답 프레임, 즉 ACK을 송신 디바이스에 보내게 된다. 상기 에러 검사 결과 에러가 발생하였다면, 해당 프레임을 버리게(dropping) 된다.The number of times of retransmission follows the "Retry limit" value set in the transmitting device, and if the retransmission fails, the corresponding frame is skipped. 2, the skipped frame includes data 2. If there is no error, the receiving device performs MAC FCS error checking on the received frame, and transmits the data included in the received frame to a higher layer and sends a response frame, that is, an ACK, to the transmitting device. Will be sent. If an error occurs as a result of the error checking, the corresponding frame is dropped.

도 3에서 보는 바와 같이, 송신 디바이스의 입장에서는 프레임들을 전송하는 동안의 시간 이외의 시간은 모두 낭비되는 시간으로 볼 수 있다. 이러한 낭비되는 시간은 전송되는 프레임 사이의 시간과, 각 프레임에 대해 부가되는 MAC 헤더 및 PHY 헤더에 의해 소요되는 시간(헤더 오버헤드)이 포함하므로, 무선 네트워크 전체적으로 비효율을 유발하는 문제점을 내포하고 있다. 전송하고자 하는 프레임의 길이가 작은 경우, 예를 들어, 188bytes의 단위 크기를 갖는 MPEG-2 전송 스트림 (Transport stream)을 전송하는 경우에는, 그 전송 횟수가 많아 짐에 따라서 상대적으로 큰 오버헤드가 발생된다. 이는 IEEE 802. 11 계열의 표준이 전송되는 프레임 별로 ACK을 요구하기 때문이다.As shown in FIG. 3, from the point of view of the transmitting device, all the time other than the time during transmitting the frames can be regarded as wasted time. This wasted time includes the time between transmitted frames and the time (header overhead) consumed by the MAC header and PHY header added for each frame, and thus incurs inefficiencies in the overall wireless network. . When the length of a frame to be transmitted is small, for example, when transmitting an MPEG-2 transport stream having a unit size of 188 bytes, a relatively large overhead occurs as the number of transmissions increases. do. This is because the IEEE 802.11 standard requires an ACK for each frame transmitted.

상기 표준에 따를 때, 데이터 프레임에 포함되는 MAC 헤더의 길이는 30bytes에 달하고, PHY 헤더의 시간 길이는 20μsec에 달한다. 따라서, 이러한 오버헤드가 실제 전송할 데이터에 비하여 무시할 만큼 작다고 보기는 어렵다.According to the standard, the length of the MAC header included in the data frame reaches 30 bytes, and the time length of the PHY header reaches 20 μsec. Therefore, it is difficult to see that such overhead is negligibly small compared to the actual data to be transmitted.

본 발명은 무선 네트워크 환경에서 데이터 전송시 에러가 발생하는 경우에, 상기 에러를 복구하고 보다 효율적인 재전송을 실행함으로써 전체적인 전송률(overall throughput)을 증가시키고, 동시에 안정적인 전송을 보장하는 방법 및 장치를 제공하는 것을 목적으로 한다.The present invention provides a method and apparatus for increasing overall throughput and ensuring stable transmission by recovering the error and performing more efficient retransmission when an error occurs during data transmission in a wireless network environment. For the purpose of

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 무선 데이터 전송 방법은, (a) 복수의 데이터 유닛을 포함하는 제1 데이터 프레임을 수신 디바이스에 전전송하는 단계; (b) 상기 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 수신 디바이스로부터 수신하는 단계; 및 (c) 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 근거하여 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛을 포함하는 데이터 프레임을 전전송하는 단계를 포함한다.According to another aspect of the present invention, there is provided a wireless data transmission method comprising: (a) pre-transmitting a first data frame including a plurality of data units to a receiving device; (b) receiving, from the receiving device, an acknowledgment for each of the plurality of data units in response to the data frame; And (c) pre-transmitting, among the plurality of data units, a data frame including a data unit which is determined not to be normally transmitted based on the acknowledgment.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 무선 데이터 전송 방법은, (a) 송신 디바이스로부터 복수의 데이터 유닛을 포함하는 제1 데이터 프레임을 수신하는 단계; (b) 상기 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 송신 디바이스에 전송하는 단계; 및 (c) 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 근거하여 에러가 발생한 것으로 판단되는 데이터 유닛을 포함하는 제2 데이터 프레임을 상기 송신 디바이스로부터 수신하는 단계를 포함한다.According to an aspect of the present invention, there is provided a wireless data transmission method comprising: (a) receiving a first data frame including a plurality of data units from a transmitting device; (b) sending an acknowledgment for each of the plurality of data units to the transmitting device in response to the data frame; And (c) receiving, from the transmitting device, a second data frame including, among the plurality of data units, a data unit that is determined to have an error based on the acknowledgment.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 무선 디바이스는, 응용 프로그램을 수행하는 어플리케이션과, 상기 어플리케이션으로부터 제공된 복수의 데이터 유닛을 포함하는 MAC 페이로드를 생성하는 데이터 처리부와, 상기 MAC 페이로드에 MAC 헤더를 부가함으로써 MPDU(MAC Protocol Data Unit)를 생성하는 MAC 모듈과, 상기 MPDU에 PHY 헤더를 부가하여 제1 데이터 프레임을 생성하고 상기 데이터 프레임을 수신 디바이스로 전송하는 PHY 모듈을 포함하는데, 상기 데이터 처리부는 상기 수신 디바이스로부터 상기 데이터 프레임에 대한 응답으로서 수신되는, 상기 복수 데이터 유닛 각각에 대한 수신 확인에 의거하여, 상기 전송된 데이터 유닛 중 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛을 포함하는 MAC 페이로드를 생성하고, 상기 MAC 모듈은 상기 MAC 페이로드에 MAC 헤더를 부가하며, 상기 PHY 모듈은 상기 MAC 헤더에 PHY 헤더를 부가하여 제2 데이터 프레임 을 생성하고 상기 제2 데이터 프레임을 상기 수신 디바이스에 전송하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a wireless device including an application for executing an application, a data processor for generating a MAC payload including a plurality of data units provided from the application, and the MAC. A MAC module for generating a MAC Protocol Data Unit (MPDU) by adding a MAC header to a payload, and a PHY module for generating a first data frame by adding a PHY header to the MPDU and transmitting the data frame to a receiving device. The data processing unit includes a data unit that is determined to be not normally transmitted among the transmitted data units based on an acknowledgment of each of the plurality of data units, which is received from the receiving device as a response to the data frame. Generate a MAC payload and the M The AC module adds a MAC header to the MAC payload, and the PHY module adds a PHY header to the MAC header to generate a second data frame and transmit the second data frame to the receiving device. .

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 무선 디바이스는, 송신 디바이스로부터 데이터 프레임을 수신하고 PHY 헤더를 제거하여 MPDU(MAC Protocol Data Unit)을 복원하는 PHY 모듈과, 상기 MPDU에서 MAC 헤더를 제거하여 MAC 페이로드를 복원하는 MAC 모듈과, 상기 MAC 페이로드에 포함된 복수의 데이터 유닛의 에러 유무를 검사하는 데이터 처리부와, 상기 복수의 데이터 유닛 중 에러가 없는 데이터 유닛을 제공받아 응용 프로그램을 수행하는 어플리케이션을 포함하는데, 상기 데이터 처리부는 상기 에러 유무에 따라 상기 데이터 유닛 각각에 대한 수신 확인을 나타내는 비트맵을 생성하고, 상기 MAC 모듈은 상기 비트맵에 MAC 헤더를 부가하며, 상기 PHY 모듈은 상기 MAC 헤더에 PHY 헤더를 부가하여 블록 ACK 프레임을 생성하고 이를 상기 수신 디바이스에 전송하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a wireless device comprising: a PHY module for receiving a data frame from a transmitting device and removing a PHY header to restore a MAC Protocol Data Unit (MPDU); and a MAC in the MPDU. A MAC module for removing a header and restoring a MAC payload, a data processor for checking an error of a plurality of data units included in the MAC payload, and an error free data unit among the plurality of data units are provided. And an application for executing a program, wherein the data processor generates a bitmap indicating an acknowledgment for each of the data units according to the presence or absence of the error, and the MAC module adds a MAC header to the bitmap. The module adds a PHY header to the MAC header to generate a block ACK frame and receives the received device. Characterized in that the transmission bus.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알 려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 이하 첨부된 도면들을 참조하여 본 발명의 실시예에 따른 방법을 설명하는 도면이다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout. Hereinafter, with reference to the accompanying drawings illustrating a method according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 프레임(100, 200)의 구조를 설명하는 도면이다. 본 발명은 전송하고자 하는 프레임들을 한 블럭(block)으로 구성하고 이에 대한 응답 프레임으로써 비트맵 형태의 정보를 가진 블록 ACK 프레임을 사용한다.4 is a view for explaining the structure of the frame (100, 200) according to an embodiment of the present invention. The present invention uses a block ACK frame having information in the form of a bitmap as a response frame.

본 발명의 일 실시예에 따른 데이터 프레임(100)은 PHY 헤더(41)와, MAC 헤더(42)와, 복수의 데이터 유닛(44, 45, 46)와, 복수의 구분자(delimiter; 43)로 이루어진다. 본 명세서에서 "데이터 유닛"라 함은 MAC 계층의 상위 계층으로부터 MAC 계층으로 전달되는 MSDU(MAC Service Data Unit)을 의미한다. 상기 구분자(43)는 각 프레임 사이에는 위치하며, 프레임을 구분할 수 있는 데이터 유닛의 번호 정보와, 에러 검출을 위한 체크섬 정보와, 동기화를 위한 정보(예: time stamp)를 포함할 수 있다. 물론, IEEE 802.11 계열의 표준에서 페이로드의 크기는 2304bytes로 제한되어 있기 때문에, 상기 데이터 유닛들(44, 45, 46) 및 구분자들(43)의 총합은 상기 크기 내로 제한될 수 있다.The data frame 100 according to an embodiment of the present invention includes a PHY header 41, a MAC header 42, a plurality of data units 44, 45, and 46, and a plurality of delimiters 43. Is done. As used herein, the term "data unit" refers to an MSDU (MAC Service Data Unit) transmitted from an upper layer of the MAC layer to the MAC layer. The delimiter 43 is located between each frame, and may include number information of data units capable of distinguishing frames, checksum information for error detection, and information (eg, time stamp) for synchronization. Of course, since the payload size is limited to 2304 bytes in the IEEE 802.11 series standard, the sum of the data units 44, 45, 46 and the separators 43 may be limited within the size.

본 발명에서는, 상기 데이터 프레임(100)에 대한 응답은 하나의 블록 ACK 프레임(200)에 의하여 이루어지는 것으로 한다. 복수의 데이터 유닛들(44, 45, 46)이 포함한 데이터 프레임(100)도 하나의 프레임에 불과하기 때문에, 종래의 ACK 정책(ACK policy)에 따르면 단일 프레임에 대한 Immediate ACK로 응답되어야 할 것이다. 그러나, 본 발명에 따르면 상기 프레임(100)에 대한 응답으로서의 ACK은 블록 ACK(200)의 형태를 갖게 된다. 왜냐하면, 하나의 프레임(100)에 포함된 복수의 데이터 유닛들(44, 45, 46)에 대하여 복수의 수신 확인이 필요하기 때문이다.In the present invention, the response to the data frame 100 is assumed to be made by one block ACK frame 200. Since the data frame 100 included in the plurality of data units 44, 45, and 46 is only one frame, according to the conventional ACK policy, an immediate ACK for a single frame should be answered. However, according to the present invention, the ACK as a response to the frame 100 is in the form of a block ACK 200. This is because a plurality of acknowledgments are required for the plurality of data units 44, 45, and 46 included in one frame 100.

블록 ACK 프레임(200)에는 해당 프레임에 대한 에러 여부를 표시하는 비트맵이 실리게 되는데 송신 디바이스 측이 이 정보에 따라서 어떤 데이터 유닛을 재전송할지 여부를 판단하게 된다. 블록 ACK 프레임(200)은 PHY 헤더(41)와, MAC 헤더(42)와, 비트맵 필드(47)를 포함하여 이루어진다.The block ACK frame 200 is loaded with a bitmap indicating whether or not there is an error for the frame. The transmitting device determines whether to retransmit which data unit according to this information. The block ACK frame 200 includes a PHY header 41, a MAC header 42, and a bitmap field 47.

도 5 및 도 6은 본 발명의 일 실시예에 따른 MAC 헤더(42), 및 PHY 헤더(41)의 구조를 도시하는 도면이다. 도 5와 같이, MAC 헤더(42)는 종래의 IEEE 802.11 표준과 동일한 구조를 가질 수 있다. MAC 헤더(42)는 Frame Control 필드와, Duration/ID 필드와, 적어도 하나이상의 주소 필드(Address 1 내지 4)와, Sequence Control 필드를 포함할 수 있다. 각 필드의 정의와 세부 구조는 상기 표준에 정의된 바와 동일하다.5 and 6 illustrate the structure of the MAC header 42 and the PHY header 41 according to an embodiment of the present invention. As shown in FIG. 5, the MAC header 42 may have the same structure as the conventional IEEE 802.11 standard. The MAC header 42 may include a Frame Control field, a Duration / ID field, at least one address field (Address 1 to 4), and a Sequence Control field. The definition and detailed structure of each field is the same as defined in the above standard.

한편, 도 6에서는 MIMO(Multi Input Multi Output)를 지원하는 OFDM(Orthogonal Frequency Division Multiplexing) 변조 방식을 사용하는 경우의 PHY 헤더(41)의 예를 도시한 것으로, IEEE 802.11 계열의 표준에서 정의되어 있다. 이는 일 예에 불과하므로, DSSS(Direct Sequence Spread Spectrum), FHSS(Frequency Hopped Spread Spectrum) 등 다양한 변조 방식에 따라 적절한 PHY 헤더가 사용될 수 있음은 물론이다.6 shows an example of the PHY header 41 when using an Orthogonal Frequency Division Multiplexing (OFDM) modulation scheme that supports MIMO (Multi Input Multi Output), and is defined in the IEEE 802.11 series standard. . Since this is only an example, an appropriate PHY header may be used according to various modulation schemes such as Direct Sequence Spread Spectrum (DSSS) and Frequency Hopped Spread Spectrum (FHSS).

도 7은 도 4의 데이터 프레임(100)의 구성을 보다 상세히 도시한 도면이다. 특히, 도 7은 188kbyes의 고정 크기를 갖는 전송 스트림(이하 TS라 약칭함)이 데이 터 유닛으로서 프레임 바디 부분에 실리는 경우를 예로 든 것이다. 도 4에서와 마찬가지로 구분자는 음영으로 표시되어 있다. IEEE 802.11 계열 표준 MAC 프레임 바디의 크기를 고려하면, 상기 프레임 바디에는 12개의 TS가 포함될 수 있다.FIG. 7 illustrates the configuration of the data frame 100 of FIG. 4 in more detail. In particular, FIG. 7 illustrates an example in which a transport stream having a fixed size of 188kbyes (hereinafter, abbreviated as TS) is mounted on the frame body part as a data unit. As in FIG. 4, the delimiters are shaded. In consideration of the size of an IEEE 802.11 series MAC frame body, 12 TSs may be included in the frame body.

하나의 데이터 유닛, 즉 TS는 Packet No. 필드(71)와, PN CRC 필드(72)와, Time Stamp 필드(73)와, CRC 필드(74)와 결합하여 하나의 반복 단위를 이룬다. One data unit, that is, TS is a Packet No. The field 71, the PN CRC field 72, the Time Stamp field 73, and the CRC field 74 form one repeating unit.

Packet No. 필드(71)에는 프레임 바디 부분에 실리는 데이터 유닛의 시퀀스 번호가 기록된다. 도 7에서 보면, 상위 계층으로부터 MAC 계층에 도달하는 순서대로 TS1부터 TS12까지 총 12개의 TS에 대하여 순서대로 1부터 12(또는 0부터 11)의 일련 번호가 Packet No. 필드(71)에 기록될 것이다. Packet No. In the field 71, the sequence number of the data unit carried in the frame body portion is recorded. In FIG. 7, serial numbers 1 to 12 (or 0 to 11) are sequentially assigned to 12 TSs from TS1 to TS12 in order of reaching the MAC layer from an upper layer. Will be recorded in field 71.

PN CRC 필드(72)는 상기 Packet No. 필드(71)에 에러가 있는지를 검사하기 위한 검사합(checksum)이 기록된다. 상기 검사합으로 순환형 중복 검사, 즉 CRC(Cyclic Redundancy Check)가 일반적으로 많이 사용된다.The PN CRC field 72 indicates the Packet No. A checksum for checking whether there is an error in the field 71 is recorded. Cyclic redundancy check (CRC) is generally used as the checksum.

Time Stamp 필드(73)에는 상위 계층으로부터 MAC 계층에 데이터 유닛이 도달한 시각(내부 클럭의 카운트 값)이 태그 값으로서 기록된다. Time Stamp 필드(73)는 TS와 같은 등시적 데이터(isochronous data)를 전송하기 위하여 사용되며, 비동기 데이터(asynchronous data) 유닛의 전송에는 사용되지 않아도 좋다. In the Time Stamp field 73, the time (count value of the internal clock) when the data unit arrives from the upper layer to the MAC layer is recorded as a tag value. The time stamp field 73 is used for transmitting isochronous data such as TS, and may not be used for transmitting asynchronous data units.

도 8과 같이 송신 디바이스와 수신 디바이스 간에 복수의 TS를 전송하는 상황을 가정하면, TS1의 태그에는 t1이, TS2의 태그에는 t2가, TS3의 태그에는 t3가 기록된다.Assuming a situation in which a plurality of TSs are transmitted between the transmitting device and the receiving device as shown in Fig. 8, t1 is written in the tag of TS1, t2 is written in the tag of TS2, and t3 is written in the tag of TS3.

네트워크를 통하여 상기 TS들을 전송할 때에는 TS들이 시간간격 없이 채워져 서 전송된다. 목적지 기기는 이와 같이 전송된 TS들을 수신하여, 원래 시간간격을 복원한 후 스트림 I/F를 통하여 MPEG-2 TS를 AV 디코더(10)에 전달한다. TS1이 t4에서 스트림 I/F를 통하여 출력된다면, TS2는 태그2와 태그1의 시간 간격 동안 대기한 후, 즉 t5일 때 TS2를 출력한다. 그리고, TS3은 태그3과 태그2의 시간 간격 동안 대기한 후, 즉 t6일 때 TS3을 출력한다. When the TSs are transmitted through the network, the TSs are filled and transmitted without time intervals. The destination device receives the TSs transmitted in this way, restores the original time interval, and delivers the MPEG-2 TS to the AV decoder 10 through the stream I / F. If TS1 is output through stream I / F at t4, TS2 waits for a time interval between tag2 and tag1, i.e., outputs TS2 at t5. TS3 waits for the time interval between tag 3 and tag 2, that is, outputs TS3 when t6.

이와 같이, 송신 디바이스에서의 원래 시간 간격에 맞추어 스트림 I/F를 통하여 출력함으로써 AV 디코더(10)에서 AV 스트림을 정확한 시간에 디코딩할 수 있도록 도와 준다.In this way, the AV decoder 10 helps to decode the AV stream at the correct time by outputting through the stream I / F at the original time interval in the transmitting device.

다시 도 7로 돌아가면, CRC 필드(74)에는 TS 데이터(70)에 에러가 있는지를 검사하기 위한 검사합이 기록된다. 상기 검사합을 구하는 방법으로는 순환형 중복 검사 방법이 주로 많이 사용된다. 다른 예로서, CRC 필드(74)에는 Time Stamp 필드(73) 및 TS 데이터(70)의 에러 여부에 대한 검사합이 기록될 수도 있다. 한편, MAC 헤더(42)의 에러 여부를 나타내는 검사합을 기록한 HDR CRC 필드(75)도 프레임 바디에 포함되도록 할 수 있다.Returning to FIG. 7 again, a checksum for checking whether there is an error in the TS data 70 is recorded in the CRC field 74. As a method of obtaining the checksum, a cyclic redundancy check method is mainly used. As another example, a check sum for an error of the Time Stamp field 73 and the TS data 70 may be recorded in the CRC field 74. On the other hand, the HDR CRC field 75 recording the check sum indicating whether the MAC header 42 is in error may also be included in the frame body.

도 7의 데이터 프레임(100)의 구조는 종래의 MAC 프레임 구조와는 호환되지 않을 수 있다. 종래의 MAC 프레임과의 호환을 고려하면, 본 발명의 다른 실시예에 따른 데이터 프레임(150)은 도 9와 같이 정의할 수도 있다. 도 9를 보면, 종래의 IEEE 802.11 표준에서 제시하는 MAC 프레임 구조와 호환되는 구조로 되어 있다. 즉, 데이터 프레임(150)은 MAC 헤더(42), 프레임 바디, 및 FCS 필드(91)를 포함한다. FCS 필드(91)는 MAC 프레임 전체의 검사합이 기록되는 필드로서, MAC 헤더(43)와 프레임 바디 전체의 에러 유무를 체크한다. 프레임 바디는 도 7에서와 마찬가지로 구성된 반복 단위들의 집합으로 이루어져 있다.The structure of the data frame 100 of FIG. 7 may not be compatible with the conventional MAC frame structure. Considering the compatibility with the conventional MAC frame, the data frame 150 according to another embodiment of the present invention may be defined as shown in FIG. 9, the structure is compatible with the MAC frame structure of the conventional IEEE 802.11 standard. That is, the data frame 150 includes a MAC header 42, a frame body, and an FCS field 91. The FCS field 91 is a field in which the checksum of the entire MAC frame is recorded, and checks whether there is an error in the MAC header 43 and the entire frame body. The frame body consists of a set of repeating units configured as in FIG.

도 10은 도 4의 블록 ACK 프레임(200)의 구성을 보다 자세히 나타낸 도면이다. 블록 ACK 프레임(200)은 PHY 헤더(41)와, MAC 헤더(42)와, 비트맵 필드(47)를 적어도 포함하며, FCS 필드(48)를 더 포함할 수 있다. IEEE 802.11 표준에 따르면, ACK 프레임의 경우에 MAC 헤더(42)는 Frame control 필드와, Duration/ID 필드와, 수신 디바이스의 주소(receiver address)가 기록되는 RA 필드와, 송신 디바이스(transmitter address)가 기록되는 TA 필드로 구성된다.FIG. 10 is a diagram illustrating the configuration of the block ACK frame 200 of FIG. 4 in more detail. The block ACK frame 200 includes at least a PHY header 41, a MAC header 42, and a bitmap field 47, and may further include an FCS field 48. According to the IEEE 802.11 standard, in the case of an ACK frame, the MAC header 42 includes a Frame control field, a Duration / ID field, an RA field in which a receiver address is recorded, and a transmitter address. It consists of a TA field to be recorded.

비트맵 필드(47)는 복수의 비트로 이루어지는데, 각각의 비트는 Packet No. 필드(71)에 기록되는 각각의 데이터 유닛 번호에 순차적으로 대응된다. 도 7과 같이 데이터 프레임(100)에 12개의 데이터 유닛, 즉 12개의 TS가 포함된다고 하면, 상기 비트맵(47) 중에서 제n번째 비트는 제n 번째 TS(TSn)에 대응된다. 상기 비트에는 대응되는 데이터 유닛이 정상적으로 수신되었는가 여부가 표시된다. 예를 들어, 상기 비트가 1이면 정상적으로 수신된 것을, 0이면 정상적으로 수신되지 않은 것을 의미하도록 정의할 수 있다.The bitmap field 47 is composed of a plurality of bits, each bit being a Packet No. Corresponds to each data unit number recorded in the field 71 sequentially. As shown in FIG. 7, if the data frame 100 includes 12 data units, that is, 12 TSs, the nth bit of the bitmap 47 corresponds to the nth TS (TSn). The bit indicates whether the corresponding data unit was normally received. For example, if the bit is 1, it may be defined to mean that it is normally received, and if it is 0, it means that it is not normally received.

도 7에서 비트맵(47)이 2bytes로 표시된 것은(즉, 비트맵(47)이 16개의 비트로 이루어지는 것은) 일 실시예에 불과하며 반드시 이 크기로 제한되는 것은 아니다.In FIG. 7, the bitmap 47 is represented by 2 bytes (that is, the bitmap 47 is composed of 16 bits) is only one embodiment and is not necessarily limited to this size.

도 11은 본 발명의 일 실시예에 따른 통신 과정을 나타낸 도면이다. 도 5는 특히, 프레임 전송 과정에서 에러가 발생한 경우에, 송신 디바이스 및 수신 디바이 스에서 이를 처리하는 방식을 보여준다. 11 is a diagram illustrating a communication process according to an embodiment of the present invention. 5 shows a method of processing the transmission device and the reception device, especially when an error occurs in the frame transmission process.

송신 디바이스 측에서 전송한 데이터 프레임에 포함된 3개의 데이터 유닛 중 2, 3번째 데이터 유닛에 에러가 발생한 경우, 프레임 전체로 볼 때 에러가 검출된 것이므로, 수신 디바이스는 수신된 데이터 프레임을 상위 계층으로 올려 보내지는 않는다. 다만, 수신된 데이터 프레임 중 에러가 발생하지 않은 데이터 유닛 1만을 버퍼에 저장해 둔다. 또한, 수신 디바이스는 첫번째 즉 데이터 유닛 1에 대해서만 비트를 1로 설정(set)하고 나머지는 0으로 설정한다. 그리고, 상기 설정된 비트로 이루어지는 비트맵(1, 0, 0)을 블록 ACK 프레임에 담아 송신 디바이스로 전송한다. If an error occurs in the second or third data unit among the three data units included in the data frame transmitted from the transmitting device, the error is detected in the whole frame, and thus the receiving device transfers the received data frame to the upper layer. It is not sent up. However, only the data unit 1 in which no error occurs among the received data frames is stored in the buffer. In addition, the receiving device sets the bit to 1 only for the first, that is, data unit 1, and sets the rest to 0. Then, the bitmap (1, 0, 0) consisting of the set bits is transmitted in a block ACK frame to the transmitting device.

상기 블록 ACK을 수신한 송신 디바이스는 상기 블록 ACK에 포함된 비트맵(1, 0, 0)을 판독하고 데이터 유닛 2 및 데이터 유닛 3의 전송이 실패한 것을 알게 되고, 데이터 유닛 2 및 데이터 유닛 3을 포함한 데이터 프레임을 다시 전송(제1차 재전송)한다.The transmitting device receiving the block ACK reads the bitmaps (1, 0, 0) included in the block ACK and finds that transmission of the data unit 2 and the data unit 3 has failed, and the data unit 2 and the data unit 3 are read. Retransmit (primary retransmission) the included data frame.

상기 다시 전송된 2개의 데이터 유닛 중 데이터 유닛 3에 에러가 발생한 경우, 수신 디바이스는 수신된 데이터 프레임을 상위 계층으로 올려 보내지 않고, 수신된 데이터 프레임 중 에러가 발생하지 않은 데이터 유닛 2만을 버퍼에 저장해 둔다. 또한, 수신 디바이스는 첫번째 및 두번째 비트를 1로, 세 번째 비트를 0으로 설정한다. 그리고, 상기 설정된 비트로 이루어지는 비트맵(1, 1, 0)을 블록 ACK 프레임에 담아 송신 디바이스로 전송한다.If an error occurs in the data unit 3 of the two data units transmitted again, the receiving device does not send the received data frame to the upper layer, and stores only the data unit 2 in which the error does not occur among the received data frames in the buffer. Put it. The receiving device also sets the first and second bits to 1 and the third bit to 0. The bitmap (1, 1, 0) consisting of the set bits is transmitted in a block ACK frame to the transmitting device.

상기 블록 ACK을 수신한 송신 디바이스는 상기 블록 ACK에 포함된 비트맵(1, 1, 0)을 판독하고 데이터 유닛 3의 전송이 실패한 것을 알게 되고, 데이터 유닛 3 을 포함한 데이터 프레임을 다시 전송(제2차 재전송)한다.The transmitting device receiving the block ACK reads the bitmaps (1, 1, 0) included in the block ACK and finds that transmission of the data unit 3 has failed, and transmits the data frame including the data unit 3 again. Second retransmission).

상기 다시 전송된 데이터 프레임에 에러가 발생하지 않은 경우, 수신 디바이스는 수신된 데이터 유닛 3을 상위 계층으로 올려 보내기 전에, 상기 버퍼에 저장된 데이터 유닛 1 및 데이터 유닛 2를 읽어 들인다. 그 후, 수신 디바이스는 상기 데이터 유닛 1, 2 및 3을 상위 계층으로 올려 보낸다. 또한, 수신 디바이스는 모든 비트를 1로 설정(set)하고, 상기 설정된 비트로 이루어지는 비트맵(1, 1, 1)을 블록 ACK 프레임에 담아 송신 디바이스로 전송한다.If no error occurs in the retransmitted data frame, the receiving device reads data unit 1 and data unit 2 stored in the buffer before sending the received data unit 3 to the upper layer. The receiving device then sends the data units 1, 2 and 3 to the upper layer. In addition, the receiving device sets all bits to 1, and transmits the bitmaps 1, 1, and 1 made up of the set bits in a block ACK frame to the transmitting device.

도 12는 본 발명의 일 실시예에 따른 무선 디바이스(500, 600)의 구성 및 동작을 도시하는 도면이다. 도 12에서 송신 디바이스(500), 및 수신 디바이스(600)로 표시한 것을 구분을 위한 것에 불과하고 실제로는 양자 모두 동일한 구성요소를 갖는 무선 디바이스이다.12 is a diagram illustrating the configuration and operation of a wireless device 500, 600 according to an embodiment of the present invention. In FIG. 12, the transmission device 500 and the reception device 600 are merely used to distinguish the two, and in reality, both are wireless devices having the same components.

송신 디바이스(500)의 어플리케이션(510)은 응용 프로그램을 수행하는 소프트웨어 모듈로서, 상기 프로그램 수행 결과 생성된 데이터 유닛(예: TS)를 디바이스 드라이버(520)로 내려 보낸다. 디바이스 드라이버(520)는 일종의 계층 간 인터페이스로서, 어플리케이션(510)으로부터 제공되는 데이터 유닛을 일시 저장하는 송신 큐(521)와, 하위 계층으로부터 전달되는 데이터 유닛을 일시 저장하는 수신 큐(522)를 포함한다. 상기 큐들(521, 522)은 선입선출(FIFO; first in, first out) 방식에 따라 데이터 유닛을 저장한다. 즉, 일정 크기의 큐가 가득 차면 가장 먼저 큐에 들어온 데이터 유닛부터 출력된다.The application 510 of the transmitting device 500 is a software module that executes an application program, and downloads a data unit (eg, TS) generated as a result of the program execution to the device driver 520. The device driver 520 is a kind of inter-layer interface, and includes a transmission queue 521 for temporarily storing data units provided from the application 510 and a reception queue 522 for temporarily storing data units delivered from a lower layer. do. The queues 521 and 522 store data units according to a first in, first out (FIFO) scheme. In other words, when a queue of a certain size is full, the first data unit entered in the queue is output.

상기 송신 큐(521)에 저장된 데이터 유닛(570)은 데이터 처리부(580)로 전달 된다. 데이터 처리부(580)는 페이로드 처리부(581)와, 비트맵 처리부(582)를 포함하여 구성될 수 있다. 페이로드 처리부(581)는 어플리케이션(510)으로부터 제공되는 데이터 유닛(예: TS)에 도 4와 같은 구분자(43)를 삽입하여 본 발명에 따른 MAC 페이로드를 구성한다. 상기 구분자(43)에는 Packet No. 필드(71)와, PN CRC 필드(72)와, Time Stamp 필드(73)와, CRC 필드(74)가 포함될 수 있다. 또한, 페이로드 처리부(581)는 데이터 프레임의 전송시 에러가 발생한 경우에, 에러가 발생된 특정 데이터 유닛과 그에 따르는 구분자로 다시 MAC 페이로드를 생성하여 재전송을 준비한다. 상기 에러의 발생 여부의 판단은 수신 디바이스(600)로부터 전송되는 블록 ACK 프레임의 비트맵에 기록된 정보에 의존한다.The data unit 570 stored in the transmission queue 521 is transferred to the data processor 580. The data processor 580 may include a payload processor 581 and a bitmap processor 582. The payload processing unit 581 inserts the separator 43 as shown in FIG. 4 into a data unit (eg, TS) provided from the application 510 to configure the MAC payload according to the present invention. The delimiter 43 has Packet No. The field 71, the PN CRC field 72, the Time Stamp field 73, and the CRC field 74 may be included. In addition, when an error occurs in the transmission of the data frame, the payload processing unit 581 generates a MAC payload again with the specific data unit in which the error occurs and the corresponding separator to prepare for retransmission. The determination of whether the error occurs depends on the information recorded in the bitmap of the block ACK frame transmitted from the receiving device 600.

도 13은 페이로드 처리부(581)의 세부 구성을 도시한 블록도이다. 버퍼(54)는 송신 큐(521)로부터 내려오는 데이터 유닛(570)을 일시 저장한다. 패킷 카운터(52)는 송신 큐(521)로부터 데이터 유닛(570)이 내려올 때 마다 상기 데이터 유닛(570)에 일련 번호를 부여하고, 타임 스탬퍼 (time stamper; 53)는 데이터 유닛(570)이 내려올 때 마다 상기 데이터 유닛(570)에 내부 클럭 카운트 값을 부여한다. 검사합 생성부(56)는 순환형 중복 검사 알고리즘에 따라서, Packet No. 필드(71)에 기록되는 값, 및 상기 데이터 유닛(570)에 대한 검사합을 계산한다.13 is a block diagram showing a detailed configuration of the payload processing unit 581. The buffer 54 temporarily stores the data unit 570 descending from the transmission queue 521. The packet counter 52 assigns a serial number to the data unit 570 whenever the data unit 570 descends from the transmission queue 521, and a time stamper 53 gives the data unit 570 down. Each time, an internal clock count value is assigned to the data unit 570. The checksum generation unit 56 generates a packet no. The value recorded in the field 71 and the checksum for the data unit 570 are calculated.

제어부(51)는 상기 부여된 일련 번호에 근거하여 데이터 유닛(570)에 대한 패킷 번호를 Packet No. 필드(71)에 기록하고, 상기 필드(71)에 대한 검사합을 PN CRC 필드(72)에 기록하고, 상기 클럭 카운트 값을 Time Stamp 필드(73)에 기록하고, 상기 데이터 유닛(570)에 대한 검사합을 CRC 필드(74)에 기록하여 구분자를 생 성한다. 그리고, 상기 생성된 구분자와, 소정 개수의 데이터 유닛(570)을 결합하여 MAC 페이로드를 구성한다. 만약, 블록 ACK 프레임을 수신한 후 일부 데이터 유닛에 에러가 발생하여 재전송이 필요한 경우에, 제어부(51)는 비트맵 처리부(582)로부터 통지되는 에러가 발생한 데이터 유닛의 번호에 근거하여 에러가 발생한 데이터 유닛들을 포함하는 MAC 페이로드를 구성한다.The control unit 51 stores the packet number for the data unit 570 based on the assigned serial number. Write in field 71, check sum for field 71 in PN CRC field 72, write the clock count value in Time Stamp field 73, write in data unit 570 The checksum is recorded in the CRC field 74 to generate a delimiter. The generated payload is combined with a predetermined number of data units 570 to form a MAC payload. If an error occurs in some data units after receiving the block ACK frame and retransmission is necessary, the controller 51 generates an error based on the number of the data unit in which an error is notified from the bitmap processor 582. Configure a MAC payload that includes data units.

버퍼(54)는 상기 구성된 MAC 페이로드를 일시 저장하였다가 이를 MAC 모듈(630)로 내려 보낸다.The buffer 54 temporarily stores the configured MAC payload and sends it to the MAC module 630.

한편, 다른 무선 디바이스로부터 데이터 프레임이 수신된 경우에는 검사합 체크부(55)가 동작한다. 검사합 체크부(55)는 상기 Packet No. 필드(71)에 기록된 값에 대한 검사합과 PN CRC 필드(72)에 기록된 값이 동일한 지를 체크한다. 그리고, 데이터 유닛에 대한 검사합과 CRC 필드(74)에 기록된 값이 동일한 지를 체크한다. 제어부(51)는 상기 체크 결과에 따라서 에러가 없는 데이터 유닛을 버퍼(54)에 저장하고 에러가 존재하는 데이터 유닛은 버린다. 또한, 상기 체크 결과를 비트맵 처리부(582)에 제공한다.On the other hand, when a data frame is received from another wireless device, the checksum check unit 55 operates. The checksum check unit 55 is the Packet No. It is checked whether the checksum for the value recorded in the field 71 and the value recorded in the PN CRC field 72 are the same. Then, it is checked whether the check sum for the data unit and the value recorded in the CRC field 74 are the same. The control unit 51 stores the data unit having no error in the buffer 54 according to the check result, and discards the data unit having an error. In addition, the check result is provided to the bitmap processing unit 582.

어플리케이션(510)으로부터 복수의 TS가 생성된다고 할 때, 계층 별로 생성되는 패킷의 형태는 도 14와 같이 도시될 수 있다. 데이터 처리부(580)는 어플리케이션(510)에서 생성된 복수의 TS 중 MAC 페이로드에 수용될 수 있는 12개의 TS(TS1 내지 TS12)와 구분자(음영으로 표시됨)를 결합하여 MAC 페이로드를 생성한다.When a plurality of TSs are generated from the application 510, a form of a packet generated for each layer may be illustrated as shown in FIG. 14. The data processor 580 generates a MAC payload by combining twelve TSs (TS1 to TS12) that can be accommodated in the MAC payload among the plurality of TSs generated by the application 510 and a separator (indicated by shades).

상기 생성된 MAC 페이로드는 MAC 모듈(530)로 전달되는데, MAC 모듈(530)의 입장에서는 상기 전달되는 MAC 페이로드는 MSDU(MAC Service Data Unit)로 인식될 것이다. MAC 모듈(530)은 상기 MAC 페이로드에 MAC 헤더를 부가하여 MPDU(MAC Protocol Data Unit)을 생성한다. 마지막으로, PHY 모듈(540)은 상기 MPDU 프레임을 전달받아 여기에 PHY 헤더를 부가함으로써 최종적으로 전송할 데이터 프레임을 완성한다.The generated MAC payload is delivered to the MAC module 530. From the perspective of the MAC module 530, the delivered MAC payload will be recognized as a MAC Service Data Unit (MSDU). The MAC module 530 generates a MAC Protocol Data Unit (MPDU) by adding a MAC header to the MAC payload. Finally, the PHY module 540 receives the MPDU frame and adds a PHY header to it to complete the data frame to be finally transmitted.

다시 도 12로 돌아가면, 비트맵 처리부(582)는 수신 디바이스(600)로부터 전송된 블록 ACK 프레임에 포함되는 비트맵을 분석한다. 즉, 비트맵을 구성하는 각각의 비트를 판독하여 전송된 데이터 프레임에 포함된 데이터 유닛 중 에러가 발생된 것을 찾아내고, 그 결과를 페이로드 처리부(581)에 통지한다.12, the bitmap processor 582 analyzes the bitmap included in the block ACK frame transmitted from the receiving device 600. That is, each bit constituting the bitmap is read to find out that an error has occurred among the data units included in the transmitted data frame, and the payload processing unit 581 is notified of the result.

도 15는 이러한 비트맵 처리부(582)의 구성을 보다 세부적으로 나타낸 도면으로서, 비트맵 처리부(582)는 예를 들어, 제어부(61), 비트맵 생성부(62), 비트맵 판독부(63), 및 버퍼(64)로 이루어질 수 있다. 비트맵 판독부(63)는 블록 ACK 프레임에 포함된 비트맵(도 4의 47)을 판독하여 전송한 데이터 프레임에 포함된 데이터 유닛들 각각의 에러 여부를 파악하여 그 결과를 제어부(61)를 통하여 페이로드 처리부(581)에 제공한다. 한편, 비트맵 생성부(62)는 페이로드 처리부(581)에서 수행된 검사합 체크에 근거하여 각 데이터 유닛에 대한 수신 에러 여부를 표시하는 비트맵을 작성한다. 상기 작성된 비트맵은 버퍼(64)에 일시 저장된 후 MAC 모듈(530)로 전달된다.15 is a diagram showing in more detail the configuration of the bitmap processing unit 582. The bitmap processing unit 582 is, for example, a control unit 61, a bitmap generation unit 62, and a bitmap reading unit 63. As shown in FIG. ), And a buffer 64. The bitmap reader 63 reads the bitmap (47 of FIG. 4) included in the block ACK frame to determine whether an error occurs in each of the data units included in the transmitted data frame, and determines the result of the controller 61. The payload processing unit 581 is provided. On the other hand, the bitmap generation unit 62 creates a bitmap indicating whether a reception error for each data unit is performed based on the checksum check performed by the payload processing unit 581. The created bitmap is temporarily stored in the buffer 64 and then transferred to the MAC module 530.

MAC 모듈(530)은 데이터 처리부(580)로부터 제공된 MAC 페이로드에 MAC 헤더를 부가하여 MPDU를 생성한다. 상기 MAC 헤더의 구성은 도 5에서 살펴 본 바와 같다. MAC 모듈(530)은 소프트웨어 형태로 구현되는 소프트웨어 MAC 모듈(531)과, 하 드웨어 형태로 구현되는 하드웨어 MAC 모듈(533)과, 상기 모듈들(531, 533) 간의 통신을 중계하는 인터페이스(532)를 포함하여 구성될 수 있다. 소프트웨어 MAC 모듈(531)은 시간 임계적(time-critical)이지 않은 MAC 기능(MAC function)을 주로 담당하고, 하드웨어 MAC 모듈(531)은 시간 임계적인 MAC 기능을 주로 담당한다. The MAC module 530 generates an MPDU by adding a MAC header to the MAC payload provided from the data processor 580. The configuration of the MAC header is as described with reference to FIG. The MAC module 530 is a software MAC module 531 implemented in a software form, a hardware MAC module 533 implemented in a hardware form, and an interface 532 for relaying communication between the modules 531 and 533. It may be configured to include. Software MAC module 531 is primarily responsible for non-time-critical MAC functions, and hardware MAC module 531 is primarily responsible for time-critical MAC functions.

PHY 모듈(540)은 MAC 모듈(530)에서 전달되는 MPDU를 수신하여 PPDU(Packet Protocol Data Unit)를 생성하고 이를 무선 신호를 변환하여 전송한다. 여기서, 상기 PPDU는 본 발명에 따른 데이터 프레임을 의미한다. PHY 모듈(540)은 다시 기저 대역 신호를 처리하는 베이스밴드 프로세서(base band processor; 91)와 상기 처리된 기저 대역 신호로부터 실제 무선 신호를 생성하고 안테나(550)를 통하여 공중(air)으로 전송하는 RF(radio frequency) 모듈(92)로 세분화 될 수 있다.The PHY module 540 receives the MPDU delivered from the MAC module 530 to generate a packet protocol data unit (PPDU), converts the radio signal, and transmits the converted wireless signal. Here, the PPDU means a data frame according to the present invention. The PHY module 540 again generates a baseband processor 91 that processes the baseband signal, and generates an actual radio signal from the processed baseband signal and transmits it to the air through the antenna 550. It may be subdivided into radio frequency (RF) modules 92.

상기와 같이 어플리케이션(510)이 복잡한 알고리즘을 통하여 데이터 유닛을 생성하는 경우도 있을 수 있지만, 상기 데이터 유닛이 TS와 같이 방송 수신기로부터 직접 출력되는 신호인 경우에는 직접 I/O 포트(560)를 통하여 입력되어 하드웨어 MAC 모듈(533)로 전달되도록 구현할 수도 있다. 이와 같이 구현되면 송신 디바이스(500)의 메인 CPU(미도시됨)를 사용하지 않아도 되고 처리 속도도 더 빨라질 수 있다. 다만, 이 경우에도 상기 데이터 처리부(580)에서의 처리 과정은 필요하므로, 상기 데이터 처리부(580)는 하드웨어 MAC 모듈(533)에 포함된 하드웨어 모듈로 구현되어야 할 것이다.As described above, the application 510 may generate a data unit through a complicated algorithm. However, when the data unit is a signal output directly from a broadcast receiver such as a TS, the application 510 may directly generate a data unit through the I / O port 560. It may be implemented to be input and delivered to the hardware MAC module 533. This implementation eliminates the need to use a main CPU (not shown) of the transmitting device 500 and can result in faster processing speeds. However, even in this case, since the processing in the data processing unit 580 is required, the data processing unit 580 should be implemented as a hardware module included in the hardware MAC module 533.

한편, 수신 디바이스(600)도 송신 디바이스(500)와 마찬가지의 구성을 갖는다. 수신 디바이스(600)는 안테나(650)를 통하여 송신 디바이스(500)로부터 RF 신 호를 수신하고, 수신된 RF 신호를 PHY 모듈(640)을 통하여 처리하여 MPDU를 복원하고, 이를 MAC 모듈(630)에 전달한다. On the other hand, the receiving device 600 also has the same structure as the transmitting device 500. The receiving device 600 receives an RF signal from the transmitting device 500 through the antenna 650, processes the received RF signal through the PHY module 640, and restores the MPDU, which is then processed by the MAC module 630. To pass on.

MAC 모듈(630)은 상기 MPDU에서 MAC 헤더를 제거한 MAC 페이로드를 데이터 처리부(680)에 전달한다. 데이터 처리부(680) 중 페이로드 처리부(681)는 상기 MAC 페이로드에 포함된 구분자(도 4의 43)를 판독하는데, 구체적으로 상기 구분자에는 Packet No. 필드(71), PN CRC 필드(72), Time Stamp 필드(73), 및 CRC 필드(74)가 포함된다. 한편, MAC 모듈(630)은 데이터 처리부(680)로부터 비트맵이 제공되는 경우 이에 MAC 헤더를 부가하고 PHY 모듈(640)로 전달한다.The MAC module 630 transmits the MAC payload from which the MAC header is removed from the MPDU to the data processor 680. The payload processing unit 681 of the data processing unit 680 reads a delimiter (43 in FIG. 4) included in the MAC payload. Field 71, PN CRC field 72, Time Stamp field 73, and CRC field 74. Meanwhile, when a bitmap is provided from the data processor 680, the MAC module 630 adds a MAC header to the PHY module 640.

페이로드 처리부(681)는 Packet No. 필드(71)가 에러 없어 전송되었는가를 PN CRC 필드(72)를 통하여 확인한 후, Packet No. 필드(71)에 기록된 데이터 유닛의 번호를 판독한다. 그리고, CRC 필드(74)를 통하여 상기 번호를 갖는 데이터 유닛이 에러 없이 전송되었는가를 파악한다. 페이로드 처리부(681)는 에러 없이 전송된 데이터 유닛(670)을 소정의 버퍼(미도시됨)에 저장하였다가, 디바이스 드라이버(620)의 수신 큐(622)에 제공한다.Payload processing unit 681 is a Packet No. After checking through the PN CRC field 72 whether the field 71 was transmitted without error, Packet No. The number of the data unit recorded in the field 71 is read out. Then, the CRC field 74 determines whether the data unit having the number has been transmitted without error. The payload processor 681 stores the data unit 670 transmitted without error in a predetermined buffer (not shown) and provides the received data unit 670 to the reception queue 622 of the device driver 620.

한편, 비트맵 처리부(682)는 수신된 데이터 프레임에 포함된 데이터 유닛 중의 에러 발생 여부를 나타내는 비트들, 즉 비트맵을 생성하여 MAC 모듈(630)에 제공한다. 상기 비트맵의 구조는 도 10의 설명에서 전술한 바 있다.On the other hand, the bitmap processor 682 generates bits that indicate whether an error occurs in the data unit included in the received data frame, that is, a bitmap, and provides the bitmap to the MAC module 630. The structure of the bitmap has been described above with reference to FIG. 10.

수신 큐(622)는 데이터 처리부(680)로부터 제공되는 데이터 유닛(예: TS)을 일시 저장하였다가 선입선출(FIFO)에 따라서 배출된 데이터 유닛을 어플리케이션(610)에 전달한다.The reception queue 622 temporarily stores a data unit (eg, TS) provided from the data processing unit 680 and delivers the data unit discharged according to the first in, first out (FIFO) to the application 610.

어플리케이션(610)은 전달된 데이터 유닛을 입력으로 하여 응용 프로그램을 실행하고 그 실행 결과(예: 디코딩된 오디오/비디오 신호)를 표시부(690)를 통하여 외부로 출력한다.The application 610 executes the application program using the transferred data unit as an input and outputs the execution result (for example, the decoded audio / video signal) to the outside through the display unit 690.

한편, 하드웨어 MAC 모듈(633)에 데이터 처리부(680)가 하드웨어 모듈로서 구현되어 있는 경우라면, PHY 모듈(640)로부터 제공되는 MPDU는 직접 처리되어 데이터 유닛(570)으로 복원될 수 있고, 복원된 데이터 유닛(570)은 I/O 포트를 통하여 출력될 수 있다. 출력된 데이터 유닛(570)이 TS와 같은 A/V 스트림 형태로 되어 있다면, 외부의 비디오 디코더(video decoder)는 I/O 포트로부터 출력된 A/V 스트림을 직접 처리하여 오디오 또는 비디오를 복원할 수 있다.Meanwhile, if the data processing unit 680 is implemented as a hardware module in the hardware MAC module 633, the MPDU provided from the PHY module 640 may be directly processed and restored to the data unit 570. The data unit 570 may be output through an I / O port. If the output data unit 570 is in the form of an A / V stream such as TS, an external video decoder may directly process the A / V stream output from the I / O port to restore audio or video. Can be.

이상의 도 12에 도시된 형태의 MAC 모듈(530) 및 PHY 모듈(540)의 구성은 일 예에 불과하며, 본 발명은 이에 한정되지는 않는다.The configuration of the MAC module 530 and the PHY module 540 of the form shown in FIG. 12 is merely an example, and the present invention is not limited thereto.

본 명세서에 개시된 실시예들과 연관하여 설명된 여러 예시적인 논리 블록들, 모듈들, 및 회로들은 본 명세서에서 설명된 기능들을 수행하도록 설계된 범용 프로세서, DSP(digital signal processor), ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 다른 프로그램가능 논리 장치, 이산 게이트 또는 트랜지스터 논리 장치, 이산 하드웨어 성분들, 또는 그것들의 임의의 결합으로 구현되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 선택적으로는, 그 프로세서는 임의의 종래 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 장치들의 결합, 예컨대, DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코 어와 관련한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성으로 구현될 수 있다.The various illustrative logic blocks, modules, and circuits described in connection with the embodiments disclosed herein are general purpose processors, digital signal processors (DSPs), application specific integrated (ASIC) designed to perform the functions described herein. circuit, field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or any combination thereof. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented in a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.

이상에서는 송신 디바이스가 에러가 발생된 데이터 유닛만을 재전송하는 것으로 하여 설명하였지만, 이외에도 다양한 재전송 메커니즘을 생각할 수 있다. 이하에서는, 대역폭(bandwidth)을 효율적으로 사용하는 재전송 메커니즘으로, Tx 전송률, 전송 데이터의 크기에 따른 적응(Adaptation), 분산, 중복 등의 다양한 방법을 이용한 재전송 방법들을 제시하고자 한다.In the above description, the transmitting device retransmits only the data unit in which an error has occurred, but various retransmission mechanisms can be considered. Hereinafter, as a retransmission mechanism using bandwidth effectively, a retransmission method using various methods such as Tx rate, adaptation according to the size of transmission data, distribution, redundancy, etc. will be presented.

최초에, 도 16과 같은 복수의 데이터 유닛을 포함하는 데이터 프레임이 송신 디바이스로부터 수신 디바이스에 전송될 때, 이 중에서 TS 2, 6, 및 8은 정상적으로 전송되지 못하였다고 가정한다. 이 때, 본 발명에서 제안하는 재전송 매커니즘은 도 17a 내지 도 17h에서 도시하는 바와 같다.Initially, when a data frame including a plurality of data units as shown in Fig. 16 is transmitted from the transmitting device to the receiving device, it is assumed that TS 2, 6, and 8 of these are not normally transmitted. At this time, the retransmission mechanism proposed in the present invention is as shown in Figs. 17A to 17H.

도 17a는 전술한 바와 같이 에러가 발생한 데이터 유닛만을 포함한 데이터 프레임을 재전송하는 경우를 나타낸다. 이와 같이, 전송을 실패한 데이터 유닛만으로 구성된 데이터 프레임은 전송하면, 재전송시 데이터 프레임의 크기가 줄어들게 되기 때문에 에러가 반복될 가능성을 줄이는 효과가 있다.17A illustrates a case of retransmitting a data frame including only a data unit in which an error occurs as described above. As such, when a data frame composed of only data units that have failed to be transmitted is transmitted, the size of the data frame is reduced during retransmission, thereby reducing the possibility of error repetition.

하지만, 반드시 도 17a의 예에 한정될 필요는 없고 도 17b와 같이 송신 디바이스가 최초 전송을 시도한 데이터 프레임을 그대로 재전송할 수도 있다. However, the present invention is not necessarily limited to the example of FIG. 17A, and may retransmit a data frame in which the transmitting device attempts the first transmission as shown in FIG. 17B.

또한, 도 17a의 경우는 하나의 데이터 프레임에 총 12개의 데이터 유닛을 담을 수 있다고 할 때, MAC 페이로드 중 낭비되는 부분이 존재한다고 볼 수 있다. 따라서 도 17c와 같이 에러가 발생한 데이터 유닛(TS2, TS6, 및 TS8)과 그 이 후 전 송할 데이터 유닛(TS13 내지 TS21)을 결합한 데이터 프레임을 재전송하는 방법도 있다. 이와 같이, 에러가 발생한 데이터 유닛과 이후 전송할 데이터 유닛을 함께 전송하게 되면 대역폭 사용 효율이 향상될 뿐만 아니라, 상기 데이터 유닛이 스트리밍 데이터인 경우 스트리밍 속도의 향상을 꾀할 수도 있다.In addition, in the case of FIG. 17A, when a total of 12 data units can be contained in one data frame, it can be seen that there is a waste part of the MAC payload. Accordingly, there is also a method of retransmitting a data frame combining the data units TS2, TS6, and TS8 in which an error occurs, and the data units TS13 to TS21 to be transmitted thereafter. As such, when the data unit having an error and the data unit to be transmitted later are transmitted together, not only bandwidth use efficiency may be improved, but also the streaming speed may be improved when the data unit is streaming data.

또한, 에러 가능성이 높은 환경에서는 도 17a와 같은 재전송 메커니즘을 사용하더라도 다시 에러가 발생할 가능성이 있으므로, 도 17d와 같이 에러가 발생된 데이터 유닛을 복수개로 반복하여 데이터 프레임에 포함시키는 방법도 생각할 수 이다. In addition, in an environment with high error probability, an error may occur again even when the retransmission mechanism of FIG. 17A is used. Therefore, a method of repeatedly including a plurality of error-prone data units as shown in FIG. 17D may be considered. .

그런데, 일반적으로 전송 에러는 버스트 에러(burst error) 형태로 발생할 가능성이 크기 때문에, 도 17d와 같이 데이터 프레임을 구성한다면 확실한 전송을 보장하기 어려운 경우가 있다. 이 경우에는, 도 17e와 같이, 에러가 발생된 유닛들을 번갈아 반복적으로 데이터 프레임에 포함시킴으로써 버스트 에러에 대한 강인성(robustness)을 향상시킬 수 있다.However, in general, since transmission errors are likely to occur in the form of burst errors, it may be difficult to ensure reliable transmission if a data frame is configured as shown in FIG. 17D. In this case, as illustrated in FIG. 17E, the robustness against the burst error may be improved by repeatedly including the units in which the error occurs in the data frame.

이상에서 살펴 본 바와 같이, 도 17a의 실시예는 에러가 발생한 일부 데이터 유닛만을 재전송하기 때문에 네트워크 트래픽을 줄이는 효과가 있는 반면, 도 17d나 도 17e의 실시예는 데이터 프레임에 동일한 데이터 유닛을 반복 배치함으로써 일부 데이터 유닛이 손실되더라도 확실한 재전송을 보장하는 효과가 있다. 따라서, 이들 2가지의 장점을 혼합하여 일반적으로는 도 17a의 실시예와 같이 재전송하되, 마지막 재전송인 경우에만 도 17d나 도 17e의 실시예와 같이 재전송하는 방법을 생각할 수 있다. As described above, while the embodiment of FIG. 17A retransmits only some data units in which an error occurs, network traffic can be reduced, whereas the embodiment of FIG. 17D or 17E repeatedly arranges the same data unit in a data frame. This ensures reliable retransmission even if some data units are lost. Therefore, a combination of these two advantages generally allows retransmission as in the embodiment of FIG. 17A, but only in the case of the last retransmission, a method of retransmission as in the embodiment of FIG. 17D or 17E can be considered.

만약, 마지막 재전송마저 실패하면 무선 통신 방식에 따라서는 아예 재전송을 포기하거나 상당한 시간이 경과한 이후에 재전송을 다시 시도하기도 한다. 어느 경우든 간에 재전송 한계(retry limit)에 해당하는 마지막 재전송마저 실패하게 되면 상당한 문제가 발생한다. 그러므로, 마지막 재전송시에 만큼은 트래픽의 비효율을 감수하고서라도 도 17d나 도 17e와 같이 재전송을 시도하자는 것이다.If the last retransmission fails, depending on the wireless communication method, abandon the retransmission or retry the retransmission after a considerable time has elapsed. In either case, even if the last retransmission corresponding to the retry limit fails, significant problems arise. Therefore, at the time of the last retransmission, try to retransmit as shown in Fig. 17d or 17e even at the cost of traffic inefficiency.

도 17f는 도 17a의 실시예 및 도 17d의 실시예를 접목한 것으로서, 전송이 실패한 데이터 유닛만을 전송하되, 마지막 재전송시에는 재전송할 데이터 유닛을 반복하여 전체 MAC 페이로드를 모두 채운 후 재전송한다. 이 때, 재전송할 데이터 유닛은 연속하여 반복 배치한다.FIG. 17F combines the embodiment of FIG. 17A and the embodiment of FIG. 17D, and transmits only a data unit for which transmission failed, but at the last retransmission, the data unit to be retransmitted is repeatedly filled to fill all MAC payloads and then retransmitted. At this time, the data units to be resent are repeatedly arranged in succession.

한편, 도 17g는 도 17a의 실시예 및 도 17e의 실시예를 접목한 것으로서, 전송이 실패한 데이터 유닛만을 전송하되, 마지막 재전송시에는 재전송할 데이터 유닛을 교대로 반복하여 전체 MAC 페이로드를 모두 채운 후 재전송한다.Meanwhile, FIG. 17G is a combination of the embodiment of FIG. 17A and the embodiment of FIG. 17E, and transmits only data units for which transmission failed, but alternately repeats data units to be retransmitted to fill all MAC payloads at the last retransmission. Then resend.

뿐만 아니라, 이와 같은 재전송 메커니즘과 함께 링크 적응법(link adaptation)도 함께 적용할 수가 있다. 즉, TX rate, TX power, 안테나 타입(MIMO 또는 SISO(Single Input Single Output)) 등의 전송 파라미터를 변경하는 것이다. 이러한 파라미터의 변경은 MAC 모듈(530)에 의하여 수행될 수 있다. MAC 모듈(530)은 재전송이 반복됨에 따라서, TX rate를 낮추거나 TX power를 높이거나, MIMO 타입 전송에서 SISO 타입의 전송으로 변경하는 등의 조작에 의하여 보다 안정된 전송을 보장할 수 있다. 이하에서는, 이와 같은 링크 적응을 고려한 재전송 메커니즘(이하, '링크 적응 메커니즘'이라고 함)의 6가지 예를 살펴보기로 한다.In addition to this retransmission mechanism, link adaptation can be applied. That is, transmission parameters such as TX rate, TX power, and antenna type (MIMO or SISO (Single Input Single Output) are changed. The change of this parameter may be performed by the MAC module 530. As the retransmission is repeated, the MAC module 530 may ensure more stable transmission by lowering the TX rate, increasing the TX power, or changing the transmission from the MIMO type transmission to the SISO type transmission. Hereinafter, six examples of retransmission mechanisms (hereinafter, referred to as 'link adaptation mechanisms') in consideration of such link adaptation will be described.

첫째로, 재전송 횟수에 따라서 전송률(Tx rate)을 적응적으로 변경하는 방법이 있다. 이는 소정 개수의 '재전송 횟수 구간' 및 이에 대응되는 전송률을 설정한 다음, 실제 재전송되는 횟수에 해당되는 전송률로 상기 데이터 프레임을 재전송하는 것이다. 상기 재전송 횟수와 상기 전송률은 역비례 관계에 있다.First, there is a method of adaptively changing the Tx rate according to the number of retransmissions. This is to set a predetermined number of retransmission intervals and corresponding data rates, and then retransmit the data frames at a data rate corresponding to the number of times of actual retransmission. The number of retransmissions and the transmission rate are inversely related.

예를 들어, '재전송 횟수 구간'을 1이하 구간, 2이상 3이하 구간, 4이상 5이하 구간, 및 6이상 7이하 구간으로 나누고, 각각 108Mbps, 96Mbps, 72Mbs, 및 54Mbps를 설정한다고 하자. 그러면, 이에 따라서 실제로 첫 재전송시에는 108Mbps로 전송하지만, 그 다음 추가적으로 재전송이 필요하면 해당 전송률(96, 72, 또는 54Mbps)로 재전송을 수행하게 된다.For example, suppose that the number of retransmission intervals is divided into 1 or less sections, 2 or more and 3 or less sections, 4 or more and 5 or less sections, and 6 or more and 7 or less sections, and 108 Mbps, 96 Mbps, 72 Mbs, and 54 Mbps, respectively. Therefore, according to this, the first retransmission is actually performed at 108 Mbps, but if additional retransmission is needed, retransmission is performed at the corresponding transmission rate (96, 72, or 54 Mbps).

둘째로, 재전송되는 데이터 프레임의 크기에 따라서 전송률을 적응적으로 변경하는 방법이 있다. 이는 소정 개수의 '재전송 크기 구간' 및 이에 대응되는 전송률을 설정한 다음, 실제 재전송되는 데이터 프레임의 크기에 따라 해당되는 전송률로 상기 데이터 프레임을 재전송하는 것이다. 상기 데이터 프레임의 크기와 상기 전송률은 역비례 관계에 있다.Second, there is a method of adaptively changing the data rate according to the size of the data frame to be retransmitted. This is to set a predetermined number of 'retransmission size intervals' and corresponding data rates, and then retransmit the data frames at the corresponding data rates according to the size of the data frames to be retransmitted. The size of the data frame and the data rate are inversely related.

예를 들어, 재전송되는 데이터 프레임의 크기를 이에 포함되는 데이터 유닛의 개수로 정의하고, '재전송 크기 구간'을 데이터 유닛이 4이하인 구간, 5 이상 8이하인 구간, 9이상 12이하인 구간으로 나누고, 각각 108Mbps, 72Mbs, 및 54Mbps를 설정한다고 하자. 그러면, 실제 재전송 시에 데이터 프레임이 갖는 데이터 유닛의 수에 따라서 108Mbps, 72Mbs, 또는 54Mbps로 상기 데이터 프레임을 재전송하게 된다. 재전송을 반복함에 따라서 전송이 성공된 데이터 유닛은 그 다음 재전송시에는 포함되지 않으므로 재전송 크기는 줄어들 수 있고, 따라서 전송률은 재전송이 반복됨에 따라서 증가될 것이다.For example, the size of a data frame to be retransmitted is defined as the number of data units included therein, and the 'retransmission size section' is divided into a section having a data unit of 4 or less, a section of 5 or more and 8 or less, and a section of 9 or more and 12 or less, respectively. Assume that 108 Mbps, 72 Mbs, and 54 Mbps are set. Then, in actual retransmission, the data frame is retransmitted at 108 Mbps, 72 Mbs, or 54 Mbps depending on the number of data units of the data frame. As the retransmission is repeated, the data unit that has been successfully transmitted is not included in the next retransmission, so the retransmission size can be reduced, and thus the transmission rate will increase as the retransmission is repeated.

셋째로, 재전송 횟수에 따라 재전송 크기(Tx Size)를 적응적으로 변경하는 방법이 있다. 이는 소정 개수의 '재전송 횟수 구간' 및 이에 대응되는 재전송 크기를 설정한 다음, 실제 재전송되는 데이터 프레임의 크기에 따라 해당되는 재전송 크기로 상기 데이터 프레임을 재전송하는 것이다. 상기 재전송 횟수와 상기 재전송 크기는 비례 관계에 있다. 재전송되는 데이터 프레임의 전송 크기는 이에 포함되는 데이터 유닛의 개수로 정의될 수 있다.Third, there is a method of adaptively changing the retransmission size (Tx Size) according to the number of retransmissions. This is to set a predetermined number of retransmission intervals and a corresponding retransmission size, and then retransmit the data frame with a corresponding retransmission size according to the size of the actual retransmission data frame. The number of retransmissions and the retransmission size are in proportion. The transmission size of the retransmitted data frame may be defined as the number of data units included therein.

도 17h를 참조하여, '재전송 횟수 구간'을 3이하 구간, 4이상 5이하 구간, 및 6이상 7이하 구간으로 나누고, 각각 4 데이터 유닛, 8 데이터 유닛, 및 12 데이터 유닛으로 설정한다고 하자.Referring to FIG. 17H, it is assumed that a 'number of retransmission intervals' is divided into three or less sections, four or more sections, five or less sections, and six or more sections and seven sections or sections, and set four data units, eight data units, and 12 data units, respectively.

제1차 재전송에서, 실제 재전송되어야 할 데이터 유닛은 세 개(TS2, TS6, 및 TS8)이지만, 상기 설정한 규칙에 따라서 네 개의 데이터 유닛을 포함한 데이터 프레임을 재전송한다. 이 때 추가되는 데이터 유닛은(다른 것으로 하여도 무방하지만) 제일 앞서는 데이터 유닛(TS2)으로 한다. 제1차 재전송에서 TS8의 전송만이 성공되었다고 하면, 제2차 재전송에서는 TS2 및 TS6이 반복 배치된 4개의 데이터 유닛을 갖는 데이터 프레임을 재전송한다.In the first retransmission, there are three data units to be actually retransmitted (TS2, TS6, and TS8), but retransmit the data frame including four data units according to the above-described rules. The data unit added at this time (although it may be another one) is regarded as the data unit TS2 at the forefront. If only transmission of TS8 is successful in the first retransmission, the second retransmission retransmits the data frame having four data units in which TS2 and TS6 are repeatedly arranged.

만약, 제4차 재전송시에도 TS2 및 TS6을 여전히 재전송하여야 한다면, 이 때에는 재전송 횟수 구간이 4이상 5이하의 구간에 해당하므로, 8 데이터 유닛을 전송하여야 한다. 따라서, TS2 및 TS6이 반복 배치된 8개의 데이터 유닛을 갖는 데이터 프레임을 재전송한다.If the TS2 and TS6 still need to be retransmitted in the fourth retransmission, then eight data units should be transmitted since the number of retransmissions corresponds to four or more sections. Therefore, TS2 and TS6 retransmit the data frame having eight data units repeatedly arranged.

넷째로, 재전송되어야 하는 데이터 유닛의 개수에 따라 재전송 크기(Tx Size)를 적응적으로 변경하는 방법이 있다. 이는 소정 개수의 '데이터 유닛 개수 구간' 및 이에 대응되는 재전송 크기를 설정한 다음, 해당 재전송 크기로 상기 데이터 프레임을 재전송하는 것이다. 상기 데이터 유닛의 개수와 상기 재전송 크기는 비례 관계에 있다.Fourth, there is a method of adaptively changing the retransmission size (Tx Size) according to the number of data units to be retransmitted. This is to set a predetermined number of data unit number intervals and a corresponding retransmission size, and then retransmit the data frame at the corresponding retransmission size. The number of data units and the retransmission size are in proportion.

도 17i를 참조하여, '데이터 유닛 개수 구간'을 4이하 구간, 5이상 8이하 구간, 및 9이상 12이하 구간으로 나누고, 각각 4 데이터 유닛, 8 데이터 유닛, 및 12 데이터 유닛으로 설정한다고 하자.Referring to FIG. 17I, it is assumed that a 'number of data unit sections' is divided into four or less sections, five or more sections, eight or less sections, and nine or more sections and 12 sections, and set as four data units, eight data units, and twelve data units, respectively.

제1차 재전송에서, 실제 재전송되어야 할 데이터 유닛은 세 개(TS2, TS6, 및 TS8)이지만, 상기 설정한 규칙에 따라서 네 개의 데이터 유닛을 포함한 데이터 프레임을 재전송한다. 제1차 재전송에서 TS8의 전송만이 성공되었다고 하면, 제2차 재전송에서는 TS2 및 TS6이 반복 배치된 4개의 데이터 유닛을 갖는 데이터 프레임을 재전송한다. In the first retransmission, there are three data units to be actually retransmitted (TS2, TS6, and TS8), but retransmit the data frame including four data units according to the above-described rules. If only transmission of TS8 is successful in the first retransmission, the second retransmission retransmits the data frame having four data units in which TS2 and TS6 are repeatedly arranged.

제2차 전송시에 TS6의 전송이 성공하면, 이제 남은 재전송할 데이터 유닛은 TS2 하나이지만 상기 설정한 규칙에 따라 TS2를 4번 중복하여 배치한 데이터 프레임을 재전송하게 된다.If the transmission of TS6 succeeds in the second transmission, the remaining data unit to be retransmitted is one TS2 but retransmits the data frame in which TS2 is duplicated four times according to the above-described rule.

기존의 IEEE 802.11 표준에 따른 통신 방식과 호환을 이루기 위하여, 이상 본 발명에 따른 프레임 전송 및 블록 ACK 메커니즘은 선택적으로 사용될 수도 있다. 예를 들어, PHY 헤더의 reserved bit(61, 62)를 이용하여 그 사용 여부를 기록 할 수 있다. In order to be compatible with the communication scheme according to the existing IEEE 802.11 standard, the frame transmission and block ACK mechanism according to the present invention may be selectively used. For example, whether to use the reserved bit (61, 62) of the PHY header can be recorded.

도 18은 본 발명의 일 실시예에 따른 무선 디바이스 간의 통신 방법을 설명하는 흐름도이다. 상기 방법은 크게 세 가지 과정으로 나뉠 수 있다. 구체적으로 송신 디바이스(500)가 복수의 데이터 유닛을 포함하는 제1 데이터 프레임(최초 전송되는 프레임)을 수신 디바이스(600)에 송신하는 단계(S10)와, 상기 수신 디바이스(600)가 상기 데이터 프레임에 대한 응답으로서 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 송신 디바이스(500)에 송신하는 단계(S20)와, 상기 송신 디바이스(500)가 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 의거할 때 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛을 포함하는 제2 데이터 프레임(재전송 데이터 프레임)을 상기 수신 디바이스(600)에 송신하는 단계로 이루어진다.18 is a flowchart illustrating a communication method between wireless devices according to an embodiment of the present invention. The method can be divided into three main processes. Specifically, the transmitting device 500 transmits a first data frame (first transmitted frame) including a plurality of data units to the receiving device 600 (S10), and the receiving device 600 transmits the data frame. In step S20, transmitting a receipt to each of the plurality of data units as a response to the transmitting device 500, and wherein the transmitting device 500 is based on the received acknowledgment among the plurality of data units. And transmitting to the receiving device 600 a second data frame (retransmission data frame) comprising a data unit which is determined to have not been normally transmitted.

먼저, S10 단계를 살펴 보면, 송신 디바이스(500)의 페이로드 처리부(581)는 어플리케이션(510)으로부터 제공되는 복수의 데이터 유닛 및 구분자(도 4의 43)를 포함하는 MAC 페이로드를 생성한다(S11). 그리고, MAC 모듈(530)은 상기 MAC 페이로드에 MAC 헤더를 부가하여 MPDU를 생성한다(S12). PHY 모듈(540)은 상기 MPDU에 PHY 헤더를 부가하여 제1 데이터 프레임을 생성하고, 이를 수신 디바이스(600)에 송신한다(S13).First, referring to step S10, the payload processing unit 581 of the transmitting device 500 generates a MAC payload including a plurality of data units and a separator (43 in FIG. 4) provided from the application 510 ( S11). The MAC module 530 generates an MPDU by adding a MAC header to the MAC payload (S12). The PHY module 540 adds a PHY header to the MPDU to generate a first data frame and transmits it to the receiving device 600 (S13).

다음, S20 단계를 살펴 보면, 먼저 상기 제1 데이터 프레임은 PHY 모듈(640) 및 MAC 모듈(630)을 거쳐서 페이로드 처리부(681)에 제공된다. 페이로드 처리부(681)는 제공된 제1 데이터 프레임에 포함되는 데이터 유닛의 에러 여부를 체크하 고(S21), 에러가 없는 것으로 판단된 데이터 유닛을 버퍼링한다(S22). 상기 에러 여부 체크 결과는 비트맵 처리부(682)로 제공된다. 비트맵 처리부(682)는 상기 에러 여버 체크 결과에 따라서 제1 데이터 프레임에 포함되는 데이터 유닛 각각에 대한 수신 확인을 포함하는 비트맵을 생성한다(S23), MAC 모듈(630)은 생성된 비트맵에 MAC 헤더가 부가하고(S24), PHY 모듈(640)은 여기에 PHY 헤더를 부가하여 블록 ACK 프레임을 생성한 후, 이를 송신 디바이스(500)에 송신한다(S25).Next, referring to step S20, first, the first data frame is provided to the payload processor 681 through the PHY module 640 and the MAC module 630. The payload processing unit 681 checks whether the data unit included in the provided first data frame is in error (S21), and buffers the data unit determined to be free of errors (S22). The error check result is provided to the bitmap processor 682. The bitmap processing unit 682 generates a bitmap including an acknowledgment for each data unit included in the first data frame according to the error margin check result (S23), and the MAC module 630 generates the bitmap. The MAC header is added to the terminal (S24), and the PHY module 640 adds the PHY header thereto to generate a block ACK frame, and then transmits it to the transmitting device 500 (S25).

마지막으로, S30 단계를 살펴 보면, 먼저 상기 블록 ACK 프레임은 송신 디바이스(500)의 PHY 모듈(540) 및 MAC 모듈(530)을 거쳐서 비트맵 처리부(582)에 제공된다. 비트맵 처리부(582)는 블록 ACK 프레임에 포함되는 비트맵을 판독하여 에러가 발생한 데이터 유닛을 판단한다(S32). 상기 판단된 데이터 유닛의 번호는 페이로드 처리부(581)에 제공된다. 페이로드 처리부(581)는 상기 에러가 발생된 것으로 판단된 데이터 유닛, 및 구분자를 포함하는 MAC 페이로드를 생성한다(S33). 그러면, MAC 모듈(530)은 상기 MAC 페이로드에 MAC 헤더를 부가하여 MPDU를 생성하고(S34). PHY 모듈(540)은 상기 MPDU에 PHY 헤더를 부가하여 제2 데이터 프레임을 생성하고, 이를 수신 디바이스(600)에 송신한다(S35).Finally, referring to step S30, the block ACK frame is first provided to the bitmap processor 582 via the PHY module 540 and the MAC module 530 of the transmitting device 500. The bitmap processing unit 582 determines a data unit in which an error occurs by reading the bitmap included in the block ACK frame (S32). The number of the determined data unit is provided to the payload processing unit 581. The payload processing unit 581 generates a MAC payload including a data unit and a separator that are determined to have occurred the error (S33). Then, the MAC module 530 adds a MAC header to the MAC payload to generate an MPDU (S34). The PHY module 540 generates a second data frame by adding a PHY header to the MPDU, and transmits it to the receiving device 600 (S35).

도 19은 본 발명에 따른 실험 결과와 "TGn Sync"에서 제시한 방법에 따른 실험 결과를 비교한 그래프이다. 상기 TGn Sync는 802.11n 표준화를 목적으로 여러 산업체가 참여한 그룹이다. 본 실험에서, 최고 전송률은 108Mbps이며, 하나의 데이터 프레임은 8개의 TS를 포함하는 것으로 하였다. 19 is a graph comparing experimental results according to the present invention and experimental results according to the method presented in "TGn Sync". The TGn Sync is a group participated by various industries for the purpose of 802.11n standardization. In this experiment, the maximum data rate is 108 Mbps, and one data frame includes eight TSs.

상기 그래프는 PER(Packet Error Rate)가 증가함에 따라 전송률(throughput) 이 어떻게 변화되는지를 보여 준다. PER이 낮은 상태, 즉 통신 환경이 좋은 상태에서는 양 결과가 큰 차이를 나타내지 않는다. 그러나, PER이 증가함에 따라서 TGn Sync의 결과는 급격히 전송률이 감소하는 데 비하여, 본 발명의 결과는 그 전송률의 감소가 상대적으로 완만하다는 것을 알 수 있다. 실제, 무선 통신 환경은 많은 무선 디바이스들이 경쟁적으로 무선 채널을 이용함에 따라 전송시 에러가 발생하기 쉬운 매우 열악한 환경이다. 따라서, 이러한 환경에서는 본 발명에서의 제안하는 방법들이 더욱 효율적으로 사용될 수 있을 것이다.The graph shows how the throughput changes as the Packet Error Rate (PER) increases. At low PER, that is, a good communication environment, the results do not show much difference. However, as the PER increases, the result of TGn Sync decreases rapidly, whereas the result of the present invention shows that the rate decreases relatively slowly. Indeed, a wireless communication environment is a very poor environment that is prone to errors in transmission as many wireless devices competitively use wireless channels. Therefore, in this environment, the proposed methods of the present invention may be used more efficiently.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

상술한 바와 같이 본 발명에 의하면, 하나의 데이터 프레임을 통하여 복수의 데이터 유닛을 효율적으로 전송할 수 있다.As described above, according to the present invention, a plurality of data units can be efficiently transmitted through one data frame.

상술한 바와 같이 본 발명에 의하면, 상기 데이터 프레임의 전송시에 일부 데이터 유닛에 에러가 발생한 경우, 이를 복구하는 효율적인 재전송 방법을 통하여 재전송시 에러 발생 가능성 또는 재전송 횟수를 감시시킴으로써 전체적인 전송효율이 증대되는 효과가 있다.As described above, according to the present invention, when an error occurs in some data units during the transmission of the data frame, the overall transmission efficiency is increased by monitoring the possibility of error occurrence or the number of retransmissions during retransmission through an efficient retransmission method for recovering the data frame. It works.

Claims (13)

(a) 복수의 데이터 유닛을 포함하는 제1 데이터 프레임을 수신 디바이스에 전송하는 단계;(a) transmitting a first data frame comprising a plurality of data units to a receiving device; (b) 상기 제1 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 수신 디바이스로부터 수신하는 단계; 및(b) receiving an acknowledgment for each of the plurality of data units from the receiving device in response to the first data frame; And (c) 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 근거하여 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛을 포함하는 제2 데이터 프레임을 전송하는 단계를 포함하며,(c) transmitting, from the plurality of data units, a second data frame including a data unit that is determined to not be normally transmitted based on the acknowledgment; 상기 복수의 데이터 유닛 각각에 대한 수신 확인은 하나의 수신 확인 프레임에 포함된 비트맵의 형태로 표현되는 무선 데이터 전송 방법.The acknowledgment for each of the plurality of data units is expressed in the form of a bitmap included in one acknowledgment frame. 제1항에 있어서, 상기 제2 데이터 프레임은The method of claim 1, wherein the second data frame 상기 에러가 발생한 데이터 유닛으로 이루어지는 무선 데이터 전송 방법.A wireless data transmission method comprising the data unit in which the error has occurred. 제1항에 있어서, 상기 제2 데이터 프레임은The method of claim 1, wherein the second data frame 상기 제1 데이터 유닛과 동일한 무선 데이터 전송 방법.The same wireless data transmission method as the first data unit. 제1항에 있어서, 상기 제2 데이터 프레임은The method of claim 1, wherein the second data frame 상기 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛 및 상기 제1 데이터 프레임에 포함된 데이터 유닛 이후의 데이터 유닛을 포함하는 무선 데이터 전송 방법.And a data unit determined to be not normally transmitted, and a data unit subsequent to the data unit included in the first data frame. 제1항에 있어서, 상기 제2 데이터 프레임은The method of claim 1, wherein the second data frame 상기 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛의 소정 개수를 연속적으로 반복하여 포함하는 무선 데이터 전송 방법.And continuously repeating a predetermined number of data units determined to be not normally transmitted. 제1항에 있어서, 상기 제2 데이터 프레임은The method of claim 1, wherein the second data frame 상기 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛이 2이상인 경우에는, 상기 2이상인 데이터 유닛을 교대로 반복하여 포함하는 무선 데이터 전송 방법.And when there are two or more data units that are determined to have not been normally transmitted, repeatingly including the two or more data units alternately. 제1항에 있어서, The method of claim 1, 상기 (c) 단계가 재전송 한계(retry limit)에 해당하는 마지막 재전송에 해당되지 않는 경우에는, 상기 제2 데이터 프레임은 상기 에러가 발생한 데이터 유닛으로 이루어지고,If the step (c) does not correspond to the last retransmission corresponding to the retry limit, the second data frame consists of the data unit in which the error occurs, 상기 (c) 단계가 상기 마지막 재전송에 해당되는 경우에는, 상기 정상적으로 전송되지 않은 것으로 판단되는 데이터 유닛의 소정 개수를 연속적으로 반복하여 포함하는 무선 데이터 전송 방법.If the step (c) corresponds to the last retransmission, wireless data transmission method comprising continuously repeating a predetermined number of data units that are determined to be not normally transmitted. 제1항에 있어서, The method of claim 1, 상기 (c) 단계가 재전송 한계(retry limit)에 해당하는 마지막 재전송에 해당되지 않는 경우에, 상기 제2 데이터 프레임은 상기 에러가 발생한 데이터 유닛으로 이루어지고,If the step (c) does not correspond to the last retransmission corresponding to a retry limit, the second data frame consists of the data unit in which the error occurred, 상기 (c) 단계가 상기 마지막 재전송에 해당되는 경우에, 상기 제2 데이터 프레임은 상기 에러가 발생한 데이터 유닛을 교대로 반복하여 포함하는 무선 데이터 전송 방법.And if step (c) corresponds to the last retransmission, the second data frame alternately repeats the data unit in which the error occurred. 제1항에 있어서, 상기 (c) 단계는The method of claim 1, wherein step (c) 복수의 재전송 횟수 구간을 설정하는 단계;Setting a plurality of retransmission number intervals; 상기 (c) 단계의 전송에서의 재전송 횟수가 상기 복수의 재전송 횟수 구간 중 어디에 해당되는지를 판단하는 단계; 및Determining where the number of retransmissions in the transmission of step (c) corresponds to one of the plurality of retransmission number intervals; And 상기 판단된 재전송 횟수 구간에 대응되는 전송률로 상기 제2 데이터 프레임을 전송하는 단계를 포함하는 무선 데이터 전송 방법.And transmitting the second data frame at a transmission rate corresponding to the determined number of retransmission intervals. 제1항에 있어서, 상기 (c) 단계는The method of claim 1, wherein step (c) 복수의 재전송 크기 구간을 설정하는 단계;Setting a plurality of retransmission size intervals; 상기 (c) 단계의 전송에서의 재전송 크기가 상기 복수의 재전송 크기 구간 중 어디에 해당되는지를 판단하는 단계; 및Determining where the retransmission size in the transmission of step (c) corresponds to among the plurality of retransmission size intervals; And 상기 판단된 재전송 크기 구간에 대응되는 전송률로 상기 제2 데이터 프레임 을 전송하는 단계를 포함하는 무선 데이터 전송 방법.And transmitting the second data frame at a transmission rate corresponding to the determined retransmission size interval. 제1항에 있어서, 상기 (c) 단계는The method of claim 1, wherein step (c) 복수의 재전송 횟수 구간을 설정하는 단계;Setting a plurality of retransmission number intervals; 상기 (c) 단계의 전송에서의 재전송 횟수가 상기 복수의 재전송 횟수 구간 중 어디에 해당되는지를 판단하는 단계; 및Determining where the number of retransmissions in the transmission of step (c) corresponds to one of the plurality of retransmission number intervals; And 상기 판단된 재전송 횟수 구간에 대응되는 재전송 크기로 상기 제2 데이터 프레임을 전송하는 단계를 포함하는 무선 데이터 전송 방법.And transmitting the second data frame in a retransmission size corresponding to the determined retransmission number interval. 제10항 또는 제11항에 있어서, 상기 재전송 크기는12. The method of claim 10 or 11, wherein the retransmission size is 제2 데이터 프레임에 포함되는 데이터 유닛의 수에 의하여 결정되는 무선 데이터 전송 방법.The wireless data transmission method is determined by the number of data units included in the second data frame. 제1항에 있어서, 상기 (c) 단계는The method of claim 1, wherein step (c) 복수의 데이터 유닛 개수 구간을 설정하는 단계;Setting a plurality of data unit number intervals; 상기 (c) 단계의 전송에서의 데이터 유닛의 개수가 상기 복수의 데이터 유닛 개수 구간 중 어디에 해당되는지를 판단하는 단계; 및Determining where the number of data units in the transmission of step (c) corresponds to among the plurality of data unit number intervals; And 상기 판단된 데이터 유닛 개수 구간에 대응되는 재전송 크기를 갖는 상기 제2 데이터 프레임을 전송하는 단계를 포함하는 무선 데이터 전송 방법.And transmitting the second data frame having a retransmission size corresponding to the determined number of data unit intervals.
KR1020050105004A 2005-08-12 2005-11-03 Method for effectively transmitting or receiving data via wireless network, and wireless device thereof KR100708190B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020050105004A KR100708190B1 (en) 2005-11-03 2005-11-03 Method for effectively transmitting or receiving data via wireless network, and wireless device thereof
CN201410354387.0A CN104104479B (en) 2005-08-12 2006-08-11 The method and apparatus for sending/receiving data via wireless network and wireless device
PCT/KR2006/003148 WO2007021097A1 (en) 2005-08-12 2006-08-11 Method and apparatus to transmit and/or receive data via wireless network and wireless device
MX2008001797A MX2008001797A (en) 2005-08-12 2006-08-11 Method and apparatus to transmit and/or receive data via wireless network and wireless device.
EP06823633.0A EP1913723B1 (en) 2005-08-12 2006-08-11 Method and apparatus to transmit and/or receive data via wireless network and wireless device
US11/503,155 US8321734B2 (en) 2005-08-12 2006-08-14 Method and apparatus to transmit and/or receive data via wireless network and wireless device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050105004A KR100708190B1 (en) 2005-11-03 2005-11-03 Method for effectively transmitting or receiving data via wireless network, and wireless device thereof

Publications (1)

Publication Number Publication Date
KR100708190B1 true KR100708190B1 (en) 2007-04-16

Family

ID=38181476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050105004A KR100708190B1 (en) 2005-08-12 2005-11-03 Method for effectively transmitting or receiving data via wireless network, and wireless device thereof

Country Status (1)

Country Link
KR (1) KR100708190B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101297065B1 (en) 2007-10-26 2013-08-19 에이저 시스템즈 엘엘시 Extraction of values from partially-corrupted data packets

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247048A (en) * 1996-03-08 1997-09-19 Y R P Ido Tsushin Kiban Kijiyutsu Kenkyusho:Kk Direct spread transmitting and receiving device
KR20020013845A (en) * 1999-04-09 2002-02-21 클라스 노린, 쿨트 헬스트룀 Method for minimizing feedback responses in arq protocols
KR20020041851A (en) * 2000-11-29 2002-06-05 오길록 Error control method in the multicasting transmission system using repeater server
KR20060018403A (en) * 2004-08-24 2006-03-02 삼성전자주식회사 Method and apparatus for transmitting block ack frame
KR20060091418A (en) * 2005-02-15 2006-08-21 삼성전자주식회사 Bitmap-based automatic repeat request engine and method for the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247048A (en) * 1996-03-08 1997-09-19 Y R P Ido Tsushin Kiban Kijiyutsu Kenkyusho:Kk Direct spread transmitting and receiving device
KR20020013845A (en) * 1999-04-09 2002-02-21 클라스 노린, 쿨트 헬스트룀 Method for minimizing feedback responses in arq protocols
KR20020041851A (en) * 2000-11-29 2002-06-05 오길록 Error control method in the multicasting transmission system using repeater server
KR20060018403A (en) * 2004-08-24 2006-03-02 삼성전자주식회사 Method and apparatus for transmitting block ack frame
KR20060091418A (en) * 2005-02-15 2006-08-21 삼성전자주식회사 Bitmap-based automatic repeat request engine and method for the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101297065B1 (en) 2007-10-26 2013-08-19 에이저 시스템즈 엘엘시 Extraction of values from partially-corrupted data packets

Similar Documents

Publication Publication Date Title
US8321734B2 (en) Method and apparatus to transmit and/or receive data via wireless network and wireless device
US9794028B2 (en) Automatic retransmission and error recovery for packet oriented point-to-multipoint communication
JP4047836B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION CONTROL PROGRAM
JP4440037B2 (en) Communication apparatus and communication method
EP1307990B1 (en) Flexible arq for packet data transmission
EP2923514B1 (en) Method and system for improving wireless link efficiency
US7444443B2 (en) Method of repeating data transmission between network devices by timing a first predetermined period after previous first data transmission
EP2109954B1 (en) Ack prioritization in wireless networks
US7945835B2 (en) Method and apparatus for efficiently retransmitting data in wireless network environment
US20070234170A1 (en) Method and system for communication of video information over wireless channels
KR100750170B1 (en) Method and apparatus for transmitting data frame efficiently in communication network
US8171365B2 (en) Communication apparatus and method thereof
EP2157743B1 (en) Communication system, communication node, and packet scheduling method
KR20070087725A (en) Method for effectively transmitting or receiving data via wireless network, and wireless device thereof
JP4314294B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION CONTROL PROGRAM
JP4772553B2 (en) Data transmitting / receiving apparatus and data transmitting / receiving method
KR100714675B1 (en) Method for frame retransmission and network apparatus employing the method
JP2008028430A (en) Transmitter apparatus
KR100708190B1 (en) Method for effectively transmitting or receiving data via wireless network, and wireless device thereof
US12063637B2 (en) Communication apparatus and communication method
JP2006086604A (en) Control unit and control method of radio network
AU2002221270A1 (en) Automatic retransmission and error recovery for packet oriented point-to-multipoint communication

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
FPAY Annual fee payment
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee