KR20070087725A - 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
KR20070087725A
KR20070087725A KR1020050074416A KR20050074416A KR20070087725A KR 20070087725 A KR20070087725 A KR 20070087725A KR 1020050074416 A KR1020050074416 A KR 1020050074416A KR 20050074416 A KR20050074416 A KR 20050074416A KR 20070087725 A KR20070087725 A KR 20070087725A
Authority
KR
South Korea
Prior art keywords
data
mac
frame
data units
data unit
Prior art date
Application number
KR1020050074416A
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 KR1020050074416A priority Critical patent/KR20070087725A/en
Priority to MX2008001797A priority patent/MX2008001797A/en
Priority to CNA2006800291744A priority patent/CN101238674A/en
Priority to CN201410354387.0A priority patent/CN104104479B/en
Priority to PCT/KR2006/003148 priority patent/WO2007021097A1/en
Priority to EP06823633.0A priority patent/EP1913723B1/en
Priority to US11/503,155 priority patent/US8321734B2/en
Publication of KR20070087725A publication Critical patent/KR20070087725A/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/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Abstract

A method for transmitting and receiving data through a wireless network, and a wireless device using the same are provided to reduce the number of re-transmission by re-transmitting only a data unit having an error among a plurality of data units. A method for transmitting/receiving data through a wireless network includes the steps of: transmitting a data frame having a plurality of data units to a receiving device(S10); receiving a receiving acknowledgement for each of the plurality of data units from the receiving device in response to a data frame(S20); and transmitting the data frame having the data unit which is not transmitted in a normal state based on the received acknowledgement of the plurality of data units(S30).

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은 다양한 재전송 메커니즘을 설명하기 위한 도면이다.16 is a diagram for describing various retransmission mechanisms.

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

도 18은 본 발명에 따른 실험 결과와 TGn Sync에서 제시한 방법에 따른 실험 결과를 비교한 그래프이다.18 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, there is a high possibility of wasting valuable radio resources due to collisions during communication when competition increases. 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 collision and loss 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 0, 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, 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) 복수의 데이터 유닛을 포함하는 데이터 프레임을 수신 디바이스에 송신하는 단계; (b) 상기 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 수신 디바이스로부터 수신하는 단계; 및 (c) 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 의거할 때 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛을 포함하는 데이터 프레임을 송신하는 단계를 포함한다.According to an aspect of the present invention, there is provided a wireless data transmission method comprising the steps of: (a) transmitting a 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) transmitting, among the plurality of data units, a data frame including a data unit which is determined not to be transmitted normally on the basis of the acknowledgment.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 무선 데이터 전송 방법은, (a) 송신 디바이스로부터 복수의 데이터 유닛을 포함하는 데이터 프레임을 수신하는 단계; (b) 상기 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 송신 디바이스에 송신하는 단계; 및 (c) 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 의거할 때 에러가 발생한 것으로 판단되는 데이터 유닛을 포함하는 데이터 프레임을 상기 송신 디바이스로부터 수신하는 단계를 포함한다.According to an aspect of the present invention, there is provided a wireless data transmission method comprising: (a) receiving a 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 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 for 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 An 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. It is characterized by transmitting to the database.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.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 transmitting the TS through a 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 스트림을 정확한 시간에 디코딩할 수 있도록 도와 준다.As such, by outputting through the stream I / F at the original time interval in the transmitting device, the AV decoder 10 helps to decode the AV stream at the correct time.

다시 도 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 prepares the 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 may include 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 can 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 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 the RF signal from the transmitting device 500 through the antenna 650, processes the received RF signal through the PHY module 640 to restore the MPDU, and transmits the received RF signal to the MAC module 630. To pass.

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.

이상에서는 송신 디바이스가 에러가 발생된 데이터 유닛만을 재전송하는 것으로 하여 설명하였지만, 이외에도 다양한 재전송 메커니즘을 생각할 수 있다. 도 16은 다양한 재전송 메커니즘을 설명하기 위한 도면이다. 도 16에서는 최초 전송된 데이터 프레임 중에서 일부 데이터 유닛 TS9, TS10에 에러가 발생된 경우를 가정한다.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. 16 is a diagram for describing various retransmission mechanisms. In FIG. 16, it is assumed that an error occurs in some data units TS9 and TS10 among the first transmitted data frames.

도 16에서 (a)는 전술한 바와 같이 에러가 발생한 데이터 유닛만을 포함한 데이터 프레임을 재전송하는 경우를 나타낸다. (a)와 같은 경우는 재전송시 데이터 프레임 의 크기가 줄어들게 되기 때문에 에러 반복 가능성을 줄이는 효과가 크다.In FIG. 16, (a) illustrates a case of retransmitting a data frame including only a data unit in which an error occurs as described above. In the case of (a), the size of the data frame is reduced during retransmission, which greatly reduces the possibility of error repetition.

하지만, 반드시 (a)와 같은 예에 한할 필요는 없고 (b)와 같이 최초 전송된 데이터 프레임을 그대로 재전송할 수도 있다. However, the present invention is not necessarily limited to the example as shown in (a), and the data frame originally transmitted as shown in (b) may be retransmitted as it is.

또한, (a)의 경우는 MAC 페이로드를 비어 있는 부분이 존재하게 되므로, (c)와 같이 에러가 발생한 데이터 유닛(TS9, TS10)과 그 이 후 전송할 데이터 유닛(TS13 내지 TS22)를 결합한 데이터 프레임을 재전송할 수도 있다.In addition, in the case of (a), since there is an empty portion of the MAC payload, as shown in (c), data combining the data units TS9 and TS10 in which an error occurs and the data units TS13 to TS22 to be transmitted thereafter. You can also retransmit the frame.

또한, 에러 가능성이 높은 환경에서는 (a)와 같은 재전송시 다시 에러가 발생할 가능성이 있으므로, (d)와 같이 에러가 발생된 데이터 유닛을 복수개로 반복하여 데이터 프레임에 포함시키는 방법도 생각할 수 이다. 일반적으로, 전송 에러는 버스트 에러(burst error) 형태로 발생할 가능성이 크기 때문에, (d)와 같이 데이터 프레임을 구성한다면 확실한 전송을 보장하기 어려운 경우가 있다. 이 경우에는, (e)와 같이, 에러가 발생된 유닛들을 번갈아 반복적으로 데이터 프레임에 포함시킴으로써 버스트 에러에 대한 강인성(robustness)을 제고할 수 있다.In addition, in an environment with high error possibility, an error may occur again during retransmission as shown in (a). Therefore, a method of repeatedly including a plurality of data units having an error as shown in (d) in a data frame may be considered. In general, since transmission errors are likely to occur in the form of burst errors, it may be difficult to guarantee reliable transmission if a data frame is constructed as shown in (d). In this case, as shown in (e), the robustness against the burst error can be improved by repeatedly including the units in which the error occurs in the data frame.

뿐만 아니라, 이와 같은 재전송 메커니즘과 함께 링크 적응법(link adaptation)도 함께 적용할 수가 있다. 즉, TX rate, TX power, 안테나 타입(MIMO 또는 SISO(Single Input Single Output)) 등의 전송 파라미터를 변경하는 것이다. 이러한 파라미터의 변경은 MAC 모듈(530)에 의하여 수행될 수 있다. MAC 모듈(530)은 재전송이 반복됨에 따라서, TX rate를 낮추거나 TX power를 높이거나, MIMO 타입 전송에서 SISO 타입의 전송으로 변경하는 등의 조작에 의하여 보다 안정된 전송을 보장할 수 있다.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.

기존의 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 or not to use the reserved bits 61 and 62 of the PHY header can be recorded.

도 17은 본 발명의 일 실시예에 따른 무선 디바이스 간의 통신 방법을 설명하는 흐름도이다. 상기 방법은 크게 세 가지 과정으로 나뉠 수 있다. 구체적으로 송신 디바이스(500)가 복수의 데이터 유닛을 포함하는 제1 데이터 프레임(최초 전송되는 프레임)을 수신 디바이스(600)에 송신하는 단계(S10)와, 상기 수신 디바이스(600)가 상기 데이터 프레임에 대한 응답으로서 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 송신 디바이스(500)에 송신하는 단계(S20)와, 상기 송신 디바이스(500)가 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 의거할 때 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛을 포함하는 제2 데이터 프레임(재전송 데이터 프레임)을 상기 수신 디바이스(600)에 송신하는 단계로 이루어진다.17 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 an error state (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).

도 18은 본 발명에 따른 실험 결과와 "TGn Sync"에서 제시한 방법에 따른 실험 결과를 비교한 그래프이다. 상기 TGn Sync는 802.11n 표준화를 목적으로 여러 산업체가 참여한 그룹이다. 본 실험에서, 최고 전송률은 108Mbps이며, 하나의 데이터 프 레임은 8개의 TS를 포함하는 것으로 하였다. 18 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 108Mbps, and one data frame includes 8 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, the possibility of error occurrence is reduced by retransmitting only the data unit having an error among the plurality of data units, and the overall transmission efficiency is increased by monitoring the number of retransmissions.

Claims (41)

(a) 복수의 데이터 유닛을 포함하는 데이터 프레임을 수신 디바이스에 송신하는 단계;(a) transmitting to the receiving device a data frame comprising a plurality of data units; (b) 상기 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 수신 디바이스로부터 수신하는 단계; 및(b) receiving, from the receiving device, an acknowledgment for each of the plurality of data units in response to the data frame; And (c) 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 의거할 때 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛을 포함하는 데이터 프레임을 송신하는 단계를 포함하는 무선 데이터 전송 방법.and (c) transmitting, among the plurality of data units, a data frame including a data unit which is determined not to be transmitted normally on the basis of the acknowledgment. 제1항에 있어서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인은The acknowledgment of claim 1 wherein the acknowledgment for each of the plurality of data units is: 하나의 수신 확인 프레임에 포함된 비트맵의 형태로 표현되는 무선 데이터 전송 방법.A wireless data transmission method expressed in the form of a bitmap included in one acknowledgment frame. 제2항에 있어서, 상기 데이터 유닛은The method of claim 2, wherein the data unit MPEG-2 표준에 따른 전송 스트림(transport stream)인 무선 데이터 전송 방법.A wireless data transmission method which is a transport stream according to the MPEG-2 standard. 제2항에 있어서, 상기 데이터 프레임은The method of claim 2, wherein the data frame is PHY 헤더, MAC 헤더, 상기 복수의 데이터 유닛, 및 복수의 구분자를 포함하는 무선 데이터 전송 방법.And a PHY header, a MAC header, the plurality of data units, and a plurality of delimiters. 제4항에 있어서, 상기 PHY 헤더 및 MAC 헤더는The method of claim 4, wherein the PHY header and MAC header is IEEE 802.11 계열의 표준에 따르는 포맷으로 이루어지는 무선 데이터 전송 방법.Wireless data transmission method in a format conforming to the IEEE 802.11 family of standards. 제5항에 있어서, 상기 구분자는The method of claim 5, wherein the delimiter is 상기 데이터 유닛의 시퀀스 번호가 기록되는 필드와, 상기 데이터 유닛의 에러를 검사하기 위한 검사합이 기록되는 필드를 적어도 포함하는 무선 데이터 전송 방법.And a field in which a sequence number of the data unit is recorded and a field in which a check sum for checking an error of the data unit is recorded. 제6항에 있어서, 상기 구분자는The method of claim 6, wherein the delimiter 상기 시퀀스 번호가 기록되는 필드의 에러를 검사하기 위한 검사합이 기록되는 필드와, 상기 데이터 유닛이 MAC 계층에 도달한 시각이 기록되는 필드를 더 포함하는 무선 데이터 전송 방법.And a field in which a check sum is recorded for checking an error of a field in which the sequence number is recorded, and a field in which a time at which the data unit reaches the MAC layer is recorded. 제2항에 있어서, 상기 비트맵은The method of claim 2, wherein the bitmap is 상기 복수의 데이터 유닛에 대응되는 수만큼의 비트들을 포함하며, 상기 비트들은 순서대로 상기 복수의 데이터 유닛에 대한 수신 확인을 나타내는 무선 데이터 전송 방법.And a number of bits corresponding to the plurality of data units, wherein the bits indicate acknowledgment of the plurality of data units in order. 제8항에 있어서, 상기 비트맵은The method of claim 8, wherein the bitmap 2바이트의 크기를 갖는 무선 데이터 전송 방법.Wireless data transmission method having a size of 2 bytes. 제4항에 있어서, 상기 PHY 헤더는The method of claim 4, wherein the PHY header is 상기 송신되는 데이터 프레임이 종래의 IEEE 802.11 계열의 표준에 따라서 송신된 프레임인지 여부를 나타내는 비트를 포함하는 무선 데이터 전송 방법.And a bit indicating whether the transmitted data frame is a frame transmitted according to a conventional IEEE 802.11 series standard. 제2항에 있어서, 상기 (c) 단계의 데이터 프레임은The method of claim 2, wherein the data frame of step (c) 상기 (a) 단계의 데이터 유닛 이외의 데이터 유닛을 모두 포함하는 무선 데이터 전송 방법.And a data unit other than the data unit of step (a). 제2항에 있어서, 상기 (c) 단계의 데이터 프레임은The method of claim 2, wherein the data frame of step (c) 상기 (a) 단계의 데이터 유닛 이외의 데이터 유닛을 더 포함하는 무선 데이터 전송 방법.And a data unit other than the data unit of step (a). 제2항에 있어서, 상기 (c) 단계의 데이터 프레임은The method of claim 2, wherein the data frame of step (c) 상기 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛의 소정 개수를 반복하여 포함하는 무선 데이터 전송 방법.And repeating a predetermined number of data units determined to be not normally transmitted. 제1항에 있어서, 상기 (c) 단계의 데이터 프레임은The method of claim 1, wherein the data frame of step (c) 상기 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛이 2이상인 경우에는, 상기 2이상인 데이터 유닛을 교대로 포함하는 무선 데이터 전송 방법.And when there are two or more data units that are determined to be not normally transmitted, alternately including the two or more data units. (a) 송신 디바이스로부터 복수의 데이터 유닛을 포함하는 데이터 프레임을 수신하는 단계;(a) receiving a data frame comprising a plurality of data units from a transmitting device; (b) 상기 데이터 프레임에 대한 응답으로서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인을 상기 송신 디바이스에 송신하는 단계; 및(b) sending an acknowledgment for each of the plurality of data units to the transmitting device in response to the data frame; And (c) 상기 복수의 데이터 유닛 중에서, 상기 수신 확인에 의거할 때 에러가 발생한 것으로 판단되는 데이터 유닛을 포함하는 데이터 프레임을 상기 송신 디바이스로부터 수신하는 단계를 포함하는 무선 데이터 수신 방법.and (c) receiving, from the transmitting device, a 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 모듈을 포함하는 무선 디바이스로서,A data processing unit for generating an application executing an application program, a MAC payload including a plurality of data units provided from the application, and a MAC for generating a MAC Protocol Data Unit (MPDU) by adding a MAC header to the MAC payload. And a PHY module for adding a PHY header to the MPDU to generate a first data frame and to transmit the data frame to a receiving device. 상기 데이터 처리부는 상기 수신 디바이스로부터 상기 데이터 프레임에 대한 응답으로서 수신되는, 상기 복수 데이터 유닛 각각에 대한 수신 확인에 의거하여, 상기 송신된 데이터 유닛 중 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛을 포함하는 MAC 페이로드를 생성하고, 상기 MAC 모듈은 상기 MAC 페이로드에 MAC 헤더를 부가하며, 상기 PHY 모듈은 상기 MAC 헤더에 PHY 헤더를 부가하여 제2 데이터 프레임을 생성하고 상기 제2 데이터 프레임을 상기 수신 디바이스에 전송하는, 무선 디바이스.The data processing unit includes a MAC including a data unit judged not to be transmitted normally among the transmitted data units based on an acknowledgment for each of the plurality of data units received from the receiving device as a response to the data frame. Generate a payload, the MAC 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 send the second data frame to the receiving device Transmitting to a wireless device. 제16항에 있어서, 상기 복수의 데이터 유닛 각각에 대한 수신 확인은17. The acknowledgment of claim 16, wherein the acknowledgment for each of the plurality of data units is 하나의 수신 확인 프레임에 포함된 비트맵의 형태로 표현되는, 무선 디바이스.A wireless device represented in the form of a bitmap contained in one acknowledgment frame. 제17항에 있어서, 상기 데이터 유닛은18. The method of claim 17, wherein the data unit is MPEG-2 표준에 따른 전송 스트림(transport stream)인, 무선 디바이스.A wireless device, which is a transport stream according to the MPEG-2 standard. 제17항에 있어서, 상기 MAC 페이로드는 18. The method of claim 17, wherein the MAC payload is 복수의 데이터 유닛, 및 복수의 구분자를 포함하는 무선 디바이스.A wireless device comprising a plurality of data units and a plurality of delimiters. 제19항에 있어서, 상기 구분자는20. The apparatus of claim 19, wherein the delimiter 상기 데이터 유닛의 시퀀스 번호가 기록되는 필드와, 상기 데이터 유닛의 에러를 검사하기 위한 검사합이 기록되는 필드를 적어도 포함하는 무선 디바이스.And a field in which a sequence number of the data unit is recorded and a field in which a check sum for checking an error of the data unit is recorded. 제20항에 있어서, 상기 구분자는The method of claim 20, wherein the delimiter is 상기 시퀀스 번호가 기록되는 필드의 에러를 검사하기 위한 검사합이 기록되는 필드와, 상기 데이터 유닛이 MAC 계층에 도달한 시각이 기록되는 필드를 더 포함하는 무선 디바이스.And a field in which a check sum is recorded for checking an error of a field in which the sequence number is recorded, and a field in which a time when the data unit reaches the MAC layer is recorded. 제17항에 있어서, 상기 비트맵은18. The method of claim 17, wherein the bitmap is 상기 복수의 데이터 유닛에 대응되는 수만큼의 비트들을 포함하며, 상기 비트들은 순서대로 상기 복수의 데이터 유닛에 대한 수신 확인을 나타내는 무선 디바이스.A number of bits corresponding to the plurality of data units, wherein the bits in turn indicate an acknowledgment for the plurality of data units. 제22항에 있어서, 상기 비트맵은The method of claim 22, wherein the bitmap 2바이트의 크기를 갖는 무선 디바이스.Wireless device having a size of 2 bytes. 제17항에 있어서, 상기 제2 데이터 프레임은18. The method of claim 17, wherein the second data frame is 상기 제1 데이터 프레임에 포함된 데이터 유닛 이외의 데이터 유닛을 모두 포함하는 무선 디바이스.And all data units other than data units included in the first data frame. 제17항에 있어서, 상기 제2 데이터 프레임은18. The method of claim 17, wherein the second data frame is 상기 제1 데이터 프레임에 포함된 데이터 유닛 이외의 데이터 유닛을 더 포함하는 무선 디바이스.And a data unit other than the data unit included in the first data frame. 제17항에 있어서, 상기 제2 데이터 프레임은18. The method of claim 17, wherein the second data frame is 상기 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛의 소정 개수를 반복하여 포함하는 무선 디바이스.And repeating a predetermined number of data units determined to be not normally transmitted. 제17항에 있어서, 상기 제2 데이터 프레임은18. The method of claim 17, wherein the second data frame is 상기 정상적으로 송신되지 않은 것으로 판단되는 데이터 유닛이 2이상인 경우에는, 상기 2이상인 데이터 유닛을 교대로 포함하는 무선 디바이스.And when there are two or more data units that are determined to have not been normally transmitted, alternately including the two or more data units. 제17항에 있어서, 상기 PHY 모듈은18. The apparatus of claim 17, wherein the PHY module is 상기 제2 데이터 프레임의 전송 파라미터를 상기 제1 데이터 프레임의 전송 파라미터와 다르게 변경하는 무선 디바이스.And change the transmission parameter of the second data frame differently from the transmission parameter of the first data frame. 제28항에 있어서, 상기 전송 파라미터는29. The method of claim 28, wherein the transmission parameter is TX rate, TX power, 및 안테나 타입 중 적어도 하나인 무선 디바이스.A wireless device that is at least one of TX rate, TX power, and antenna type. 제17항에 있어서, 상기 데이터 처리부는The method of claim 17, wherein the data processing unit 복수의 데이터 유닛, 및 복수의 구분자를 포함하는 상기 MAC 페이로드를 생성하는 페이로드 처리부와, 상기 비트맵을 판독하여 특정 데이터 유닛의 에러 유무를 판별하는 비트맵 처리부를 포함하는 무선 디바이스.And a payload processor for generating the MAC payload including a plurality of data units and a plurality of delimiters, and a bitmap processor for reading the bitmap to determine whether there is an error of a specific data unit. 제30항에 있어서, 상기 MAC 모듈은The method of claim 30, wherein the MAC module 소프트웨어로 구현된 소프트웨어 MAC 모듈과, 하드웨어로 구현된 하드웨어 MAC 모듈과, 상기 소프트웨어 MAC 모듈과 하드웨어 MAC 모듈을 중계하는 인터페이스를 포함하는 무선 디바이스.And a software MAC module implemented in software, a hardware MAC module implemented in hardware, and an interface for relaying the software MAC module and the hardware MAC module. 제31항에 있어서, The method of claim 31, wherein 외부로부터 복수의 데이터 유닛을 직접 제공받은 I/O 포트를 더 포함하고, 상기 I/O 포트는 상기 하드웨어 MAC 모듈과 직접 연결되는 무선 디바이스.And an I / O port directly receiving a plurality of data units from an external device, wherein the I / O port is directly connected to the hardware MAC module. 송신 디바이스로부터 데이터 프레임을 수신하고 PHY 헤더를 제거하여 MPDU(MAC Protocol Data Unit)을 복원하는 PHY 모듈과, 상기 MPDU에서 MAC 헤더를 제거하여 MAC 페이로드를 복원하는 MAC 모듈과, 상기 MAC 페이로드에 포함된 복수의 데이터 유닛의 에러 유무를 검사하는 데이터 처리부와, 상기 복수의 데이터 유닛 중 에러가 없는 데이터 유닛을 제공받아 응용 프로그램을 수행하는 어플리케이션을 포함하는 무선 디바이스로서,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), a MAC module for removing a MAC header from the MPDU to restore a MAC payload, and a MAC payload. A wireless device including a data processing unit that checks an error of a plurality of data units included and an application that receives an error-free data unit among the plurality of data units and executes an application program. 상기 데이터 처리부는 상기 에러 유무에 따라 상기 데이터 유닛 각각에 대한 수신 확인을 나타내는 비트맵을 생성하고, 상기 MAC 모듈은 상기 비트맵에 MAC 헤더를 부가하며, 상기 PHY 모듈은 상기 MAC 헤더에 PHY 헤더를 부가하여 블록 ACK 프레임을 생성하고 이를 상기 수신 디바이스에 전송하는, 무선 디바이스.The data processor generates a bitmap indicating an acknowledgment for each of the data units according to whether there is an error, the MAC module adds a MAC header to the bitmap, and the PHY module adds a PHY header to the MAC header. In addition, generating a block ACK frame and transmitting it to the receiving device. 제33항에 있어서, 상기 데이터 유닛은34. The method of claim 33, wherein the data unit is MPEG-2 표준에 따른 전송 스트림(transport stream)인, 무선 디바이스.A wireless device, which is a transport stream according to the MPEG-2 standard. 제33항에 있어서, 상기 MAC 페이로드는 34. The method of claim 33, wherein the MAC payload is 복수의 데이터 유닛, 및 복수의 구분자를 포함하는 무선 디바이스.A wireless device comprising a plurality of data units and a plurality of delimiters. 제35항에 있어서, 상기 구분자는36. The apparatus of claim 35, wherein the delimiter is 상기 데이터 유닛의 시퀀스 번호가 기록되는 필드와, 상기 데이터 유닛의 에러를 검사하기 위한 검사합이 기록되는 필드를 적어도 포함하는 무선 디바이스.And a field in which a sequence number of the data unit is recorded and a field in which a check sum for checking an error of the data unit is recorded. 제36항에 있어서, 상기 구분자는37. The method of claim 36, wherein the delimiter 상기 시퀀스 번호가 기록되는 필드의 에러를 검사하기 위한 검사합이 기록되는 필드와, 상기 데이터 유닛이 MAC 계층에 도달한 시각이 기록되는 필드를 더 포함하는 무선 디바이스.And a field in which a check sum is recorded for checking an error of a field in which the sequence number is recorded, and a field in which a time when the data unit reaches the MAC layer is recorded. 제33항에 있어서, 상기 비트맵은34. The method of claim 33, wherein the bitmap is 상기 복수의 데이터 유닛에 대응되는 수만큼의 비트들을 포함하며, 상기 비트들은 순서대로 상기 복수의 데이터 유닛에 대한 수신 확인을 나타내는 무선 디바이스.A number of bits corresponding to the plurality of data units, wherein the bits in turn indicate an acknowledgment for the plurality of data units. 제38항에 있어서, 상기 비트맵은The method of claim 38, wherein the bitmap 2바이트의 크기를 갖는 무선 디바이스.Wireless device having a size of 2 bytes. 제33항에 있어서, 상기 MAC 모듈은The method of claim 33, wherein the MAC module 소프트웨어로 구현된 소프트웨어 MAC 모듈과, 하드웨어로 구현된 하드웨어 MAC 모 듈과, 상기 소프트웨어 MAC 모듈과 하드웨어 MAC 모듈을 중계하는 인터페이스를 포함하는 무선 디바이스.A wireless device comprising a software MAC module implemented in software, a hardware MAC module implemented in hardware, and an interface for relaying the software MAC module and the hardware MAC module. 제40항에 있어서, The method of claim 40, 상기 하드웨어 MAC 모듈과 직접 연결되어 외부로 데이터 유닛을 직접 출력하는 I/O 포트를 더 포함하는, 무선 디바이스.And an I / O port directly connected to the hardware MAC module to directly output a data unit to the outside.
KR1020050074416A 2005-08-12 2005-08-12 Method for effectively transmitting or receiving data via wireless network, and wireless device thereof KR20070087725A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020050074416A KR20070087725A (en) 2005-08-12 2005-08-12 Method for effectively transmitting or receiving data via wireless network, and wireless device thereof
MX2008001797A MX2008001797A (en) 2005-08-12 2006-08-11 Method and apparatus to transmit and/or receive data via wireless network and wireless device.
CNA2006800291744A CN101238674A (en) 2005-08-12 2006-08-11 Method and apparatus to transmit and/or receive data via wireless network and wireless device
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
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
KR1020050074416A KR20070087725A (en) 2005-08-12 2005-08-12 Method for effectively transmitting or receiving data via wireless network, and wireless device thereof

Publications (1)

Publication Number Publication Date
KR20070087725A true KR20070087725A (en) 2007-08-29

Family

ID=38613541

Family Applications (1)

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

Country Status (2)

Country Link
KR (1) KR20070087725A (en)
CN (1) CN101238674A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140124144A (en) * 2013-04-16 2014-10-24 한국전자통신연구원 Method and apparatus of transmission of beamforming report frame for transmit beamforming
US9844092B2 (en) 2014-10-22 2017-12-12 Samsung Electronics Co., Ltd. Operation method of coordinator and node supporting block ACK scheme and link adaptation for multi-rate transmission
KR20210089161A (en) * 2018-12-06 2021-07-15 엘지전자 주식회사 Apparatus and method for performing beamforming using multiple antennas in a wireless AV system
CN116909624A (en) * 2023-09-12 2023-10-20 苏州浪潮智能科技有限公司 Bitmap data processing method, random access memory, electronic device, and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101025674B1 (en) 2010-02-03 2011-03-30 엘에스산전 주식회사 Device for switching a dual port ethernet
WO2014098720A1 (en) * 2012-12-18 2014-06-26 Telefonaktiebolaget Lm Ericsson (Publ) A transmitting and a receiving device and respective methods performed thereby for improving retransmissions in wireless networks
JP6157746B2 (en) * 2014-01-13 2017-07-05 エルジー エレクトロニクス インコーポレイティド Frame transmission / reception method and apparatus supporting short MAC header in wireless LAN system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140124144A (en) * 2013-04-16 2014-10-24 한국전자통신연구원 Method and apparatus of transmission of beamforming report frame for transmit beamforming
US9520926B2 (en) 2013-04-16 2016-12-13 Electronics And Telecommunications Research Institute Method and apparatus for transmitting beamforming report frame for transmit beamforming
US9844092B2 (en) 2014-10-22 2017-12-12 Samsung Electronics Co., Ltd. Operation method of coordinator and node supporting block ACK scheme and link adaptation for multi-rate transmission
KR20210089161A (en) * 2018-12-06 2021-07-15 엘지전자 주식회사 Apparatus and method for performing beamforming using multiple antennas in a wireless AV system
CN116909624A (en) * 2023-09-12 2023-10-20 苏州浪潮智能科技有限公司 Bitmap data processing method, random access memory, electronic device, and storage medium
CN116909624B (en) * 2023-09-12 2024-01-26 苏州浪潮智能科技有限公司 Bitmap data processing method, random access memory, electronic device, and storage medium

Also Published As

Publication number Publication date
CN101238674A (en) 2008-08-06

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
US7586948B2 (en) Packet sub-frame structure for selective acknowledgment
EP2923514B1 (en) Method and system for improving wireless link efficiency
US7945835B2 (en) Method and apparatus for efficiently retransmitting data in wireless network environment
US9100965B2 (en) Apparatus and method for multiplexing data of a layer into data transmission unit of another layer
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
KR20070087725A (en) Method for effectively transmitting or receiving data via wireless network, and wireless device thereof
KR100714675B1 (en) Method for frame retransmission and network apparatus employing the method
EP3790213B1 (en) Mac-based hybrid automatic repeat request (harq)
US11271686B2 (en) Hybrid automatic repeat request acknowledgement and upload multiuser operation
KR20200045471A (en) Communication device and method
WO2020129658A1 (en) Communication device and communication method
CN102201901A (en) Data retransmission method and device
KR100708190B1 (en) Method for effectively transmitting or receiving data via wireless network, and wireless device thereof
US20220086838A1 (en) Communication apparatus and communication method
JPH1093584A (en) Transmission control method in radio lan and transmission controller
US20230308227A1 (en) Wireless communication apparatus and wireless communication method
US20240056884A1 (en) Transmitting station and receiving station
CN115669144A (en) Method and apparatus for efficient packet transmission
JP2006086604A (en) Control unit and control method of radio network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070115

Effective date: 20071130