KR20010035467A - 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법 - Google Patents

이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법 Download PDF

Info

Publication number
KR20010035467A
KR20010035467A KR1019990031753A KR19990031753A KR20010035467A KR 20010035467 A KR20010035467 A KR 20010035467A KR 1019990031753 A KR1019990031753 A KR 1019990031753A KR 19990031753 A KR19990031753 A KR 19990031753A KR 20010035467 A KR20010035467 A KR 20010035467A
Authority
KR
South Korea
Prior art keywords
frame
rlp
serial number
retransmission
frames
Prior art date
Application number
KR1019990031753A
Other languages
English (en)
Other versions
KR100424654B1 (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
Priority to KR10-1999-0031753A priority Critical patent/KR100424654B1/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CNB008108390A priority patent/CN1165122C/zh
Priority to CA 2381073 priority patent/CA2381073C/en
Priority to JP2001517726A priority patent/JP4220154B2/ja
Priority to AU61883/00A priority patent/AU766940B2/en
Priority to US09/631,242 priority patent/US6956855B1/en
Priority to PCT/KR2000/000850 priority patent/WO2001013542A1/en
Priority to EP20000948399 priority patent/EP1201047B1/en
Priority to RU2002102704A priority patent/RU2221339C2/ru
Priority to BR0012600A priority patent/BR0012600A/pt
Publication of KR20010035467A publication Critical patent/KR20010035467A/ko
Application granted granted Critical
Publication of KR100424654B1 publication Critical patent/KR100424654B1/ko

Links

Classifications

    • 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
    • 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/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • 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
    • 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/1809Selective-repeat protocols
    • 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/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

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

Abstract

부호분할다중접속(CDMA) 방식의 이동 통신시스템에서 라디오 링크 프로토콜(RLP)에 따라 데이터를 송수신할 시 빠진(유실된) 프레임을 보다 빠르게 재전송하는 장치 및 방법이 개시되어 있다. 본 발명의 RLP 데이터 송수신 장치는, 재전송 요청된 RLP 프레임들을 우선 순위에 따라 정렬하여 송신하는 송신기와, 수신 RLP 프레임들중에서 깨진 프레임들을 상기 송신기로 재전송 요청하고, 상기 재전송 요청된 프레임들을 수신하는 도중에 깨진 프레임이 있는지를 판단한 후 판단되는 즉시 깨진 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 수신기로 이루어진다. 상기 송신기는, 상기 재전송 요청된 RLP 프레임들중에서 가장 작은 일련 번호를 가지는 프레임들의 순서로 상기 우선 순위를 결정한다. 상기 수신기는, 상기 재전송 요청된 각 프레임들에 대해 재전송 시간을 설정하고, 이 재전송 시간이 경과할 때까지 해당하는 재전송 요청된 프레임이 수신되지 않는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송한다. 일예로, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송한다. 다른 예로, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되거나 아무런 프레임도 수신되지 않는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송한다.

Description

이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법 {APPARATUS AND METHOD FOR RETRANSMITTING DATA IN ACCORDANCE WITH RADIO LINK PROTOCOL IN A MOBILE COMMUNICATION SYSTEM}
본 발명은 부호분할다중접속(Code Division Multiple Access: 이하 CDMA라 칭한다) 방식의 이동 통신시스템에 관한 것으로, 특히 무선 환경에서 데이터의 효율적 전송을 위해 사용되는 라디오 링크 프로토콜(RLP: Radio Link Protocol)에 따라 데이터를 송수신할 시 빠진(유실된) 프레임을 보다 빠르게 재전송하는 장치 및 방법에 관한 것이다.
일반적으로 CDMA방식의 이동 통신시스템은 음성을 위주로 하는 IS-95 규격에서 발전하여, 음성뿐만 아니라 고속 데이터의 전송이 가능한 CDMA2000 규격으로 발전하기에 이르렀다. 상기 CDMA2000 규격에서는 고품질의 음성, 동화상, 인터넷 검색 등의 서비스가 가능하다.
상기 CDMA2000 규격에서 제공하는 패킷 데이터 서비스의 예가 도 1에 나타나 있다. 상기 도 1에서 단말기는 터미널 장치(Terminal Equipment)인 TE와 단말 장치(Mobile Termination)인 MT로 이루어져 있다. 상기 도 1에서 기지국은 교환기와 함께 BS/MSC(Base Station/Mobile Switching Center)로 표시되어 있고, 데이터 망(예: 인터넷)과 연동시켜주는 인터워킹펑션(Interworking Function)부는 IWF로 표시되어 있다. 상기 IWF부는 서로 다른 프로토콜을 사용하는 경우 상호간에 프로토콜 변환을 시켜 주는 기능을 수행하는 장치이다. 상기 도 1에서 단말기와 IWF부의 상위 서비스(Web Service)처리부들은 네트워크 프로토콜(IP: Internet Protocol)처리부와 링크 프로토콜(PPP: Point-to-Point Protocol)처리부를 거쳐서 데이터를 주고 받는다. 즉, 상위 서비스처리부들이 만든 데이터는 최종적으로 링크 프로토콜 패킷의 형태로 하위 계층에 전달되고, 하위 계층에서는 적절한 프로토콜을 사용하여 전송하게 된다.
상기 도 1에서는 TE와 MT 사이에 EIA-232제어기가 사용되는 예를 보여 주고 있다. EIA-232제어기를 통하여 MT에 전송된 링크 프로토콜 패킷들은 본 발명에서 다루는 라디오 링크 프로토콜(Radio Link Protocol: 이하 RLP라 칭한다)을 거쳐서 RLP 프레임(RLP Frame)에 나누어 들어간다. 상기 과정으로 생성된 RLP 프레임은 CDMA2000 규격인 IS-2000 규격을 통하여 연결된 물리 채널을 통하여 전송되게 된다. 연결된 물리 채널을 통하여 기지국으로 수신된 RLP 패킷은 다시 링크 프로토콜 패킷들로 복원이 되고 복원된 패킷들은 릴레이 계층을 통하여 상기 IWF부로 전송된다. 일반적으로 기지국과 IWF부 사이의 인터페이스는 IS-658 규격을 따른다. 상기 IWF부에서는 링크 프로토콜 패킷에서 데이터를 꺼내어 네트워크 프로토콜 처리부에게 전달하고 최종적으로 이러한 데이터들은 상위 서비스 처리부로 전달된다.
상기 과정은 단말기에서 기지국으로 데이터를 전송하는 과정을 보여 주었지만 반대로 기지국에서 단말기에게 데이터를 전송하는 과정 또한 유사하게 진행된다.
CDMA2000에서는 다양한 서비스를 제공하기 위해서 상기 도 1과는 다른 여러 가지 구성이 가능하도록 되어 있다. 그러나 상위 서비스의 데이터를 담은 링크 프로토콜 패킷들은 모두 RLP를 통하여 무선 물리 채널로 전송된다는 점에서는 모두 공통된다.
도 2는 상기 도 1의 RLP에 따라 데이터를 송수신하는 이동 통신시스템의 구성을 보다 자세하게 보여주는 도면이다.
송신 및 수신 데이터 버퍼 122,124,222,224는 메모리 장치로서 도 1의 예에서와 같이 EIA-232 제어기나 IS-658 제어기가 상기 링크 프로토콜 처리기 110,210에서 받은 데이터를 저장해둔다. RLP 처리기 130,230은 상기 데이터 버퍼 122,222에서 필요한 만큼의 데이터를 받아서 수신측으로 전송한다. 또한 상기 RLP 처리기 130,230은 수신된 데이터를 상기 데이터 버퍼 124,224에 저장한다. 이 저장된 데이터는 상기 EIA-232 제어기나 IS-658 제어기에 의해 PPP처리기, 즉 링크 프로토콜 처리기로 전달된다. 상기 EIA-232 제어기나 IS-658 제어기는 EIA-232 규격과 IS-658 규격에 따라 동작한다. 현재 CDMA2000 패킷 서비스에서는 상기 EIA-232 제어기나 IS-658 제어기 이외에 다른 방식을 사용할 수도 있으므로, 상기 도 2에서는 이들 제어기를 표시하지는 않았다는 사실에 유의할 필요가 있다.
상기 다중화/역다중화 제어기 140,150은 물리계층 처리기 150,250로 전달할 RLP 프레임들에 대해서 목적지와 크기 등의 정보를 RLP 프레임 앞에 붙인 후 물리계층 처리기 150,250에게 전달하는 다중화 기능과, 반대로 수신된 RLP 프레임에 대해서 목적지와 크기를 확인한 후 상위 RLP 처리기 130,230에게 전달하는 역다중화 기능을 수행한다.
상기 물리계층 처리기 150,250은 IS-2000 규격에 따라서 단말기와 기지국 사이에 물리채널을 연결하고, 상기 다중화/역다중화 제어기 150,250이 전달하는 내용을 송신하고, 상기 물리 채널을 통하여 수신된 내용을 상기 다중화/역다중화 제어기 150,250으로 전달한다.
한편, RLP Type 3 규정에 따르면, 수신된 프레임이 깨졌을 때 송신측 RLP로 프레임의 재전송을 요청한다. 즉, 수신측 RLP에서는 송신측 RLP에게 특정 프레임에 대한 재전송 요청을 담은 NAK (Non-AKnowledgement) 프레임을 전송하여 이를 수신한 송신측 RLP가 다시 프레임을 전송하도록 하고 있다. 이때 송신측 RLP로 보낸 NAK 프레임과 송신측 RLP에서 다시 전송한 프레임 역시 전송 중에 깨질 수 있으므로, 수신측 RLP는 일정 시간 동안 재전송 요청한 프레임을 수신하지 못하면 상기 재전송 요청을 담은 NAK 프레임을 다시 전송하게 된다. 즉, 수신측 RLP는 NAK 프레임을 보낸 후 재전송 타이머를 적당한 값으로 설정하고 재전송 타이머의 값을 하나씩 감소시키면서 이 값이 '0'이 될 때까지 재전송된 프레임이 도착하지 않는 경우에 다시 NAK 프레임을 전송한다.
상기 재전송 타이머의 값을 감소시킬 수 있는 조건으로는 널 프레임(null frame), 아이들 프레임(idle frame) 또는 새로 전송되는 데이터 프레임(new data frame)이 수신된 경우로 규정되고 있다. 상기 널 프레임, 아이들 프레임은 전송할 데이터나 처리할 재전송 요청이 없을 때 송신측 RLP가 보내는 것이고, 상기 새로 전송되는 데이터 프레임은 전송할 데이터가 있고 처리할 재전송 요청이 없을 때 송신측 RLP가 보내는 것이므로, 상기 프레임이 수신되었다는 사실은 모두 송신측 RLP가 아무런 재전송 요청을 가지고 있지 않는 것을 의미한다. 따라서 수신측 RLP는 상기 프레임들이 수신되면 송신측 RLP에서 재전송 요청을 받지 못했다는 것으로 판단하고 이에 따라 재전송 타이머의 값을 감소시키는 것이다.
그러나, 이러한 방법은 재전송되는 프레임이 굉장히 많은 경우에는 송신측 RLP에서 재전송 프레임을 모두 송신한 이후에야 상기 프레임들을 전송할 수 있으므로, 재전송된 프레임이 다시 유실되는 경우에도 상기 프레임들이 수신될 때까지는 재전송 요청을 할 수 없다는 단점이 있다. 도 3은 이러한 단점을 설명하기 위한 도면이다.
상기 도 3은 수신측 RLP가 송신측 RLP로 재전송 요청을 하고 송신측 RLP가 수신측 RLP로 재전송 프레임을 보낼 때까지 소요되는 시간이 2 타임슬롯(time slot)(즉, 40 ms)인 경우의 예로 보여주고 있다. 물론, RLP Type 3 규격에서는 모든 재전송 프레임들에 대해서 각각 재전송 타이머를 설정하는 것으로 되어 있으나, 여기서는 1번 프레임이 재전송 도중 깨지는 경우만을 고려하기로 한다. 상기 도 3의 T1시점에서 수신측 RLP는 0번부터 5번까지의 프레임이 깨진 것을 발견하고 NAK 프레임을 보내면서 1번 프레임에 대한 재전송 타이머를 2 타임슬롯으로 설정한다. T2 시점에서 송신측 RLP는 재전송이 요청된 프레임들을 다시 전송하기 시작한다. T3 시점에서 수신측 RLP에는 아무 프레임도 도착하지 않았으므로, 재전송 타이머를 하나 감소시킨 1로 설정한다. T4 시점에서 0번 재전송 프레임이 도착하면, 널 프레임(null frame), 아이들 프레임(idle frame) 또는 새로 전송되는 데이터 프레임(new data frame)이 수신된 것이 아니므로 상기 RLP Type 3의 규정에 따라 수신측 RLP는 재전송 타이머를 감소시키지 않는다. T5 시점에서 1번 재전송 프레임이 깨진(유실된) 경우에도 역시 상기 조건을 만족시키지 않는 경우이므로, 수신측 RLP는 재전송 타이머를 감소시키지 않는다. T6 시점에서 수신측 RLP는 2번 재전송 프레임을 수신하므로 재전송 타이머를 감소시키지 않는다.
상기 도 3에서 알 수 있듯이 현재 RLP Type 3의 규정에 따르면 1번 프레임에 대한 재전송 요청은 5번 프레임까지 모두 재전송된 이후에나 가능하다. 따라서 이러한 방식은 재전송할 프레임이 많은 경우에는 재전송 요청을 상당히 길게 지연시키게 되고, 지연 시간이 늘어나면 상위 링크 프로토콜 제어기에서 재전송을 하도록 하므로 결과적으로 전체적인 성능이 떨어지게 된다.
상기 RLP Type 3에서 상기와 같은 타이머 감소 조건을 사용하는 이유는 우선 송신측 RLP에서 재전송 요청을 순서대로 처리하기 때문이다. 즉, 상기 도 3의 T6 시점에서 수신측 RLP가 깨진 프레임인 1번 프레임에 대한 재전송을 요청한다 하더라도 송신측 RLP는 T2 시점에서 수신된 0번에서 5번 프레임까지의 재전송 요청을 먼저 처리한 후 다음에 도착한 1번 프레임에 대한 재전송 요청을 처리하므로, 재전송 프레임이 일련 번호 순서대로 도착한다고 보장되지 않기 때문이다. 따라서 수신측 RLP는 여러 번의 재전송 요청을 한 경우 재전송 프레임들이 일련 번호 순서대로 도착하지 않으므로 재전송 프레임들이 모든 전송될 때까지 기다려야만 특정 프레임이 도착하지 않은 것을 알 수 있게 되는 것이다.
따라서 본 발명의 목적은 전술한 단점을 해결하기 위해서 재전송되는 RLP 프레임에 대해서 RLP Type 3이 규정하는 방식이 아닌 새로운 재전송 방법을 사용하는 RLP 데이터 송수신 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 송신측 RLP에서 재전송 프레임을 일련 번호 순서대로 전송함으로써 수신측 RLP에서 기다리는 시간을 줄임으로써 데이터 전송 성능을 향상시키는 RLP 데이터 송수신 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 수신측 RLP에서 재전송 타이머의 값을 새로운 방법에 따라 감소시킴으로써 수신측 RLP에서 보다 빨리 재전송 요청을 할 수 있도록 하는 RLP 데이터 송수신 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 송신측 RLP는 일련 번호 순서에 따라 재전송 프레임의 전송 순서를 결정하고 수신측 RLP는 수신되는 프레임의 일련 번호를 보고서 재전송 타이머의 값을 감소시키는 RLP 데이터 송수신 장치 및 방법을 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명의 RLP 데이터 송수신 장치는, 재전송 요청된 RLP 프레임들을 우선 순위에 따라 정렬하여 송신하는 송신기와, 수신 RLP 프레임들중에서 깨진 프레임들을 상기 송신기로 재전송 요청하고, 상기 재전송 요청된 프레임들을 수신하는 도중에 깨진 프레임이 있는지를 판단한 후 판단되는 즉시 깨진 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 수신기로 이루어진다. 상기 송신기는, 상기 재전송 요청된 RLP 프레임들중에서 가장 작은 일련 번호를 가지는 프레임들의 순서로 상기 우선 순위를 결정한다. 상기 수신기는, 상기 재전송 요청된 각 프레임들에 대해 재전송 시간을 설정하고, 이 재전송 시간이 경과할 때까지 해당하는 재전송 요청된 프레임이 수신되지 않는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송한다. 일예로, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송한다. 다른 예로, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되거나 아무런 프레임도 수신되지 않는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송한다.
본 발명에 따른 데이터 송신 장치는, 전송을 위한 데이터열을 저장하고 있는 송신 데이터 버퍼와, 프레임 생성 요청시 요청된 크기내의 상기 데이터열을 읽어들여 RLP 프레임을 생성하고, 상기 생성된 RLP 프레임을 일련 번호와 함께 저장하였다가 프레임 재전송 요청시 저장된 RLP 프레임중 해당하는 RLP 프레임들을 일련 번호 순서대로 정렬하여 전송하는 RLP 처리기와, 상기 RLP 처리기로 프레임 생성을 요청하고, 상기 생성된 RLP 프레임 또는 재전송 요청에 따른 RLP 프레임들을 다중화 처리하여 물리채널 정보비트로서 출력하는 다중화 제어기와, 상기 물리채널 정보비트를 부호화 및 변조하여 물리 채널을 통해 송신하는 물리계층 처리기로 이루어진다. 상기 RLP 처리기는, 생성될 RLP 프레임의 일련 번호를 저장하고 있는 제1레지스터와, 상기 생성된 RLP 프레임을 일련 번호와 함께 저장하는 재전송 버퍼와, 상기 프레임 재전송 요청시 상기 재전송 버퍼에 저장되어 있는 RLP 프레임중에서 해당하는 RLP 프레임들을 일련 번호 순서대로 정렬하여 저장하는 재전송 요청 큐와, 상기 생성된 RLP 프레임을 전송하고, 또한 상기 프레임 재전송 요청시 상기 재전송 요청큐에 저장된 RLP 프레임들을 일련 번호 순서대로 전송하는 RLP 제어기로 이루어진다.
본 발명에 다른 데이터 수신 장치는, 물리채널 정보 비트를 수신하여 복조 및 복호화하여 RLP 프레임을 출력하는 물리계층 처리기와, 상기 RLP 프레임을 역다중화 처리하는 역다중화 제어기와, 수신 RLP 프레임을 저장하기 위한 수신 데이터 버퍼와, 상기 역다중화 처리된 RLP 프레임을 전달받아 빠진 프레임이 있는지 여부를 판단하고, 빠진 프레임이 없는 경우에는 이를 상기 수신 데이터 버퍼에 저장하고, 빠진 프레임이 있는 경우에는 해당하는 RLP 프레임을 재전송 요청하고, 재전송 요청에 따른 RLP 프레임의 수신 도중에 빠진 프레임이 있는지 여부를 판단하여 빠진 경우에는 즉시 해당하는 RLP 프레임의 재전송을 다시 요청하는 RLP 처리기로 이루어진다. 상기 RLP 처리기는, 수신되어야 할 RLP 프레임의 예상 일련 번호를 저장하고 있는 제1레지스터와, 빠진 프레임의 일련 번호를 저장하는 NAK 리스트와, 빠진 프레임이 포함된 수신 RLP 프레임을 저장하고 있다가 재전송 요청에 따라 빠진 프레임이 수신되면 순서에 맞추어 재정렬시키는 재정렬 버퍼와, 수신 RLP 프레임들중에서 가장 큰 일련 번호를 저장하는 제2레지스터와, 상기 예상 일련 번호와 수신 RLP 프레임의 일련 번호를 비교하여 빠진 프레임이 있는지를 판단한 후 이 판단된 프레임을 상기 재정렬 버퍼에 저장시킨 후 상기 판단된 프레임을 재전송 요청하고, 재전송 요청에 따른 RLP 프레임의 수신 도중에 수신 RLP프레임의 일련 번호를 상기 제2레지스터에 저장하면서 상기 예상 일련 번호와 비교하여 빠진 프레임이 있는지 여부를 판단하는 RLP 제어기로 이루어진다.
도 1은 패킷데이터 서비스를 수행하는 일반적인 부호분할다중접속 통신시스템의 구성도.
도 2는 본 발명이 적용되는 라디오링크프로토콜(RLP)에 따른 데이터 송수신 장치의 구성도.
도 3은 종래 기술에 따른 프레임 재전송 동작을 보여주는 도면.
도 4는 본 발명에 따른 프레임 재전송 동작을 보여주는 도면.
도 5는 본 발명에 따른 RLP 데이터 송신기의 구성도.
도 6은 본 발명에 따른 RLP 데이터 수신기의 구성도.
도 7은 본 발명에 따라 2차원 주소 방식에서 가변 길이 RLP 프레임을 송수신하는 예를 보여주는 도면.
도 8은 본 발명에 따라 생성되는 RLP 프레임을 기본 채널 또는 전용 제어 채널을 통해 송수신할 시 프레임 형식을 보여주는 도면.
도 9는 본 발명에 따라 생성되는 RLP 프레임을 부가 채널을 통해 송수신할 시 프레임 형식을 보여주는 도면.
도 10은 본 발명에 따른 다중화/역다중화 제어기에 의한 물리채널 정보비트 생성 동작의 처리흐름을 보여주는 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
우선 본 발명은 재전송되는 RLP 프레임에 대해서 RLP Type 3이 규정하는 방식이 아닌 새로운 재전송 방법을 제안하는 것이다. 송신측 RLP에서는 재전송 프레임을 일련 번호 순서대로 전송함으로써 먼저 도착해야 하는 프레임을 먼저 송신한다. 따라서 수신측 RLP에서 기다리는 시간을 줄임으로써 데이터 전송 성능이 향상되도록 한다. 수신측 RLP에서는 송신측에서 언제나 일련 번호 순서대로 재전송 프레임들을 송신하므로, 재전송 타이머의 값을 가장 적절한 시점에서 감소시킴으로써 수신측 RLP에서 보다 빨리 재전송 요청을 할 수 있도록 한다.
본 발명에서 제안하는 송신측 RLP의 재전송 방법에 따르면, 재전송할 프레임의 우선 순위를 정하고 정해진 우선 순위에 따라서 재전송 작업을 수행한다. 우선 순위는 일련 번호 순서로 결정할 수 있다. 일련 번호가 가장 작은 프레임이 수신측 RLP에서 가장 먼저 받아야할 것이므로 우선 순위를 상기와 같은 방법으로 결정하면 수신측 RLP에서 필요한 순서대로 재전송 프레임이 전송될 것이다. 또한 본 발명에서 제안하는 수신측 RLP의 재전송 타이머 감소 방법에 따르면, 한 타임슬롯에 수신된 프레임들의 일련 번호 중에서 가장 큰 일련 번호를 저장해 두고 이 값 보다 작은 일련 번호를 가지는 프레임들에 대한 재전송 타이머를 하나씩 감소시킨다. 상기 재전송 방법에 따라 모든 재전송 프레임들은 일련 번호 순서대로 전송되므로 더 큰 일련 번호를 가지는 프레임이 도착하는 것은 결국 기다리는 프레임에 대한 재전송 요청이 도착하지 않았거나 기다리는 프레임이 송신 중에 유실된 것을 의미한다.
도 4는 본 발명에 따른 재전송 동작을 보여주는 도면이다. 여기서는 1번 프레임이 재전송 도중 깨지는 것을 가정하고 상기 1번 프레임에 대한 재전송 타이머만을 고려한다.
상기 도 4를 참조하면, T1 시점에서 수신측 RLP는 0번부터 5번까지의 프레임이 깨진 것을 발견하고 NAK(Non-AKnowledgement) 프레임을 보내면서 1번 프레임에 대한 재전송 타이머를 2 타임슬롯으로 설정한다. T2 시점에서 송신측 RLP는 요청된 프레임들을 순서대로 정렬하고 다시 전송하기 시작한다. T3 시점에서 수신측 RLP에서는 아무 프레임도 도착하지 않으므로 재전송 타이머를 하나 감소시킨 "1"로 설정한다. T4 시점에서 0번 재전송 프레임이 도착하면 이것은 1번 프레임 보다 작은 일련 번호를 가지고 있으므로 수신측 RLP는 더 기다려보기 위해서 재전송 타이머를 감소시키지 않는다. T5 시점에서 1번 재전송 프레임이 깨진 경우 수신측 RLP에서는 역시 깨진 프레임이 어떤 프레임인지 알 수 없으므로 재전송 타이머를 감소시키지 않는다. T6 시점에서 수신측 RLP는 2번 재전송 프레임을 수신하면 이것은 1번 프레임이 이미 재전송된 것을 의미하므로 재전송 타이머를 감소시킨다. 따라서 이때 재전송 타이머가 "0"이 되므로 수신측 RLP는 1번 프레임에 대한 재전송 요청을 다시 전송하게 된다.
상기 도 4에서 알 수 있듯이, 본 발명은 1번 프레임에 대한 재전송 요청이 2번 프레임이 수신된 직후에 바로 할 수 있도록 하고 있다. 따라서 이러한 방식은 재전송할 프레임이 많은 경우에도 재전송 요청을 즉시 할 수 있으므로 결과적으로 전체적인 성능이 향상될 수 있도록 하는 것이다.
도 5는 본 발명에 따른 RLP 프레임 송신기의 구성을 보여주는 도면이다.
상기 도 5를 참조하면, 본 발명에 따른 RLP 프레임 송신기는 송신 데이터 버퍼 122, RLP 처리기 130, 다중화/역다중화 제어기 140 및 물리계층 처리기 150으로 이루어진다. 상기 송신 데이터 버퍼 122는 송신을 위한 데이터열(data stream)을 저장하고 있다. 상기 RLP 처리기 130은 상기 다중화/역다중화 제어기 140으로부터 RLP 프레임 생성 요청이 있는 경우 상기 송신 데이터 버퍼 122에 저장되어 있는 데이터열에서 요청된 크기내의 데이터를 읽어들여 RLP 프레임을 생성한다. 또한 상기 RLP 처리기 130은 수신측 RLP로부터 RLP 프레임 재전송 요청이 있는 경우 해당하는 RLP 프레임을 재전송한다. 상기 다중화/역다중화 제어기 140은 상기 RLP 처리기 130으로 RLP 프레임 생성을 요청하고, 요청에 응답하여 전달받은 RLP 프레임(또는 데이터블록)을 물리채널 정보 비트로서 다중화 처리하여 물리계층 처리기 150으로 전달한다. 이때 상기 다중화/역다중화 제어기 140은 하나의 RLP 처리기 130으로 RLP 프레임 생성 또는 재전송을 요청하는 것으로 도시되어 있으나, 상기 RLP 처리기 130은 다수의 RLP 처리기가 될 수도 있다. 상기 물리계층 처리기 150은 다중화/역다중화 제어기 140으로부터 전달된 물리채널 정보비트를 CDMA2000에서 규정한 부호화 및 변조 과정을 수행한 후 물리 채널을 통해 수신측으로 송신한다.
상기 RLP 처리기 130은 RLP 제어기 131, L_V(S) 레지스터 132, V(SS) 레지스터 141, 재전송 버퍼 133, 재전송 요청 큐 134, 조각 버퍼 146을 포함하여 이루어진다. 상기 RLP 제어기 131은 송신(재전송 포함)을 위한 RLP 프레임을 생성 처리하기 위한 전반적인 동작을 제어한다. L_V(S) 레지스터 132는 RLP 제어기 131에 의해 제어되며, 새로이 전송하는 RLP 프레임의 일련 번호 값을 카운트하여 저장하는 일련 번호 카운터로서의 역할을 한다. 이때의 일련 번호로는 RLP 프레임 각각에 부여되는 프레임 일련 번호와, RLP 프레임을 구성하는 바이트 단위의 데이터들에 부여되는 데이터 일련 번호가 있다. RLP 제어기 131은 프레임 전송시 상기 L_V(S) 레지스터 132에 저장된 값을 읽어들여 이용하게 되며, 새 프레임을 생성하여 전송한 다음에는 상기 L_V(S) 레지스터 132의 값을 하나 증가시켜서 다음 일련 번호 값을 가지도록 한다. V(SS) 레지스터 141은 RLP 프레임을 조각(Segmentation) 처리하여 전송할 시 프레임 조각의 데이터 일련 번호를 저장한다.
재전송 버퍼(Forward Resequencing Buffer) 133은 RLP 제어기 131에 의해 생성되는 RLP 프레임을 저장한다. 재전송 요청 큐 134는 수신측 RLP로부터의 재전송 요청에 따라 생성된 재전송 프레임을 저장한다. 이때 저장되는 재전송 프레임과 함께 자신의 프레임 일련 번호도 저장되며, 상기 재전송 요청 큐 134는 저장된 재전송 프레임들을 일련 번호 순서대로 정렬하는 기능도 갖는다. 이에 따라 송신측 RLP는 일련 번호가 가장 작은 재전송 프레임을 먼저 송신할 수 있게 된다. 조각 버퍼 146은 조각 처리되어 전송되는 RLP 프레임의 조각들을 저장한다.
도 6은 본 발명에 따른 RLP 프레임 수신기의 구성을 보여주는 도면이다.
상기 도 6을 참조하면, 본 발명에 따른 RLP 프레임 수신부는 물리계층 처리기 150, 다중화/역다중화 제어기 140, RLP 처리기 130 및 수신 데이터 버퍼 124로 이루어진다. 상기 물리계층 처리기 150은 물리 채널을 통해 송신측 RLP로부터 송신된 물리 채널상의 정보 비트에 대해 CDMA2000에서 규정한 복조 및 복호화 과정을 수행하여 RLP 프레임을 다중화/역다중화 제어기 140으로 전달한다. 상기 다중화/역다중화 제어기 140은 상기 물리계층 처리기 150으로부터 전달된 RLP 프레임을 역다중화 처리하여 RLP 처리기 130으로 전달한다. 상기 RLP 처리기 130은 상기 다중화/역다중화 제어기 140이 수신된 RLP 프레임을 전달할 때마다 수신된 RLP 프레임이 새 데이터를 담고 있는지, 재전송 데이터를 담고 있는지를 판단한다. 전송 도중에 빠진(유실된) 프레임이 없는 경우, 상기 RLP 처리기 130은 상기 다중화/역다중화 제어기 140으로부터 전달된 RLP 프레임을 수신 데이터 버퍼 124에 저장한다. 이와 달리 빠진 프레임이 있는 경우, 상기 RLP 처리기 130은 송신 RLP측으로 빠진 프레임을 재전송 요청한다.
상기 RLP 처리기 130은 RLP 제어기 131과, 레지스터들 135∼137 및 142∼145과, NAK 리스트 138과, 재정렬 버퍼 139를 포함하여 이루어진다. 상기 RLP 제어기 131은 RLP 프레임을 수신하여 수신 데이터 버퍼 124에 저장하는 동작을 전반적으로 제어하며, 전송 도중에 빠진 프레임이 있는 경우에는 송신측 RLP측으로 빠진 프레임의 재전송을 요청한다.
L_V(R) 레지스터 135는 RLP 제어기 131에 의해 제어되며, 새로이 수신되어야 할 프레임의 예상 일련 번호를 저장한다. L_V(N) 레지스터 136은 수신하지 못한 프레임 중에서 가장 작은 일련 번호를 저장한다. E 레지스터 137은 깨진 RLP 프레임의 수를 저장한다.
상기 RLP 제어기 131은 다중화/역다중화 제어기 140에서 RLP 프레임을 받아서 순서에 맞는 데이터가 도착하였는지 살펴본다. 상기 L_V(R) 레지스터 135는 도착할 새 프레임의 예상 일련 번호를 가지고 있으므로 이 값과 도착한 RLP 프레임의 일련 번호를 비교하여 값이 같다면 중간에 빠진 프레임이 없는 것으로 보고 수신 데이터 버퍼 124에 수신된 RLP 프레임이 가진 데이터를 전달한다. 그러나, 그렇지 않다면 상기 L_V(R) 레지스터 135의 값과 도착한 RLP 프레임의 일련 번호 사이의 프레임이 빠진 것으로 판단한다. 만일 빠진 프레임이 있다면 수신된 RLP 프레임이 가진 데이터를 재정렬 버퍼 139에 저장한 다음, NAK 리스트 138에 재전송을 요청할 부분을 기록하고 다음번 제어 프레임을 송신할 때 NAK 리스트 138에 저장되었던 부분을 넣어서 보낸다. 다중화/역다중화 제어기 140에서 깨진 RLP 프레임을 알리면, RLP 제어기 131은 이 값을 레지스터 E 137에 기록한 후, 초기화가 필요할 때 사용할 수 있다.
상기 NAK 리스트 138은 빠진 프레임의 일련 번호, 데이터 부분의 첫 번째 바이트의 데이터 일련번호, 데이터 부분의 마지막 바이트의 데이터 일련번호, 프레임이 완전히 수신되었음을 알려주는 지시자, 재전송 타이머, 라운드 카운터로 구성되는 NAK 리스트를 저장하고 있다. 즉, 상기 NAK 리스트 138은 재전송받아야하는 데이터 부분을 기록하고 재전송을 다시 요청할 때나 재전송 요청을 포기할 때를 결정하는 재전송 타이머를 유지한다. 상기 재정렬 버퍼 139는 순서가 맞지 않는 데이터들을 모아두고 있다가 빠진 데이터가 도착하면 순서를 맞추고 순서가 맞는 데이터들을 상기 수신 데이터 버퍼 124에 전달한다.
상기 V(RS) 레지스터 142와 V(NS) 레지스터 143은 프레임의 조각에 대한 데이터 일련 번호를 저장한다. 상기 V(RS) 레지스터 142는 다음에 수신될 새 프레임의 예상 데이터 일련 번호를 저장한다. 상기 V(NS) 레지스터 143은 상기 L_V(N)의 일련 번호를 가지는 RLP 프레임의 가장 먼저 수신되어야하는 데이터 일련 번호를 저장한다. 상기 R_L_SEQ 레지스터 144는 미리 설정된 시간 동안에 수신된 프레임들 중에서 가장 큰 일련 번호를 저장한다. R_S_SEQ 레지스터 145는 미리 설정된 시간 동안에 수신된 프레임들 중에서 가장 큰 조각 일련 번호를 저장한다. 상기 R_L_SEQ 레지스터 144와 R_S_SEQ 레지스터 145에 저장된 값을 이용함으로써 수신측 RLP는 각 NAK 엔트리의 재전송 타이머 값을 감소시킬 것인지를 결정할 수 있게 된다.
본 발명에 따라 RLP 프레임을 생성하고 송수신하는 동작은 크게 RLP 처리기 130과 230의 동작으로 대별되어 되어 설명될 수 있을 것이다. 그러나, 상기 RLP 처리기 130과 230의 동작은 동일하게 수행되므로, 하기에서의 본 발명에 따른 동작은 편의상 RLP 처리기 130의 동작으로 국한되어 설명될 것이다. 상기 도 5 및 도 6에 도시된 바와 같은 RLP 제어기 131에 의해 수행되는 본 발명에 따른 데이터 송신 및 수신 동작은 다음과 같이 구분되어 설명될 수 있다.
2차원 주소 방식
RLP 제어기 131은 송신 데이터 버퍼 122에 저장된 데이터열(data stream)의 데이터를 읽어들여 다중화/역다중화 제어기 140으로부터 요구된 크기내의 RLP 프레임을 생성한다. 상기 송신 데이터 버퍼 122에 저장된 데이터열은 무한한 길이를 가지는 것으로 간주된다. 따라서 RLP 제어기 131은 이러한 데이터열의 시작 부분과 끝 부분을 특별히 구별하여 전송하지 않는다. 상기 RLP 제어기 131에 의해 생성되는 상기 RLP 프레임은 데이터 크기가 고정된 고정 크기 RLP 프레임과, 데이터 양이 다양한 가변 크기 RLP 프레임으로 나누어질 수 있다. 상기 RLP 프레임은 고정 크기 RLP 프레임과 가변 크기 RLP 프레임 모두 최대 NDATA바이트의 데이터를 가질 수 있다.
본 발명에서는 RLP 프레임이 가지는 데이터 바이트 각각에 대해서 0에서 최대 (NDATA- 1)까지의 일련 번호를 부여한다. 이 일련 번호를 하기에서 "데이터 일련 번호(data sequence number)"라고 칭하겠다. RLP 프레임의 첫번째 데이터 바이트에게는 일련 번호 0번이 부여되고, 다음번 데이터 바이트에는 앞의 데이터 바이트의 일련 번호에서 하나 증가된 일련 번호가 부여된다. RLP 프레임은 최대 NDATA바이트의 데이터를 가질 수 있으므로 (NDATA- 1) 보다 더 큰 데이터 일련 번호는 발생하지 않는다.
본 발명에서는 또한 RLP 프레임마다 일련 번호를 부여한다. 이 일련 번호를 하기에서 "프레임 일련 번호(frame sequence number)"라고 칭하겠다. 가장 먼저 만들어지는 RLP 프레임에는 프레임 일련 번호 0번이 부여되고, 새로운 RLP 프레임이 발생하면 새 RLP 프레임은 앞 프레임의 일련 번호에서 하나 증가된 프레임 일련 번호가 부여된다. 만일 앞 프레임에 (2N- 1)의 일련 번호가 부여되었다면 상기 새 프레임에게는 다시 일련 번호 0번이 부여된다.
상기 프레임 일련 번호와 데이터 일련 번호를 사용하면 특정 RLP 프레임이 가지는 특정한 데이터 한 바이트를 지정할 수 있게 된다. 상기 프레임 일련 번호와 데이터 일련 번호를 가지고 특정한 데이터 바이트들을 지정할 수 있는 방식을 본 발명에서는 "2차원 주소 방식(two-dimensional addressing)"이라고 칭하겠다. 또한 본 발명에서는 특정한 데이터 한 바이트가 가지는 프레임 일련 번호와 데이터 일련 번호로 이루어지는 2차원 주소를 하기에서 간단히 "일련 번호"라고 칭하겠다.
본 발명에서는 상기 2차원 주소 방식에서 두 개의 일련 번호가 있을 때 일련 번호 사이의 크다, 작다, 같다를 다음의 <표 1>과 같이 정의한다.
2차원 주소 방식을 따르는 두 개의 일련 번호 <L_SEQ1, S_SEQ1>, <L_SEQ2, S_SEQ2>가 있고L_SEQ1, L_SEQ2가 프레임 일련 번호이며 S_SEQ1, S_SEQ2가 데이터 일련 번호일 때,첫째, L_SEQ2가 (L_SEQ1 + 1) modulo 2N보다 크거나 같고 (L_SEQ1 + 2N-1- 1) modulo 2N보다 작거나 같으면, 일련 번호 <L_SEQ2, S_SEQ2>는 <L_SEQ1, S_SEQ1> 보다 크다.둘째, L_SEQ2가 (L_SEQ1 + 2N-1) modulo 2N보다 크거나 같고 (L_SEQ1 + 2N- 1) modulo 2N보다 작거나 같으면, 일련 번호 <L_SEQ2, S_SEQ2>는 <L_SEQ1, S_SEQ1> 보다 작다.셋째, L_SEQ2가 L_SEQ1와 같고 S_SEQ2가 S_SEQ1 보다 크면, 일련 번호 <L_SEQ2, S_SEQ2>는 <L_SEQ1, S_SEQ1> 보다 크다.넷째, L_SEQ2가 L_SEQ1와 같고 S_SEQ2가 S_SEQ1 보다 작으면, 일련 번호 <L_SEQ2, S_SEQ2> 는 <L_SEQ1, S_SEQ1> 보다 작다.다섯째, L_SEQ2가 L_SEQ1와 같고 S_SEQ2가 S_SEQ1와 같으면, 일련 번호 <L_SEQ2, S_SEQ2> 는 <L_SEQ1, S_SEQ1>과 같다.
본 발명에서 정의한 상기 2차원 주소 방식을 사용하면 특정 프레임의 특정 데이터 부분을 표현할 수 있다. 즉, 데이터 부분의 첫번째 바이트의 일련 번호와 마지막 바이트의 일련 번호를 이용하여 데이터 부분을 표현한다. 이때 데이터 부분의 각 바이트들은 첫번째 바이트의 일련 번호 보다 크거나 같고 마지막 바이트의 일련 번호 보다 작거나 같은 일련 번호를 가지므로 상기 <표 1>을 이용하면 임의의 데이터 한 바이트가 지정된 데이터 부분에 포함되는지 쉽게 알 수 있다. 따라서 본 발명에서는 두 개의 일련 번호를 사용하여 특정 데이터 부분을 지정한다. 예를 들어 두 개의 일련 번호 <L_SEQA, S_SEQA>와 <L_SEQB, S_SEQB>는 <L_SEQA, S_SEQA> 보다 크거나 같은 일련 번호를 가지면서 <L_SEQB, S_SEQB> 보다 작거나 같은 일련 번호를 가지는 모든 데이터들을 지정한다. 상기 두 개의 일련 번호 중에서 첫번째 바이트의 일련 번호 <L_SEQA, S_SEQA>를 본 발명에서는 하기에서 데이터 부분의 시작 일련 번호라고 칭하고 마지막 바이트의 일련 번호 <L_SEQB, S_SEQB>를 데이터 부분의 마지막 일련 번호라고 칭하겠다.
또한 본 발명에서는 상기 2차원 주소 방식에서 세 개의 일련 번호가 있을 때 두 일련 번호 사이에 나머지 하나의 일련 번호가 포함되는 것을 <표 2>와 같이 정의한다.
2차원 주소 방식을 따르는 세 개의 일련 번호 <L_SEQ1, S_SEQ1>, <L_SEQ2, S_SEQ2>, <L_SEQ3, S_SEQ3>가 있고 L_SEQ1, L_SEQ2, L_SEQ3이 프레임 일련 번호이며 S_SEQ1, S_SEQ2, S_SEQ2이 데이터 일련 번호일 때, 일련 번호 <L_SEQ2, S_SEQ2>가 <L_SEQ1, S_SEQ1> 보다 크거나 같고 <L_SEQ3, S_SEQ3> 보다 작거나 같다면 일련 번호 <L_SEQ2, S_SEQ2>는 <L_SEQ1, S_SEQ1>와 <L_SEQ3, S_SEQ3>로 이루어지는 데이터 부분에 포함된다.
상기 가변 길이 RLP 프레임을 송수신하기 위해서 본 발명에서는 마지막 조각임을 표시하는 필드(LAST_SEG)와, 마지막 끝 부분을 나타내는 (NDATA- 1) 데이터 일련 번호를 사용한다. 상기 가변 길이 RLP 프레임을 여러 개의 조각으로 나누어서 송신할 때, 수신측 RLP는 가변 길이 RLP 프레임의 길이를 알 수 없으므로 송신측 RLP에서는 마지막 부분을 전송할 때 마지막 조각임을 알리는 LAST_SEG 필드를 '1'로 설정한다. 수신측 RLP에서는 상기 LAST_SEG 필드가 '1'이면 수신된 조각이 RLP 프레임의 마지막 부분임을 알 수 있게 된다.
재전송을 요청할 때 수신측 RLP에서는 상기한 방법과 같이 수신되지 않은 데이터 부분의 첫번째 바이트의 일련 번호와 마지막 바이트의 일련 번호를 지정하여 다시 전송되어야 하는 데이터 부분을 표시한다. 그러나 가변 길이 RLP 프레임의 경우 상기한 바와 같이 수신측 RLP는 프레임의 길이를 알 수 없으므로 마지막 조각을 수신하지 못하면 마지막 바이트의 일련 번호 또한 알 수 없게 된다. 따라서 이때는 수신되지 않은 데이터 부분의 마지막 일련 번호로 (NDATA- 1)을 지정한다. 송신측 RLP에서는 마지막 바이트의 일련 번호로 (NDATA- 1) 값을 가지는 재전송 요청이 오는 경우에는 해당하는 프레임의 마지막 끝 바이트까지 재전송하라는 것으로 인식한다.
도 9는 길이 40 바이트와 30 바이트를 가지는 1번 프레임과 2번 프레임이 있고 각 프레임이 가질 수 있는 최대 데이터 바이트 수를 4096으로 하였을 때의 본 발명에 따른 조각 프레임의 송수신 예를 보여주는 도면이다.
상기 도 9를 참조하면, T1 시점에서 송신측 RLP에서는 도 9에서와 같이 1번 프레임을 각각 20 바이트의 데이터를 가지는 두 개의 조각 프레임으로 나누어 전송할 수 있다. T2 시점에서 송신측 RLP에서는 두번째 조각 프레임을 전송할 때 마지막 조각임을 알리는 LST_SEG 필드를 '1'로 설정하여 전송한다. 수신측 RLP에서는 LST_SEQ 필드값이 '1'임을 보고 1번 프레임이 모두 40 바이트의 데이터로 이루어져 있음을 알 수 있게 된다. T3 시점에서 송신측 RLP는 2번 프레임을 각각 20 바이트와 10 바이트를 가지는 두 개의 조각 프레임으로 나누어 전송한다. 이때 두번째 조각 프레임이 전송 중 깨지고 3번 프레임의 첫번째 조각이 도착하는 경우, 수신측 RLP는 T5 시점에서 2번 프레임의 21번째 바이트부터 마지막 바이트까지 다시 보내도록 요청하기 위해 2번 프레임의 21번째에서 (4096 - 1), 즉 4095번째까지의 데이터 부분에 대한 재전송 요청을 전송한다. 송신측 RLP는 T6 시점에서 마지막 바이트의 일련 번호로 4095 값을 가지는 재전송 요청이 도착하였으므로 2번 프레임의 21번째 바이트에서 마지막 끝 바이트까지 재전송한다. 수신측 RLP에서는 수신된 조각의 LST_SEG 필드가 '1'로 설정되어 있으므로 2번 프레임이 총 30 바이트로 이루어져 있으며 또한 2번 프레임이 가진 모든 데이터를 수신하였음을 알 수 있다.
RLP 프레임 송수신 동작
RLP는 기본적으로 NAK 기반으로 동작한다. 즉, 송신측 RLP에서 전송한 데이터 중에서 수신하지 못한 데이터가 있으면 수신측 RLP에서 재전송을 요구하는 방식을 말한다.
상기 2차원 주소 방식을 사용하는 RLP에서는 상기한 바와 같이 두 개의 일련 번호(프레임 일련 번호, 데이터 일련 번호)로 수신하지 못한 데이터 부분을 표시할 수 있다. 따라서 수신측 RLP에서는 두 개의 일련 번호를 하나의 재전송 요청으로 하여 송신측 RLP에게 전송한다.
본 발명에서 제안하는 빠른 재전송을 이러한 2차원 주소 방식을 사용하는 RLP에서 수행하기 위해 송수신측 RLP에서는 다음과 같은 동작을 수행한다. 즉, 송신측 RLP에서는 송신해야하는 재전송 프레임들이 여러 개가 있을 때 상기 <표 1>에 따라 가장 작은 일련 번호를 가지는 재전송 프레임을 먼저 송신한다. 재전송 프레임은 프레임 일련 번호와 가지고 있는 첫번째 바이트의 데이터 일련 번호를 가지고 있으므로 전송될 데이터 부분의 시작 일련 번호를 구할 수 있다. 따라서 송신측 RLP에서는 각 재전송 프레임이 가진 시작 일련 번호와 <표 1>에 따라 모든 재전송 프레임을 오름차순으로 정렬한다. 송신측 RLP에서 상기 정렬된 순서에 따라 송신을 실시하면 수신측 RLP에서 가장 필요로 하는 데이터 부분부터 먼저 송신되게 된다.
수신측 RLP에서는 재전송 요청이 송신측 RLP에게 전달되지 않거나 요구된 데이터 부분이 재전송 중에 깨지는 경우 다시 재전송을 요청하기 위해서 각 재전송 요청마다 재전송 타이머를 둔다. 수신측 RLP에서는 송신측 RLP에서 언제나 가장 작은 시작 일련 번호를 가지는 재전송 요청을 먼저 처리하므로 수신을 기다리는 데이터 부분이 가지고 있는 재전송 타이머를 다음과 같은 경우에 줄일 수 있다. 즉, 주어진 시간 동안 수신을 기다리는 데이터 부분의 시작 일련 번호 보다 더 큰 시작 일련 번호를 가지는 데이터 부분이 수신되면 수신측 RLP에서는 재전송 타이머를 하나 줄인다. 만일 주어진 시간 동안 수신을 기다리는 데이터 부분의 시작 일련 번호 보다 작은 일련 번호를 가지는 데이터 부분만 수신되면 수신측 RLP에서는 재전송 타이머를 줄이지 않는다.
다중화/역다중화 제어기의 데이터 송신 동작
송신측 다중화/역다중화 제어기 140은 RLP 제어기 131에게 전송할 RLP 프레임을 요청하여 상기 RLP 제어기 131이 프레임을 생성하도록 한다. 상기 송신측 다중화/역다중화 제어기 140은 미리 설정된 시간마다 RLP 제어기 131에게 RLP 프레임을 요청하지만 언제 어느 정도 크기의 RLP 프레임을 요청하는지는 다중화/역다중화 제어기 140의 구현에 따라 달라질 수 있다.
다중화/역다중화 제어기 140은 RLP 제어기 131에게 RLP 프레임을 요청하면서 전송될 채널과 만들어낼 수 있는 최대 크기 T에 대한 정보를 함께 알려준다. 상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140으로부터 통보받은 최대 크기 T보다 작거나 같은 크기를 갖는 RLP 프레임을 생성하여 전달한다. 다중화/역다중화 제어기 140은 필요한 경우 RLP 제어기 131에게 RLP 프레임이 가져야하는 크기를 지정할 수 있다. 이러한 경우 상기 RLP 제어기 131은 지정된 크기를 갖는 RLP 프레임을 생성하여 전달하여야 한다. 다중화/역다중화 제어기 140은 RLP 제어기 131이 필요한 크기 보다 작은 크기의 RLP 프레임을 전달하면, 상기 RLP 프레임 뒤에 '0'을 적당히 덧붙여서 필요한 크기로 조정할 수 있다.
다중화/역다중화 제어기 140은 서비스별로 존재하는 RLP 제어기 131에게서 데이터 블록을 받아서 물리 채널 정보 비트로 구성한 다음 이것을 물리 계층 처리기 150으로 전달한다. 하기에서는 RLP 제어기 131이 다중화/역다중화 제어기 140에게 전달하는 RLP 프레임을 "데이터 블록(data block)", 그리고 다중화/역다중화 제어기 140이 물리 계층 처리기 150에게 전달하는 송신 단위를 "물리 채널 정보 비트"라고 칭하겠다. 상기 물리 채널 처리기 150은 전달된 물리 채널 정보 비트를 CDMA2000에서 규정한 부호화 및 변조 과정을 거쳐서 수신측 물리 채널 처리기에게 송신한다.
도 10은 본 발명에 따른 송신측 다중화/역다중화 제어기 140이 물리 채널 정보 비트(physical channel information bits)를 생성하는 과정을 보여주는 도면이다.
상기 도 10을 참조하면, 송신측 다중화/역다중화 제어기 140은 물리 채널 정보 비트를 생성하기에 앞서서 각 RLP의 송신 우선 순위를 결정한다. 상기 송신 우선 순위는 RLP를 통하여 데이터를 주고 받는 각 서비스들의 품질을 보장하기 위해서 매번 변경될 수 있다. 상기 다중화/역다중화 제어기 140은 물리 채널 별로 가능한 데이터 블록의 조합에 대한 테이블을 가지고 있다. 하기 <표 3>은 이러한 데이터 블록 조합에 대한 테이블이다. 여기서 <표 3>은 CDMA2000에서 가능한 모든 채널의 모든 정보 비트 구조를 보이는 것이 아니고, 전송율 집합 1에서 가능한 기본 채널 정보 비트의 구조만을 보여주는 것이라는 사실에 유의할 필요가 있다.
전송율 집합 1에서 가능한 기본 채널 정보 비트 구조
전송율 정보 비트 헤더 제1RLP 제2RLP 정보 비트 길이
9.6 kbps '0' 171 비트 - 172 비트
'1100' 80 비트 88 비트
'1101' 40 비트 128 비트
'1110' 16 비트 152 비트
'1111' - 168 비트
4.8 kbps - 80 비트 - 80 비트
2.7 kbps - 40 비트 - 40 비트
1.5 kbps - 16 비트 - 16 비트
상기 <표 3>에서 전송율은 생성된 물리 채널 정보 비트가 전송되는 전송율을, 정보 비트 길이는 정보 비트가 가질 수 있는 비트수를 의미한다. <표 3>에 도시된 바와 같이 정보 비트의 길이에 따라서 전송율이 달라진다. 즉, 172 비트 정보 비트는 9.6 kbps로, 80 비트 정보 비트는 4.8 kbps로, 40 비트 정보 비트는 2.7 kbps로, 16 비트 정보 비트는 1.5 kbps로 전송된다.
<표 3>의 물리 채널 정보 비트 구조는 최대 2 개의 RLP 제어기에서 발생한 RLP 프레임을 전송할 수 있으며 각각의 RLP 제어기를 제1RLP, 제2RLP라고 칭한다. <표 3>에서 도시된 바와 같이 각 물리 채널 정보 비트는 가장 앞의 정보 비트 헤더를 보고서 포함된 RLP 프레임들을 구별한다. 예를 들어, 제1RLP에서 생성한 171 비트 RLP 프레임을 전달하는 정보 비트인 경우 가장 첫번째 비트를 '0'으로 설정한다. 또한, 제1RLP에서 생성한 80 비트 RLP 프레임과 제2RLP에서 생성한 88 비트 RLP 프레임을 함께 전달하는 정보 비트인 경우 처음 네 개의 비트를 '1100'으로 설정한다. 따라서 수신측 다중화/역다중화 제어기에서는 상기 정보 비트 헤더를 보고서 포함된 RLP 프레임의 크기와 개수, 그리고 목적지를 알아낼 수 있게 된다.
도 10에서 도시한 바와 같이 상기 <표 3>의 가능한 데이터 블록의 조합 8 개를 송신측 다중화/역다중화 제어기 140은 집합 C에 넣는다.
도 10의 1110 단계에서 송신측 다중화/역다중화 제어기 140은 우선 순위가 가장 높은 RLP 제어기에게 가능한 크기의 RLP 프레임을 생성하도록 요청한다. 상기 <표 3>의 예에서 제1RLP 제어기가 가장 우선 순위가 높다면, 상기 다중화/역다중화 제어기 140은 최대 171 비트의 RLP 프레임을, 제2RLP 제어기가 가장 우선 순위가 높다면 최대 168 비트의 RLP 프레임을 생성하도록 요청한다. 하기에서는 제2RLP 제어기가 우선 순위가 더 높은 경우만 언급하겠다.
1120 단계에서 송신측 다중화/역다중화 제어기 140은 생성된 RLP 프레임을 송신할 수 있는 조합을 제외한 나머지를 집합 C에서 삭제한다. 예를 들어 제2RLP 제어기가 40 비트 RLP 프레임을 생성하였다면 <표 3>에서 40 비트 제2RLP 프레임을 전송할 수 있는 조합을 <제1RLP 프레임, 제2RLP 프레임>으로 표시할 때, <80 비트, 88 비트>, <40 비트, 128 비트>, <16 비트, 152 비트>, <0 비트, 168 비트>가 될 것이다.
1150 단계에서 송신측 다중화/역다중화 제어기 140은 남은 조합에서 다음 우선 순위를 갖는 제어기에게 요청할 RLP 프레임의 최대 크기를 구하고, 1110 단계에서 RLP 프레임 생성을 요청한다. 상기 예에서는 제1RLP 제어기에게 최대 80 비트의 RLP 프레임을 생성하도록 요청할 것이다.
1170 단계에서는 주어진 데이터 블록에 대해서 여러 가지 조합이 가능한 경우 송신측 다중화/역다중화 제어기 140은 그중 적당한 조합을 구한다. 만일 상기 1110 단계에서 제1RLP 제어기가 16 비트 RLP 프레임을 생성하였다면, 16 비트 제1RLP 프레임과 상기 40 비트 제2RLP 프레임으로 구성 가능한 조합은 <표 2>에서 <80 비트, 88 비트>, <40 비트, 128 비트>, <16 비트, 152 비트>가 될 것이다. 이들은 모두 같은 전송율을 가지므로 송신측 다중화/역다중화 제어기 140은 임의의 하나를 선택할 수 있다. 만일 상기 1110 단계에서 제1RLP 제어기가 아무런 RLP 프레임도 생성하지 않았다면, 상기 40 비트 제2RLP 프레임으로 구성 가능한 조합은 <0 비트, 168 비트>만이 가능하게 된다.
1180 단계에서는 주어진 데이터 블록과 하나의 남은 조합에 대해서 정보 비트를 생성한다. 상기 예에서 16 비트 제1RLP 프레임과 상기 40 비트 제2RLP 프레임, 그리고 <80 비트, 88 비트> 조합을 선택하였다면, 송신측 다중화/역다중화 제어기 140은 제1RLP 프레임 뒤에 64 비트(80-16 비트)의 '0'을 붙여서 80 비트 데이터 블록으로 만들고, 40 비트 제2RLP 프레임 뒤에 48 비트(88비트-40비트)의 '0'을 붙여서 88 비트 데이터 블록으로 만든 다음 두 데이터 블록의 앞에 '1100'의 정보 비트 헤더를 붙여서 172 비트의 정보 비트를 완성한다. 상기 예에서 0 비트 제1RLP 프레임과 상기 40 비트 제2RLP 프레임이 있는 경우에는 40 비트 제2RLP 프레임 뒤에 128 비트의 '0'을 붙여서 168 비트 데이터 블록으로 만든 다음 앞에 '1111'의 정보 비트 헤더를 붙여서 172 비트의 정보 비트를 완성한다. 만들어진 정보 비트는 물리 채널 제어기 150에게 전달하여 수신측 다중화/역다중화 제어기에게 송신한다.
다중화/역다중화 제어기의 데이터 수신 동작
수신측 다중화/역다중화 제어기 140은 상기 물리 채널 정보 비트의 가능한 구성과 정보 비트 헤더를 보고서 RLP 프레임을 분리하여 수신측 RLP 제어기들에게 전달한다. 상기한 바와 같이 수신측 다중화/역다중화 제어기 140은 <표 3>과 같이 물리 채널 별로 가능한 데이터 블록의 조합에 대한 데이블을 가지고 있으므로 전달된 정보 비트에 대한 해석이 가능하다. 수신측 다중화/역다중화 제어기 140은 만일 전달된 정보 비트가 깨진 것으로 인식이 되면 각 RLP 제어기에게 깨진 프레임이 수신되었음을 알린다.
RLP에서 사용하는 프레임 형식
상기 RLP 제어기 131이 상기 다중화/역다중화 제어기 140으로 전달할 수 있는 RLP 프레임의 종류는 도 8, 도 9와 같다. 상기 도 8은 본 발명에 따라 기본 채널 또는 전용 제어 채널로 전송할 수 있는 RLP 프레임을 보여주는 도면이고, 상기 도 9는 본 발명에 따라 부가 채널로 전송할 수 있는 RLP 프레임을 보여주는 도면이다.
본 발명에서 RLP 프레임은 다음과 같이 부르겠다. 상기 도 10의 SYNC, SYNC/ACK, ACK, 또는 하기 <표 4>의 NAK 프레임을 "제어 프레임(control frame)"이라고 하고, 데이터를 전송하는 프레임을 "데이터 프레임(data frame)"이라고 칭하겠다. 상기 데이터 프레임은 처음 전송되는 프레임인 "새 데이터 프레임(new data frame)"과, 재전송되는 프레임인 "재전송 데이터 프레임(retransmitted data frame)"으로 나누어지고, 또한 전체 프레임을 송신하는 "일반 데이터 프레임(unsegmentd data frame)"과 "조각 데이터 프레임(segmented data frame)"으로도 나누어진다. 상기 도 8의 (f)에 도시된 바와 같이 12 비트 SEQ 필드를 가지는 프레임은 "Idle 프레임 또는 Intersegment Fill 프레임"이라고 하여 상기 제어 프레임, 데이터 프레임과는 별도로 칭하겠다.
RLP 제어기 131은 전송할 제어 프레임이 있으면 다음과 같이 제어 프레임을 만든다. SYNC, ACK, SYNC/ACK 프레임의 경우, 상기 도 8의 (a)에 도시된 바와 같이 SEQ 필드를 L_V(S) 레지스터 132의 하위 8 비트 프레임 일련 번호로, CTL 필드를 프레임 종류에 따라서 설정한 후 FCS 필드를 붙인다. FCS 필드는 RFC-1662에 의하여 규정된 다항식(polynomial)에 의하여 만들어지는 16 비트 프레임 점검 비트열(frame check sequence)이다. 상기 FCS 필드는 앞에 오는 모든 비트에 대하여 만들어진다. RLP 제어기 131은 상기 FCS 필드 다음을 모두 '0'으로 설정한다.
RLP 제어기 131은 다시 전송되어야하는 프레임이 있으면 NAK 프레임을 생성하여 상기 다중화/역다중화 제어기 140에게 전달한다. 상기 NAK 프레임은 하기 <표 4>와 같은 구조를 가진다.
필드 길이
SEQ 8 비트
CTL 8 비트
L_SEQ_HI 4 비트
NAK_FRM_COUNT 3 비트
NAK_SEG_COUNT 3 비트
NAK_FRM_COUNT + 1만큼 다음의 필드들이 들어간다:
FIRST 12 비트
LAST 12 비트
NAK_SEG_COUNT + 1만큼 다음의 필드들이 들어간다:
NAK_SEQ 12 비트
FIRST_SEG 12 비트
LAST_SEG 12 비트
위의 필드들 다음에 다음의 필드들이 들어간다:
PADDING_1 가변길이
FCS 16 비트
PADDING_2 가변길이
상기 <표 4>에서 RLP 제어기 131은 NAK 프레임을 다음과 같이 만든다. 상기 <표 4>의 L_SEQ_HI 필드는 L_V(N) 레지스터 136의 상위 4 비트로, SEQ 필드는 상기 L_V(N) 레지스터 136의 하위 8 비트로, CTL 필드는 '1100 1000'으로 설정한다. RLP 제어기 131은 상기 NAK 프레임에 포함될 프레임 전체에 대한 재전송 요구 개수에서 하나를 뺀 값을 상기 NAK_FRM_COUNT 필드값으로 한다. 또한 상기 RLP 제어기 131은 상기 NAK 프레임에 포함될 프레임의 일부분에 대한 재전송 요구 개수에서 하나를 뺀 값을 상기 NAK_SEG_COUNT 필드값으로 한다.
RLP 제어기 131은 상기 NAK_FRM_COUNT 필드값에 하나를 더한 만큼 프레임 전체에 대한 재전송 요구를 넣는다. 프레임 전체에 대한 재전송 요청을 할 때에는 프레임 일련 번호만 있어도 된다. 상기 RLP 제어기 131은 연속적인 일련 번호를 가지는 첫번째 프레임의 12 비트 프레임 일련 번호를 FIRST 필드에 넣고, 마지막 프레임의 12 비트 프레임 일련 번호를 LAST 필드에 넣는다.
RLP 제어기 131은 상기 NAK_SEG_COUNT 필드값에 하나를 더한 만큼 프레임의 일부분에 대한 재전송 요구를 넣는다. 프레임 일부분에 대한 재전송 요청을 할 때는 해당하는 데이터 부분의 시작 일련 번호, 마지막 일련 번호가 있어야 한다. 상기 RLP 제어기 131은 요청하는 데이터 부분의 12 비트 프레임 일련 번호를 NAK_SEQ 필드에 넣고 재전송을 요청할 데이터 부분의 12 비트 시작 일련 번호를 FIRST_SEG 필드에, 그리고 12 비트 마지막 일련 번호를 LAST_SEG 필드에 넣는다. 상기 데이터 부분에 대한 재전송 요구는 한 프레임의 일부분에 대해서만 가능하다. 상기 재전송 외에 프레임 일련 번호를 두 개를 둠으로써 여러 프레임에 걸쳐진 데이터 부분에 대한 재전송 요구 또한 가능할 것이다.
상기 RLP 제어기 131은 상기 재전송 요구를 모두 넣은 다음 FCS 필드를 바이트 정렬로 맞추기 위하여 '0'으로 패딩을 하고 FCS 필드를 채운다. 상기 FCS 필드는 RFC-1662에 의하여 규정된 다항식(polynomial)에 의하여 만들어지는 16 비트 프레임 점검 비트열(frame check sequence)이다. 상기 FCS 필드는 앞에 오는 모든 비트에 대하여 만들어진다. 상기 FCS 필드를 넣은 다음 상기 RLP 제어기 131은 RLP 프레임의 나머지 부분에 대해서 '0'을 채운다.
RLP 제어기 131은 기본 채널 또는 전용 제어 채널로 전송할 데이터 프레임을 다음과 같이 생성한다. 상기 도 8의 (b)에 도시된 바와 같이 SEQ(Sequence) 필드를 전송되는 RLP 프레임의 하위 8 비트 프레임 일련 번호로, CTL(Control) 필드를 '0'으로 설정한 후, 재전송되는 프레임이면 REXMIT(Retransmit) 필드를 '1'로, 그렇지 않으면 '0'으로 설정한다. 상기 RLP 제어기 131은 LEN(Length) 필드를 전송하는 데이터 길이로 설정하고 데이터를 바로 다음에 넣은 후, 나머지 부분에 대해서 '0'을 채운다.
RLP 제어기 131은 기본 채널 또는 전용 제어 채널로 RLP 프레임의 일부분을 담고 전송될 조각 데이터 프레임을 다음과 같이 생성한다. 상기 도 8의 (c)에 도시된 바와 같이 SEQ 필드를 전송되는 RLP 프레임의 하위 8 비트 프레임 일련 번호로, CTL 필드를 '10000'으로 설정한 후, 재전송되는 조각이면 REXMIT 필드를 '1'로, 그렇지 않으면 '0'으로 설정한다. 상기 RLP 제어기 131은 S_SEQ 필드를 전송하는 데이터 부분의 첫번째 바이트의 12 비트 데이터 일련 번호로 설정하고, 또한 조각 데이터 프레임이 전송하는 RLP 프레임의 마지막 바이트를 담고 있으면 LAST 필드를 '1'로 그렇지 않으면 '0'으로 설정한다. 상기 RLP 제어기 131은 LEN(Length) 필드를 전송하는 데이터 길이로 설정한다. 상기 RLP 제어기 131은 데이터를 바로 다음에 넣은 후, 나머지 부분에 대해서 '0'을 채운다.
본 발명에서 제안하는 RLP는 다른 전송율에서와는 달리 기본 채널 또는 전용 제어 채널의 최대 전송율(즉, 9.6 kbps 또는 14.4 kbps)에서는 도 8의 (d)와 (e)에 도시된 바와 같이 서로 다른 두 가지 형식을 사용한다. 상기 도 8의 (d)와 (e)에 도시된 형식은 가장 마지막 2 비트의 TYPE 필드로 구별된다. 상기 도 8의 (d)에 도시된 형식은 데이터만을 전송하는 형식으로 L_V(S) 레지스터 132의 하위 8 비트 프레임 일련 번호로 설정된 SEQ 필드와, 재전송되는 데이터인 경우 '11', 그렇지 않은 경우 '10'을 가지는 TYPE 필드를 가진다. 도 8의 (e)에 도시된 형식은 상기 도 8의 (a), (b), (c) 형식의 프레임 하나로 Information 필드를 채우고 '00'으로 설정된 TYPE 필드를 가진다.
RLP 제어기 131은 기본 채널 또는 전용 제어 채널로 전송할 Idle 프레임 또는 Intersegment Fill 프레임을 다음과 같이 생성한다. 도 8의 (f)에서 도시한 바와 같이 SEQ 필드를 L_V(S) 레지스터 132의 하위 8 비트 프레임 일련 번호로 설정하고, L_SEQ 필드를 L_V(S) 레지스터 132의 상위 4 비트 프레임 일련 번호로 설정한 다음, Idle 프레임의 경우 CTL 필드를 '1001'로, Intersegment Fill 프레임의 경우 CTL 필드를 '1010'으로 설정한다.
RLP 제어기 131은 부가 채널로 전송할 데이터 프레임을 다음과 같이 생성한다. 상기 도 9의 (a)에 도시된 바와 같이 SEQ 필드를 전송되는 RLP 프레임의 하위 8 비트 프레임 일련 번호로 설정한 후, 재전송되는 프레임이면 TYPE 필드를 '10'으로, 그렇지 않으면 '11'로 설정한다. 상기 RLP 제어기 131은 나머지 부분에 대해서 데이터을 채운다.
RLP 제어기 131은 부가 채널로 RLP 프레임의 일부분을 담고 전송될 조각 데이터 프레임을 다음과 같이 생성한다. 상기 도 9의 (b)에 도시된 바와 같이 SEQ 필드를 전송되는 RLP 프레임의 하위 8 비트 프레임 일련 번호로, CTL 필드를 '00'으로 설정한 후, TYPE 필드를 '01'로 설정한다. 상기 RLP 제어기 131은 또한 재전송되는 조각이면 REXMIT 필드를 '1'로, 그렇지 않으면 '0'으로 설정한다. 상기 RLP 제어기 131은 S_SEQ 필드를 전송하는 데이터 부분의 첫번째 바이트의 12 비트 데이터 일련 번호로 설정하고, 또한 조각 데이터 프레임이 전송하는 RLP 프레임의 마지막 바이트를 담고 있으면 LAST 필드를 '1'로 그렇지 않으면 '0'으로 설정한다. 상기 RLP 제어기 131은 데이터를 바로 다음에 넣은 후, 나머지 부분에 대해서 '0'을 채운다.
RLP 제어기의 초기화 동작
RLP 제어기 131은 동작을 시작하기 전에 L_V(S) 레지스터 132와, L_V(R) 레지스터 135, L_V(N) 레지스터 136, E 레지스터 137, V(SS) 레지스터 141, V(RS) 레지스터 142, V(NS) 레지스터 143, R_L_SEQ 레지스터 144, R_S_SEQ 레지스터 145를 '0'으로 설정한다. 또한 RLP 제어기 131은 동작을 시작하기 전에 재전송 버퍼 133, 재전송 요청 큐 134와, NAK 리스트 138, 그리고 재정렬 버퍼 139, 조각 버퍼 146의 엔트리들을 모두 삭제한다. 본 발명에서는 상기 L_V(S) 레지스터 132와, L_V(R) 레지스터 135, L_V(N) 레지스터 136, R_L_SEQ 레지스터 144가 모두 12 비트 정수를 저장할 수 있으며, V(SS) 레지스터 141, V(RS) 레지스터 142, V(NS) 레지스터 143, R_S_SEQ 레지스터 145가 모두 12 비트 정수를 저장할 수 있다고 가정한다.
RLP 제어기 131은 초기화 과정을 다음과 같이 수행한다.
첫째, RLP 제어기 131은 SYNC 프레임을 다중화/역다중화 제어기 140에게 계속 전달한다.
둘째, 상기 첫째 과정 수행중에 SYNC 프레임을 상기 다중화/역다중화 제어기 140에게서 받으면, RLP 제어기 131은 다중화/역다중화 제어기 140에게 SYNC/ACK 프레임을 SYNC 프레임이 아닌 다른 프레임이 수신될 때까지 계속 전달한다.
셋째, 상기 첫째 과정 수행중에 SYNC/ACK 프레임을 받으면, RLP 제어기 131은 다중화/역다중화 제어기 140에게 ACK 프레임을 SYNC/ACK 프레임이 아닌 다른 프레임이 수신될 때까지 계속 전달한다. 상기 RLP 제어기 131은 SYNC/ACK 프레임이 아닌 다른 프레임이 수신되면 데이터 송신을 시작한다.
상기 RLP 제어기 131은 상기 초기화 과정을 마치면 데이터 송신을 시작한다. 상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140에게 SYNC, SYNC/ACK, ACK 프레임을 제외한 다른 모든 프레임을 전달할 수 있다.
RLP 제어기의 데이터 프레임 송신 동작
RLP 제어기 131은 L_V(S) 레지스터 132를 프레임 일련 번호를 지정하기 위해서 사용한다. 상기 RLP 제어기 131은 새로 전송할 RLP 프레임을 생성하면 상기 L_V(S) 레지스터 132에 저장된 값을 생성되는 RLP 프레임의 12 비트 프레임 일련 번호로 정한다. 상기 RLP 제어기 131은 새로 생성된 프레임을 수신측의 재전송 요청에 대비하여 재전송 버퍼 133에 저장해둔다. 상기 RLP 제어기 131은 생성된 RLP 프레임의 크기가 다중화/역다중화 제어기 140에 의해서 지정된 전송할 수 있는 크기 보다 더 크면 생성된 RLP 프레임에 대해서 하기의 조각 프레임 송신 동작을 수행하고, 그렇지 않으면 상기 다중화/역다중화 제어기 140에게 전달한다. 상기 RLP 제어기 131은 생성된 새 데이터 프레임의 모든 데이터가 전송될 때까지 새로운 프레임을 만들지 않는다.
RLP 제어기 131은 생성된 새 데이터 프레임의 전송을 마치면 L_V(S) 레지스터 132 값에 하나를 더하고 212으로 나눈 나머지로 설정한다. 이미 전송되었던 데이터를 재전송하는 경우나, 또는 제어 프레임이나 아이들 프레임 등을 보낼 때 상기 L_V(S) 레지스터 132 값은 증가하지 않는다.
RLP 제어기 131은 재전송 요청 큐 134에 재전송 프레임이 있는 경우 이를 송신하여야한다. 상기 재전송 프레임은 일반 데이터 프레임(unsegmented data frame) 또는 조각 데이터 프레임(segmented data frame) 모두 가능하다. 재전송 프레임이 일반 데이터 프레임인 경우, 재전송 프레임이 가지고 있는 데이터 부분의 시작 일련 번호는 프레임 일련 번호로 재전송 프레임과 함께 저장된 12 비트 프레임 일련 번호를, 그리고 데이터 일련 번호로는 0을 가진다. 재전송 프레임이 조각 데이터 프레임인 경우, 재전송 프레임이 가지고 있는 데이터 부분의 시작 일련 번호는 프레임 일련 번호로 재전송 프레임과 함께 저장된 12 비트 프레임 일련 번호를, 그리고 데이터 일련 번호로는 S_SEQ 필드의 12 비트 값이 된다.
RLP 제어기 131은 재전송 요청 큐 134에 저장된 재전송 프레임을 송신할 때 상기 <표 1>에 따라서 각 프레임이 가지고 있는 시작 일련 번호 중에서 가장 작은 시작 일련 번호를 가지는 재전송 프레임을 먼저 송신한다. 상기 RLP 제어기 131은 재전송될 RLP 프레임의 크기가 다중화/역다중화 제어기 140에 의해서 지정된 전송할 수 있는 크기 보다 더 크면 하기의 조각 프레임 송신 동작을 수행하고 그렇지 않으면 상기 다중화/역다중화 제어기 140에게 전달한다.
RLP 제어기 131은 전송할 제어 프레임, 재전송 프레임, 새 데이터 프레임도 모두 없을 때, 상기 도 8의 (f) 형식과 같은 아이들 프레임(idle frame)을 다중화/역다중화 제어기 140에게 전달할 수 있다.
RLP 제어기의 조각 프레임 송신 동작
RLP 제어기 131은 다중화/역다중화 제어기 140이 요구한 크기 보다 전송할 일반 데이터 프레임 또는 조각 데이터 프레임이 더 크면 조각 프레임으로 만들어서 송신한다. 하기에서 전송할 일반 데이터 프레임 또는 조각 데이터 프레임은 "전송할 RLP 프레임"이라 칭하겠다. 만일 다중화/역다중화 제어기 140이 요구한 크기가 어떠한 조각 프레임도 전송할 수 없는 크기이면 상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140에게 아무것도 전달하지 않거나 Intersegment Fill 프레임을 전달한다.
RLP 제어기 131은 조각 프레임을 만들 때 전송할 RLP 프레임이 가지고 있는 데이터 중에서 가장 앞 부분의 데이터부터 잘라내어 다중화/역다중화 제어기 140이 요구한 크기에 맞는 조각 프레임을 만든다. 하기에서 이 조각 프레임을 "전송될 조각 프레임"이라고 칭하겠다.
RLP 제어기 131이 새 데이터 프레임에 대한 조각 프레임을 만드는 경우에는 V(SS) 레지스터 141에는 상기 전송될 조각 프레임의 첫번째 바이트의 데이터 일련 번호가 저장되어 있으므로 상기 전송될 조각 프레임은 전송할 RLP 프레임의 하위 8 비트 프레임 일련 번호와 V(SS) 레지스터 141 값을 사용하여 만들어진다. 상기 전송될 조각 프레임이 완성되면 상기 RLP 제어기 131은 상기 전송될 조각 프레임에 포함된 데이터 바이트 수만큼 V(SS) 레지스터 141의 값을 증가시킨다.
반면, RLP 제어기 131이 재전송 데이터 프레임에 대한 조각 프레임을 만들 때에는 재전송 데이터 프레임이 일반 데이터 프레임인 경우와 조각 데이터 프레임인 경우에 따라 다르게 동작한다. 즉, 일반 데이터 프레임에 대한 조각 프레임을 만드는 경우에는 전송될 조각 프레임의 첫 번째 바이트 데이터 일련 번호 값이 "0"이 되고, 조각 데이터 프레임에 대한 조각 프레임을 만드는 경우에는 조각 데이터 프레임이 가진 S_SEQ 필드값이 전송될 조각 프레임의 첫 번째 바이트 데이터 일련 번호 값이 된다. 상기 전송될 조각 프레임은 전송할 RLP 프레임의 하위 8비트 프레임 일련 번호와 상기에서 구한 데이터 일련 번호 값을 사용하여 만들어진다.
또한, RLP 제어기 131은 전송할 RLP 프레임 중에서 새로 생성된 조각 프레임에 포함되지 않은 나머지 데이터를 가지고 또 다른 조각 프레임을 만든다. 하기에서 상기 조각 프레임은 "나머지 조각 프레임"이라고 칭하겠다.
RLP 제어기 131이 새 데이터 프레임에 대한 조각 프레임을 만든 경우에는 V(SS) 레지스터 141에는 상기 과정을 통해 나머지 조각 프레임의 첫번째 바이트의 데이터 일련 번호가 저장되어 있으므로, 상기 나머지 조각 프레임은 전송할 RLP 프레임의 하위 8 비트 프레임 일련 번호와 V(SS) 레지스터 141 값을 사용하여 만들어진다.
반면, RLP 제어기 131이 재전송 데이터 프레임에 대한 조각 프레임을 만들 때에는 상기 과정에서 구한 데이터 일련 번호 값에 상기 전송될 조각 프레임에 담긴 데이터 바이트 수를 더한 값이 나머지 조각 프레임의 첫 번째 바이트 데이터 일련 번호 값이 된다. 상기 나머지 조각 프레임은 전송할 RLP 프레임의 하위 8비트 프레임 일련 번호와 상기에서 구한 데이터 일련 번호 값을 사용하여 만들어진다.
RLP 제어기 131은 전송될 조각 프레임을 상기 다중화/역다중화 제어기 140에게 전달한다. 상기 RLP 제어기 131은 전송할 RLP 프레임이 재전송 데이터 프레임이면 나머지 조각 프레임을 전송할 RLP 프레임의 12 비트 프레임 일련 번호와 함께 재전송 요청 큐 134에 저장한다. 만일 상기 전송할 RLP 프레임이 새 데이터 프레임이면 상기 RLP 제어기 131은 나머지 조각 프레임을 전송할 RLP 프레임의 12 비트 프레임 일련 번호와 함께 조각 버퍼 146에 저장해둔다. RLP 제어기 131은 새 데이터 프레임을 송신할 수 있을 때 상기 조각 버퍼 146에 저장된 나머지 조각 프레임에 대해서 다시 조각 프레임 송신 동작을 수행한다. 상기 RLP 제어기 131은 조각 버퍼에 저장된 나머지 조각 프레임을 모두 송신하였으면 V(SS) 레지스터 141을 0으로 설정하고 상기한 바와 같이 L_V(S) 레지스터 132 값에 하나를 더하고 212으로 나눈 나머지로 설정한다.
RLP 제어기의 제어 프레임 수신 동작
다중화/역다중화 제어기 140은 상기 RLP 제어기 131에게 RLP 프레임과 함께 수신된 RLP 프레임의 크기 T를 함께 알려준다.
RLP 제어기 131은 제어 프레임 중에서 SYNC, SYNC/ACK, ACK 프레임을 수신하면 상기 초기화 과정을 수행한다. 상기 RLP 제어기 131은 제어 프레임 중에서 NAK 프레임을 수신하면 상기 <표 4>에 따라 NAK 프레임을 해석한다. 우선, 상기 RLP 제어기 131은 상기 NAK 프레임에 포함된 L_SEQ_HI 필드값을 상위 4 비트로 하고 SEQ 필드값을 하위 8 비트로 하는 12 비트의 일련 번호를 구한다. 상기 일련 번호는 수신측 L_V(N) 레지스터 136의 값이므로, 상기 RLP 제어기 131은 상기 수신된 L_V(N) 레지스터 136의 값 보다 작은 프레임 일련 번호를 가지는 재전송 엔트리들을 상기 재전송 버퍼 133에서 모두 삭제할 수 있다.
RLP 제어기 131은 수신된 NAK 프레임에 포함된 NAK_FRM_COUNT 필드값과 NAK_SEG_COUNT 필드값을 통하여 상기 수신된 NAK 프레임의 프레임 재전송 요구와 프레임의 일부분에 대한 재전송 요구 개수를 알아낼 수 있다.
RLP 제어기 131은 상기 수신된 NAK 프레임에 포함된 (NAK_FRM_COUNT + 1) 개만큼의 프레임 재전송 요구 각각에 대해서 다음을 수행한다.
첫째, 재전송이 요청된 프레임 일련 번호 L_SEQ를 상기 프레임 재전송 요구의 FIRST 필드값으로 설정한다.
둘째, 상기 프레임 일련 번호 L_SEQ와 일치하는 12 비트 프레임 일련 번호를 가지는 RLP 프레임을 재전송 버퍼 133에서 찾는다. 만일 그러한 RLP 프레임이 있으면 상기 RLP 프레임의 복사본을 상기 RLP 프레임의 12 비트 프레임 일련 번호와 함께 재전송 요청 큐 134에 넣는다.
셋째, 상기 구해진 L_SEQ 값이 상기 프레임 재전송 요구의 LAST 필드값과 같으면 과정을 종료한다. 만일 그렇지 않으면 상기 L_SEQ 값을 하나 증가시키고 212로 나눈 나머지를 새 L_SEQ 값으로 하고 상기 과정을 반복한다.
RLP 제어기 131은 상기 수신된 NAK 프레임에 포함된 (NAK_SEG_COUNT + 1) 개만큼의 프레임의 일부분에 대한 재전송 요구 각각에 대해서 다음을 수행한다.
첫째, 재전송이 요청된 프레임 일련 번호 L_SEQ를 상기 프레임의 일부분에 대한 재전송 요구의 NAK_SEQ 필드값으로 설정한다.
둘째, 상기 프레임 일련 번호 L_SEQ와 일치하는 12 비트 프레임 일련 번호를 가지는 RLP 프레임을 재전송 버퍼 133에서 찾는다. 만일 그러한 RLP 프레임이 있으면 상기 재전송 요구의 FIRST_SEQ 필드값에서 LAST_SEQ 필드값까지에 해당하는 데이터 일련 번호를 갖는 데이터 부분을 가지고 조각 데이터 프레임을 만든다. 상기 조각 데이터 프레임은 상기 RLP 프레임의 하위 8 비트 프레임 일련 번호와 상기 데이터 부분의 첫번째 바이트의 데이터 일련 번호를 가지고 만들어진다. 상기 RLP 제어기 131은 생성된 조각 프레임을 상기 RLP 프레임의 12 비트 프레임 일련 번호와 함께 재전송 요청 큐 134에 넣는다.
RLP 제어기의 데이터 프레임 수신 동작
다중화/역다중화 제어기 140은 상기 RLP 제어기 131에게 RLP 프레임과 함께 수신된 RLP 프레임의 크기 T를 함께 알려준다.
RLP 제어기 131은 새 데이터 프레임을 수신하였을 때, L_V(R) 레지스터 135의 12 비트 프레임 일련 번호를 사용한다. 상기 RLP 제어기 131은 L_V(R) 레지스터 135의 12 비트 값과 수신된 새 데이터 프레임의 SEQ 필드값을 사용하여 수신된 새 데이터 프레임의 12 비트 일련 번호 L_SEQ를 다음과 같은 <수학식 1>을 통해 구한다. 하기의 <수학식 1>에서 L_V(R)은 L_V(R) 레지스터 135에 저장된 12비트 값이고, SEQ는 수신된 새 데이터 프레임의 SEQ 필드값이다.
RLP 제어기 131은 재전송 데이터 프레임을 수신하였을 때, 도 6에 도시된 바와 같이 NAK 리스트 138을 가지고 있어야 한다. 상기 NAK 리스트 138의 각 NAK 엔트리(NAK entry)들은 <L_SEQ(빠진 프레임의 12 비트 프레임 일련 번호), FIRST_S_SEQ(데이터 부분의 첫번째 바이트의 12 비트 데이터 일련 번호), LAST_S_SEQ(데이터 부분의 마지막 바이트의 12 비트 데이터 일련 번호), RECEIVED(프레임이 완전히 수신되었는지를 알려주는 지시자), REXMIT_TIMER(재전송 타이머), ROUND_COUNTER(라운드 카운터)>로 구성된다. 상기 RLP 제어기 131은 상기 NAK 리스트 138에 저장된 NAK 엔트리들 중에서 저장된 일련 번호 값과 상기 수신된 재전송 프레임의 8 비트 SEQ 필드에 담겨온 값이 일치하는 NAK 엔트리를 찾는다. 만일 같은 NAK 엔트리가 있다면, 상기 NAK 엔트리에 저장된 프레임 일련 번호 값을 수신된 프레임의 프레임 일련 번호 L_SEQ로 한다. 만일 그러한 엔트리가 없다면 상기 RLP 제어기 131은 상기 수신된 프레임을 버린다.
RLP 제어기 131은 수신된 프레임의 프레임 일련 번호 L_SEQ와 데이터 일련 번호 S_SEQ, 그리고 마지막 조각을 지시하는 LAST 값을 가지고 수신된 프레임을 처리한다. 만일 수신된 프레임이 조각 데이터 프레임이 아닌 일반 데이터 프레임이면 상기 RLP 제어기 131은 데이터 일련 번호 S_SEQ를 '0'으로, 그리고 마지막 조각을 지시하는 LAST 값을 '1'로 간주한다. 만일 수신된 프레임이 조각 데이터 프레임이면 상기 RLP 제어기 131은 데이터 일련 번호 S_SEQ를 수신된 프레임의 S_SEQ 필드값으로, 그리고 마지막 조각을 지시하는 LAST 값을 수신된 프레임의 LAST 필드값으로 정한다. 상기 RLP 제어기는 수신된 조각 데이터 프레임과 일반 데이터 프레임 모두 하기와 같이 동일하게 처리한다.
RLP 제어기 131은 수신된 프레임이 재전송 프레임이 아닌 새 데이터 프레임이면 다음을 수행한다.
첫째, RLP 제어기 131은 수신된 프레임이 다소 지연되어 도착한 프레임(delayed frame)이라고 판단되면 수신된 프레임을 재전송 프레임과 같이 처리한다.
둘째, 수신된 프레임의 일련 번호 <L_SEQ, S_SEQ> 값이 <L_V(R) 레지스터 135 값, V(RS) 레지스터 142 값>과 같은 경우, RLP 제어기 131은 상기 V(RS) 레지스터 142 값을 수신된 데이터 바이트 수만큼 증가시킨다. 만일 수신된 프레임의 LAST 값이 1이면 상기 RLP 제어기 131은 상기 V(RS) 레지스터 142 값을 0으로 설정한 다음, L_V(R) 레지스터 135 값을 하나 증가시키고 212로 나눈 나머지로 설정한다. 수신된 LAST 값이 '1'일 때 증가시키기 전의 L_V(R) 레지스터 135 값이 L_V(N) 레지스터 136 값과 같다면, 상기 RLP 제어기 131은 L_V(N) 레지스터 135 값을 하나 증가시키고 212로 나눈 나머지로 설정하고 수신된 데이터를 수신 데이터 버퍼 124에 저장한다. 이러한 경우는 데이터 프레임이 정상적으로 수신된 경우에 해당한다. 만일 증가시키기 전의 L_V(R) 레지스터 135 값이 L_V(N) 레지스터 136 값과 다르다면 상기 RLP 제어기 131은 수신된 프레임을 재정렬 버퍼 138에 저장한다. 이러한 경우는 데이터 프레임이 정상적으로 수신되지 않아 재전송 프레임을 기다리는 경우에 해당한다.
셋째, 수신된 프레임의 일련 번호 <L_SEQ, S_SEQ> 값이 <L_V(R) 레지스터 135 값, V(RS) 레지스터 142 값> 보다 큰 경우, RLP 제어기 131은 시작 일련 번호가 <L_V(R) 레지스터 135 값, V(RS) 레지스터 142 값> 보다 크거나 같고 마지막 일련 번호가 <L_SEQ, S_SEQ> 보다 작은 데이터 부분, 또는 프레임에 대해서 각각 NAK 엔트리를 만든다. 상기 각 NAK 엔트리의 L_SEQ 필드는 프레임 일련 번호를, FIRST_S_SEQ 필드는 각 데이터 부분의 첫번째 바이트의 데이터 일련 번호로, LAST_S_SEQ 필드는 각 데이터 부분 마지막 바이트의 데이터 일련 번호로, RECEIVED 필드는 '0'으로, 그리고 ROUND_COUNTER 필드는 이미 결정된 값으로 설정한다. 또한 상기 RLP 제어기 131은 상기 V(RS) 레지스터 142 값을 데이터 일련 번호 S_SEQ에 수신된 데이터 부분의 바이트 수만큼 더한 값으로 설정하고 L_V(R) 레지스터 135 값을 프레임 일련 번호 L_SEQ로 설정한다. 이때 만일 수신된 조각 프레임의 LAST 필드가 '1'로 설정되어 있으면 상기 RLP 제어기 131은 상기 V(RS) 레지스터 142 값을 '0'으로 설정한 다음, L_V(R) 레지스터 135 값을 다시 하나 증가시키고 212로 나눈 나머지로 설정한다. 상기 RLP 제어기 131은 수신된 프레임을 재정렬 버퍼 138에 저장한다.
RLP 제어기 131은 수신된 데이터 프레임이 재전송 데이터 프레임이면 다음을 수행한다.
첫째, 수신된 프레임의 일련 번호 <L_SEQ, S_SEQ> 값이 <L_V(N) 레지스터 136 값, V(NS) 레지스터 143 값> 보다 작고, 수신된 데이터 부분이 <L_V(N) 레지스터 136 값, V(NS) 레지스터 143 값>을 포함하지 않으면(상기 <표 2> 참조), RLP 제어기 131은 수신된 프레임을 버린다.
둘째, 수신된 프레임의 <L_SEQ, S_SEQ> 값이 <L_V(R) 레지스터 135 값, V(RS) 레지스터 142 값> 보다 크거나 같다면 RLP 제어기 131은 수신된 프레임을 버린다.
셋째, 수신된 프레임의 데이터 부분이 <L_V(N) 레지스터 136 값, V(NS) 레지스터 143 값>을 포함하면, RLP 제어기 131은 시작 일련 번호가 <L_V(N) 레지스터 136 값, V(NS) 레지스터 143 값>이고 마지막 일련 번호가 수신된 데이터 부분의 마지막 바이트와 같은 데이터 부분을 수신 데이터 버퍼 124에 저장한다. 상기 RLP 제어기 131은 상기 V(NS) 레지스터 143 값을 수신된 데이터 부분 마지막 바이트의 데이터 일련 번호에 하나 더한 값으로 설정한다. 만일 수신된 프레임의 LAST 값이 '1'이면 상기 RLP 제어기 131은 상기 V(NS) 레지스터 143 값을 '0'으로 설정한 다음, L_V(N) 레지스터 136 값을 하나 증가시키고 212로 나눈 나머지로 설정한다. 상기 RLP 제어기 131은 재정렬 버퍼 139에 저장된 프레임들에 대해서 일련 번호 순서대로 재전송 프레임 수신 과정을 반복한다. 만일 저장된 프레임 중에서 데이터 부분이 <L_V(N) 레지스터 136 값, V(NS) 레지스터 143 값>을 포함하는 프레임이 없으면 상기 과정을 마친다.
넷째. 수신된 프레임의 일련 번호 <L_SEQ, S_SEQ> 값이 <L_V(N) 레지스터 136 값, V(NS) 레지스터 143 값> 보다 크다면, RLP 제어기 131은 수신된 프레임을 재정렬 버퍼 139에 저장한다.
상기 재전송 프레임 수신 과정을 마친 RLP 제어기 131은 다음과 같이 모든 NAK 엔트리에 대해서 각각 다음을 수행한다.
첫째, NAK 엔트리의 L_SEQ 필드가 수신된 프레임의 프레임 일련 번호 L_SEQ와 같지 않으면 RLP 제어기 131은 상기 NAK 엔트리에 대해서 아무것도 수행하지 않으며, NAK 엔트리의 L_SEQ 필드가 수신된 프레임의 프레임 일련 번호 L_SEQ와 같은 경우에만 다음을 수행한다.
둘째, 수신된 데이터 부분의 첫번째 바이트의 데이터 일련 번호 F_S_SEQ와 마지막 끝 바이트의 데이터 일련 번호 L_S_SEQ를 구한다. F_S_SEQ는 상기 수신된 프레임의 데이터 일련 번호 S_SEQ가 되고 L_S_SEQ는 수신된 프레임의 마지막 끝 바이트의 데이터 일련 번호가 된다. 만일 수신된 프레임의 LAST 값이 1이면 L_SEQ_SEQ는 (212- 1)이 된다.
셋째, NAK 엔트리의 FIRST_S_SEQ 필드와 LAST_S_SEQ 필드로 표시되는 데이터 부분이 수신된 데이터 부분에 포함된다면 RECEIVED 필드값을 '1'로 설정한다.
넷째, NAK 엔트리의 FIRST_S_SEQ 필드와 LAST_S_SEQ 필드로 표시되는 데이터 부분이 수신된 데이터 부분에 포함되는 부분과 포함되지 않는 부분이 모두 있다면 RLP 제어기 131은 각각의 데이터 부분에 대해서 NAK 엔트리를 따로 만든다. 즉, NAK 엔트리의 L_SEQ 필드는 수신된 프레임의 프레임 일련 번호를, FIRST_S_SEQ 필드와 LAST_S_SEQ 필드는 각 데이터 부분에 따라 맞게 설정하고, RECEIVED 필드는 각 데이터 부분이 수신된 데이터 부분에 포함된다면 1로, 그렇지 않다면 0으로 설정한다. 그리고 REXMIT_TIMER 필드는 상기 NAK 엔트리의 REXMIT_TIMER 필드값으로 설정하고 ROUND_COUNTER 필드는 이미 결정된 값으로 설정한다. 상기 RLP 제어기 131은 상기 기존의 NAK 엔트리를 삭제한다.
다섯째, NAK 엔트리의 FIRST_S_SEQ 필드와 LAST_S_SEQ 필드로 표시되는 데이터 부분이 수신된 데이터 부분에 포함되지 않는다면 RLP 제어기 131은 상기 NAK 엔트리에 대해서 아무것도 수행하지 않는다.
RLP 제어기의 Idle/intersegment Fill 프레임 수신 동작
RLP 제어기 131은 Idle 프레임 또는 Intersegment Fill 프레임을 받으면, L_SEQ_HI 필드값을 상위 4 비트로 하고 SEQ 필드값을 하위 8 비트로 하는 12 비트의 일련 번호로 프레임 일련 번호 L_SEQ를 구한다.
RLP 제어기 131은 수신된 Idle 프레임 또는 Intersegment Fill 프레임에 대해서 다음을 수행한다.
첫째, 수신된 프레임의 프레임 일련 번호 L_SEQ 값이 L_V(R) 레지스터 135 값 보다 큰 경우, RLP 제어기 131은 프레임 일련 번호가 L_V(R) 레지스터 135 값 보다 크거나 같고 (L_SEQ - 1) modulo 212보다 작거나 같은 모든 프레임에 대해서 NAK 엔트리를 만든다. 각 NAK 엔트리의 L_SEQ 필드는 각 프레임의 프레임 일련 번호를, FIRST_S_SEQ 필드는 '0'으로, LAST_S_SEQ 필드는 (212- 1) 을, RECEIVED 필드는 0으로, 그리고 ROUND_COUNTER 필드는 이미 결정된 값으로 설정한다.
둘째, RLP 제어기 131은 수신된 프레임의 일련 번호 L_SEQ 값이 L_V(R) 레지스터 135 값 보다 작으면 상기 초기화 과정을 수행한다.
RLP 제어기의 깨진 프레임 수신 동작
RLP 제어기 131은 다중화/역다중화 제어기 140이 깨진 RLP 프레임이 수신되었음을 알리면 레지스터 E 137에 저장된 값을 하나 증가시켜 다시 레지스터 E 137에 저장한다. 이때 증가된 E 레지스터 137 값이 255 보다 크게 되면 상기 RLP 제어기 131은 상기 초기화 과정을 수행한다.
RLP 제어기 131은 데이터 수신 과정에서 올바르게 수신된 RLP 프레임이 있으면 E 레지스터 137의 값을 '0'으로 설정한다.
RLP 제어기의 NAK 리스트 수정 동작
RLP 제어기 131은 일정한 시간 동안 수신된 모든 프레임을 처리한 후 상기 NAK 리스트 138의 각 NAK 엔트리들에 대해서 재전송 요청을 다시할 것인지 아니면 더 이상 재전송을 기다리지 않을 것인지 결정하는 작업을 다음과 같이 수행한다.
본 발명에서는 수신측 RLP에서 송신측 RLP에게 재전송을 요청하고 재전송 데이터 프레임이 도착할 때까지 일정 시간 기다리는 것을 하기에서 "하나의 라운드(round)"라고 칭하겠다. 즉, 상기 하나의 라운드는 재전송 요청을 담은 NAK 프레임이 전송된 후부터 일정 시간이 경과하거나 요청된 프레임이 도착하면 끝나게 된다. 상기 하나의 라운드에서 재전송 요청은 여러 개의 연속적인 NAK 프레임에 담겨갈 수 있다.
수신측 RLP가 몇 번의 라운드를 수행한 후 데이터 수신을 포기할 것인지와 각각의 라운드마다 재전송 요청을 몇 개의 NAK 프레임에 담아서 전송할 것인지는 모두 기지국 RLP에서 결정한다.
RLP 제어기 131은 RLP 프레임이 수신될 때마다 수신된 RLP 프레임이 가진 프레임 일련 번호 중에서 가장 큰 값을 R_L_SEQ 레지스터 144에 저장한다. 상기 RLP 제어기 131은 상기 R_L_SEQ 레지스터 144 값과 같은 프레임 일련 번호를 가지는 RLP 프레임의 첫 번째 바이트 데이터 일련 번호 값을 R_S_SEQ 레지스터 145에 저장한다. 만일 상기 R_L_SEQ 레지스터 144 값과 같은 프레임 일련 번호를 가지는 RLP 프레임이 여러 개인 경우에는 각 RLP 프레임의 첫 번째 바이트 데이터 일련 번호 값 중에서 가장 큰 값을 상기 R_S_SEQ 레지스터 145에 저장한다. 예를 들어, 상기 R_L_SEQ 레지스터 144 값과 같은 프레임 일련 번호를 가지는 일반 데이터 프레임이 수신된 경우 상기 R_S_SEQ 레지스터 145에는 '0'이 저장될 것이다. 만일 상기 R_L_SEQ 레지스터 144 값과 같은 프레임 일련 번호를 가지는 수신된 프레임들이 모두 조각 프레임이면 상기 R_S_SEQ 레지스터 145에는 상기 조각 프레임이 가지는 S_SEQ 필드값 중에서 가장 큰 값이 저장될 것이다.
RLP 제어기 131은 NAK 리스트 138에서 가장 오래된 NAK 엔트리 <L_SEQ, FIRST_S_SEQ, LAST_S_SEQ, RECEIVED, REXMIT_TIMER, ROUND_COUNTER>부터 오래된 순서대로 모든 NAK 엔트리에 대해서 다음의 과정을 수행한다.
첫째, 상기 NAK 엔트리의 REXMIT_TIMER 값이 0보다 크고 이미 기지국 RLP가 이번 라운드에 지정한 개수의 NAK 프레임에 상기 NAK 엔트리가 지정하는 데이터 부분이 포함되어 전송되었다면, RLP 제어기 131은 상기 NAK 엔트리의 일련 번호 <L_SEQ, FIRST_S_SEQ>와 <R_L_SEQ 레지스터 144 값, R_S_SEQ 레지스터 145 값>을 비교한다. 만일 일련 번호 <L_SEQ, FIRST_S_SEQ>가 더 작다면 상기 RLP 제어기 131은 REXMIT_TIMER 값을 하나 줄인다.
둘째, 만일 상기 감소된 REXMIT_TIMER 값이 0이 되면, RLP 제어기 131은 상기 NAK 엔트리의 ROUND_COUNTER를 하나 줄인다. 이때 만일 상기 NAK 엔트리의 RECEIVED 값이 '1'이면, 상기 RLP 제어기 131은 상기 NAK 엔트리를 상기 NAK 리스트 138에서 삭제한다.
셋째, 이와 달리, 상기 NAK 엔트리의 RECEIVED 값이 '0'이고 상기 NAK 엔트리의 ROUND_COUNTER 값이 0이 되면, 상기 RLP 제어기 131은 기다리는 프레임의 데이터를 수신하지 못한 것으로 간주하고, 상기 RLP 제어기 131은 상기 V(NS) 레지스터 143 값을 LAST_S_SEQ 값에 하나 더한 값으로 설정한다. 만일 상기 V(NS) 레지스터 143 값이 '0'이 되면 상기 RLP 제어기 131은 L_V(N) 레지스터 136 값을 하나 증가시키고 212로 나눈 나머지로 설정한다. 또한 상기 RLP 제어기 131은 재정렬 버퍼 138에 저장된 프레임들에 대해서 상기 재전송 프레임 수신 과정을 수행한다. 만일 재정렬 버퍼 138에 저장된 프레임 중에서 데이터 부분이 <L_V(N) 레지스터 136 값, V(NS) 레지스터 143 값>을 포함하는 프레임이 없으면 상기 과정을 마친다.
넷째, 이와 달리, 상기 NAK 엔트리의 RECEIVED 값이 '0'이고 상기 NAK 엔트리의 ROUND_COUNTER 값이 '0'이 아니면, 상기 RLP 제어기 131은 상기 NAK 엔트리의 REXMIT_TIMER 값을 '0' 보다 큰 적절한 값으로 설정하고 기지국 RLP가 이번 라운드에 지정한 개수의 NAK 프레임에 상기 NAK 엔트리가 지정하는 데이터 부분을 포함시켜 전송한다.
상기 RLP 제어기 131은 상기 NAK 리스트 138에서 REXMIT_TIMER 값이 아직 설정되지 않은 모든 NAK 엔트리들 각각에 대해 다음을 수행한다.
첫째, NAK 엔트리의 ROUND_COUNTER 값을 기지국 RLP가 지정한 값으로 설정한다.
둘째, NAK 엔트리의 REXMIT_TIMER 값을 '0' 보다 큰 적절한 값으로 설정하고, 기지국 RLP가 첫번째 라운드에 지정한 개수의 NAK 프레임에 상기 NAK 엔트리가 지정하는 데이터 부분을 포함시켜 전송한다.
상술한 바와 같이 본 발명에서는 데이터를 효과적으로 전송할 수 있도록 하기 위해 기존의 방식 보다 빠른 재전송 방법을 제안하여 라디오 링크 프로토콜의 전송 효율을 높일 수 있도록 하는 이점이 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (21)

  1. 재전송 요청된 라디오링크프로토콜(RLP) 프레임들을 우선 순위에 따라 정렬하여 송신하는 송신기와,
    수신 RLP 프레임들중에서 깨진 프레임들을 상기 송신기로 재전송 요청하고, 상기 재전송 요청된 프레임들을 수신하는 도중에 깨진 프레임이 있는지를 판단한 후 판단되는 즉시 깨진 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 수신기를 포함함을 특징으로 하는 이동 통신시스템.
  2. 제1항에 있어서, 상기 수신기는, 상기 재전송 요청된 각 프레임들에 대해 재전송 시간을 설정하고, 이 재전송 시간이 경과할 때까지 해당하는 재전송 요청된 프레임이 수신되지 않는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 것을 특징으로 하는 이동 통신시스템.
  3. 제1항에 있어서, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 것을 특징으로 하는 이동 통신시스템.
  4. 제1항에 있어서, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되거나 아무런 프레임도 수신되지 않는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 것을 특징으로 하는 이동 통신시스템.
  5. 제1항에 있어서, 상기 송신기는, 상기 재전송 요청된 RLP 프레임들중에서 가장 작은 일련 번호를 가지는 프레임들의 순서로 상기 우선 순위를 결정하는 것을 특징으로 하는 이동 통신시스템.
  6. 전송을 위한 데이터열을 저장하고 있는 송신 데이터 버퍼와,
    프레임 생성 요청시 요청된 크기내의 상기 데이터열을 읽어들여 RLP 프레임을 생성하고, 상기 생성된 RLP 프레임을 일련 번호와 함께 저장하였다가 프레임 재전송 요청시 저장된 RLP 프레임중 해당하는 RLP 프레임들을 일련 번호 순서대로 정렬하여 전송하는 RLP 처리기와,
    상기 RLP 처리기로 프레임 생성을 요청하고, 상기 생성된 RLP 프레임 또는 재전송 요청에 따른 RLP 프레임들을 다중화 처리하여 물리채널 정보비트로서 출력하는 다중화 제어기와,
    상기 물리채널 정보비트를 부호화 및 변조하여 물리 채널을 통해 송신하는 물리계층 처리기를 포함함을 특징으로 하는 이동 통신시스템의 데이터 송신 장치.
  7. 제6항에 있어서, 상기 RLP 처리기는,
    생성될 RLP 프레임의 일련 번호를 저장하고 있는 제1레지스터와,
    상기 생성된 RLP 프레임을 일련 번호와 함께 저장하는 재전송 버퍼와,
    상기 프레임 재전송 요청시 상기 재전송 버퍼에 저장되어 있는 RLP 프레임중에서 해당하는 RLP 프레임들을 일련 번호 순서대로 정렬하여 저장하는 재전송 요청 큐와,
    상기 생성된 RLP 프레임을 전송하고, 또한 상기 프레임 재전송 요청시 상기 재전송 요청큐에 저장된 RLP 프레임들을 일련 번호 순서대로 전송하는 RLP 제어기를 포함함을 특징으로 하는 이동 통신시스템의 데이터 송신 장치.
  8. 물리채널 정보 비트를 수신하여 복조 및 복호화하여 RLP 프레임을 출력하는 물리계층 처리기와,
    상기 RLP 프레임을 역다중화 처리하는 역다중화 제어기와,
    수신 RLP 프레임을 저장하기 위한 수신 데이터 버퍼와,
    상기 역다중화 처리된 RLP 프레임을 전달받아 빠진 프레임이 있는지 여부를 판단하고, 빠진 프레임이 없는 경우에는 이를 상기 수신 데이터 버퍼에 저장하고, 빠진 프레임이 있는 경우에는 해당하는 RLP 프레임을 재전송 요청하고, 재전송 요청에 따른 RLP 프레임의 수신 도중에 빠진 프레임이 있는지 여부를 판단하여 빠진 경우에는 즉시 해당하는 RLP 프레임의 재전송을 다시 요청하는 RLP 처리기를 포함함을 특징으로 하는 이동 통신시스템의 데이터 수신 장치.
  9. 제8항에 있어서, 상기 RLP 처리기는,
    수신되어야 할 RLP 프레임의 예상 일련 번호를 저장하고 있는 제1레지스터와,
    빠진 프레임의 일련 번호를 저장하는 NAK 리스트와,
    빠진 프레임이 포함된 수신 RLP 프레임을 저장하고 있다가 재전송 요청에 따라 빠진 프레임이 수신되면 순서에 맞추어 재정렬시키는 재정렬 버퍼와,
    수신 RLP 프레임들중에서 가장 큰 일련 번호를 저장하는 제2레지스터와,
    상기 예상 일련 번호와 수신 RLP 프레임의 일련 번호를 비교하여 빠진 프레임이 있는지를 판단한 후 이 판단된 프레임을 상기 재정렬 버퍼에 저장시킨 후 상기 판단된 프레임을 재전송 요청하고, 재전송 요청중인 RLP프레임의 일련 번호와 상기 제2레지스터에 저장된 일련 번호를 비교하여 빠진 프레임이 있는지 여부를 판단하는 RLP 제어기를 포함함을 특징으로 하는 이동 통신시스템의 데이터 수신 장치.
  10. 제9항에 있어서, 상기 RLP 제어기는, 상기 재전송 요청에 따라 수신되는 RLP 프레임들중에서 빠진 프레임의 일련 번호 보다 큰 일련 번호의 프레임이 미리 설정된 시간 동안 수신되는 경우 해당하는 프레임의 재전송을 다시 요청하는 것을 특징으로 하는 이동 통신시스템의 데이터 수신 장치.
  11. 제9항에 있어서, 상기 RLP 제어기는, 상기 재전송 요청에 따라 수신되는 RLP 프레임들중에서 빠진 프레임의 일련 번호 보다 큰 일련 번호의 프레임이 미리 설정된 시간 동안 수신되거나 아무런 프레임가 미리 설정된 동안 수신되지 않는 경우 해당하는 프레임의 재전송을 다시 요청하는 것을 특징으로 하는 이동 통신시스템의 데이터 수신 장치.
  12. 라디오링크프로토콜(RLP)에 따른 프레임을 송수신하는 송신기와, 수신기로 이루어지는 이동 통신시스템의 데이터 재전송 방법에 있어서,
    상기 수신기가 수신 RLP 프레임들중에서 깨진 프레임들을 상기 송신기로 재전송 요청하는 (a)과정과,
    상기 송신기가 재전송 요청된 RLP 프레임들을 우선 순위에 따라 정렬하여 송신하는 (b)과정과,
    상기 수신기가 상기 재전송 요청된 프레임들을 수신하는 도중에 깨진 프레임이 있는지를 판단한 후 판단되는 즉시 깨진 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 (c)과정을 포함함을 특징으로 하는 데이터 재전송 방법.
  13. 제12항에 있어서, 상기 (c)과정에서, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 것을 특징으로 하는 데이터 재전송 방법.
  14. 제12항에 있어서, 상기 (c)과정에서, 상기 수신기는, 상기 재전송 요청된 각 프레임들의 일련 번호를 저장한 상태에서 미리 설정된 시간 동안 이 일련 번호보다 큰 일련 번호의 프레임이 수신되거나 아무런 프레임도 수신되지 않는 경우 해당하는 프레임의 재전송 요청을 상기 송신기로 다시 전송하는 것을 특징으로 하는 데이터 재전송 방법.
  15. 제12항에 있어서, 상기 (b)과정에서, 상기 송신기는, 상기 재전송 요청된 RLP 프레임들중에서 가장 작은 일련 번호를 가지는 프레임들의 순서로 상기 우선 순위를 결정하는 것을 특징으로 하는 데이터 재전송 방법.
  16. 라디오링크프로토콜(RLP)에 따른 프레임을 송수신하는 송신기와, 수신기로 이루어지는 이동 통신시스템의 데이터 송신 방법에 있어서,
    프레임 생성 요청시 요청된 크기내의 전송을 위해 저장된 데이터열을 읽어들여 RLP 프레임을 생성하는 과정과,
    상기 생성된 RLP 프레임을 일련 번호와 함께 저장하는 과정과,
    상기 수신기로부터 프레임 재전송 요청시 상기 저장된 RLP 프레임중 해당하는 RLP 프레임들을 일련 번호 순서대로 정렬하여 전송하는 과정과,
    상기 생성된 RLP 프레임 또는 재전송 요청에 따른 RLP 프레임들을 다중화 처리하여 물리채널 정보비트로서 출력하는 과정과,
    상기 물리채널 정보비트를 부호화 및 변조하여 물리 채널을 통해 상기 수신기로 송신하는 과정을 포함함을 특징으로 하는 데이터 송신 방법.
  17. 라디오링크프로토콜(RLP)에 따른 프레임을 송수신하는 송신기와, 수신기로 이루어지는 이동 통신시스템의 데이터 수신 방법에 있어서,
    상기 송신기로부터 송신된 물리채널 정보 비트를 수신하여 복조 및 복호화하여 RLP 프레임을 출력하는 (a)과정과,
    상기 RLP 프레임을 역다중화 처리하는 (b)과정과,
    상기 역다중화 처리된 RLP 프레임을 전달받아 빠진 프레임이 있는지 여부를 판단하는 (c)과정과,
    빠진 프레임이 있는 경우에는 해당하는 RLP 프레임의 재전송을 상기 송신기로 요청하는 (d)과정과,
    재전송 요청에 따른 RLP 프레임을 상기 송신기로부터 수신하는 도중에 빠진 프레임이 있는지 여부를 판단하는 (e)과정과,
    상기 재전송 요청에 다른 RLP 프레임의 수신 도중에 빠진 프레임이 있는 경우 즉시 해당하는 RLP 프레임의 재전송을 상기 송신기로 다시 요청하는 (f)과정을 포함함을 특징으로 하는 데이터 수신 방법.
  18. 제17항에 있어서, 상기 (c)과정은, 상기 역다중화 처리된 RLP 프레임의 일련 번호와 수신 RLP 프레임의 예상 일련번호를 비교함으로써 빠진 프레임이 있는지를 판단하는 것을 특징으로 하는 데이터 수신 방법.
  19. 제17항에 있어서, 상기 (e)과정은, 상기 재전송 요청에 따른 RLP 프레임의 수신 도중에 수신 RLP프레임의 일련 번호과 수신 RLP 프레임의 예상 일련 번호를 비교함으로써 빠진 프레임이 있는지 여부를 판단하는 것을 특징으로 하는 데이터 수신 방법.
  20. 제17항에 있어서, 상기 (f)과정은, 상기 재전송 요청에 따라 수신되는 RLP 프레임들중에서 빠진 프레임의 일련 번호보다 큰 일련 번호의 프레임이 미리 설정된 시간 동안 수신되는 경우 해당하는 프레임의 재전송을 다시 요청하는 것을 특징으로 하는 데이터 수신 방법.
  21. 제17항에 있어서, 상기 (f)과정은, 상기 재전송 요청에 따라 수신되는 RLP 프레임들중에서 빠진 프레임의 일련 번호 보다 큰 일련 번호의 프레임이 미리 설정된 시간 동안 수신되거나 아무런 프레임가 미리 설정된 동안 수신되지 않는 경우 해당하는 프레임의 재전송을 다시 요청하는 것을 특징으로 하는 데이터 수신 방법.
KR10-1999-0031753A 1999-08-02 1999-08-02 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법 KR100424654B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR10-1999-0031753A KR100424654B1 (ko) 1999-08-02 1999-08-02 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법
CA 2381073 CA2381073C (en) 1999-08-02 2000-08-02 Apparatus and method for retransmitting data according to radio link protocol in mobile communication system
JP2001517726A JP4220154B2 (ja) 1999-08-02 2000-08-02 移動通信システムにおける無線リンクプロトコルによるデータ再伝送装置及び方法
AU61883/00A AU766940B2 (en) 1999-08-02 2000-08-02 Apparatus and method for retransmitting data according to radio link protocol in mobile communication system
CNB008108390A CN1165122C (zh) 1999-08-02 2000-08-02 移动通信系统中依据无线链接协议重发数据的设备和方法
US09/631,242 US6956855B1 (en) 1999-08-02 2000-08-02 Apparatus and method for retransmitting data according to radio link protocol in mobile communication system
PCT/KR2000/000850 WO2001013542A1 (en) 1999-08-02 2000-08-02 Apparatus and method for retransmitting data according to radio link protocol in mobile communication system
EP20000948399 EP1201047B1 (en) 1999-08-02 2000-08-02 Apparatus and method for retransmitting data according to a radio link protocol in a mobile communication system
RU2002102704A RU2221339C2 (ru) 1999-08-02 2000-08-02 Устройство и способ для повторной передачи данных в соответствии с протоколом линии радиосвязи в мобильной системе связи
BR0012600A BR0012600A (pt) 1999-08-02 2000-08-02 Aparelho e método para retransmitir dados de acordo com o protocolo de rádio-enlace em sistema de comunicação móvel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0031753A KR100424654B1 (ko) 1999-08-02 1999-08-02 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20010035467A true KR20010035467A (ko) 2001-05-07
KR100424654B1 KR100424654B1 (ko) 2004-03-24

Family

ID=19606069

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0031753A KR100424654B1 (ko) 1999-08-02 1999-08-02 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법

Country Status (10)

Country Link
US (1) US6956855B1 (ko)
EP (1) EP1201047B1 (ko)
JP (1) JP4220154B2 (ko)
KR (1) KR100424654B1 (ko)
CN (1) CN1165122C (ko)
AU (1) AU766940B2 (ko)
BR (1) BR0012600A (ko)
CA (1) CA2381073C (ko)
RU (1) RU2221339C2 (ko)
WO (1) WO2001013542A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100370060B1 (ko) * 1999-12-30 2003-01-30 엘지전자 주식회사 차세대 이동 통신 시스템의 통신 운용 방법
KR100597585B1 (ko) * 2004-10-22 2006-07-06 한국전자통신연구원 트리 구조를 사용하는 패킷의 분할 및 재조립 방법과 이를이용한 패킷의 전송 및 수신 방법
KR100842571B1 (ko) * 2005-10-11 2008-07-01 삼성전자주식회사 디지털 방송 시스템에서 신뢰성 보장 전송 서비스 제공/수신 방법 및 장치
WO2009096740A1 (en) * 2008-01-30 2009-08-06 Lg Electronics Inc. Method of detecting and handling an endless rlc retransmission
US8040908B2 (en) 2006-02-14 2011-10-18 Samsung Electronics Co., Ltd. Method and apparatus for reducing transmission delay of down-link frame in wireless communication system

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920598B2 (en) 2001-05-21 2005-07-19 Lucent Technologies Inc. System and method for error recovery using NAKs
US6983410B2 (en) * 2001-07-02 2006-01-03 Qualcomm, Incorporated System and method for a frame re-transmission in a broadcast communication system
KR20030004978A (ko) * 2001-07-07 2003-01-15 삼성전자 주식회사 이동 통신시스템에서 초기전송 및 재전송 방법
US7362707B2 (en) * 2001-07-23 2008-04-22 Acme Packet, Inc. System and method for determining flow quality statistics for real-time transport protocol data flows
US7697447B2 (en) * 2001-08-10 2010-04-13 Motorola Inc. Control of jitter buffer size and depth
US6839566B2 (en) 2001-08-16 2005-01-04 Qualcomm, Incorporated Method and apparatus for time-based reception of transmissions in a wireless communication system
US6807428B2 (en) 2001-08-16 2004-10-19 Qualcomm, Incorporated Method and apparatus for time-based reception of transmissions in a wireless communication system
US7542482B2 (en) 2001-08-16 2009-06-02 Qualcomm Incorporated Method and apparatus for message segmentation in a wireless communication system
DE10141092A1 (de) * 2001-08-22 2003-03-06 Siemens Ag Verfahren zur Übertragung von Datenpaketen in einem Funk-Kommunikationssystem
EP1286491B1 (en) * 2001-08-22 2004-06-30 Matsushita Electric Industrial Co., Ltd. Multichannel ARQ method and apparatus
US20030039226A1 (en) 2001-08-24 2003-02-27 Kwak Joseph A. Physical layer automatic repeat request (ARQ)
KR100474682B1 (ko) * 2001-10-31 2005-03-08 삼성전자주식회사 무선통신시스템에서 패킷 재전송을 위한 송수신 장치 및 방법
US7280480B2 (en) * 2002-01-07 2007-10-09 Motorola, Inc. Method and apparatus for transmitting and receiving data
US8171300B2 (en) 2002-04-30 2012-05-01 Qualcomm Incorporated Security method and apparatus
US7720043B2 (en) * 2002-11-20 2010-05-18 Qualcomm Incorporated Use of idle frames for early transmission of negative acknowledgement of frame receipt
US20040114598A1 (en) * 2002-12-11 2004-06-17 Sivaramakrishna Veerepalli Radio link protocol sync procedure
JP2004266504A (ja) * 2003-02-28 2004-09-24 Sony Corp 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
US20050052465A1 (en) * 2003-07-03 2005-03-10 Moore Richard L. Wireless keyboard, video, mouse device
US7475322B2 (en) * 2003-11-14 2009-01-06 Avocent Huntsville Corporation Wireless broadcast protocol
KR100578080B1 (ko) * 2003-11-14 2006-05-10 엘지전자 주식회사 시리얼 통신 프로토콜 중 명령 및 데이터 전송 및 수신 방법
CN100442755C (zh) * 2003-11-14 2008-12-10 华为技术有限公司 一种保证通用路由封装隧道传输可靠的方法
KR100989314B1 (ko) * 2004-04-09 2010-10-25 삼성전자주식회사 디스플레이장치
US20060013216A1 (en) * 2004-07-13 2006-01-19 Samsung Electronics Co., Ltd. Apparatus and method for supporting real-time services in a wireless network
GB2417400B (en) * 2004-08-18 2008-12-03 Wecomm Ltd Network data transmission
US7881339B2 (en) * 2004-10-06 2011-02-01 Qualcomm, Incorporated Method and apparatus for assigning users to use interlaces in a wireless cellular communication system
US7596143B2 (en) * 2004-12-16 2009-09-29 Alcatel-Lucent Usa Inc. Method and apparatus for handling potentially corrupt frames
ATE457577T1 (de) * 2004-12-24 2010-02-15 Aspera Inc Massen-datentransfer
US8755407B2 (en) * 2005-02-18 2014-06-17 Qualcomm Incorporated Radio link protocols for enhancing efficiency of multi-link communication systems
KR100689437B1 (ko) * 2005-04-25 2007-03-08 삼성전자주식회사 라디오 링크 프로토콜을 채용한 이동통신시스템에서 손실프레임을 검출하기 위한 타이머값을 결정하기 위한 수신장치 및 그 방법
US8432794B2 (en) 2005-12-29 2013-04-30 Interdigital Technology Corporation Method and apparatus for selecting multiple transport formats and transmitting multiple transport blocks simultaneously with multiple H-ARQ processes
TWI427958B (zh) * 2005-12-29 2014-02-21 Interdigital Tech Corp 以多h-arq方法同時選取多傳輸格式及傳送多傳輸塊組方法及裝置
TWI623209B (zh) 2006-02-03 2018-05-01 內數位科技公司 每時間間隔支援多數混合自動重複請求程序方法及系統
JP4781939B2 (ja) * 2006-08-21 2011-09-28 富士通株式会社 無線通信装置
EP2109953B1 (en) * 2007-02-07 2016-09-21 Telefonaktiebolaget LM Ericsson (publ) Retransmission method and associated devices
JP2009164699A (ja) 2007-12-28 2009-07-23 Fujitsu Ltd 無線通信のデータ再送処理方法およびその方法を用いる無線通信装置
US8442855B2 (en) * 2008-03-28 2013-05-14 Christopher R. DiPaolo Method of designing and building to a targeted cost for high tech facilities
JP5610605B2 (ja) * 2009-07-28 2014-10-22 京セラ株式会社 無線通信システム、送信装置、受信装置、およびデータ再送方法
US9507670B2 (en) * 2010-06-14 2016-11-29 Veeam Software Ag Selective processing of file system objects for image level backups
US9520968B2 (en) * 2013-05-29 2016-12-13 Mediatek Inc. Method for performing seamless transmission control with aid of request carrying fragment ID, and associated apparatus
US9712287B2 (en) * 2014-07-31 2017-07-18 Qualcomm Incorporated System and method of redundancy based packet transmission error recovery
WO2017168042A1 (en) * 2016-03-31 2017-10-05 Nokia Technologies Oy Optimized action at repeating arq poll
CN107491356A (zh) * 2017-08-28 2017-12-19 广州市百果园信息技术有限公司 基于序号的消息处理方法、终端设备和服务器
US11368253B2 (en) 2019-06-21 2022-06-21 Hewlett Packard Enterprise Development Lp System to improve the performance and stability of bonding radios

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1035048A (en) * 1973-04-02 1978-07-18 Texas Instruments Incorporated Multiple block binary synchronous duplex communications system and its method of operation
US6088342A (en) * 1997-05-05 2000-07-11 Nokia Mobile Phones Limited Dynamic configuration of radio link protocol in a telecommunications system
US5610595A (en) * 1991-12-09 1997-03-11 Intermec Corporation Packet radio communication system protocol
FI98427C (fi) * 1994-06-08 1997-06-10 Nokia Mobile Phones Ltd Järjestelmäpakettidatan siirtämiseksi eri bittinopeuksilla TDMA-solukkojärjestelmässä
US5553083B1 (en) 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
US5784362A (en) 1995-04-17 1998-07-21 Telefonaktiebolaget Lm Ericsson Temporary frame identification for ARQ in a reservation-slotted-ALOHA type of protocol
US5754754A (en) * 1995-07-26 1998-05-19 International Business Machines Corporation Transmission order based selective repeat data transmission error recovery system and method
US5701312A (en) * 1996-04-01 1997-12-23 Motorola, Inc. Method and apparatus for selectively providing repeat messages in a radio communication system
RU2127953C1 (ru) 1996-05-06 1999-03-20 Пензенский научно-исследовательский электротехнический институт Способ передачи сообщений в полудуплексном канале связи
US6011796A (en) * 1997-06-17 2000-01-04 Qualcomm Incorporated Extended range sequence numbering for selective repeat data transmission protocol
US6021124A (en) * 1997-08-19 2000-02-01 Telefonaktiebolaget Lm Ericsson Multi-channel automatic retransmission query (ARQ) method
KR100234134B1 (ko) * 1997-08-29 1999-12-15 윤종용 디지털 셀롤러 무선 복합단말기에서 수신 데이터 관리방법
US6118765A (en) * 1998-01-13 2000-09-12 Qualcomm Inc. System method and computer program product for eliminating unnecessary retransmissions
US6496481B1 (en) * 1998-07-16 2002-12-17 Industrial Technology Research Institute Data transfer method for wire real-time communications
KR100282403B1 (ko) * 1998-08-20 2001-02-15 서평원 이동통신 시스템에서 전파 회선 프로토콜의 프레임 전송 방법
US6567388B1 (en) * 1999-03-05 2003-05-20 Qualcomm, Incorporated Method and apparatus for efficient data retransmission in a voice-over-data communication system
US6772215B1 (en) * 1999-04-09 2004-08-03 Telefonaktiebolaget Lm Ericsson (Publ) Method for minimizing feedback responses in ARQ protocols
KR20000074179A (ko) * 1999-05-10 2000-12-05 윤종용 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신장치 및 방법
KR100516671B1 (ko) * 1999-05-24 2005-09-22 삼성전자주식회사 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법
KR100539879B1 (ko) * 1999-06-29 2005-12-28 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법
US6169732B1 (en) * 1999-06-29 2001-01-02 Motorola, Inc. Method and apparatus in a wireless communication system
KR100450933B1 (ko) * 2000-08-16 2004-10-02 삼성전자주식회사 통신시스템의 무선링크프로토콜 프레임 수신 장치 및 방법
KR20020032730A (ko) * 2000-10-27 2002-05-04 구자홍 데이터 재전송 장치 및 그 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100370060B1 (ko) * 1999-12-30 2003-01-30 엘지전자 주식회사 차세대 이동 통신 시스템의 통신 운용 방법
KR100597585B1 (ko) * 2004-10-22 2006-07-06 한국전자통신연구원 트리 구조를 사용하는 패킷의 분할 및 재조립 방법과 이를이용한 패킷의 전송 및 수신 방법
US7881298B2 (en) 2004-10-22 2011-02-01 Electronics And Telecommunications Research Institute Method for segmenting and reassembling packet based on tree structure, and method for transmitting/receiving packet using the same
KR100842571B1 (ko) * 2005-10-11 2008-07-01 삼성전자주식회사 디지털 방송 시스템에서 신뢰성 보장 전송 서비스 제공/수신 방법 및 장치
US8040908B2 (en) 2006-02-14 2011-10-18 Samsung Electronics Co., Ltd. Method and apparatus for reducing transmission delay of down-link frame in wireless communication system
WO2009096740A1 (en) * 2008-01-30 2009-08-06 Lg Electronics Inc. Method of detecting and handling an endless rlc retransmission
US8730969B2 (en) 2008-01-30 2014-05-20 Lg Electronics Inc. Method of detecting and handling and endless RLC retransmission
US9042364B2 (en) 2008-01-30 2015-05-26 Lg Electronics Inc. Method of detecting and handling an endless RLC retransmission

Also Published As

Publication number Publication date
CA2381073A1 (en) 2001-02-22
CA2381073C (en) 2008-12-30
AU6188300A (en) 2001-03-13
US6956855B1 (en) 2005-10-18
JP2003507928A (ja) 2003-02-25
CN1364353A (zh) 2002-08-14
WO2001013542A1 (en) 2001-02-22
EP1201047A1 (en) 2002-05-02
JP4220154B2 (ja) 2009-02-04
BR0012600A (pt) 2002-04-09
CN1165122C (zh) 2004-09-01
RU2221339C2 (ru) 2004-01-10
EP1201047B1 (en) 2012-10-10
EP1201047A4 (en) 2009-11-11
AU766940B2 (en) 2003-10-23
KR100424654B1 (ko) 2004-03-24

Similar Documents

Publication Publication Date Title
KR100424654B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법
AU765553B2 (en) An apparatus and method for transmitting and receiving data according to radio link protocol in a mobile communications system
KR100383611B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 전송 장치 및 방법
KR100416996B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
KR100547871B1 (ko) 이동 통신시스템의 기지국 제어기와 기지국간 패킷 데이터재전송 방법 및 장치
JP5059754B2 (ja) マルチキャリアcdmaシステム
KR100516671B1 (ko) 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법
JP2001516177A (ja) マルチチャネル自動再送信照会(arq)方法
US7685492B2 (en) Method, arrangement, node and mobile unit for improved transmission between two units of a telecommunication system
KR20000074547A (ko) 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법
KR20000074179A (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신장치 및 방법
KR100450933B1 (ko) 통신시스템의 무선링크프로토콜 프레임 수신 장치 및 방법
JP2871651B2 (ja) 高速データ無線通信システム
KR20010098168A (ko) Cdma 이동통신 시스템에서의 슬라이딩 윈도우흐름제어 기법을 이용한 고속 무선데이터 전송장치 및방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee