KR101086045B1 - Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System - Google Patents

Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System Download PDF

Info

Publication number
KR101086045B1
KR101086045B1 KR1020080117081A KR20080117081A KR101086045B1 KR 101086045 B1 KR101086045 B1 KR 101086045B1 KR 1020080117081 A KR1020080117081 A KR 1020080117081A KR 20080117081 A KR20080117081 A KR 20080117081A KR 101086045 B1 KR101086045 B1 KR 101086045B1
Authority
KR
South Korea
Prior art keywords
data
block
arq
ack
window
Prior art date
Application number
KR1020080117081A
Other languages
Korean (ko)
Other versions
KR20100058322A (en
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 KR1020080117081A priority Critical patent/KR101086045B1/en
Publication of KR20100058322A publication Critical patent/KR20100058322A/en
Application granted granted Critical
Publication of KR101086045B1 publication Critical patent/KR101086045B1/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/1829Arrangements specially adapted for the receiver end
    • H04L1/1832Details of sliding window management
    • 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/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • 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/04Error control

Landscapes

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

Abstract

본 발명은 이동통신 시스템의 자동 재전송 요구를 이용한 데이터 송수신 방법에 관한 것이다.The present invention relates to a data transmission / reception method using an automatic retransmission request of a mobile communication system.

본 발명은 전송하려는 데이터를 블록 단위로 분할한 뒤, 윈도우 범위 내에 위치한 데이터 블록을 송출하여 ACK 또는 NACK를 수신하고, 수신된 ACK의 숫자에 따라 윈도우 범위를 업데이트하여 데이터 블록을 재송출한 뒤, 재송출된 윈도우 범위 내의 데이터 블록 각각에 대한 ACK 또는 NACK를 수신하는 데이터 전송 방법을 제공한다. 또한, 본 발명은 데이터 블록이 수신되면, 윈도우 범위 내의 데이터 블록은 제1 데이터 큐에 저장하고, 윈도우 범위 밖의 데이터 블록은 제2 데이터 큐에 저장한 뒤 제1 데이터 큐에 저장된 데이터 블록에 대한 ACK 또는 NACK를 생성하여 송출하고, 윈도우 범위가 업데이트되면, 업데이트된 윈도우 범위 내의 데이터 블록을 제2 데이터 큐에서 제1 데이터 큐로 이동시키는 데이터 수신 방법을 제공한다.The present invention divides data to be transmitted in block units, transmits a data block located within a window range, receives an ACK or a NACK, updates the window range according to the number of received ACKs, and retransmits the data block. A data transmission method for receiving an ACK or a NACK for each data block within a retransmitted window range is provided. According to the present invention, when a data block is received, the data block within the window range is stored in the first data queue, and the data block outside the window range is stored in the second data queue and then ACKed to the data block stored in the first data queue. Alternatively, the present invention provides a data receiving method of generating and transmitting a NACK and moving a data block within the updated window range from the second data queue to the first data queue when the window range is updated.

본 발명에 따르면, BSN의 사용을 극대화할 수 있어, 데이터의 대기지연의 감소, 단위 시간당 처리량 증가, 수신 확률을 증가시킬 수 있다.According to the present invention, it is possible to maximize the use of the BSN, it is possible to reduce the latency of data, increase the throughput per unit time, increase the probability of reception.

ARQ, SDU, Retransmission, BSN, Selective ACK ARQ, SDU, Retransmission, BSN, Selective ACK

Description

이동통신 시스템의 자동 재전송 요구를 이용한 데이터 송수신 방법{Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System}Method for transmitting and receiving data using automatic retransmission request of mobile communication system {Method for Transmitting / Receiving of Data with ARQ in Mobile Communication System}

본 발명은 이동통신 시스템의 자동 재전송 요구를 이용한 데이터 송수신 방법에 관한 것이다. 특히 본 발명은 전송할 서비스 데이터 유닛(SDU: Service Data Unit, 이하 'SDU'라 칭함)이 많은 경우, 블록의 사용을 극대화하여 성능을 향상시키기 위한 이동통신 시스템에서 자동 재전송 요구(ARQ: Automatic Repeat request)를 이용하여 데이터를 송수신하는 방법에 관한 것이다.The present invention relates to a data transmission / reception method using an automatic retransmission request of a mobile communication system. Particularly, in the present invention, when there are many service data units (SDUs) to be transmitted, an automatic repeat request (ARQ) in a mobile communication system for maximizing the use of blocks to improve performance is provided. The present invention relates to a method for transmitting and receiving data using

본 발명은 지식경제부 및 정보통신연구진흥원의 정보통신표준개발지원사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-P1-01-06K51, 과제명: WiBro Evol. 표준화 기술 연구].The present invention is derived from the research conducted as part of the information and communication standard development support project of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunications Research and Development. Standardization technology research].

통신 시스템에서는 전송되는 데이터의 유실이나 손실을 방지하기 위하여 여러가지 방법을 사용한다. 데이터의 유실 및 손실 방지를 위한 다수의 방법 중 대표적인 방법으로 ARQ 방법이 많이 사용되고 있다.In communication systems, various methods are used to prevent the loss or loss of transmitted data. ARQ method is widely used as a representative method among a number of methods for preventing the loss and loss of data.

ARQ 방법은 송신기가 전송한 특정 데이터를 수신기가 수신하지 못하였거나, 복호하지 못한 경우, 미수신 또는 복호 불가를 송신기로 알려서 데이터를 재전송할 수 있도록 하는 기술이다.The ARQ method is a technology for informing the transmitter of unreceived or undecoded data so that the transmitter can retransmit data when the receiver does not receive or decode specific data transmitted by the transmitter.

이와 같은 ARQ 방법은 에러 검출만을 위한 코드만 추가되므로 오류 처리를 위한 비트의 낭비를 줄일 수 있으며, 송신기가 최대 블록 크기의 버퍼를 한 개만 가지고 있으면 수행할 수 있는 장점으로 인하여 많은 연구가 되어 왔으며, 많은 종류의 ARQ 방법이 다양한 통신 시스템에서 사용된다. Since the ARQ method only adds a code for error detection, it is possible to reduce wasted bits for error processing, and many studies have been conducted due to the advantage that the transmitter can perform the operation with only one buffer having a maximum block size. Many kinds of ARQ methods are used in various communication systems.

한편, 통신 시스템에서는 ARQ 방법을 사용하기 위하여 다양한 파라미터를 사용한다. Meanwhile, in the communication system, various parameters are used to use the ARQ method.

도 1은 휴대 인터넷 시스템에서 사용되는 ARQ 파라미터를 설명하기 위한 표이다.1 is a table for explaining the ARQ parameters used in the portable Internet system.

휴대 인터넷 시스템에서는 도 1에 도시된 다양한 ARQ 파라미터를 이용하여 전송되는 데이터 중 유실 또는 손실된 데이터를 확인하고 재전송할 수 있다.In the portable Internet system, lost or lost data among transmitted data may be identified and retransmitted using various ARQ parameters illustrated in FIG. 1.

도 2는 송신기에서 SDU가 ARQ 블록(Block)에 대입되는 과정을 설명하기 위한 도면이다.FIG. 2 is a diagram for describing a process of inserting an SDU into an ARQ block in a transmitter.

상위 계층에서 전달되는 SDU는 블록 단위로 나뉘어지고, 각각의 블록에는 고유 번호가 할당된다. 이와 같이 각각의 블록에 할당되는 번호를 BSN(Block Sequence Number)이라 한다.SDUs delivered from higher layers are divided into block units, and each block is assigned a unique number. The number assigned to each block in this way is referred to as a block sequence number (BSN).

여기서, 각각의 블록에 BSN을 할당함에 있어서, 먼저 도착한 SDU에 차례대로 BSN을 할당한다. 이 때, 처음으로 BSN이 할당되어 데이터 전송을 통해 송출되는 첫번째 데이터 블록을 전송 시작 데이터 블록(ARQ_TX_WINDOW_START, 이하 ' ARQ_TX_WINDOW_START라 칭함)이라 부른다. 통상적으로, 최초 전송시 전송 시작 데 이터 블록은 0번 블록으로 설정된다.Here, in allocating the BSN to each block, the BSN is sequentially assigned to the SDUs that arrive first. In this case, the first data block that is first allocated by the BSN and transmitted through data transmission is called a transmission start data block (ARQ_TX_WINDOW_START, hereinafter referred to as 'ARQ_TX_WINDOW_START'). Typically, the transmission start data block is set to block 0 at the first transmission.

이 때, 전송하려는 SDU의 블록 수가 전송 데이터 블록 수(ARQ_WINDOW_SIZE, 이하 'ARQ_WINDOW_SIZE'라 칭함)보다 작은 경우, 모든 SDU의 블록에 BSN이 할당된다. 여기서, 전송 데이터 블록 수는 한 번의 데이터 전송을 통하여 송출될 수 있도록 사전에 설정된 데이터 블록의 개수를 의미한다. At this time, if the number of blocks of the SDU to be transmitted is smaller than the number of transmission data blocks (ARQ_WINDOW_SIZE, hereinafter referred to as 'ARQ_WINDOW_SIZE'), the BSN is allocated to the blocks of all SDUs. Here, the number of transmission data blocks means the number of data blocks that are set in advance so that they can be transmitted through one data transmission.

BSN의 할당이 완료되면, 다음 전송을 통해 송출할 데이터 블록을 지정하는 송신 고유 번호(ARQ_TX_NEXT_BSN, 이하 'ARQ_TX_NEXT_BSN'이라 칭함)를 '마지막으로 할당된 BSN+1'로 설정한다. 그리고, 이후에 수신되는 SDU는 ARQ_TX_NEXT_BSN의 설정 값부터 할당이 이루어진다. 이 때, ARQ_TX_NEXT_BSN은 BSN이 할당될 때마다 업데이트된다.When the allocation of the BSN is completed, a transmission unique number (ARQ_TX_NEXT_BSN, hereinafter referred to as 'ARQ_TX_NEXT_BSN') that designates a data block to be transmitted through the next transmission is set to 'last allocated BSN + 1'. Subsequently, the received SDU is allocated from the set value of ARQ_TX_NEXT_BSN. At this time, ARQ_TX_NEXT_BSN is updated every time the BSN is allocated.

그러나, ARQ_WINDOW_SIZE보다 보낼 SDU의 블록이 많은 경우, ARQ_WINDOW_SIZE 만큼만 BSN을 할당한다. 그리고, 송신기가 수신기로부터 전송되는 ACK 메시지를 확인하여 ARQ_TX_WINDOW_START를 업데이트하면, 업데이트된 수만큼 BSN을 추가로 할당한다.However, if there are more blocks of SDUs to send than ARQ_WINDOW_SIZE, only BQ is allocated for ARQ_WINDOW_SIZE. When the transmitter checks the ACK message transmitted from the receiver and updates ARQ_TX_WINDOW_START, the transmitter further allocates BSNs as much as the updated number.

이와 같이 BSN이 할당된 블록들은 수신기로 전송된다. 이 때, 블록이 전송됨에 있어서 전송되는 데이터 블록의 유효 기간(ARQ_BLOCK_LIFETIME, 이하 ' ARQ_BLOCK_LIFETIME'이라 칭함) 및 재전송 경과 시간(ARQ_RETRY_TIMEOUT, 이하, ARQ_RETRY_TIMEOUT'이라 칭함)이 설정된다. 또한, 전송되는 블록의 BSN이 ARQ_TX_WINDOW_START와 같은 블록으로 설정되면, 전송되는 데이터 블록의 싱크 손실 경과 시간(ARQ_SYNC_LOSS_TIMEOUT)도 설정된다.As such, the blocks allocated with the BSN are transmitted to the receiver. At this time, the valid period (ARQ_BLOCK_LIFETIME, hereinafter referred to as' ARQ_BLOCK_LIFETIME ') and the elapsed retransmission time (ARQ_RETRY_TIMEOUT, hereinafter referred to as ARQ_RETRY_TIMEOUT') of the data block transmitted when the block is transmitted are set. In addition, when the BSN of the transmitted block is set to the same block as ARQ_TX_WINDOW_START, the sink loss elapsed time ARQ_SYNC_LOSS_TIMEOUT of the transmitted data block is also set.

수신기에서는 정확히 수신된 블록과 수신되지 않은 블록을 확인하여, 송신기로 보낼 ACK 메시지를 생성한다. 수신기는 생성된 ACK 메시지를 송신기로 전송하고, 송신기는 ACK 메시지를 확인하여 재전송이 필요한 블록을 확인하고, 재전송이 필요한 블록에 대하여 ARQ_RETRY_TIMEOUT을 다시 설정한 뒤 재전송한다.The receiver identifies the correctly received and unreceived blocks and generates an ACK message to be sent to the transmitter. The receiver transmits the generated ACK message to the transmitter, and the transmitter checks the ACK message to identify a block requiring retransmission, sets ARQ_RETRY_TIMEOUT for the block requiring retransmission, and retransmits it.

이와 같은 송신기에서의 데이터 전송 과정에 있어서, 사용되는 ACK 메시지의 종류로서, Selective ACK, Cumulative ACK, Cumulative with Selective ACK 및 Cumulative ACK with Block Sequence ACK의 4 종류가 있다.In the data transmission process in such a transmitter, there are four types of ACK messages used: Selective ACK, Cumulative ACK, Cumulative with Selective ACK, and Cumulative ACK with Block Sequence ACK.

도 3a 내지 도 3c는 Selective ACK, Cumulative ACK 및 Cumulative with Selective ACK의 동작 과정을 설명한 도면으로서, 도 3a는 Selective ACK의 동작 과정을 설명하기 위한 도면이다.3A to 3C are diagrams illustrating an operation process of a selective ACK, a cumulative ACK, and a cumulative with selective ACK, and FIG. 3A is a diagram illustrating an operation process of a selective ACK.

송신기는 전송할 SDU 블록에 각각 BSN을 할당한 뒤, BSN이 할당된 블록을 수신기로 전송한다. 수신기는 수신된 블록에 대해서는 ACK를 생성하고, 수신되지 않은 블록에 대해서는 NACK를 생성하여, 송신기로 전송한다.The transmitter assigns a BSN to each SDU block to be transmitted, and then transmits the block to which the BSN is assigned to the receiver. The receiver generates an ACK for the received block, generates a NACK for the unreceived block, and transmits it to the transmitter.

송신기는 수신된 ACK/NACK를 확인하여, NACK가 수신된 블록 및 사전에 설정된 ARQ_RETRY_TIMEOUT 시간 내에 ACK/NACK를 수신하지 못한 블록에 대하여 재전송을 수행한다.The transmitter checks the received ACK / NACK, and retransmits the block in which the NACK is received and the block in which the ACK / NACK is not received within a preset ARQ_RETRY_TIMEOUT time.

ARQ_TX_WINDOW_START와 동일한 BSN을 갖는 블록에 대한 ACK를 수신하거나, ARQ_TX_WINDOW_START와 동일한 BSN을 갖는 블록의 ARQ_BLOCK_LIFETIME이 초과되면, ARQ_TX_WINDOW_START는 업데이트된다. 도 3a에 도시된 바와 같이 0번 블록이 NACK를 수신하면 ARQ_TX_WINDOW_START는 업데이트되지 않는다. ARQ_TX_WINDOW_START is updated when an ACK is received for a block with the same BSN as ARQ_TX_WINDOW_START, or when ARQ_BLOCK_LIFETIME of a block with the same BSN as ARQ_TX_WINDOW_START is exceeded. As shown in FIG. 3A, when block 0 receives a NACK, ARQ_TX_WINDOW_START is not updated.

이와 같은 방법에 따라 송신기와 수신기는 Selective ACK를 이용하여, 전송되는 데이터에 대한 유실 또는 손실된 데이터를 확인할 수 있으며, 확인된 유실 데이터 또는 손실 데이터의 재전송을 수행할 수 있다.According to this method, the transmitter and the receiver may identify lost or lost data with respect to the transmitted data by using the selective ACK, and may perform retransmission of the identified lost data or lost data.

도 3b는 Cumulative ACK의 동작 과정을 설명하기 위한 도면이다.3B is a diagram for describing an operation process of a cumulative ACK.

도 2 및 도 3a를 통하여 설명한 바와 같이, 송신기는 전송할 SDU 블록에 각각 BSN을 할당하고, BSN이 할당된 블록을 수신기로 전송한다.As described with reference to FIGS. 2 and 3A, the transmitter allocates a BSN to each SDU block to be transmitted, and transmits a block to which the BSN is assigned to the receiver.

수신기는 처음으로 수신되지 않은 블록(도 3b에서의 4번 블록) 이전의 블록(도 3b에서의 3번 블록)에 대해서만 ACK를 생성하여 송신기에 전송한다.The receiver generates an ACK and transmits the ACK only to the block (block 3 in FIG. 3B) before the first block not received (block 4 in FIG. 3B).

송신기는 수신된 ACK를 확인하여 ACK된 BSN 이후의 모든 블록에 대해서 재전송을 수행한다. The transmitter checks the received ACK and retransmits all blocks after the ACK BSN.

ARQ_TX_WINDOW_START와 같은 BSN을 갖는 블록에 대해 ACK를 수신했으므로, ARQ_TX_WINDOW_START를 4번 블록으로 업데이트하고, 업데이트된 블록 수만큼 다음 블록(도 3b에서의 10번 내지 13번 블록)들을 전송한다.Since ACK is received for a block having a BSN equal to ARQ_TX_WINDOW_START, ARQ_TX_WINDOW_START is updated to block 4, and the next block (blocks 10 to 13 in FIG. 3B) is transmitted by the number of updated blocks.

이와 같은 방법에 따라 송신기와 수신기는 Cumulative ACK를 이용하여, 전송되는 데이터에 대한 유실 또는 손실된 데이터를 확인할 수 있으며, 확인된 유실 데이터 또는 손실 데이터의 재전송을 수행할 수 있다.According to this method, the transmitter and the receiver may confirm lost or lost data about the transmitted data by using Cumulative ACK and perform retransmission of the identified lost data or lost data.

도 3c는 Cumulative with Selective ACK의 동작 과정을 설명하기 위한 도면이다.3C is a diagram for describing an operation process of cumulative with selective ACK.

도 2 및 도 3a를 통하여 설명한 바와 같이, 송신기는 전송할 SDU 블록에 각각 BSN을 할당하고, BSN이 할당된 블록을 수신기로 전송한다.As described with reference to FIGS. 2 and 3A, the transmitter allocates a BSN to each SDU block to be transmitted, and transmits a block to which the BSN is assigned to the receiver.

수신기는 처음으로 수신되지 않은 블록(도 3c에서의 4번 블록) 이전의 블록(도 3c에서의 3번 블록)으로 Cumulative ACK를 생성하고, 다음 블록부터는 Selective ACK 방식을 따라 ACK/NACK를 생성하여 송신기로 전송한다.The receiver generates a Cumulative ACK from a block before the block (block 4 in FIG. 3C) that has not been received for the first time (block 3 in FIG. 3C), and generates an ACK / NACK from the next block according to the selective ACK scheme. Transmit to the transmitter.

송신기는 수신된 ACK/NACK를 확인하여 Cumulative ACK에 의해서 ARQ_TX_WINDOW_START를 4번 블록으로 업데이트하고, 업데이트된 만큼 다음 블록(도 3c에서의 10번 내지 13번 블록)들을 전송한다. 그리고, Selective ACK에 의해서 NACK를 받거나, ARQ_RETRY_TIMEOUT 시간 안에 ACK/NACK를 수신하지 못한 블록에 대해서 재전송을 수행한다.The transmitter checks the received ACK / NACK, updates ARQ_TX_WINDOW_START to block 4 by Cumulative ACK, and transmits the next block (blocks 10 to 13 in FIG. 3C) as much as updated. Then, the NACK is received by the Selective ACK or a block is not transmitted within the ARQ_RETRY_TIMEOUT time.

이와 같은 방법에 따라 송신기와 수신기는 Cumulative with Selective ACK를 이용하여, 전송되는 데이터에 대한 유실 또는 손실된 데이터를 확인할 수 있으며, 확인된 유실 데이터 또는 손실 데이터의 재전송을 수행할 수 있다.According to this method, the transmitter and the receiver may confirm lost or lost data about the transmitted data by using Cumulative with Selective ACK, and may retransmit the identified lost data or lost data.

현재 실행되고 있는 ARQ 방법은 위의 3가지 ACK 타입에 따라 동작 과정이 각각 상이하지만, 3가지 ACK 타입 모두 동시에 사용할 수 있는 BSN의 크기는 ARQ_WINDOW_SIZE로 제한을 받는다. 또한, ARQ_WINDOW_SIZE만큼의 BSN이 모두 사용 중인 경우 ARQ_TX_WINDOW_START가 업데이트되지 않으면, 새로운 블록을 전송하지 못하는 문제점이 있다.The currently executed ARQ method differs depending on the above three ACK types, but the size of the BSN that can be used simultaneously for all three ACK types is limited to ARQ_WINDOW_SIZE. In addition, when all ARQ_WINDOW_SIZE BSNs are in use, if ARQ_TX_WINDOW_START is not updated, a new block may not be transmitted.

이에 따라, 수신기에서 수신될 수 있는 블록의 범위는 수신 시작 데이터 블록(ARQ_RX_WINDOW_START, 이하 'ARQ_RX_WINDOW_START'라 칭함)과 ARQ_WINDOW_SIZE로 제한을 받는다. 여기서, ARQ_RX_WINDOW_START는 데이터 전송을 통해 수신되는 첫번째 데이터 블록을 나타낸다.Accordingly, the range of blocks that can be received by the receiver is limited to a reception start data block (ARQ_RX_WINDOW_START, hereinafter referred to as 'ARQ_RX_WINDOW_START') and ARQ_WINDOW_SIZE. Here, ARQ_RX_WINDOW_START represents the first data block received through data transmission.

그리고, 수신기에서 수신되는 마지막 데이터 블록을 수신 종료 데이터 블록(ARQ_RX_WINDOW_END, 이하 'ARQ_RX_WINDOW_END'라 칭함)이라 하며, ARQ_RX_WINDOW_END는 'ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE - 1'로 설정된다.The last data block received by the receiver is called a reception end data block (ARQ_RX_WINDOW_END, hereinafter referred to as 'ARQ_RX_WINDOW_END'), and ARQ_RX_WINDOW_END is set to 'ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE-1'.

Cumulative ACK를 사용할 때는 ARQ_TX_WINDOW_START가 업데이트됨에 따라 새로운 BSN을 새로운 SDU 블록에 할당하여 수신기로 전송할 수 있으며, 전송할 SDU 블록이 ARQ_WINDOW_SIZE보다 많은 상황에서는 항상 ARQ_WINDOW_SIZE만큼의 BSN을 사용한다. 하지만, ACK를 수신한 블록 이후의 블록들에 대해서 정확하게 수신된 블록들도 재전송해야 함에 따라, 자원이 낭비되는 문제점이 있다.When using Cumulative ACK, as the ARQ_TX_WINDOW_START is updated, a new BSN can be allocated to a new SDU block and transmitted to the receiver.In a situation where the SDU block to be transmitted is larger than ARQ_WINDOW_SIZE, the ARQ_WINDOW_SIZE BSN is always used. However, since the correctly received blocks must also be retransmitted for blocks after the block receiving the ACK, there is a problem in that resources are wasted.

Selective ACK는 Cumulative ACK의 문제점으로 지적된, 정확하게 수신된 블록을 재전송하는 문제점을 개선하였으나, ARQ_TX_WINDOW_START가 업데이트되지 않으면, 새로운 블록을 전송할 수 없는 문제점을 가지고 있다.Selective ACK improves the problem of retransmitting a correctly received block pointed out as a problem of Cumulative ACK, but has a problem that a new block cannot be transmitted unless ARQ_TX_WINDOW_START is updated.

또한, 도 3a에 도시된 바와 같이 0번 블록에 대한 ACK를 수신하였다고 하더라도, ARQ_TX_WINDOW_START가 3까지 밖에 업데이트되지 않는다. 이에 따라, Cumulative ACK에서 ARQ_WINDOW_SIZE만큼의 BSN을 사용하는 것과 다르게, ACK를 수신한 6번 블록 및 7번 블록에 대한 2개 블록은 사용하지 않는 상태가 된다.In addition, even if an ACK for the block 0 is received as shown in FIG. 3A, ARQ_TX_WINDOW_START is updated only up to three. Accordingly, unlike the use of BSNs equal to ARQ_WINDOW_SIZE in the Cumulative ACK, two blocks for blocks 6 and 7 that receive the ACK are not used.

Cumulative with Selective ACK는 ARQ_TX_WINDOW_START가 업데이트되지 않아 새로운 블록을 전송할 수 없다는 문제점은 개선되었으나, Selective ACK와 같이 ACK를 수신한 블록 수만큼 블록을 재사용하지 못한다는 문제점을 가지고 있다.Cumulative with Selective ACK can not transmit a new block because ARQ_TX_WINDOW_START is not updated, but has a problem that can not reuse the block as the number of blocks receiving the ACK, such as Selective ACK.

이와 같이 수신기에서의 ACK 타입 선택에 따라, 정확히 수신된 블록에 대한 재전송으로 인한 자원 낭비는 해결할 수 있으나, ACK를 수신한 블록의 수만큼 블록 을 재사용하지 못한다는 문제점은 해결할 수 없다. As described above, according to the ACK type selection at the receiver, resource waste due to retransmission of a correctly received block can be solved, but a problem that a block cannot be reused as many as the number of blocks having received an ACK can be solved.

본 발명이 이루고자 하는 기술적 과제는 이동통신 시스템에서 전송할 데이터가 많은 경우, ARQ 블록들을 효율적으로 사용하여, ARQ 전송 과정에서 발생되는 재전송을 위한 자원 낭비 및 블록의 비효율적인 사용에 대한 문제점을 해결하는 ARQ 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to use ARQ blocks efficiently when there is a lot of data to be transmitted in a mobile communication system, ARQ to solve the problem of resource waste and inefficient use of blocks for retransmission generated in the ARQ transmission process To provide a way.

이를 위하여 본 발명의 실시예에 따른 데이터 전송 방법은 자동 재전송 요구를 이용한 데이터 전송 방법으로서, (a) 전송하려는 데이터를 블록 단위로 분할하여 각각 고유 번호를 부여하고, 사전에 설정된 윈도우 범위 내에 위치한 데이터 블록을 송출하는 단계; (b) 송출된 데이터 블록 각각에 대한 수신 여부를 확인하는 단계; (c) 정상적으로 송출된 데이터 블록의 숫자에 따라, 윈도우 범위를 업데이트하고, 업데이트된 윈도우 범위 내의 데이터 블록을 재송출하는 단계; 및 (d) 재송출된 윈도우 범위 내의 데이터 블록 각각에 대한 수신 여부를 확인하는 단계를 포함한다.To this end, the data transmission method according to an embodiment of the present invention is a data transmission method using an automatic retransmission request, which comprises: (a) dividing data to be transmitted in block units and assigning a unique number to each other; Sending a block; (b) checking whether the received data block is received or not; (c) updating the window range and resending the data block within the updated window range according to the number of data blocks normally sent; And (d) confirming reception of each data block within the resent window range.

또한, 본 발명의 실시예에 따른 데이터 수신 방법은 자동 재전송 요구를 이용한 데이터 수신 방법으로서, (a) 고유 번호가 부여된 데이터 블록이 수신되면, 사전에 설정된 윈도우 범위 내의 데이터 블록인지 여부를 확인하는 단계; (b) 윈도우 범위 내의 데이터 블록은 제1 데이터 큐에 저장하고, 윈도우 범위 밖의 데이터 블록은 제2 데이터 큐에 저장하는 단계; (c) 제1 데이터 큐에 저장된 데이터 블록에 대한 수신 여부를 표시하는 응답 신호를 생성하여 송출하는 단계; 및 (d) 윈도우 범위가 업데이트되면, 업데이트된 윈도우 범위 내의 데이터 블록을 제2 데이터 큐에서 제1 데이터 큐로 이동시키고, (c) 단계 이후의 과정을 반복하여 수행하는 단계를 포함한다.In addition, the data reception method according to an embodiment of the present invention is a data reception method using an automatic retransmission request, and (a) if a data block assigned a unique number is received, it is determined whether the data block is within a preset window range. step; (b) storing data blocks within a window range in a first data queue, and storing data blocks outside the window range in a second data queue; (c) generating and transmitting a response signal indicating whether the data block stored in the first data queue is received; And (d) when the window range is updated, moving a block of data within the updated window range from the second data queue to the first data queue, and repeating the process after step (c).

본 발명에 따르면, 이동통신 시스템에서 전송할 SDU 블록들이 많은 경우, 전송을 시도하는 블록의 수를 항상 ARQ_WINDOW_SIZE와 같은 BSN 사용으로 유지함으로써, BSN의 사용을 극대화하고, ARQ_WINDOW_START의 업데이트(Update)를 빠르게 할 수 있다. 이에 따라, 데이터의 대기(Queuing) 지연의 감소, 단위 시간당 처리량 증가, 수신 확률을 증가시킬 수 있는 효과를 기대할 수 있다.According to the present invention, when there are many SDU blocks to be transmitted in a mobile communication system, the number of blocks to be transmitted is always maintained by using a BSN such as ARQ_WINDOW_SIZE, thereby maximizing the use of the BSN and speeding up the update of ARQ_WINDOW_START. Can be. Accordingly, the effect of reducing the waiting delay of data, increasing throughput per unit time, and increasing reception probability can be expected.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.

여기서, 본 발명을 실시함에 있어서, Cumulative ACK의 문제점은 Selective ACK 또는 Cumulative with Selective ACK를 이용하여 해결할 수 있으며, 본 발명은 Cumulative ACK에서 사용하지 않으므로, 이하의 설명에서는 Selective ACK 및 Cumulative with Selective ACK에 대해서만 설명하기로 한다. Here, in the practice of the present invention, the problem of Cumulative ACK can be solved by using the Selective ACK or Cumulative with Selective ACK, the present invention is not used in Cumulative ACK, the following description to Selective ACK and Cumulative with Selective ACK I will explain only.

도 4는 본 발명의 실시예에 따른 송신기 및 수신기의 구조를 간략하게 나타낸 구성도이다.4 is a configuration diagram schematically showing the structure of a transmitter and a receiver according to an embodiment of the present invention.

본 발명의 실시예에 따른 송신기(400)는 수신 ACK 관리 모듈(410), 송신기 타이머 관리 모듈(420) 및 ARQ 송신 모듈(430)을 포함하며, ARQ 송신 모듈(430)은 송신 제어 모듈(432) 및 송신 고유 번호 처리 모듈(434)을 포함한다.The transmitter 400 according to an embodiment of the present invention includes a reception ACK management module 410, a transmitter timer management module 420, and an ARQ transmission module 430, and the ARQ transmission module 430 includes a transmission control module 432. And transmit unique number processing module 434.

수신 ACK 관리 모듈(410)은 수신기(440)로부터 수신된 ACK 및 NACK를 처리, 저장 및 관리하는 기능을 수행하며, ACK를 수신한 블록의 수를 계산하여 ARQ_TX_WINDOW_START를 업데이트하는 기능을 수행한다.The reception ACK management module 410 performs a function of processing, storing, and managing ACKs and NACKs received from the receiver 440, and updates ARQ_TX_WINDOW_START by calculating the number of blocks that have received the ACK.

송신기 타이머 관리 모듈(420)은 ACK/NACK의 수신 여부를 확인을 위하여 사전에 설정된 제한 시간을 체크하는 타이머 기능을 수행한다. The transmitter timer management module 420 performs a timer function of checking a preset time limit for checking whether the ACK / NACK is received.

송신 제어 모듈(432)은 이동통신망을 통해 수신기(440)와의 데이터 송수신을 처리하는 부분으로서, BSN이 할당된 다수의 SDU 블록을 수신기(440)로 전송하고, 수신기(440)로부터 전송되는 ACK/NACK를 확인하는 기능을 수행한다. 그리고, ACK/NACK의 확인 결과에 따라, ACK를 수신 ACK 관리 모듈(410)로 전달하거나, NACK가 수신된 블록을 재전송하는 역할을 수행한다. 또한, 송신 제어 모듈(432)은 ARQ_TX_WINDOW_START의 업데이트에 따라, ACK를 수신한 블록의 수만큼의 BSN을 새로운 SDU 블록에 할당하는 역할을 수행한다.The transmission control module 432 processes data transmission and reception with the receiver 440 through a mobile communication network. The transmission control module 432 transmits a plurality of SDU blocks to which the BSN is assigned to the receiver 440, and transmits an ACK / It performs the function of checking NACK. Then, the ACK is transmitted to the receiving ACK management module 410 according to the confirmation result of the ACK / NACK, or retransmits the block in which the NACK is received. In addition, according to the update of ARQ_TX_WINDOW_START, the transmission control module 432 allocates as many BSNs as the number of blocks that receive the ACK to the new SDU block.

또한, 본 발명의 실시예에 따른 송신 제어 모듈(432)은 수신기(440)로부터 수신되는 ACK/NACK가 ARQ_TX_WINDOW_START와 ARQ_TX_WINDOW_END 범위 밖의 블록에 대한 ACK/NACK임이 확인되면, '(2 * ARQ_WINDOW_SIZE - 2 + ARQ_TX_WINDOW_START) mod (2 * ARQ_WINDOW_SIZE)'의 범위에 포함되는지 여부를 확인하고, 범위에 포함되는 블록에 대한 ACK/NACK를 수용한다. 여기서, mod는 나머지 값을 구하는 연산자이다. 그리고, ACK/NACK를 수신한 블록이 수신기(440)로 전송했던 블록인 여부를 판단하여, 전송하지 않은 블록에 대한 ACK/NACK가 수신되면, 수신기(440)가 잘못된 블록을 수신한 것이라 판단하여, 리셋(RESET) 작업을 수행하여 오류를 정정하는 기능을 수행한다.In addition, the transmission control module 432 according to the embodiment of the present invention, if it is confirmed that the ACK / NACK received from the receiver 440 is an ACK / NACK for a block outside the range ARQ_TX_WINDOW_START and ARQ_TX_WINDOW_END, '(2 * ARQ_WINDOW_SIZE-2 + ARQ_TX_WINDOW_START) Check whether it is included in the range of mod (2 * ARQ_WINDOW_SIZE) ', and accept ACK / NACK for blocks included in the range. Where mod is the operator to get the rest of the values. In addition, it is determined whether a block receiving the ACK / NACK is a block transmitted to the receiver 440. If an ACK / NACK is received for a block not transmitted, the receiver 440 determines that an incorrect block is received. It performs a function of correcting an error by performing a RESET operation.

송신 고유 번호 처리 모듈(이하, 'ARQ_TX_NEXT_BSN 처리 모듈'이라 칭함)(434)은 이후에 전송할 SDU 블록에 할당되는 BSN을 저장 및 관리하는 부분이다.The transmit unique number processing module (hereinafter referred to as an 'ARQ_TX_NEXT_BSN processing module') 434 is a part for storing and managing a BSN allocated to an SDU block to be transmitted later.

수신기(440)는 ARQ 수신 모듈(450), 송신 ACK 관리 모듈(460), Window 범위에 속하는 데이터 큐(470), Window 범위에 속하지 않는 데이터 큐(480) 및 수신기 타이머 관리 모듈(490)을 포함하며, ARQ 수신 모듈(450)은 수신 제어 모듈(452) 및 수신 고유 번호 처리 모듈(454)을 포함한다.The receiver 440 includes an ARQ reception module 450, a transmission ACK management module 460, a data queue 470 that falls within the Window range, a data queue 480 that does not fall within the Window range, and a receiver timer management module 490. The ARQ receiving module 450 includes a receiving control module 452 and a receiving unique number processing module 454.

수신 제어 모듈(452)은 송신기(400)와의 데이터 송수신을 처리하는 부분으로서, 송신기(400)로부터 전송되는 SDU 블록을 수신하고, 송신 ACK 관리 모듈(460)에 의해 생성된 ACK/NACK 신호를 송신기(400)로 전송하는 역할을 수행한다.The reception control module 452 processes data transmission and reception with the transmitter 400, receives an SDU block transmitted from the transmitter 400, and transmits an ACK / NACK signal generated by the transmission ACK management module 460. Serves to transmit to 400.

수신 고유 번호 처리 모듈(이하, 'ARQ_RX_HIGHEST_BSN 처리 모듈'이라 칭함)(454)은 송신기(400)로부터 수신된 SDU 블록에 따라 BSN을 처리하는 부분이다. ARQ_RX_HIGHEST_BSN 처리 모듈(454)은 송신기(400)로부터 수신된 SDU 블록 중 가장 높은 BSN을 갖는 SDU 블록의 BSN에 1을 더한 값을 BSN으로 저장한다. A reception unique number processing module (hereinafter referred to as an 'ARQ_RX_HIGHEST_BSN processing module') 454 is a part that processes the BSN according to the SDU block received from the transmitter 400. The ARQ_RX_HIGHEST_BSN processing module 454 stores the value obtained by adding 1 as the BSN of the SDU block having the highest BSN among the SDU blocks received from the transmitter 400.

송신 ACK 관리 모듈(460)은 송신기(400)로부터의 SDU 블록 수신 여부에 따라 ACK/NACK를 생성하고, 생성된 ACK/NACK를 수신 제어 모듈(452)을 통해 송신기(400)로 전송하는 부분이다.The transmission ACK management module 460 generates an ACK / NACK according to whether the SDU block is received from the transmitter 400, and transmits the generated ACK / NACK to the transmitter 400 through the reception control module 452. .

Window 범위에 속하는 데이터 큐(470)는 수신된 다수의 데이터 블록 중 수신 범위(ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE) 안의 데이터 블록을 저장하는 부분이며, Window 범위에 속하지 않는 데이터 큐(480)는 수신된 다수의 데이터 블록 중 수신 범위(ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE) 밖의 데이터 블록을 저장하는 부분이다.The data queue 470 that belongs to the window range is a part that stores the data blocks within the reception range ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE among the received data blocks, and the data queue 480 that does not belong to the window range includes the received data blocks. This part stores data blocks outside the reception range (ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE).

본 발명의 실시예에 따른 수신 제어 모듈(452)은 수신된 SDU 블록이 수신 범위 안의 데이터 블록인지, Window 범위에 속하는 데이터 블록인지 여부를 판단하여, Window 범위에 속하는 데이터 블록은 Window 범위에 속하는 데이터 큐(470)에 저장시키고, Window 범위에 속하지 않는 데이터 블록은 Window 범위에 속하지 않는 데이터 큐(480)에 저장시키는 역할을 수행한다. 이 때, 수신된 데이터 블록이 수신 블록 범위 밖의 블록이며, 수용 가능한 블록 수보다 뒤에 있는 데이터 블록으로 확인되면, 잘못된 블록으로 판단하여 폐기시키는 역할을 수행한다.The reception control module 452 according to an embodiment of the present invention determines whether the received SDU block is a data block within a reception range or a data block belonging to a window range, so that the data block belonging to a window range includes data belonging to a window range. The data block is stored in the queue 470, and data blocks not included in the window range are stored in the data queue 480 not included in the window range. At this time, if the received data block is a block outside the reception block range and is identified as a data block that is later than the acceptable number of blocks, the data block is determined to be an invalid block and discarded.

수신기 타이머 관리 모듈(490)은 송신기(400)로부터 전송되는 SDU 블록에 대한 수신 여부를 확인하기 위하여, 사전에 설정된 제한 시간을 체크하는 타이머 기능을 수행한다.The receiver timer management module 490 performs a timer function of checking a preset time limit in order to check whether the SDU block transmitted from the transmitter 400 is received.

도 5는 본 발명의 실시예에 따른 Selective ACK을 설명하기 위하여, 송신기와 수신기 사이에 송수신되는 신호 및 SDU 블록을 표시한 도면이다.5 is a diagram illustrating a signal and an SDU block transmitted and received between a transmitter and a receiver in order to explain the selective ACK according to an embodiment of the present invention.

이와 같이 송신기(400)와 수신기(440) 사이의 신호, 송신기(400)의 SDU 블록 및 수신기의 SDU 블록이 도시된 도면을 통하여, Selective ACK 타입을 사용하는 데이터 송수신 과정을 설명할 수 있다.As described above, a signal between the transmitter 400 and the receiver 440, the SDU block of the transmitter 400, and the SDU block of the receiver may be described, and thus a data transmission / reception process using the selective ACK type may be described.

도 6은 본 발명의 실시예에 따라 Selective ACK 타입을 사용하는 데이터 송수신 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a data transmission and reception method using a selective ACK type according to an embodiment of the present invention.

송신기(400)는 SDU 블록의 수가 ARQ_WINDOW_SIZE보다 크므로, ARQ_WINDOW_SIZE만큼의 BSN을 각각의 블록에 할당한다. 이 때, ARQ_TX_NEXT_BSN은 '할당된 마지막 BSN + 1'이 되며, 도 5에서는 10번 블록이 된다(S602).Since the number of SDU blocks is larger than ARQ_WINDOW_SIZE, the transmitter 400 allocates BSNs corresponding to ARQ_WINDOW_SIZE to each block. At this time, ARQ_TX_NEXT_BSN becomes 'the last allocated BSN + 1', and becomes block 10 in FIG. 5 (S602).

이와 같이 BSN이 각각의 SDU 블록에 할당되면, ARQ_TX_WINDOW_START와 전송 종료 데이터 블록(ARQ_TX_WINDOW_END, '이하 ARQ_TX_WINDOW_END'라 칭함) 사이의 SDU 블록이 수신기(440)로 송출된다. 여기서, ARQ_TX_WINDOW_START는 BSN이 할당된 첫번째 데이터 블록으로서, 0번 블록으로 설정되며, ARQ_TX_WINDOW_END는 BSN이 할당된 마지막 데이터 블록으로서 9번 블록이 된다. 여기서, ARQ_TX_WINDOW_END는 'ARQ_TX_WINDOW_START + ARQ_WINDOW_SIZE - 1'로 산출할 수 있다. 즉, 송신기(400)는 0번 블록부터 9번 블록을 수신기(440)로 전송한다(S604). As such, when the BSN is allocated to each SDU block, an SDU block between ARQ_TX_WINDOW_START and a transmission end data block (ARQ_TX_WINDOW_END, hereinafter referred to as ARQ_TX_WINDOW_END) is transmitted to the receiver 440. Here, ARQ_TX_WINDOW_START is the first data block to which the BSN is allocated, is set to block 0, and ARQ_TX_WINDOW_END is block 9 to be the last data block to which the BSN is allocated. Here, ARQ_TX_WINDOW_END may be calculated as 'ARQ_TX_WINDOW_START + ARQ_WINDOW_SIZE-1'. That is, the transmitter 400 transmits blocks 0 to 9 to the receiver 440 (S604).

수신기(440)는 송신기(400)로부터 수신된 SDU 블록을 확인한다(S606). 도 5에 도시된 바와 같이, 수신기(440)가 1번 블록, 2번 블록, 3번 블록, 6번 블록, 7번 블록 및 9번 블록을 수신하였으며, 0번 블록, 4번 블록, 5번 블록 및 8번 블록을 수신하지 못한 경우, 수신기(440)는 수신된 블록(1번 블록, 2번 블록, 3번 블록, 6번 블록, 7번 블록 및 9번 블록)에 대하여 ACK를 생성하고(S608), 수신되지 않은 블록(0번 블록, 4번 블록, 5번 블록 및 8번 블록)에 대하여 NACK를 생성한 뒤(S610), 생성된 ACK/NACK를 송신기(400)로 전송한다(S612).The receiver 440 checks the SDU block received from the transmitter 400 (S606). As shown in FIG. 5, the receiver 440 has received block 1, block 2, block 3, block 6, block 7 and block 9, block 0, block 4, and block 5 If block and block 8 are not received, the receiver 440 generates an ACK for the received blocks (block 1, block 2, block 3, block 6, block 7 and block 9). In operation S608, a NACK is generated for the unreceived blocks (blocks 0, 4, 5, and 8) (S610), and the generated ACK / NACK is transmitted to the transmitter 400 (S610). S612).

이 때, 송신기(400)가 1번 블록, 2번 블록, 3번 블록, 6번 블록 및 7번 블록에 대한 ACK를 수신하고, 0번 블록, 4번 블록 및 5번 블록에 대한 NACK를 수신한 경우, 송신기(400)는 NACK가 수신된 블록(0번 블록, 4번 블록 및 5번 블록)에 대한 재전송을 수행한다. 또한, 송신기(400)는 사전에 설정된 ARQ_RETRY_TIMEOUT 내에 ACK 또는 NACK가 수신되지 않은 블록(8번 블록 및 9번 블록)에 대한 재전송을 수행한다.At this time, the transmitter 400 receives ACKs for blocks 1, 2, 3, 6, and 7, and receives NACKs for blocks 0, 4, and 5, respectively. In one case, the transmitter 400 retransmits the blocks (blocks 0, 4, and 5) where the NACK is received. In addition, the transmitter 400 performs retransmission for blocks (blocks 8 and 9) for which ACK or NACK is not received within a preset ARQ_RETRY_TIMEOUT.

그리고, 송신기(400)는 수신된 ACK를 수신 ACK 관리 모듈(410)에 저장시킨 후, ARQ_TX_WINDOW_START의 업데이트에 이용한다.In addition, the transmitter 400 stores the received ACK in the reception ACK management module 410 and then uses it to update ARQ_TX_WINDOW_START.

그리고, 송신기(440)는 ACK를 수신한 블록의 수를 계산하고, 계산된 블록 수만큼의 BSN을 새로운 SDU 블록에 할당하고(S614), ARQ_TX_NEXT_BSN을 업데이트한다(S616).The transmitter 440 calculates the number of blocks that have received the ACK, allocates BSNs equal to the calculated number of blocks to a new SDU block (S614), and updates ARQ_TX_NEXT_BSN (S616).

도 5에서 ACK를 수신한 블록의 수는 5개이며, 이에 따라, ARQ_TX_NEXT_BSN은 15번 블록으로 업데이트된다.In FIG. 5, the number of blocks that receive the ACK is 5, and accordingly, ARQ_TX_NEXT_BSN is updated to block 15. FIG.

이에 따라, 11번 블록 내지 14번 블록은 새로운 BSN을 할당받고, NACK가 수신된 블록 또는 ARQ_RETRY_TIMEOUT 내에 ACK 또는 NACK가 수신되지 않은 블록이 재전송될 때 동봉되어 전송된다. 이 때, 처음으로 전송되는 11번 블록 내지 14번 블록에는 ARQ_RETRY_TIMEOUT과 ARQ_BLOCK_LIFETIME이 설정된다(S618).Accordingly, blocks 11 to 14 are allocated with a new BSN and are enclosed and transmitted when a block in which NACK is received or a block in which no ACK or NACK is received within ARQ_RETRY_TIMEOUT is retransmitted. At this time, ARQ_RETRY_TIMEOUT and ARQ_BLOCK_LIFETIME are set in blocks 11 to 14 transmitted first (S618).

수신기(440)는 재전송된 블록(0번 블록, 4번 블록, 5번 블록, 8번 블록 및 9번 블록)들과, 처음으로 전송된 블록(11번 블록 내지 14번 블록)을 수신한다. 그리고, ARQ_RX_HIGHEST_BSN을 '수신된 마지막 BSN + 1'로 설정한다. 도 5에서 ARQ_RX_HIGHEST_BSN는 15번 블록이 설정된다.The receiver 440 receives the retransmitted blocks (blocks 0, 4, 5, 8, and 9) and the first transmitted blocks (blocks 11 to 14). And, ARQ_RX_HIGHEST_BSN is set to 'last received BSN + 1'. In FIG. 5, block 15 is set in ARQ_RX_HIGHEST_BSN.

그리고, 수신기(440)는 수신된 데이터들 블록이 수신 범위(ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE) 안에 위치한 데이터 블록인지 여부를 확인하여(S620), 수신 범위 안의 데이터 블록은 Window 범위에 속하는 DATA 큐(470)에 저장하고(S626), 수신된 데이터 블록 중 수신 범위 밖의 데이터 블록은 Window 범위에 속하지 않는 DATA 큐(480)에 저장한다(S628). 여기서, 수신 범위(ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE) 밖의 범위는 'ARQ_RX_WINDOW_END + 1'부터 'ARQ_RX_WINDOW_END + ARQ_WINDOW_SIZE - 1'까지를 의미한다.In addition, the receiver 440 checks whether the received data block is a data block located in the reception range ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE (S620), and stores the data block within the reception range in the DATA queue 470 belonging to the window range. In operation S626, data blocks outside the reception range among the received data blocks are stored in the data queue 480 not belonging to the window range (S628). Here, the range outside the reception range ARQ_RX_WINDOW_START + ARQ_WINDOW_SIZE means 'ARQ_RX_WINDOW_END + 1' to 'ARQ_RX_WINDOW_END + ARQ_WINDOW_SIZE-1'.

여기서, S620 단계에서 수신된 데이터 블록이 수신 범위 밖의 데이터 블록으로 확인된 경우, 수용 가능한 데이터 블록 수의 범위 내에 위치한 데이터 블록은 Window 범위에 속하지 않는 DATA 큐(480)에 저장될 수 있다. Here, when the data block received in step S620 is confirmed as a data block outside the reception range, the data block located within the range of the number of acceptable data blocks may be stored in the DATA queue 480 not belonging to the window range.

이 때, 수신 범위 밖의 데이터 블록을 Window 범위에 속하지 않는 DATA 큐(480)에 수용함에 있어서, Window 범위에 속하는 DATA 큐(470)에 있는 데이터 블록의 개수를 초과하여 수용할 수 없으며, 수신 범위 밖의 데이터 블록을 순차적으로 수용하여야 한다. 즉, 수신 범위 밖의 데이터 블록을 2개 수신할 수 있는 상황에서 'ARQ_RX_WINDOW_END + 1'번 블록을 수신하지 않고, 'ARQ_RX_WINDOW_END + 2'번 블록과 'ARQ_RX_WINDOW_END + 3'번 블록을 수신할 수는 없다.At this time, in accommodating the data blocks outside the reception range into the DATA queue 480 that does not belong to the Window range, the number of data blocks in the DATA queue 470 belonging to the Window range cannot be exceeded. You must accept the data blocks sequentially. That is, in the situation where two data blocks outside the reception range can be received, the block 'ARQ_RX_WINDOW_END + 1' and the blocks 'ARQ_RX_WINDOW_END + 2' and 'ARQ_RX_WINDOW_END + 3' cannot be received.

예로써, 현재 수신 범위가 0부터 4이고, 이 범위에서 수신된 데이터 블록의 수가 2개이며, 수신 범위 밖의 범위가 5부터 8인 경우를 가정하면, 수신 범위 밖의 범위에서 수신 가능한 데이터 블록은 5번 데이터 블록부터 8번 데이터 블록까지 총 4개의 데이터 블록이 수신 가능하지만, 수신 범위에서 2개의 데이터 블록이 수신되었으므로, 수신 범위 밖의 범위에서는 2개의 데이터 블록만이 수신된다. 또한, 5번 데이터 블록과 6번 데이터 블록만이 수신 가능하며, 5번 데이터 블록은 수신되지 않고, 6번 데이터 블록과 7번 데이터 블록이 수신될 수는 없다(S622).For example, assuming that the current reception range is 0 to 4, the number of data blocks received in this range is 2, and the range outside the reception range is 5 to 8, the data blocks that can be received in the range outside the reception range are 5 Although a total of four data blocks can be received from the first data block to the eighth data block, since two data blocks are received in the reception range, only two data blocks are received in the range outside the reception range. In addition, only the 5th data block and the 6th data block can be received, the 5th data block is not received, and the 6th data block and the 7th data block cannot be received (S622).

이와 같은 조건을 만족하는 수신 범위 밖의 데이터 블록은 Window 범위에 속하지 않는 DATA 큐(480)에 저장되며, 조건을 만족하지 않은 데이터 블록은 잘못 수신된 데이터 블록으로 판단되어 폐기된다(S624).The data block outside the reception range satisfying the above condition is stored in the DATA queue 480 not belonging to the window range, and the data block not satisfying the condition is determined as an incorrectly received data block and discarded (S624).

재전송된 블록 및 처음으로 전송된 블록을 수신한 수신기(440)는 송신기(400)로 ACK/NACK를 전송한다(S630).The receiver 440 receiving the retransmitted block and the first transmitted block transmits an ACK / NACK to the transmitter 400 (S630).

이 때, 본 발명에 따른 수신기(440)는 Window 범위에 속하지 않는 DATA 큐(480)에 저장된 블록에 대해서는 ACK/NACK를 전송하지 않도록 설정한다. 즉, ARQ_RX_WINDOW_START부터 ARQ_RX_WINDOW_END 범위 내의 블록에 대해서만 ACK/NACK를 전송하며, 범위 밖의 블록에 대해서는 ACK/NACK를 전송하지 않는다. 또한, Window 범위에 속하는 블록에 대해서 ACK/NACK를 전송한 후, ARQ_RX_WINDOW_START가 업데이트되면 Window 범위에 속하지 않는 DATA 큐(480)에 저장된 블록 중 업데이트된 Window 범위에 속하는 데이터 블록들은 Window 범위에 속하는 DATA 큐(470)로 이동시킨 뒤, 해당 데이터 블록에 대한 ACK/NACK를 전송한다.At this time, the receiver 440 according to the present invention is configured not to transmit ACK / NACK for blocks stored in the data queue 480 that does not belong to the window range. That is, ACK / NACK is transmitted only for blocks within the range of ARQ_RX_WINDOW_START to ARQ_RX_WINDOW_END, and ACK / NACK is not transmitted for blocks outside the range. In addition, if ACK / NACK is transmitted for a block belonging to the window range, and ARQ_RX_WINDOW_START is updated, the data blocks belonging to the updated window range among the blocks stored in the data queue 480 not belonging to the window range are the DATA queue belonging to the window range. After moving to 470, and transmits the ACK / NACK for the data block.

이것은 범위 밖의 데이터 블록들에 대해서 ACK/NACK를 전송하게 되면, ARQ_BSN_MODULUS를 초과하여 ARQ_RX_WINDOW_START와 중첩될 수 있기 때문이다. 또한, 송신기(400)가 업데이트 이전의 Window 범위에 속하는 데이터 블록에 대하여 생성된 ACK/NACK를 수신하지 못한 경우, 업데이트된 Window 범위의 데이터 블록에 대하여 생성된 ACK/NACK를 수신하여 ACK/NACK의 미수신으로 인한 오류를 정정할 수 있다.This is because if ACK / NACK is transmitted for data blocks out of range, it may overlap with ARQ_RX_WINDOW_START beyond ARQ_BSN_MODULUS. In addition, when the transmitter 400 does not receive the ACK / NACK generated for the data block belonging to the window range before the update, the transmitter 400 receives the ACK / NACK generated for the data block in the updated window range to receive the ACK / NACK. You can correct errors due to non-receipt.

수신기(440)는 0번 블록이 수신되거나, 데이터 블록 소거 시간(ARQ_PURGE_TIMEOUT, 이하 'ARQ_PURGE_TIMEOUT'이라 칭함)이 초과됨에 따라 ARQ_RX_WINDOW_START가 업데이트되면(S632), Window 범위에 속하지 않는 DATA 큐(480)에서 새롭게 업데이트된 ARQ_RX_WINDOW_START부터 ARQ_RX_WINDOW_END까지 사이에 포함되는 BSN을 갖는 블록이 있는지 여부를 확인하여(S634), Window 범위에 속하지 않는 DATA 큐(480)에서 Window 범위에 속하는 DATA 큐(470)로 이동시킨다(S636). 이 때, ARQ_PURGE_TIMEOUT을 설정하고, Window 범위에 속하는 DATA 큐(470)에 저장되어 있는 블록들에 대한 ACK/NACK를 생성하여(S638), 송신기(400) 로 전송한다(S640).The receiver 440 is newly received from the DATA queue 480 that does not belong to the window range when ARQ_RX_WINDOW_START is updated due to the reception of block 0 or the data block erase time (ARQ_PURGE_TIMEOUT, hereinafter referred to as 'ARQ_PURGE_TIMEOUT') (S632). Check whether there is a block having a BSN included between the updated ARQ_RX_WINDOW_START and ARQ_RX_WINDOW_END (S634), and move from the DATA queue 480 not in the Window range to the DATA queue 470 in the Window range (S636). . At this time, ARQ_PURGE_TIMEOUT is set, and an ACK / NACK for blocks stored in the DATA queue 470 belonging to the window range is generated (S638) and transmitted to the transmitter 400 (S640).

송신기(400)는 ARQ_TX_WINDOW_START부터 ARQ_TX_WINDOW_END 범위 밖의 블록들에 대한 ACK/NACK가 수신되면, '(2 * ARQ_WINDOW_SIZE - 2 + ARQ_TX_WINDOW_START) mod (2 * ARQ_WINDOW_SIZE)'의 범위에 포함되는지 여부를 확인하고, 범위에 포함되는 블록에 대한 ACK/NACK를 수용한다(S642). 그리고, ACK/NACK를 수신한 블록이 수신기(440)로 전송했던 블록인 여부를 판단하여(S644), 전송하지 않은 블록에 대한 ACK/NACK가 수신되면, 수신기(440)가 잘못된 블록을 수신한 것이라 판단하여, 리셋(RESET) 작업을 수행하여 오류를 정정하는 기능을 수행한다(S645).When the transmitter 400 receives an ACK / NACK for blocks outside the range of ARQ_TX_WINDOW_START to ARQ_TX_WINDOW_END, it checks whether the transmitter 400 falls within the range of '(2 * ARQ_WINDOW_SIZE-2 + ARQ_TX_WINDOW_START) mod (2 * ARQ_WINDOW_SIZE)'. Accept ACK / NACK for the included block (S642). In addition, it is determined whether the block receiving the ACK / NACK is the block transmitted to the receiver 440 (S644). When the ACK / NACK is received for the untransmitted block, the receiver 440 receives the wrong block. In operation S645, the controller 130 determines that the error is corrected by performing a reset operation.

범위 내의 블록에 대한 ACK/NACK에 대해서는, NACK가 수신된 블록 또는 ARQ_RETRY_TIMEOUT 내에 ACK 또는 NACK가 수신되지 않은 블록의 재전송 수행하고, ACK를 수신한 블록 수만큼 새로운 SDU 블록에 새로운 BSN을 할당하여 전송을 하는 과정을 반복하여 수행한다(S648).For ACK / NACK for a block within the range, retransmission of a block in which NACK is received or a block in which no ACK or NACK is received within ARQ_RETRY_TIMEOUT is performed, and a new BSN is allocated to a new SDU block as many as the number of blocks in which ACK is received. Repeat the process to perform (S648).

도 7은 본 발명의 실시예에 따른 Cumulative with Selective ACK을 설명하기 위하여, 송신기와 수신기 사이에 송수신되는 신호 및 SDU 블록을 표시한 도면이다.FIG. 7 is a diagram illustrating signals and SDU blocks transmitted and received between a transmitter and a receiver in order to explain Cumulative with Selective ACK according to an embodiment of the present invention.

본 발명의 실시예에 따라 Cumulative with Selective ACK를 사용하는 동작은 도 5 및 도 6을 통하여 설명한 Selective ACK를 사용할 때의 동작 과정과 동일하다.The operation of using Cumulative with Selective ACK according to an embodiment of the present invention is the same as the operation process when using the selective ACK described with reference to FIGS. 5 and 6.

단, Cumulative ACK에 대한 ARQ_TX_WINDOW_START를 업데이트하고, 업데이트된 블록만큼 새로운 SDU 블록에 새로운 BSN을 할당한 후, 본 발명의 실시예에 따른 Selective ACK를 수행하는 차이점을 가진다.However, after updating ARQ_TX_WINDOW_START for Cumulative ACK, allocating a new BSN to a new SDU block as much as the updated block, there is a difference in performing a selective ACK according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 Selective ACK 타입을 사용하는 데이터 송수신 방법에서, 수신기가 전송한 ACK를 수신하지 못한 송신기에 의해 중첩되는 BSN을 갖는 데이터 블록을 전송했을 때, 송신기에서 잘못된 블록임을 판단하는 방법을 설명하기 위한 도면이다.8 is a wrong block in a transmitter when a data block having a BSN overlapped by a transmitter that does not receive an ACK transmitted by a receiver in a data transmission / reception method using a selective ACK type according to an embodiment of the present invention It is a figure for demonstrating the determination method.

도 9는 본 발명의 실시예에 따른 Selective ACK 타입을 사용하는 데이터 송수신 방법에서, 수신기가 전송한 ACK를 수신하지 못한 송신기에 의해 중첩되는 BSN을 갖는 데이터 블록을 전송했을 때, 수신기에서 잘못된 블록임을 판단하는 방법을 설명하기 위한 도면이다.9 is a wrong block in a receiver when a data block having a BSN overlapped by a transmitter that does not receive an ACK transmitted by a receiver in a data transmission / reception method using a selective ACK type according to an embodiment of the present invention It is a figure for demonstrating the determination method.

이와 같이 본 발명의 실시예에 따르면, 전송하려는 SDU 블록의 숫자가 ARQ_WINDOW_SIZE보다 많은 경우, ARQ_WINDOW_SIZE과 동일한 BSN의 사용에 따라 전송에 관여되는 SDU 블록의 수는 항상 유지할 수 있으며, 이와 같은 알고리즘을 이용하여, 송신기 및 수신기에서 발생할 수 있는 오류를 정정하여 해결할 수 있다.As described above, when the number of SDU blocks to be transmitted is larger than ARQ_WINDOW_SIZE, the number of SDU blocks involved in transmission can be maintained at all times according to the use of a BSN equal to ARQ_WINDOW_SIZE. In addition, the error which may occur in a transmitter and a receiver can be corrected and solved.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not only implemented by the apparatus and method but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded, The embodiments can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

도 1은 휴대 인터넷 시스템에서 사용되는 ARQ 파라미터를 설명하기 위한 표,1 is a table for explaining the ARQ parameters used in the portable Internet system,

도 2는 송신기에서 SDU가 ARQ 블록에 대입되는 과정을 설명하기 위한 도면,2 is a diagram for explaining a process of assigning an SDU to an ARQ block in a transmitter;

도 3a 내지 도 3c은 Selective ACK, Cumulative ACK 및 Cumulative with Selective ACK의 동작 과정을 설명한 도면,3A to 3C are views illustrating an operation process of a selective ACK, a cumulative ACK, and a cumulative with selective ACK;

도 4는 본 발명의 실시예에 따른 송신기 및 수신기의 구조를 간략하게 나타낸 구성도,4 is a schematic view showing the structure of a transmitter and a receiver according to an embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 Selective ACK을 설명하기 위하여, 송신기와 수신기 사이에 송수신되는 신호 및 SDU 블록을 표시한 도면,5 is a view illustrating a signal and an SDU block transmitted and received between a transmitter and a receiver in order to explain the selective ACK according to an embodiment of the present invention;

도 6은 본 발명의 실시예에 따라 Selective ACK 타입을 사용하는 데이터 송수신 방법을 설명하기 위한 순서도,6 is a flowchart illustrating a data transmission and reception method using a selective ACK type according to an embodiment of the present invention;

도 7은 본 발명의 실시예에 따른 Cumulative with Selective ACK을 설명하기 위하여, 송신기와 수신기 사이에 송수신되는 신호 및 SDU 블록을 표시한 도면,7 is a view illustrating a signal and an SDU block transmitted and received between a transmitter and a receiver in order to explain Cumulative with Selective ACK according to an embodiment of the present invention;

도 8은 본 발명의 실시예에 따른 Selective ACK 타입을 사용하는 데이터 송수신 방법에서, 수신기가 전송한 ACK를 수신하지 못한 송신기에 의해 중첩되는 BSN을 갖는 데이터 블록을 전송했을 때, 송신기에서 잘못된 블록임을 판단하는 방법을 설명하기 위한 도면,8 is a wrong block in a transmitter when a data block having a BSN overlapped by a transmitter that does not receive an ACK transmitted by a receiver in a data transmission / reception method using a selective ACK type according to an embodiment of the present invention Drawings for explaining how to judge,

도 9는 본 발명의 실시예에 따른 Selective ACK 타입을 사용하는 데이터 송수신 방법에서, 수신기가 전송한 ACK를 수신하지 못한 송신기에 의해 중첩되는 BSN을 갖는 데이터 블록을 전송했을 때, 수신기에서 잘못된 블록임을 판단하는 방법을 설명하기 위한 도면이다.9 is a wrong block in a receiver when a data block having a BSN overlapped by a transmitter that does not receive an ACK transmitted by a receiver in a data transmission / reception method using a selective ACK type according to an embodiment of the present invention It is a figure for demonstrating the determination method.

Claims (11)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 자동 재전송 요구를 이용한 데이터 수신 방법에 있어서,In a data receiving method using an automatic retransmission request, (a) 고유 번호가 부여된 데이터 블록이 수신되면, 사전에 설정된 윈도우 범위―여기서, 윈도우 범위는 한번의 데이터 전송을 통하여 송출 및 수신되는 데이터 블록 구간임― 내의 데이터 블록인지 여부를 확인하는 단계;(a) when a data block assigned a unique number is received, checking whether the data block is within a preset window range, wherein the window range is a data block section transmitted and received through one data transmission; (b) 상기 윈도우 범위 내의 데이터 블록은 제1 데이터 큐에 저장하고, 상기 윈도우 범위 밖의 데이터 블록은 제2 데이터 큐에 저장하는 단계;(b) storing data blocks within the window range in a first data queue, and storing data blocks outside the window range in a second data queue; (c) 상기 제1 데이터 큐에 저장된 데이터 블록에 대한 수신 여부를 표시하는 응답 신호를 생성하여 송출하는 단계; 및(c) generating and transmitting a response signal indicating whether the data block stored in the first data queue is received; And (d) 상기 윈도우 범위가 업데이트되면, 상기 업데이트된 윈도우 범위 내의 데이터 블록을 제2 데이터 큐에서 제1 데이터 큐로 이동시키고, 상기 (c) 단계 이후의 과정을 반복하여 수행하는 단계(d) if the window range is updated, moving a block of data within the updated window range from a second data queue to a first data queue, and repeating the process after step (c) 를 포함하는 데이터 수신 방법.Data receiving method comprising a. 삭제delete 삭제delete 삭제delete
KR1020080117081A 2008-11-24 2008-11-24 Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System KR101086045B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080117081A KR101086045B1 (en) 2008-11-24 2008-11-24 Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080117081A KR101086045B1 (en) 2008-11-24 2008-11-24 Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System

Publications (2)

Publication Number Publication Date
KR20100058322A KR20100058322A (en) 2010-06-03
KR101086045B1 true KR101086045B1 (en) 2011-11-22

Family

ID=42359989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080117081A KR101086045B1 (en) 2008-11-24 2008-11-24 Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System

Country Status (1)

Country Link
KR (1) KR101086045B1 (en)

Also Published As

Publication number Publication date
KR20100058322A (en) 2010-06-03

Similar Documents

Publication Publication Date Title
KR100459557B1 (en) Method for allocating hybrid automatic retransmission request channel number for indicating state information of data in high speed downlink packet access communication system
EP1211840A1 (en) Hybrid ARQ with parallel packet transmission
US7436795B2 (en) Timer based stall avoidance mechanism for high speed wireless communication system
US7284179B2 (en) Window based stall avoidance mechanism for high speed wireless communication system
RU2387087C2 (en) Data exchange method, data exchange system and data exchange station
US7752519B2 (en) Method for creating feedback message for ARQ in mobile communication system
EP1956741A1 (en) Retransmission control method and receiving-end apparatus
CA2466231A1 (en) Time-aware best-effort hole-filling retry method and system for network communications
JP2002135233A (en) Method and apparatus for asynchronous incremental redundancy reception in communication system
KR20070103559A (en) Method for resource allocation in harq
US20200412491A1 (en) Harq transmission scheme using multiple parallel harq threads
JPH09284261A (en) Automatic re-transmission control method
KR101075722B1 (en) Method for reporting packet process result in a mobile communication system
JP4708982B2 (en) Retransmission control method and receiving apparatus
WO2008032990A1 (en) Method for preventing consecutive packet errors in selective hybrid arq system
KR100977043B1 (en) Method and Apparatus for Transmitting/Receiving of Data with ARQ in Mobile Communication System
KR101086045B1 (en) Method for Transmitting/Receiving of Data with ARQ in Mobile Communication System
US11463201B2 (en) HARQ TXOP frame exchange for HARQ retransmission using HARQ threads
CN111405609B (en) Data transmission method, device, system, medium and equipment
US8438444B2 (en) Method of associating automatic repeat request with hybrid automatic repeat request
KR101793496B1 (en) Apparatus and method of communicating automatic repeat request (arq) feedback in a wireless communication network
KR101086044B1 (en) Solution of Iterative Problem for Transmitting/Receiving of Data with ARQ in Mobile Communication System
KR101279694B1 (en) Method of hybrid automatic repeat request having low signaling overhead and system thereof
KR100651441B1 (en) Method for constructing bitmap and method for re-transmitting packet using the bitmap
JP2006148784A (en) Communication method, and communication device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee