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

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

Info

Publication number
KR20010004792A
KR20010004792A KR1019990025511A KR19990025511A KR20010004792A KR 20010004792 A KR20010004792 A KR 20010004792A KR 1019990025511 A KR1019990025511 A KR 1019990025511A KR 19990025511 A KR19990025511 A KR 19990025511A KR 20010004792 A KR20010004792 A KR 20010004792A
Authority
KR
South Korea
Prior art keywords
frame
rlp
data
serial number
controller
Prior art date
Application number
KR1019990025511A
Other languages
English (en)
Other versions
KR100539879B1 (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-0025511A priority Critical patent/KR100539879B1/ko
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to AU55764/00A priority patent/AU765553B2/en
Priority to CA 2380700 priority patent/CA2380700C/en
Priority to RU2001135808A priority patent/RU2221338C2/ru
Priority to US09/606,558 priority patent/US6895010B1/en
Priority to BR0011904A priority patent/BR0011904A/pt
Priority to JP2002520440A priority patent/JP3811678B2/ja
Priority to DE60045081T priority patent/DE60045081D1/de
Priority to PCT/KR2000/000688 priority patent/WO2002015434A1/en
Priority to CNB008197202A priority patent/CN1224189C/zh
Priority to EP20000940991 priority patent/EP1281248B1/en
Publication of KR20010004792A publication Critical patent/KR20010004792A/ko
Application granted granted Critical
Publication of KR100539879B1 publication Critical patent/KR100539879B1/ko

Links

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/1835Buffer management
    • H04L1/1841Resequencing
    • 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/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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
    • H04B7/2603Arrangements for wireless physical layer control

Landscapes

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

Abstract

부호분할다중접속(CDMA) 방식의 이동 통신시스템에서 데이터의 효율적 전송을 위해 사용되는 라디오 링크 프로토콜(RLP)에 따라 데이터를 송수신하는 장치 및 방법이 개시되어 있다. 본 발명에서는 재전송되는 RLP 프레임에 대해서 원래 가지고 있던 일련 번호가 아닌 수신측과 송신측이 약속한 새로운 번호를 사용하여 재전송되는 RLP 프레임을 전송하는 새로운 장치 및 방법을 제안한다. 수신측 RLP는 자신이 원하는 RLP 프레임에 대해서 수신측 RLP가 결정한 새 인식 번호를 붙여서 보내도록 송신측 RLP에게 요청한다. 또한, 수신측 RLP는 서로 다른 재전송 프레임이 같은 인식 번호를 가질 수 있는 경우에는 재전송 요청을 잠시 미룸으로써 구별할 수 없는 재전송 프레임이 발생하는 것을 방지할 수 있도록 한다.

Description

이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법 {DATA TRANSMISSIION AND RECEPTION DEVICE AND METHOD 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에 따라 데이터를 송수신하는 장치의 구성을 보여주는 도면이다.
상기 도 2에서 물리계층 처리기 150,240은 IS-2000 규격에 따라서 단말기와 기지국 사이에 물리채널을 연결하고, RLP 처리기 130,230에서 전달되는 RLP 프레임들을 상기 연결된 물리 채널을 통하여 상대편 물리 계층에게 전달하고, 상기 물리 채널을 통하여 수신된 RLP 프레임들을 RLP 처리기 130,230에게 전달하는 구성 요소들을 하나의 프레임으로 나타낸 것이다.
다중화/역다중화 제어기 140,150은 물리계층 처리기 150,250에게 전달할 RLP 프레임들에 대해서 목적지와 크기 등의 정보를 RLP 프레임들 앞에 붙인 후 물리계층 처리기 150,250에게 전달하는 다중화 기능과, 반대로 수신된 RLP 프레임에 대해서 목적지와 크기를 확인한 후 상위 RLP 처리기 130,230에게 전달하는 역다중화 기능을 수행한다.
송신 및 수신 데이터 버퍼 122,124,222,224는 메모리 장치로서 도 1의 예에서와 같이 EIA-232 제어기나 IS-658 제어기가 상기 링크 프로토콜 처리부 110,210에서 받은 데이터를 저장해둔다. 상기 송신 데이터 버퍼들 122,222는 RLP 처리기 130,230가 요구할 때마다 저장된 패킷을 순서대로 요구된 크기에 따라 전달한다. 또한 상기 수신 데이터 버퍼들 124,224는 RLP 처리기 130,230에서 데이터를 전달할 때마다 순서대로 저장해둔다. 이 저장된 데이터는 상기 EIA-232 제어기나 IS-658 제어기에 의해 PPP처리기 또는 IWF부에게 전달된다. 상기 EIA-232 제어기나 IS-658 제어기는 EIA-232 규격과 IS-658 규격에 따라 동작하며, 상기 데이터 버퍼들 122,124,222,224와 링크 프로토콜 처리부 110,210 사이에서 데이터 송수신을 맡는다. 현재 CDMA2000 패킷 서비스에서는 상기 EIA-232 제어기나 IS-658 제어기 이외에 다른 방식을 사용할 수도 있으므로, 상기 도 2에서는 이들 제어기를 표시하지는 않았다는 사실에 유의할 필요가 있다.
한편, RLP Type 3 규격을 따르면, 도 2에 도시된 RLP처리기 130,230은 현재 전송율 집합 1(Rate Set 1)에 대해서 9.6 kbps 또는 19.2 kbps의 물리 채널 프레임을 채울 수 있는 크기의 RLP 프레임, 또는 전송율 집합 2(Rate Set 2)에 대해서 14.4 kbps 또는 28.8 kbps의 물리 채널 프레임을 채울 수 있는 크기의 RLP 프레임만을 생성한다. 따라서 물리 채널이 153.6 kbps나 230.4 kbps와 같이 높은 전송율로 동작할 때는 상기 RLP 프레임 여러 개를 하나의 물리채널 프레임에 넣는 방법, 예를 들어, 최대 아홉 개까지의 RLP 프레임을 20 ms 동안 전송하는 방법을 사용한다. 따라서 상기 RLP Type 3 규격의 8 비트 일련 번호 필드로 구별할 수 있는 프레임의 수가 최대 256개뿐이므로, RLP 프레임을 20 ms 동안 아홉 개씩 전송하면, 560 ms 이후에는 동일한 일련 번호를 가지는 프레임들이 나타나게 될 것이다.
이와 같이 제한된 크기의 일련 번호를 갖는 방식에서는 동일한 일련번호를 가지는 프레임들이 나타나기 전에 이전 프레임에 대한 재전송 과정을 마쳐야 혼란이 없게 된다. 즉, 같은 일련 번호를 가지는 서로 다른 프레임에 대해서는 일련 번호로 구별할 수가 없으므로, 동시에 같은 일련 번호를 사용하여 재전송을 요청할 수 없다. 따라서, 어떠한 프레임도 자신과 같은 일련 번호를 가지는 프레임이 생성되기 전에 전송받야아 하고, 만일 전송받지 못하면 수신을 포기할 수밖에 없게 된다.
그러나, 현재 널리 사용되고 있는 TCP/IP와 같은 유선의 전송 프로토콜들은 무선 환경과는 다른 신뢰성있는 채널 환경을 가정하여 설계되었으므로 이들 프로토콜로 생성된 패킷들을 무선 환경을 통하여 전송하기 위해서는 여러 차례의 재전송이 반드시 필요하게 된다. 따라서 기존의 560 ms가 아닌, 1초 또는 그 이상의 시간 동안 유일한 일련 번호를 가질 수 있는 방법이 강구된다면, 물리 채널에 오류가 많이 발생하거나 또는 여러 번 재전송 요청을 하여도 올바른 RLP 프레임을 전송받을 수 있게 될 것이며, 따라서 TCP/IP와 같은 유선 전송 프로토콜의 성능을 크게 향상시킬 수 있게 된다.
따라서 본 발명의 목적은 RLP에 따라 데이터를 송수신할 시 물리채널상에 오류가 발생하는 경우에 올바른 RLP 프레임을 전송받을 수 있도록 하는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 RLP에 따른 데이터 송수신 도중에 재전송 프레임을 보낼 때 수신측 RLP와 송신측 RLP에서 서로 약속한 인식 번호를 가지도록 하고 이 인식 번호를 사용하여 재전송 프레임을 구별할 수 있도록 하는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 RLP에 따른 데이터 송수신 도중에 수신측 RLP에서 자신의 재전송 요청을 조절함으로써 인식 번호가 같은 서로 다른 재전송 프레임이 동시에 생기는 것을 방지하는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 RLP에 따른 데이터 송수신 도중에 작은 크기의 일련 번호 공간(sequence number space)을 사용하여 여러 차례의 재전송을 하여도 재전송 프레임들을 유일하게 구별할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 RLP에 따른 데이터 송수신 도중에 재전송 회수를 늘려서 오류없는 데이터 전송을 함으로써 오류에 민감한 패킷 데이터 서비스의 성능을 향상시키는 장치 및 방법을 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명에서는 재전송되는 RLP 프레임에 대해서 원래 가지고 있던 일련 번호가 아닌 수신측과 송신측이 약속한 새로운 번호를 사용하여 재전송되는 RLP 프레임을 전송하는 새로운 장치 및 방법을 제안한다. 수신측 RLP는 자신이 원하는 RLP 프레임에 대해서 수신측 RLP가 결정한 새 인식 번호를 붙여서 보내도록 송신측 RLP에게 요청한다. 또한, 수신측 RLP는 서로 다른 재전송 프레임이 같은 인식 번호를 가질 수 있는 경우에는 재전송 요청을 잠시 미룸으로써 구별할 수 없는 재전송 프레임이 발생하는 것을 방지할 수 있도록 한다.
도 1은 패킷데이터 서비스를 수행하는 일반적인 부호분할다중접속 통신시스템의 구성도.
도 2는 본 발명이 적용되는 RLP에 따른 데이터 송수신 장치의 구성도.
도 3은 본 발명에 따른 RLP 데이터 송신기의 구성도.
도 4는 본 발명에 따른 RLP 데이터 수신기의 구성도.
도 5는 본 발명에 따른 프레임 일련 번호와 인식 번호와의 관계를 보여주는 도면.
도 6은 본 발명에 따라 생성되는 RLP 프레임을 기본 채널을 통해 송수신할 시의 프레임 포맷을 보여주는 도면.
도 7은 본 발명에 따라 생성되는 RLP 프레임을 부가 채널을 통해 송수신할 시의 프레임 포맷을 보여주는 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
도 3은 본 발명에 따른 RLP 프레임 데이터 송신기의 구성을 보여주는 도면이다.
도 3을 참조하면, RLP 프레임을 송신 처리하기 위한 RLP 처리기 130은 RLP제어기 131, L_V(S) 레지스터 132, 재전송 버퍼 133 및 재전송 요청 큐 134를 포함하여 이루어진다.
상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140이 RLP 프레임을 요구할 때 송신 데이터 버퍼 122에 저장되어 있는 데이터열을 입력받아서 요구된 크기에 맞는 RLP 프레임을 생성한다. L_V(S) 레지스터 132는 RLP 제어기 131에 의해 제어되어, 새로이 전송하는 RLP 프레임의 일련 번호 값을 카운트하는 일련 번호 카운터로서의 역할을 한다. 이때의 일련 번호로는 RLP 프레임 각각에 부여되는 프레임 일련 번호와, RLP 프레임을 구성하는 바이트 단위의 데이터들에 부여되는 데이터 일련 번호가 있다. RLP제어기 131은 상기 L_V(S) 레지스터 132에서 값을 읽어서 새 프레임의 일련 번호로 사용한다. 새 프레임을 생성하여 전송한 다음 상기 RLP 제어기 131은 상기 L_V(S) 레지스터 132의 값을 하나 증가시켜서 다음 프레임의 일련 번호 값을 가지도록 한다.
재전송 버퍼(Forward Resequencing Buffer) 133은 RLP 제어기 131에 의해 생성되는 RLP 프레임의 일련 번호 및 전송된 데이터와 그 크기로 구성되는 재전송 엔트리(retransmission entry)를 저장한다. 재전송 요청 큐 134는 수신측 RLP에서 보낸 재전송 요청을 저장한다. 다시 말하면, 상기 재전송 요청 큐 134는 재전송될 프레임의 일련번호, 재전송시 사용할 인식번호로 구성된 재전송 요청 엔트리(retransmission request entry)를 저장하고 있으며, 이 재전송 요청 엔트리에는 또한 재전송될 데이터 부분의 첫 번째 데이터 바이트의 데이터 일련 번호, 재전송될 데이터 부분의 길이가 구성될 수 있다. 상기 재전송될 프레임의 일련 번호는 전송된 프레임이 가졌던 일련 번호이고, 재전송할 때 사용할 인식 번호는 수신측 RLP에서 지정한 번호로써 재전송할 때 사용하게 된다.
상기 재전송 요청 큐 134에 재전송 요청이 저장되어 있는 경우, RLP 제어기 131은 상기 재전송 버퍼 133에서 요청된 특정 프레임 전체 또는 일부분을 찾고 찾아진 데이터를 포함하는 RLP프레임을 생성하고, 이 생성된 프레임을 상기 다중화/역다중화 제어기 140으로 전달한다.
도 4는 본 발명에 따른 RLP 프레임 데이터 수신기의 구성을 보여주는 도면이다.
도 4를 참조하면, RLP 프레임을 수신 처리하기 위한 RLP 처리기 130은 RLP제어기 131, L_V(R) 레지스터 135, L_V(N) 레지스터 136, E 레지스터 137, NAK 리스트 138, 재정렬 버퍼 139 및 L_V(Rs) 레지스터 141을 포함하여 이루어진다.
상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140이 수신된 RLP 프레임을 전달할 때마다 수신된 RLP 프레임이 새 데이터를 담고 있는지, 재전송 데이터를 담고 있는지를 판단한다. 수신된 RLP 프레임이 새 데이터를 담고 있으며 현재까지 빠진 프레임이 없는 경우, 상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140으로부터 전달된 RLP 프레임을 수신 데이터 버퍼 124에 저장한다. 이와 달리 빠진 프레임이 있는 경우, 상기 RLP 제어기 131은 송신 RLP측으로 빠진 프레임을 재전송 요청하고, 상기 다중화/역다중화 제어기 140으로부터 전달된 RLP 프레임을 재정렬 버퍼 139에 저장해 둔다. 수신된 RLP 프레임이 재전송 데이터를 담고 있는 경우에는, 상기 RLP 제어기 131은 상기 프레임으로 인해서 수신된 프레임들의 순서가 맞게 되었는지 살펴보고 순서가 맞는 모든 프레임들의 데이터들을 수신 데이터 버퍼 124에 저장한다.
L_V(R) 레지스터 135는 RLP 제어기 131에 의해 제어되며, 새 수신되어야 할 프레임의 예상 일련 번호 값을 카운트하는 일련 번호 카운터로서의 역할을 한다. L_V(N) 레지스터 136은 수신하지 못한 첫 번째 프레임의 일련 번호를 저장하기 위한 것이다. E 레지스터 137은 깨진 RLP 프레임의 수를 저장하기 위한 것이다. L_V(Rs) 레지스터 141은 재전송 프레임의 일련 번호로 사용될 인식 번호 값을 저장하기 위한 것이다.
NAK(Non Acknowledge) 리스트 138은 빠진 프레임의 일련 번호, 수신 데이터 부분을 알려주는 리스트, 프레임이 완전히 수신되었는지를 알려주는 지시자, 재전송 타이머(retransmit timer), 라운드 카운터(round counter), 인식번호(identifier)로 구성된 NAK 엔트리를 저장하고 있다. 상기 빠진 프레임의 일련 번호는 다시 전송되어야 하는 프레임의 일련 번호이다. 상기 수신 데이터 부분을 알려주는 리스트는 프레임이 여러 조각으로 나누어 보내지는 경우에 어떤 조각들이 수신되었는지를 알 수 있는 정보이다. 상기 프레임이 완전히 수신되었는지를 알려주는 지시자는 재전송 과정을 통하여 프레임이 가지고 있는 모든 데이터가 수신되었는지의 여부를 나타낸다. 재전송 타이머는 재전송 요청을 다시 하는 경우에 사용된다. 라운드 카운터는 수신측 RLP가 송신측 RLP에 재전송을 요청한 후 일정 시간마다 감소하는 것으로, 이 카운트 값이 0이 될 때까지 재전송 프레임이 도착하지 않는 경우에는 재전송을 포기하게 된다.
재정렬 버퍼 139는 수신된 데이터 프레임의 프레임 일련 번호와, 수신된 데이터와 그 길이로 구성되는 재정렬 버퍼 엔트리를 저장하고 있다. 이러한 재정렬 버퍼 139는 순서가 맞지 않는 데이터들을 모아 두고 있다가 빠진 데이터가 도착하는 경우에 순서를 맞추기 위해 사용된다. 즉, 재정렬 버퍼 139은 순서가 맞지 않는 데이터들을 모아 두고 있다가 빠진 데이터가 도착하면 순서를 맞추고, 순서가 맞는 데이터들을 수신 데이터 버퍼 124에 전달한다.
상기 L_V(R) 레지스터 135는 도착할 새 프레임의 예상 일련 번호를 가지고 있으므로, RLP 제어기 131은 이 값과 도착한 RLP 프레임의 일련 번호를 비교하여 값이 같고 상기 재정렬 버퍼 139에 순서가 맞기를 기다리는 데이터가 없다면, 중간에 빠진 프레임이 없는 것으로 보고 수신 데이터 버퍼 124에 수신된 RLP 프레임이 가진 데이터를 전달한다. 만일 그렇지 않다면, RLP 제어기 131은 수신된 RLP 프레임이 가진 데이터를 재정렬 버퍼 139에 저장한 다음, 필요한 경우 NAK 리스트 138에 재전송을 요청할 부분을 기록하고, 다음번 제어 프레임을 송신할 때 NAK 리스트 138에 저장되었던 부분을 넣어서 보낸다.
다중화/역다중화 제어기 140에서 깨진 RLP 프레임을 알리면, RLP 제어기 131은 이 값을 레지스터 E 137에 기록한 후 재설정이 필요할 때 사용할 수 있다.
본 발명에 따라 RLP 프레임을 생성하고 송수신하는 동작은 크게 RLP 처리기 130과 230의 동작으로 대별되어 되어 설명될 수 있을 것이다. 그러나, 상기 RLP 처리기 130과 230의 동작은 동일하게 수행되므로, 하기에서의 본 발명에 따른 동작은 편의상 RLP 처리기 130의 동작으로 국한되어 설명될 것이다. 상기 RLP처리기 130은 상기 도 3 및 도 4에 도시된 바와 같이 RLP제어기 131을 포함하며, 이 RLP 제어기 131에 의해 수행되는 절차는 다음과 같이 구분되어 설명될 수 있다.
RLP 제어기의 데이터 송신 동작
RLP 제어기 131은 송신 데이터 버퍼 122에 저장된 데이터열(data stream)을 받아서 상기 다중화/역다중화 제어기 140이 RLP 프레임을 요구할 때마다 요구된 크기에 맞는 RLP 프레임을 생성하여 전달한다. 상기 송신 데이터 버퍼 122에 저장된 데이터열은 무한한 길이를 가지는 것으로 간주된다. 따라서 RLP 제어기 131은 이러한 데이터열의 시작 부분과 끝 부분을 특별히 구별하여 전송하지는 않는다.
RLP 제어기 131은 송신 데이터 버퍼 122에 저장된 데이터열에서 상기 요구된 크기의 RLP 프레임이 가질 수 있는 만큼의 데이터를 가지고 RLP 프레임을 생성한다. 따라서 상기 다중화/역다중화 제어기 140이 요구한 크기에 따라 RLP 프레임이 가지는 데이터의 크기는 달라지게 된다.
RLP 제어기 131은 상기 RLP 프레임이 NDATA의 데이터 바이트를 가진다면, NDATA개의 데이터 바이트 각각에 대해서 0에서 (NDATA- 1)까지의 일련 번호를 부여한다. 본 발명에서는 상기 일련 번호를 `데이터 일련 번호(data sequence number)'라고 칭할 것이다. 상기 RLP 제어기 131은 첫번째 데이터 바이트에 일련 번호 0번을 부여한다. 상기 RLP 제어기 131은 다음번 데이터 바이트에 앞의 데이터 바이트의 일련 번호에서 하나 증가된 일련 번호를 부여한다.
RLP 제어기 131은 또한 상기 RLP 프레임에 일련 번호를 부여한다. 본 발명에서는 상기 일련 번호를 `프레임 일련 번호'라고 칭할 것이다. 상기 RLP 제어기 131은 가장 먼저 만들어지는 RLP 프레임에 일련 번호 0번을 부여한다. 상기 RLP 제어기 131은 새로운 RLP 프레임을 만들면 앞 프레임의 일련 번호에서 하나 증가된 일련 번호를 부여한다. 만일 앞 프레임이 (2N- 1)의 일련 번호를 받았다면 상기 RLP 제어기 131은 새로운 프레임에게 다시 일련 번호 0번을 부여한다.
상기 프레임 일련 번호와 데이터 일련 번호를 가지면 상기 데이터열에서 특정한 데이터 바이트를 지정할 수 있게 된다. 상기 프레임 일련 번호와 데이터 일련 번호를 가지고 특정한 데이터 바이트를 지정할 수 있는 방식을 본 발명에서는 `2차원 주소 방식(two-dimensional addressing)'이라고 칭할 것이다. 상기 2차원 주소 방식은 특히 프레임이 가지고 있는 데이터 중에서 일부분을 다시 전송할 때 사용된다.
RLP 제어기 131은 상기 프레임을 생성할 때마다 〈프레임 일련 번호, 전송된 데이터와 그 크기〉로 구성된 재전송 엔트리(retransmission entry)를 상기 재전송 버퍼 133에 저장한다. 상기 재전송 버퍼 133은 일정 시간 동안 상기 재전송 엔트리를 가지고 있게 된다. 수신측 RLP에서 특정 프레임 전체 또는 일부분(특정 데이터 바이트)에 대한 재전송을 요청할 때 상기 RLP 제어기 131은 보내진 프레임 일련 번호를 가지고 상기 재전송 버퍼 133에서 재전송해야하는 프레임을 찾는다. 상기 RLP 제어기 131은 재전송 엔트리의 데이터에서 수신측이 요청한 부분으로 재전송 RLP 프레임을 만든다. 상기 RLP 제어기 131은 상기 재전송 RLP 프레임을 만들 때 처음 전송할 때 사용하였던 프레임 일련 번호를 붙이지 않고 수신측 RLP에서 재전송 요청과 함께 보낸 인식 번호를 사용한다. 즉, 수신측 RLP에서 재전송 요청을 할 때 인식 번호를 함께 보내오면 송신측 RLP에서는 이 값을 프레임 일련 번호 대신에 사용하여 재전송 프레임을 전송한다.
상기 RLP 제어기 131은 재전송 프레임을 보낼 때 상기 다중화/역다중화 제어기 140에서 요구한 RLP 프레임 크기로는 상기 재전송될 프레임이 가지고 있는 데이터를 모두 담을 수 없는 경우에 조각 프레임(segmented frame)을 사용한다. 상기 조각 프레임은 상기 인식 번호 이외에 자신이 가지고 있는 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호를 함께 가지고 있고, 또한 자신이 가지고 있는 데이터 부분이 마지막 데이터 부분이라는 것을 지시하는 끝 지시자(end indicator)를 가지고 있다. 상기 조각 프레임을 사용하여 송신측 RLP에서는 수신측이 요청한 데이터를 재전송할 수 있고, 수신측 RLP에서는 조각 프레임을 받더라도 원래의 프레임으로 조립할 수 있다.
RLP 제어기의 데이터 수신 동작
RLP 제어기 131은 다중화/역다중화 제어기 140이수신된 RLP 프레임을 전달할 때마다 수신된 RLP 프레임이 새 데이터를 담고 있는지 아니면 재전송 데이터를 담고 있는지 살펴본다. 이미 RLP 프레임은 자신이 재전송된 것인지 아니면 처음 전송된 것인지 구별할 수 있는 재전송 지시자(retransmission indicator)를 가지고 있다. 만일 수신된 RLP 프레임의 재전송 지시자가 '0'이면 새 데이터를 담은 RLP 프레임이므로 상기 RLP 제어기 131은 상기 수신된 RLP 프레임의 프레임 일련 번호를 살펴본다. 상기 일련 번호가 현재 수신을 기다리고 있는 프레임 일련 번호와 같으면 중간에 빠진 프레임은 없는 것이다. 이러한 경우 상기 RLP 제어기 131은 수신된 데이터 조각을 수신 데이터 버퍼 124에 바로 저장한다. 이와 달리 일련 번호가 현재 수신을 기다리고 있는 프레임 일련 번호와 같지 않으면 상기 RLP 제어기 131은 송신측 RLP 제어기에게 빠진 프레임들을 재전송하도록 요청하고 상기 수신된 프레임을 재정렬 버퍼 139에 저장해둔다.
상기 RLP 제어기 131은 빠진 프레임이 있는지 여부를 수신된 새 프레임과 수신을 예상하고 있던 프레임의 일련 번호를 보면 쉽게 알 수 있다. 상기 RLP 제어기 131은 상기 수신을 예상했던 프레임의 일련 번호에서 수신된 새 프레임의 일련 번호 바로 전까지를 상기 NAK 리스트 138에 NAK 엔트리(NAK entry)로 저장한다.
상기 RLP 제어기 131은 상기한 바와 같이 〈빠진 프레임의 일련 번호, 수신 데이터 부분을 알려주는 리스트, 프레임이 완전히 수신되었는지를 알려주는 지시자, 재전송 타이머(retransmit timer), 라운드 카운터(round counter), 인식 번호(identifier)〉로 구성된 NAK 엔트리를 사용한다. 상기 NAK 엔트리에서 `빠진 프레임 일련 번호'는 다시 전송되어야하는 프레임의 일련 번호를 나타내고, `수신 데이터 부분을 알려주는 리스트'는 상기 프레임이 여러 조각(segment)로 나누어 보내지는 경우에 어떤 조각들이 수신되었는지 알 수 있는 정보가 저장된다. 상기 `프레임이 완전히 수신되었는지를 알려주는 지시자'는 재전송 과정을 통하여 프레임이 가지고 있는 모든 데이터가 수신되었는지의 여부를 나타내며, `재전송 타이머'와 `라운드 카운터'는 재전송 요청을 다시하거나 재전송을 포기할 때 사용한다. 상기 `인식 번호'는 송신측 RLP에서 재전송 프레임에 붙이는 프레임에 대한 인식 번호가 된다.
상기 수신측 RLP 제어기 131은 가장 먼저 재전송을 요청하는 RLP 프레임에게 인식 번호 0번을 부여하고 송신측 RLP에게 재전송 프레임을 보낼 때 동일한 인식 번호를 사용하여 송신할 것을 요청한다. 상기 수신측 RLP 제어기 131은 재전송을 요청해야 하는 다른 RLP 프레임이 생기면 이전 재전송 프레임의 인식 번호에서 하나 증가된 인식 번호를 부여한다. 만일 앞 프레임이 (2R- 1)의 인식 번호를 받았다면 상기 RLP 제어기 131은 재전송될 RLP 프레임에게 다시 인식 번호 0번을 부여한다.
상기 수신측 RLP 제어기 131은 빠진 프레임을 재전송 받기 위해서 빠진 프레임의 일련 번호와 함께 인식 번호를 송신측 RLP에게 전달한다. 그러면 송신측 RLP는 수신된 일련 번호에 해당하는 프레임을 수신된 인식 번호를 사용하여 재전송하게 된다. 따라서, 상기 수신측 RLP 제어기 131은 수신된 RLP 프레임의 재전송 지시자가 '1'이면 수신된 RLP 프레임이 재전송 프레임으로 판단하고 수신된 프레임에서 인식 번호를 얻는다. 그런 다음, 상기 수신측 RLP 제어기 131은 상기 NAK 리스트 138에서 일치하는 인식 번호를 가지는 NAK 엔트리를 찾는다. 인식 번호가 일치하는 NAK 엔트리를 발견하면 상기 NAK 엔트리에서 올바른 프레임 일련 번호를 구할 수 있게 된다.
상기 과정의 예가 도 5에 나타나있다. 상기 도 5에서는 송신측 RLP 제어기가 프레임 일련 번호를 10과 11로 가지는 두 개의 RLP 프레임을 송신하지만 첫번째 프레임이 제대로 수신되지 않는 경우를 가정한다. 이러한 경우 수신측 RLP 제어기는 송신측 RLP 제어기에게 10번 프레임에 대한 재전송을 요청하면서 동시에 인식 번호로 0을 사용할 것을 요청한다. 상기 요청을 받은 송신측 RLP 제어기는 10번 프레임을 재전송하면서 프레임 일련 번호 10 대신 요청된 인식 번호 0을 사용하여 전송한다. RLP 프레임은 이미 처음 전송되는 프레임과 다시 전송되는 프레임을 구별하는 재전송 지시자(retransmission indicator)가 있으므로 수신측 RLP에서는 새 프레임과 재전송 프레임을 구별할 수 있다. 따라서 상기 인식 번호 0의 재전송 프레임을 받은 수신측 RLP에서는 자신이 지정한 인식 번호 0이 프레임 일련 번호 10과 일치하는 것을 NAK 리스트 138에 저장하고 있으므로 전달된 인식 번호 0으로부터 실제 프레임 일련 번호 10을 알아낼 수 있게 된다.
RLP 제어기의 데이터 송신전 동작
RLP 제어기 131은 동작을 시작하기 전에 상기 도 3과 도 4에서 보여주는 것과 같이 L_V(S) 레지스터 132와, L_V(R) 레지스터 135, L_V(N) 레지스터 136, E 레지스터 137, L_V(RS) 레지스터 141를 `0'으로 설정한다. 또한 RLP 제어기 131은 동작을 시작하기 전에 재전송 버퍼 133, 재전송 요청 큐 134와, NAK 리스트 138, 그리고 재정렬 버퍼 139의 엔트리들을 모두 삭제한다. 본 발명에서는 상기 L_V(S) 레지스터 132와, L_V(R) 레지스터 135, L_V(N) 레지스터 136 모두 12 비트 정수를 저장할 수 있으며 상기 L_V(RS) 레지스터 141은 8 비트 정수를 저장할 수 있다고 가정한다.
상기 RLP 제어기 131은 데이터 송신을 할 때 12 비트 프레임 일련 번호를 사용한다. 상기 RLP 제어기 131은 일련 번호 카운터인 레지스터 L_V(S) 132에서 프레임에 붙일 프레임 일련 번호를 결정한다. 이때, 프레임 일련 번호 N에 대해서 (N + 1) modulo 212에서 (N +211- 1) modulo 212까지의 일련 번호들은 `N 보다 크다'고 말하고, (N - 211) modulo 212에서 (N - 1) modulo 212까지의 일련 번호는 `N 보다 작다'고 말한다.
상기 RLP 제어기 131은 데이터 송신을 할 때 10 비트 데이터 일련 번호를 사용한다. 이때, 데이터 일련 번호 N에 대해서 (N + 1)에서 (210- 1)까지의 일련 번호들은 `N 보다 크다'고 말하고, 0에서 (N - 1)까지의 일련 번호는 `N 보다 작다'고 말한다.
상기 RLP 제어기 131이 상기 다중화/역다중화 제어기 140에게 전달할 수 있는 RLP 프레임의 종류는 도 6, 도 7과 같다.
상기 도 6은 기본 채널로 전송할 수 있는 RLP 프레임을 보여주고 상기 도 7은 부가 채널로 전송할 수 있는 RLP 프레임을 보여준다. 본 발명에서 RLP 프레임은 다음과 같이 부르겠다. 상기 도 6의 SYNC, SYNC/ACK, ACK, 또는 하기 〈표 1〉의 NAK 프레임을 `제어 프레임(control frame)'이라고 하고 데이터를 전송하는 프레임을 `데이터 프레임(data frame)'이라고 칭하겠다. 상기 데이터 프레임은 처음 전송되는 프레임인 `새 데이터 프레임(new data frame)'과, 재전송되는 프레임인 `재전송 데이터 프레임(retransmitted data frame)'으로 나누어진다. 상기 도 6에서 12 비트 SEQ 필드만 가지는 프레임은 `아이들 프레임'이라고 하여 상기 제어 프레임, 데이터 프레임과는 별도로 칭하겠다.
상기 도 6에서 기본 채널로 전송되는 RLP 프레임은 제어 프레임, 데이터 프레임, 또는 아이들 프레임이 가능하다.
상기 도 7에서 부가 채널로 전송되는 RLP 프레임은 데이터 프레임만 가능하다.
상기 RLP 제어기 131은 데이터를 전송하기 전에 재설정 과정을 수행한다. 상기 재설정 과정은 다음과 같이 이루어진다.
첫째, 상기 RLP 제어기 131은 SYNC 프레임을 다중화/역다중화 제어기 140에게 계속 전달한다.
둘째, 상기 RLP 제어기 131은 SYNC 프레임을 상기 다중화/역다중화 제어기 140에게서 받으면, 상기 다중화/역다중화 제어기 140에게 SYNC/ACK 프레임을 SYNC 프레임이 아닌 상기 도 6과 9의 프레임 중 임의의 한 프레임이 수신될 때까지 계속 전달한다.
셋째, 상기 RLP 제어기 131은 SYNC/ACK 프레임을 받으면, 상기 다중화/역다중화 제어기 140에게 ACK 프레임을 SYNC/ACK 프레임이 아닌 상기 도 6과 9의 프레임 중 임의의 한 프레임이 수신될 때까지 계속 전달한다. 상기 RLP 제어기 131은 SYNC/ACK 프레임이 아닌 상기 도 6과 9의 프레임 중 임의의 한 프레임이 수신되면 데이터 송신을 시작한다.
상기 RLP 제어기 131은 재설정 과정이 수행되는 경우에는 이를 마친 후 데이터 송신을 시작한다. 상기 RLP 제어기 131은 데이터 송신을 시작할 때 상기 다중화/역다중화 제어기 140에게 SYNC, SYNC/ACK, ACK 프레임을 제외한 상기 도 6과 9의 모든 프레임을 전달할 수 있다.
RLP 제어기의 기본 채널 데이터 송신 동작
송신측 다중화/역다중화 제어기 140은 상기 RLP 제어기 131에게 기본 채널로 전송할 RLP 프레임을 요청하여 상기 RLP 제어기 131이 프레임을 생성하도록 한다. 상기 송신측 다중화/역다중화 제어기 140은 상기 RLP 제어기에게 RLP 프레임을 요청하면서 상기 RLP 제어기 131이 만들어내야하는 RLP 프레임의 크기 T를 함께 알려준다. 본 발명에서는 상기 송신측 다중화/역다중화 제어기 140에서 요청한 RLP 프레임의 크기 T가 언제나 전송율 집합 1에서 171 비트 또는 전송율 집합 2에서 266 비트라고 가정한다.
상기 RLP 제어기 131은 기본 채널로 전송할 RLP 프레임을 만들 때 다음의 우선 순위에 따라 RLP 프레임을 만든다.
첫째, 제어 프레임 (SYNC, SYNC/ACK, ACK, NAK frame)
둘째, 재전송 데이터 프레임
셋째, 새 데이터 프레임
넷째, 아이들 프레임
1. 제어 프레임 송신 동작
상기 RLP 제어기 131은 전송할 제어 프레임이 있으면 다음과 같이 제어 프레임을 만든다. SYNC, SYNC/ACK, ACK 프레임의 경우, 상기 도 6의 (a)에 도시된 바와 같이 SEQ 필드를 '00000000'으로, CTL 필드를 프레임 종류에 따라서 설정한 후 FCS 필드를 붙인다. 상기 FCS 필드는 RFC-1662에 의하여 규정된 다항식(polynomial)에 의하여 만들어지는 16 비트 프레임 점검 비트열(frame check sequence)이다. 상기 FCS 필드는 앞에 오는 모든 비트에 대하여 만들어진다. 상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140에서 알려준 크기에 맞추어 상기 FCS 필드 다음을 모두 '0'으로 설정한다. 상기 RLP 제어기 131은 RLP 프레임의 마지막 1 비트 TYPE 필드를 '1'로 설정한 다음, 생성된 RLP 프레임을 상기 다중화/역다중화 제어기 140에게 전달한다.
상기 RLP 제어기 131은 다시 전송되어야하는 데이터들이 있으면 NAK 프레임을 생성하여 상기 다중화/역다중화 제어기 140에게 전달한다. 상기 NAK 프레임은 하기 〈표 1〉과 같은 구조를 가진다.
필드 길이
SEQ 8 비트
CTL 8 비트
L_SEQ_HI 4 비트
NAK_FRM_COUNT 3 비트
NAK_SEG_COUNT 3 비트
NAK_FRM_COUNT + 1만큼 다음의 필드들이 들어간다:
RETX_IDENTIFIER 8 비트
FIRST 12 비트
LAST 12 비트
NAK_SEG_COUNT + 1만큼 다음의 필드들이 들어간다:
RETX_IDENTIFIER 8 비트
NAK_SEQ 12 비트
FIRST_SEG 10 비트
LAST_SEG 10 비트
위의 필드들 다음에 다음의 필드들이 들어간다:
PADDING_1 가변길이
FCS 16 비트
PADDING_2 가변길이
TYPE 1 비트
상기 〈표 1〉에서 상기 RLP 제어기 131은 NAK 프레임을 다음과 같이 만든다. 상기 〈표 1〉의 L_SEQ_HI 필드는 L_V(N) 레지스터 136의 상위 4 비트로 SEQ 필드는 상기 L_V(N) 레지스터 136의 하위 8 비트로 설정하고, CTL 필드는 '11110100'으로, 그리고 TYPE 필드는 '1'로 설정한다.
상기 RLP 제어기 131은 상기 NAK 프레임에 포함될 프레임 전체에 대한 재전송 요구 개수에서 하나를 뺀 값을 상기 NAK_FRM_COUNT 필드값으로 한다. 또한 상기 RLP 제어기 131은 상기 NAK 프레임에 포함될 프레임의 일부분에 대한 재전송 요구 개수에서 하나를 뺀 값을 상기 NAK_SEG_COUNT 필드값으로 한다.
상기 RLP 제어기 131은 상기 NAK_FRM_COUNT 필드값에 하나를 더한 만큼 프레임 전체에 대한 재전송 요구를 넣는다. 상기 RLP 제어기 131은 연속적으로 재전송을 요청하는 첫번째 프레임의 프레임 일련 번호를 FIRST 필드에 넣고 마지막 프레임의 프레임 일련 번호를 LAST 필드에 넣는다. 상기 RLP 제어기 131은 첫번째 프레임에 대한 상기 인식 번호 값을 RETX_IDENTIFIER 필드에 넣는다.
상기 RLP 제어기 131은 상기 NAK_SEG_COUNT 필드값에 하나를 더한 만큼 프레임의 일부분에 대한 재전송 요구를 넣는다. 상기 RLP 제어기 131은 재전송을 요청할 데이터 부분을 가진 프레임의 프레임 일련 번호를 NAK_SEQ 필드에 넣고 재전송을 요청할 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호를 FIRST 필드에, 그리고 마지막 데이터 바이트의 데이터 일련 번호를 LAST 필드에 넣는다. 상기 첫번째 데이터 바이트에서 데이터 부분의 끝까지 재전송을 요청할 때 상기 RLP 제어기 131은 마지막 데이터 바이트의 데이터 일련 번호를 LAST 필드에 넣는 대신, LAST 필드를 모두 1로 채울 수 있다. 상기 RLP 제어기 131은 재전송을 요청할 데이터 부분을 가진 프레임에 대한 인식 번호 값을 RETX_IDENTIFIER 필드에 넣는다.
상기 RLP 제어기 131은 상기 재전송 요구를 모두 넣은 다음 FCS 필드를 바이트 정렬로 맞추기 위하여 '0'으로 패딩을 하고 FCS 필드를 채운다. 상기 FCS 필드는 RFC-1662에 의하여 규정된 다항식(polynomial)에 의하여 만들어지는 16 비트 프레임 점검 비트열(frame check sequence)이다. 상기 FCS 필드는 앞에 오는 모든 비트에 대하여 만들어진다. 상기 FCS 필드를 넣은 다음 상기 RLP 제어기 131은 RLP 프레임의 나머지 부분에 대해서 '0'을 채운다. 상기 RLP 제어기 131은 상기 생성된 RLP 프레임을 상기 다중화/역다중화 제어기 140에게 전달한다.
2. 새 데이터 프레임 송신 동작
RLP 제어기 131이 기본 채널로 전송할 새 데이터 프레임을 생성할 때는 다음과 같이 동작한다.
첫째, 상기 RLP 제어기 131은 상기 L_V(S) 레지스터 132 값으로 새 데이터 프레임에 12 비트 일련 번호를 붙인다.
둘째, 상기 RLP 제어기 131은 상기 도 6의 (b)와 (c) 형식 중 하나를 사용하여 기본채널로 전송할 새 데이터 프레임을 생성한다. 이때, 상기 RLP 제어기 131은 상기 12 비트 일련 번호에서 하위 8 비트 값으로 SEQ 필드를 설정하고 재전송 지시자인 REXMIT 필드를 '0'으로 설정한다. 프레임이 생성되면 상기 RLP 제어기 131은 완성된 프레임을 상기 다중화/역다중화 제어기 140에게 전달한다.
셋째, 상기 새 데이터 프레임을 전송하면 상기 RLP 제어기 131은 상기 12 비트 일련 번호 값에 하나를 더하고 212으로 나눈 나머지로 L_V(S) 레지스터 132를 설정한다. 이때 상기 RLP 제어기 131은 상기 레지스터 L_V(S) 132를 새 데이터 프레임을 만들었을 때만 증가시킨다. 즉, 이미 전송되었던 데이터를 재전송하는 경우, 또는 제어 프레임이나 아이들 프레임 등을 보낼 때에는 상기 L_V(S) 레지스터 132는 증가하지 않는다.
상기 RLP 제어기 131은 새로 정의한 프레임들을 수신측의 재전송 요청에 대비하여 재전송 버퍼 133에 저장해둔다. 상기 RLP 제어기 131은 상기한 바와 같이 〈프레임 일련 번호, 전송된 데이터와 그 크기〉의 재전송 엔트리(retransmission entry)에 담아서 상기 재전송 버퍼 133에 저장한다.
3. 재전송 데이터 프레임 송신 동작
상기 RLP 제어기 131은 상기 재전송 요청 큐 134에 재전송 요청 엔트리가 있는 경우 요청된 데이터 부분을 재전송하여야한다. 상기 재전송 요청 엔트리(retransmission request entry)는 〈재전송될 프레임의 프레임 일련 번호, 프레임에 해당하는 인식 번호, 재전송될 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호, 재전송될 데이터 부분의 길이〉로 구성된다.
상기 RLP 제어기 131은 상기 재전송 요청 엔트리를 가지고 재전송 데이터 프레임을 생성할 때, 다음과 같이 수행한다.
첫째, 우선 요청된 프레임 일련 번호를 가지고 상기 재전송 버퍼 133에서 동일한 프레임 일련 번호를 가지는 재전송 엔트리를 찾는다. 만일 이러한 엔트리가 없다면 상기 RLP 제어기 131은 상기 재전송 요청 엔트리를 상기 재전송 요청 큐 134에서 삭제한다.
둘째, 상기 과정에서 만일 찾은 엔트리가 있다면 상기 RLP 제어기 131은 상기 재전송 요청 엔트리에서 데이터 일련 번호와, 길이 정보를 바탕으로 상기 찾아진 재전송 엔트리에 저장된 데이터에서 재전송할 데이터 부분을 얻는다. 만일 프레임 전체에 대한 재전송이면 상기 재전송 엔트리에 저장된 모든 데이터를 얻는다.
셋째, 상기 RLP 제어기 131은 상기 도 6의 (b), (c), (d), (e) 형식 중 하나를 사용하여 기본 채널로 전송할 재전송 데이터 프레임을 생성한다. 프레임이 생성되면 상기 RLP 제어기 131은 완성된 프레임을 상기 다중화/역다중화 제어기 140에게 전달한다. 상기 RLP 제어기 131은 상기 재전송 요청 엔트리를 상기 재전송 요청 큐 134에서 삭제한다.
상기 RLP 제어기 131은 재전송 데이터 프레임을 생성할 때 상기 도 6의 (b), (c), (d), (e) 형식을 사용할 수 있다. 상기 RLP 제어기 131은 상기 도 6의 (b) 또는 (c) 형식을 다음 조건이 만족될 때 사용한다.
첫째, 재전송 요청이 프레임 전체에 대한 것이고,
둘째, 재전송될 데이터의 크기가 상기 도 6의 (b) 형식으로 보낼 수 있는 데이터 개수 B, 즉 전송율 집합 1에서 20 바이트 또는 전송율 집합 2에서 32 바이트와 같거나 작은 경우 상기 RLP 제어기 131은 상기 도 6의 (b) 또는 (c) 형식을 사용한다.
상기 RLP 제어기 131은 상기 도 6의 (b) 또는 (c) 형식을 사용하여 상기 프레임을 재전송할 때 프레임이 가진 데이터의 크기가 상기 도 6의 (b)로 보낼 수 있는 데이터 개수 B와 같으면 상기 도 6의 (b) 형식을 사용하고 그렇지 않으면 상기 도 6의 (c) 형식을 사용한다.
상기 RLP 제어기 131은 상기 도 6의 (b) 형식을 사용하여 상기 프레임을 재전송할 때 먼저 SEQ 필드를 상기 재전송 요청 엔트리가 가지고 있는 인식 번호로 설정한다. 또한 상기 RLP 제어기 131은 TYPE 필드를 '0'으로 설정하고, 재전송 지시자인 REXMIT 필드를 '1'로 설정한 다음, DATA 필드를 재전송할 데이터로 채운다.
상기 RLP 제어기 131은 상기 도 6의 (c) 형식을 사용하여 상기 프레임을 재전송할 때 먼저 SEQ 필드를 상기 재전송 요청 엔트리가 가지고 있는 인식 번호로 설정한다. 또한 상기 RLP 제어기 131은 TYPE 필드를 '1'로 설정하고, 재전송 지시자인 REXMIT 필드를 '1'로 설정하고, CTL 필드를 '001'로 설정한 다음, DATA 필드를 전송할 데이터로 채우고 LEN 필드를 채워진 데이터의 바이트 수로 설정한다.
상기 RLP 제어기 131은 상기 도 6의 (b) 또는 (c) 형식을 사용할 수 있는 조건을 만족시키지 못하면 다음과 같이 조각 절차(segmentation procedure)를 수행한다.
첫째, 재전송할 프레임의 데이터 부분에서 아직 전송하지 않은 부분 중 가장 앞 부분을 상기 도 6의 (d) 또는 (e) 형식을 사용하여 전송한다.
둘째, 재전송할 프레임의 데이터 부분을 모두 전송할 때까지 상기 첫번째 과정을 반복한다.
상기 RLP 제어기 131은 상기 조각 절차를 수행할 때 상기 도 6의 (d) 또는 (e) 형식을 사용한다. 상기 RLP 제어기 131은 상기 도 6의 (d) 형식은 다음의 조건을 만족할 때 사용할 수 있다.
첫째, 재전송할 프레임의 데이터 부분의 크기가 상기 도 6의 (d) 형식으로 보낼 수 있는 데이터 개수 B, 즉 전송율 집합 1에서 19 바이트 또는 전송율 집합 2에서 31 바이트 이상이며,
둘째, 재전송할 프레임의 전체 데이터의 크기가 상기 도 6의 (d) 형식의 SEG 필드로 표현할 수 있는 크기, 즉 26보다 작거나 같을 때 상기 도 6의 (d) 형식을 사용한다.
상기 RLP 제어기 131은 상기 도 6의 (d) 형식을 사용하여 상기 프레임의 데이터 부분을 재전송할 때 먼저 SEQ 필드를 상기 재전송 요청 엔트리가 가지고 있는 인식 번호로 설정한다. 상기 RLP 제어기 131은 또한 SEG 필드를 상기 프레임의 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호로 설정한다. 또한 상기 RLP 제어기 131은 TYPE 필드를 '1'로 설정하고, CTL 필드를 '01'로 설정한 다음, DATA 필드를 전송할 데이터로 채운다. 또한 상기 RLP 제어기 131은 상기 도 6의 (d) 형식을 사용하여 상기 프레임의 데이터 부분을 재전송할 때 전송되는 데이터 부분이 상기 프레임이 가지고 있는 데이터의 가장 마지막 데이터 바이트를 담고 있으면 END 필드를 '1'로 그렇지 않으면 '0'으로 설정한다.
상기 RLP 제어기 131은 상기 도 6의 (e) 형식을 사용하여 상기 프레임의 데이터 조각을 재전송할 때 먼저 SEQ 필드를 상기 재전송 요청 엔트리가 가지고 있는 인식 번호로 설정한다. 상기 RLP 제어기 131은 또한 SEG 필드를 상기 프레임의 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호로 설정한다. 또한 상기 RLP 제어기 131은 TYPE 필드를 상기 도 6과 같이 '1'로 설정하고, 재전송 지시자인 REXMIT 필드를 '1'로 설정하고, CTL 필드를 '1'로 설정하고, DATA 필드를 전송할 데이터로 채운 다음, LEN 필드를 채워진 데이터의 바이트 수로 설정한다. 상기 RLP 제어기 131은 상기 도 6의 (e) 형식을 사용하여 상기 프레임의 데이터 부분을 재전송할 때 전송되는 데이터 부분이 상기 프레임이 가지고 있는 데이터의 가장 마지막 데이터 바이트를 담고 있으면 END 필드를 '1'로, 그렇지 않으면 '0'으로 설정한다.
4. 아이들 프레임 송신 동작
상기 RLP 제어기 131은 다중화/역다중화 제어기 140이 16 비트, 20 비트 또는 32 비트의 길이를 가지는 RLP 프레임을 요청하거나, 보낼 새 데이터 또는 재전송 데이터 프레임도 없고 전송할 제어 프레임도 없을 때, 상기 도 6의 (f) 형식과 같은 아이들 프레임(idle frame)을 전송할 수 있다. 상기 아이들 프레임을 만들기 위해서 상기 RLP 제어기 131은 SEQ 필드를 L_V(S) 레지스터 132의 12 비트 값으로 채운다. 상기 RLP 제어기 131은 아이들 프레임의 나머지 부분을 '0'으로 채우고 상기 다중화/역다중화 제어기 140에게 전달한다.
RLP 제어기의 기본 채널 데이터 수신 동작
상기 다중화/역다중화 제어기 140은 상기 RLP 제어기 131에게 RLP 프레임과 함께 수신된 RLP 프레임의 크기 T를 함께 알려준다.
1. 제어 프레임 수신 동작
상기 RLP 제어기 131은 제어 프레임 중에서 SYNC, SYNC/ACK, ACK 프레임을 수신하면 상기 재설정 과정을 수행한다.
상기 RLP 제어기 131은 제어 프레임 중에서 NAK 프레임을 수신하면, 상기 〈표 1〉에 따라 NAK 프레임을 해석한다. 우선, 상기 RLP 제어기 131은 상기 NAK 프레임에 포함된 L_SEQ_HI 필드값을 상위 4 비트로 하고 SEQ 필드값을 하위 8 비트로 하는 12 비트의 일련 번호를 구한다. 상기 일련 번호는 수신측 L_V(N) 레지스터 136의 값이므로, 상기 RLP 제어기 131은 상기 수신된 L_V(N) 레지스터 136의 값 보다 작은 프레임 일련 번호를 가지는 재전송 엔트리들을 상기 재전송 버퍼 133에서 모두 삭제할 수 있다. 상기 RLP 제어기 131은 상기 수신된 L_V(N) 레지스터 136의 값이 자신이 가진 L_V(S) 레지스터 132의 값 보다 크면 상기 재설정 과정을 수행한다.
상기 RLP 제어기 131은 수신된 NAK 프레임의 NAK_FRM_COUNT 필드값과 NAK_SEG_COUNT 필드값을 통하여 상기 수신된 NAK 프레임의 프레임 재전송 요구와 프레임의 일부분에 대한 재전송 요구 개수를 알아낼 수 있다.
상기 RLP 제어기 131은 상기 수신된 NAK 프레임에 포함된 (NAK_FRM_COUNT + 1) 개만큼의 프레임 재전송 요구 각각에 대해서 다음을 수행한다.
첫째, 재전송이 요청된 프레임 일련 번호 FS를 상기 프레임 재전송 요구의 FIRST 필드값으로 설정한다. 수신측이 보낸 인식 번호 RS를 상기 프레임 재전송 요구의 RETX_IDENTIFIER 필드값으로 설정한다.
둘째, 상기 프레임 일련 번호 FS에 대해서 〈재전송될 프레임의 프레임 일련 번호, 프레임에 해당하는 인식 번호, 재전송될 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호, 재전송될 데이터 부분의 길이〉를 가지는 재전송 요청 엔트리를 만든다. 상기 재전송 요청 엔트리에서 재전송될 프레임의 프레임 일련 번호로는 상기 FS 값을 설정하고, 프레임에 해당하는 인식 번호로는 상기 RS 값을 설정하고, 재전송될 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호로는 전체 프레임을 요청하였으므로 `0'을 설정하고, 그리고 재전송될 데이터 부분의 길이로는 프레임이 가지고 있는 전체 데이터 길이로 설정한다.
셋째, 상기 생성된 재전송 요청 엔트리를 상기 재전송 요청 큐 134에 넣는다. 따라서 송신 장치는 재전송 요청 큐 134에 저장된 재전송 요청 엔트리를 보고 요청된 데이터를 재전송하게 된다.
넷째, 상기 구해진 FS 값이 상기 프레임 재전송 요구의 LAST 필드값과 같으면 과정을 종료한다. 만일 그렇지 않으면 상기 FS 값을 하나 증가시키고 212로 나눈 나머지를 새 FS 값으로, 상기 RS 값을 하나 증가시키고 28으로 나눈 나머지를 새 RS 값으로 하고 상기 과정을 반복한다.
상기 RLP 제어기 131은 상기 수신된 NAK 프레임에 포함된 (NAK_SEG_COUNT + 1) 개만큼의 프레임의 일부분에 대한 재전송 요구 각각에 대해서 다음을 수행한다.
첫째, 재전송이 요청된 프레임 일련 번호 FS를 상기 프레임의 일부분에 대한 재전송 요구의 NAK_SEQ 필드값으로 설정한다. 수신측이 보낸 인식 번호 RS를 상기 프레임의 일부분에 대한 재전송 요구의 RETX_IDENTIFIER 필드값으로 설정한다.
둘째, 상기 프레임 일련 번호 FS에 대해서 〈재전송될 프레임의 프레임 일련 번호, 프레임에 해당하는 인식 번호, 재전송될 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호, 재전송될 데이터 부분의 길이〉를 가지는 재전송 요청 엔트리를 만든다. 상기 재전송 요청 엔트리에서 재전송될 프레임의 프레임 일련 번호로는 상기 FS 값을 설정하고, 프레임에 해당하는 인식 번호로는 상기 RS 값을 설정하고, 재전송될 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호로는 상기 프레임의 일부분에 대한 재전송 요구의 FIRST_SEQ 필드값을 설정하고, 그리고 재전송될 데이터 부분의 길이로는 상기 프레임의 일부분에 대한 재전송 요구의 LAST_SEQ 필드값에서 FIRST_SEQ 필드값을 뺀 값으로 설정한다.
셋째, 상기 생성된 재전송 요청 엔트리를 상기 재전송 요청 큐 134에 넣는다. 따라서 송신 장치는 재전송 요청 큐 134에 저장된 재전송 요청 엔트리를 보고 요청된 데이터를 재전송하게 된다.
2. 새 데이터 프레임 및 재전송 데이터 프레임 수신 동작
상기 RLP 제어기 131은 상기 도 6의 (b) 또는 (c)와 같은 형식의 새 데이터 프레임을 수신하였을 때 12 비트 일련 번호 레지스터 L_V(R) 135를 사용한다. 상기 RLP 제어기 131은 상기 일련 번호 레지스터 L_V(R) 135의 12 비트 값과 수신된 새 데이터 프레임의 SEQ 필드값을 사용하여 수신된 새 데이터 프레임의 12 비트 일련 번호 L_SEQ를 다음과 같은 〈수학식 1〉을 통해 구한다.
L_SEQ = [L_V(R) + {28+ SEQ - (L_V(R) modulo 28)} modulo 28] modulo 212
상기 RLP 제어기 131은 상기 도 6의 (b) 또는 (c)와 같은 형식의 재전송 데이터 프레임을 수신하였을 때 도 4에 도시된 바와 같이 NAK 리스트 138을 이용 한다. 상기 NAK 리스트 138의 각 NAK 엔트리(NAK entry)들은 상기한 바와 같이 〈빠진 프레임의 일련 번호, 수신 데이터 부분을 알려주는 리스트, 프레임이 완전히 수신되었는지를 알려주는 지시자, 재전송 타이머(retransmit timer), 라운드 카운터(round counter), 인식 번호(identifier)〉로 구성된다. 상기 RLP 제어기 131은 상기 NAK 리스트 138에 저장된 NAK 엔트리들 중에서 저장된 인식 번호 값과 상기 수신된 재전송 프레임의 8 비트 SEQ 필드에 담겨온 값이 일치하는 NAK 엔트리를 찾는다. 만일 같은 NAK 엔트리가 있다면, 상기 NAK 엔트리에 저장된 프레임 일련 번호 값을 수신된 프레임의 프레임 일련 번호 L_SEQ로 한다. 이와 달리, 그러한 엔트리가 없다면 상기 RLP 제어기 131은 상기 수신된 프레임을 버린다.
상기 RLP 제어기 131은 상기 도 6의 (b) 또는 (c)와 같은 형식의 새 데이터 프레임 또는 재전송 데이터 프레임을 수신하고 상기 방법으로 12 비트 프레임 일련 번호 L_SEQ를 결정하였으면, 수신된 프레임을 L_V(N) 레지스터 136과 L_V(R) 레지스터 135를 사용하여 다음과 같이 분류한다.
첫째, 구해진 일련 번호 L_SEQ가 L_V(N) 레지스터 136보다 같거나 크고, L_V(R) 레지스터 135보다 작으면 상기 RLP 제어기 131은 이를 재전송 데이터 프레임으로 간주한다.
둘째, 구해진 일련 번호 L_SEQ가 L_V(R) 레지스터 135보다 같거나 크고, L_V(R) 레지스터 135와 E 레지스터 137을 더한 값을 212으로 modulo 연산한 값 보다 작으면 상기 RLP 제어기 131은 이를 새 데이터 프레임으로 간주한다.
셋째, 구해진 일련 번호 L_SEQ가 L_V(R) 레지스터 135와 E 레지스터 137을 더한 값을 212으로 modulo 연산한 값 보다 같거나 크면 상기 RLP 제어기 131은 이를 중복된 프레임으로 간주한다.
상기 RLP 제어기 131은 수신된 데이터 프레임이 중복된 프레임으로 간주되었다면 상기 수신된 데이터 프레임을 버린다. 이와 달리 수신된 데이터 프레임이 새 데이터 프레임 또는 재전송 데이터 프레임으로 간주되었다면 상기 RLP 제어기 131은 다음을 수행한다.
첫째, 수신된 프레임의 일련 번호 L_SEQ가 L_V(N) 레지스터 136보다 크고 L_V(R) 레지스터 135보다 작다면, 상기 RLP 제어기 131은 상기 수신된 데이터 프레임에 대한 재정렬 버퍼 엔트리(resequencing buffer entry)를 만들어서 재정렬 버퍼 139에 저장한다. 상기 재정렬 버퍼 엔트리는 〈수신된 데이터 프레임의 프레임 일련 번호, 수신된 데이터와 그 길이〉로 구성된다. 상기 RLP 제어기 131은 상기 수신된 데이터 프레임과 같은 프레임 일련 번호를 가지는 NAK 리스트 138에 저장된 NAK 엔트리 중에서 프레임이 완전히 수신되었는지를 알려주는 지시자에 기다리는 데이터 프레임이 수신되었음을 기록한다.
둘째, 수신된 프레임의 일련 번호 L_SEQ가 L_V(N) 레지스터 136과 같고 L_V(R) 레지스터 135보다 작다면, 상기 RLP 제어기 131은 수신된 데이터 프레임의 데이터 부분을 상기 수신 데이터 버퍼 124에 전달한 다음, 상기 재정렬 버퍼 139에 저장된 재정렬 버퍼 엔트리 중에서 저장된 프레임 일련 번호가 L_V(N) 레지스터 136 값에 하나를 더하고 212로 나눈 나머지와 같은 값을 갖는 재정렬 버퍼 엔트리에서부터 연속적인 프레임 일련 번호를 가지는 모든 재정렬 버퍼 엔트리에 대해 각 엔트리에 저장된 데이터를 수신 데이터 버퍼 124에 차례로 전달하고 상기 재정렬 버퍼 엔트리를 재정렬 버퍼 138에서 삭제한다. 상기 RLP 제어기 131은 NAK 리스트 138에서 상기 수신된 데이터 프레임과 같은 프레임 일련 번호를 가지는 NAK 엔트리를 찾고, 찾아진 NAK 엔트리의 프레임이 완전히 수신되었는지를 알려주는 지시자에 기다리는 데이터 프레임이 수신되었음을 기록한다. 상기 RLP 제어기 131은 상기 삭제된 재정렬 버퍼 엔트리들 중에서 마지막 재정렬 버퍼 엔트리가 가지는 프레임 일련 번호를 L이라고 할 때, L_V(N) 레지스터 136 값을 L에 하나를 더하고 212로 나눈 나머지로 설정한다.
셋째, 수신된 프레임의 일련 번호 L_SEQ가 L_V(R) 레지스터 135와 같고, L_V(R) 레지스터 135가 L_V(N) 레지스터 136과 같은 경우, 상기 RLP 제어기 131은 L_V(R) 레지스터 135 값을 하나 증가시키고 212로 나눈 나머지를 L_V(R) 레지스터 135에 저장하고, L_V(N) 레지스터 136 값을 하나 증가시키고 212로 나눈 나머지를 L_V(N) 레지스터 136에 저장한다. 상기 RLP 제어기 131은 상기 수신된 프레임이 가진 데이터 부분을 수신 데이터 버퍼 124에 전달한다.
넷째, 수신된 프레임의 일련 번호 L_SEQ가 L_V(R) 레지스터 135와 같고, L_V(R) 레지스터 135가 L_V(N) 레지스터 136과 같지 않은 경우, 상기 RLP 제어기 131은 상기 L_V(R)레지스터 135 값을 하나 증가시키고 212로 나눈 나머지를 L_V(R) 레지스터 135에 저장한다. 상기 RLP 제어기 131은 상기 수신된 데이터 프레임에 대한 재정렬 버퍼 엔트리(resequencing buffer entry)를 만들어서 재정렬 버퍼 139에 저장한다.
다섯째, 수신된 프레임의 일련 번호 L_SEQ가 L_V(R) 레지스터 135 보다 크다면, 상기 RLP 제어기 131은 L_V(R) 레지스터 135 보다 크거나 같은 프레임 일련 번호에서 (L_SEQ - 1) modulo 212보다 작거나 같은 프레임 일련 번호를 가지는 모든 프레임에 대한 재전송을 요청하기 위해 NAK 리스트 138에 각 프레임에 대한 NAK 엔트리를 만들고 NAK 리스트 138에 추가한다. 각 엔트리는 해당하는 프레임에 대한 12 비트 프레임 일련 번호를 가지고 있게 된다. 또한, 상기 RLP 제어기 131은 수신된 프레임에 대한 재정렬 버퍼 엔트리(resequencing buffer entry)를 만들어서 재정렬 버퍼 139에 저장하고 L_V(R) 레지스터 135를 (L_SEQ + 1) modulo 212으로 설정한다.
상기 RLP 제어기 131은 상기 도 6의 (d) 또는 (e)와 같은 형식의 데이터 프레임을 수신하였을 때 도 4에 도시된 바와 같이 NAK 리스트 138을 이용한다. 상기 NAK 리스트 138의 각 NAK 엔트리(NAK entry)들은 상기한 바와 같이 〈빠진 프레임의 일련 번호, 수신 데이터 부분을 알려주는 리스트, 프레임이 완전히 수신되었는지를 알려주는 지시자, 재전송 타이머(retransmit timer), 라운드 카운터(round counter), 인식 번호(identifier)〉로 구성된다. 상기 RLP 제어기 131은 상기 NAK 리스트 138에 저장된 NAK 엔트리들 중에 저장된 인식 번호 값과 상기 수신된 재전송 프레임의 8 비트 SEQ 필드에 담겨온 값이 일치하는 NAK 엔트리를 찾는다. 만일 같은 NAK 엔트리가 있다면, 상기 NAK 엔트리에 저장된 프레임 일련 번호 값을 수신된 프레임의 프레임 일련 번호 L_SEQ로 한다. 만일 그러한 엔트리가 없다면 상기 RLP 제어기 131은 상기 수신된 프레임을 버린다.
상기 RLP 제어기 131은 상기 도 6의 (d) 또는 (e)와 같은 형식의 프레임을 수신하였을 때 수신된 프레임이 가진 데이터 부분의 첫번째 바이트에 대한 10 비트 데이터 일련 번호 L을 수신된 SEG 필드값으로 설정한다. 상기 RLP 제어기 131은 상기 도 6의 (d) 또는 (e) 형식의 프레임을 수신하였을 때 수신된 데이터 조각의 첫번째 바이트의 일련 번호 L을 구하면 나머지 데이터 바이트의 일련 번호를 구할 수 있게 된다. 즉, 상기 데이터 일련 번호 L과 수신된 데이터 부분의 크기 B를 더하고 하나를 뺀 (L + B - 1)이 마지막 데이터 바이트의 데이터 일련 번호가 되며 중간에 있는 데이터 바이트들은 바로 앞의 데이터 바이트의 일련 번호에 하나를 더한 값이 된다.
상기 RLP 제어기 131은 상기 도 6의 (d) 또는 (e)와 같은 형식의 프레임을 수신하였을 때 END 필드가 '1'로 설정되어 있으면 재전송되는 데이터 부분의 마지막 끝 데이터 바이트가 왔음을 알 수 있다. 또한 상기 RLP 제어기 131은 NAK 리스트 138에 상기 NAK 엔트리에서 수신 데이터 부분을 알려주는 리스트를 통해 현재까지 수신된 데이터 부분을 알아낼 수 있다. 따라서 데이터 일련 번호 0번 데이터 바이트에서 마지막 끝 데이터 바이트까지 모두 수신하였으면 프레임이 가진 모든 데이터가 수신된 것으로 보고, 완성된 데이터 부분과 상기 과정에서 구한 프레임 일련 번호 L_SEQ 값을 가지고, 상기 도 6의 (b) 또는 (c) 형식의 프레임을 수신하였을 때와 마찬가지로, 상기 재전송 프레임 처리 과정을 수행한다. 이와 달리 데이터 일련 번호 0번 데이터 바이트에서 마지막 끝 데이터 바이트까지 모두 수신하지 못하였으면 상기 RLP 제어기 131은 상기 NAK 리스트 138에서 찾아진 NAK 엔트리에서 수신 데이터 부분을 알려주는 리스트에 수신된 데이터 부분을 함께 저장한다.
3. 아이들 프레임 수신 동작
상기 RLP 제어기 131은 상기 도 6의 (f)와 같은 형식의 아이들 프레임을 받으면, 프레임 일련 번호 L_SEQ를 수신된 12 비트 SEQ 필드 값으로 설정하고 다음을 수행한다.
첫째, 상기 RLP 제어기 131은 상기 수신된 아이들 프레임의 일련 번호 L_SEQ 값이 L_V(R) 레지스터 135 값 보다 크면, L_V(R) 레지스터 135 값 보다 크거나 같고 (L_SEQ - 1) modulo 212보다 작거나 같은 프레임 일련 번호를 가지는 모든 프레임에 대한 재전송을 요청하기 위해 NAK 리스트 138에 각 프레임에 대한 NAK 엔트리를 만들고 NAK 리스트 138에 추가한다. 각 NAK 엔트리는 해당하는 프레임에 대한 12 비트 프레임 일련 번호를 가지고 있게 된다.
둘째, 상기 RLP 제어기 131은 상기 수신된 아이들 프레임의 일련 번호 L_SEQ 값이 L_V(R) 레지스터 135 값 보다 작으면 상기 재설정 과정을 수행한다.
상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140이 깨진 RLP 프레임이 수신되었음을 알리면 레지스터 E 137에 저장된 값을 하나 증가시켜 다시 레지스터 E 134에 저장한다. 이때 상기 증가된 E 레지스터 137 값이 255 보다 크게 되면 상기 RLP 제어기 131은 재설정 과정을 수행한다. 이와 달리 상기 RLP 제어기 131은 데이터 수신 과정에서 올바르게 수신된 RLP 프레임이 있으면 상기 E 레지스터 137의 값을 0으로 설정한다.
RLP 제어기의 부가 채널 데이터 송신 동작
송신측 다중화/역다중화 제어기 140은 상기 RLP 제어기 131에게 부가 채널로 전송할 RLP 프레임을 요청하여 상기 RLP 제어기 131이 프레임을 생성하도록 한다. 상기 송신측 다중화/역다중화 제어기 140은 상기 RLP 제어기 131에게 RLP 프레임을 요청하면서 상기 RLP 제어기 131이 만들어낼 수 있는 최대 RLP 프레임의 크기 T를 함께 알려준다. 상기 RLP 제어기 131은 부가 채널로 전송할 RLP 프레임을 만들 때 우선 순위에 따라 RLP 프레임을 만든다. 여기서 우선순위는 첫째, 재전송 데이터 프레임, 둘째, 새 데이터 프레임의 순으로 결정된다.
1. 새 데이터 프레임 송신 동작
RLP 제어기 131이 부가 채널로 전송할 새 데이터 프레임을 생성할 때는 다음과 같이 동작한다.
첫째, 상기 RLP 제어기 131은 상기 L_V(S) 레지스터 132 값으로 새 데이터 프레임에 12 비트 일련 번호를 붙인다.
둘째, 상기 RLP 제어기 131은 상기 도 7의 (a) 형식을 사용하여 부가채널로 전송할 새 데이터 프레임을 생성한다. 이때, 상기 RLP 제어기 131은 상기 12 비트 일련 번호에서 하위 8 비트 값으로 SEQ 필드를 설정하고 재전송 지시자인 REXMIT 필드를 '0'으로 설정한다. 프레임이 생성되면 상기 RLP 제어기 131은 완성된 프레임을 상기 다중화/역다중화 제어기 140에게 전달한다.
셋째, 새 데이터 프레임을 전송한 다음 상기 RLP 제어기 131은 상기 12 비트 일련 번호 값에 하나를 더하고 212으로 나눈 나머지로 L_V(S) 레지스터 132를 설정한다. 이때 상기 RLP 제어기 131은 상기 일련 번호 레지스터 L_V(S) 132를 새 데이터 프레임을 만들었을 때만 증가시킨다. 즉, 이미 전송되었던 데이터를 재전송하는 경우에는 상기 L_V(S) 레지스터 132는 증가하지 않는다.
상기 RLP 제어기 131은 새로 정의한 프레임들을 수신측의 재전송 요청에 대비하여 재전송 버퍼 133에 저장해둔다. 상기 RLP 제어기 131은 상기한 바와 같이 〈프레임 일련 번호, 전송된 데이터와 그 크기〉의 재전송 엔트리(retransmission entry)에 담아서 상기 재전송 버퍼 133에 저장한다.
2. 재전송 데이터 프레임 송신 동작
상기 RLP 제어기 131은 상기 재전송 요청 큐 134에 재전송 요청 엔트리가 있는 경우 요청된 데이터 부분을 재전송하여야한다. 상기 재전송 요청 엔트리(retransmission request entry)는 〈재전송될 프레임의 프레임 일련 번호, 프레임에 해당하는 인식 번호, 재전송될 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호, 재전송될 데이터 부분의 길이〉로 구성된다.
상기 RLP 제어기 131은 상기 재전송 요청 엔트리를 가지고 재전송 데이터 프레임을 생성할 때, 다음과 같이 수행한다.
첫째, 우선 요청된 프레임 일련 번호를 가지고 상기 재전송 버퍼 133에서 동일한 프레임 일련 번호를 가지는 재전송 엔트리를 찾는다. 만일 이러한 엔트리가 없다면 상기 RLP 제어기 131은 상기 재전송 요청 엔트리를 상기 재전송 요청 큐 134에서 삭제한다.
둘째, 상기 과정에서 만일 찾는 엔트리가 있다면 상기 RLP 제어기 131은 상기 재전송 요청 엔트리에서 데이터 일련 번호와, 길이 정보를 바탕으로 상기 찾아진 재전송 엔트리에 저장된 데이터에서 재전송할 데이터 부분을 얻는다. 만일 프레임 전체에 대한 재전송이면 상기 재전송 엔트리에 저장된 모든 데이터를 얻는다.
셋째, 상기 RLP 제어기 131은 상기 도 7의 (a)와 (b) 형식 중 하나를 사용하여 부가 채널로 전송할 재전송 데이터 프레임을 생성한다. 프레임이 생성되면 상기 RLP 제어기 131은 완성된 프레임을 상기 다중화/역다중화 제어기 140에게 전달한다. 상기 RLP 제어기 131은 상기 재전송 요청 엔트리를 상기 재전송 요청 큐 134에서 삭제한다.
상기 RLP 제어기 131은 재전송 데이터 프레임을 생성할 때 상기 도 7의 (a) 또는 (b) 형식을 사용할 수 있다. 상기 RLP 제어기 131은 상기 도 7의 (a) 형식을 다음 조건이 만족될 때 사용한다.
첫째, 재전송 요청이 프레임 전체에 대한 것이고,
둘째, 재전송될 데이터의 크기가 상기 도 7의 (a) 형식으로 보낼 수 있는 데이터 개수 B, 즉 상기 다중화/역다중화 제어기 140이 알려준 크기 T에서 상기 도 7의 (a) 형식이 가지는 헤더 크기 12 비트를 뺀 나머지와 같거나 작은 경우 상기 RLP 제어기 131은 상기 도 7의 (a) 형식을 사용한다.
상기 RLP 제어기 131은 상기 도 7의 (a) 형식을 사용하여 상기 프레임을 재전송할 때 먼저 SEQ 필드를 상기 재전송 요청 엔트리가 가지고 있는 인식 번호로 설정한다. 또한 상기 RLP 제어기 131은 TYPE 필드를 '000'으로 설정하고, 재전송 지시자인 REXMIT 필드를 '1'로 설정한 다음, DATA 필드를 재전송할 데이터로 채운다.
상기 RLP 제어기 131은 상기 도 7의 (a) 형식을 사용할 수 있는 조건을 만족시키지 못하면 다음과 같이 조각 절차(segmentation procedure)를 수행한다.
첫째, 재전송할 프레임의 데이터 부분에서 아직 전송하지 않은 부분 중 가장 앞 부분을 상기 도 7의 (b) 형식을 사용하여 전송한다.
둘째, 재전송할 프레임의 데이터 부분을 모두 전송할 때까지 상기 첫번째 과정을 반복한다.
상기 RLP 제어기 131은 상기 조각 절차를 수행할 때 상기 도 7의 (b) 형식을 사용한다. 상기 RLP 제어기 131은 상기 도 7의 (b) 형식을 사용하여 상기 프레임의 데이터 부분을 재전송할 때 먼저 상기 프레임을 재전송할 때 먼저 SEQ 필드를 상기 재전송 요청 엔트리가 가지고 있는 인식 번호로 설정한다. 상기 RLP 제어기 131은 또한 상기 SEG 필드를 상기 프레임의 데이터 부분의 첫번째 데이터 바이트의 데이터 일련 번호로 설정한다. 또한 상기 RLP 제어기 131은 TYPE 필드를 '1'로 설정한 다음, DATA 필드를 전송할 데이터로 채운다. 또한 상기 RLP 제어기 131은 상기 도 7의 (b) 형식을 사용하여 상기 프레임의 데이터 부분을 재전송할 때 전송되는 데이터 부분이 상기 프레임이 가지고 있는 데이터의 가장 마지막 데이터 바이트를 담고 있으면 END 필드를 '1'로 그렇지 않으면 '0'으로 설정한다.
RLP 제어기의 부가 채널 데이터 수신 동작
상기 다중화/역다중화 제어기 140은 상기 RLP 제어기 131에게 RLP 프레임과 함께 수신된 RLP 프레임의 크기 T를 함께 알려준다.
1. 새 데이터 프레임 및 재전송 데이터 프레임 수신 동작
상기 RLP 제어기 131은 상기 도 7의 (a)와 같은 형식의 새 데이터 프레임을 수신하였을 때 12 비트 일련 번호 레지스터 L_V(R) 135를 사용한다. 상기 RLP 제어기 131은 상기 일련 번호 레지스터 L_V(R) 135의 12 비트 값과 수신된 새 데이터 프레임의 SEQ 필드값을 사용하여 수신된 새 데이터 프레임의 12 비트 일련 번호 L_SEQ를 상기 〈수학식 1〉를 통해 구한다.
상기 RLP 제어기 131은 상기 도 7의 (a)와 같은 형식의 재전송 데이터 프레임을 수신하였을 때 상기 RLP 제어기 131은 도 4에 도시된 바와 같이 NAK 리스트 138을 이용한다. 상기 NAK 리스트 138의 각 NAK 엔트리(NAK entry)들은 상기한 바와 같이 〈빠진 프레임의 일련 번호, 수신 데이터 부분을 알려주는 리스트, 프레임이 완전히 수신되었는지를 알려주는 지시자, 재전송 타이머(retransmit timer), 라운드 카운터(round counter), 인식 번호(identifier)〉로 구성된다. 상기 RLP 제어기 131은 상기 NAK 리스트 138에 저장된 NAK 엔트리들 중에서 저장된 인식 번호 값과 상기 수신된 재전송 프레임의 8 비트 SEQ 필드에 담겨온 값이 일치하는 NAK 엔트리를 찾는다. 만일 같은 NAK 엔트리가 있다면, 상기 NAK 엔트리에 저장된 프레임 일련 번호 값을 수신된 프레임의 프레임 일련 번호 L_SEQ로 한다. 이와 달리, 그러한 엔트리가 없다면 상기 RLP 제어기 131은 상기 수신된 프레임을 버린다.
상기 RLP 제어기 131은 상기 도 7의 (a)와 같은 형식의 새 데이터 프레임 또는 재전송 데이터 프레임을 수신하고 상기 방법으로 12 비트 프레임 일련 번호 L_SEQ를 결정하였으면, 도 6의 (b) 또는 (c) 형식의 프레임을 기본 채널을 통해 수신하였을 때와 마찬가지로 재전송 데이터 프레임, 새 데이터 프레임, 그리고 중복된 프레임으로 분류한다.
상기 RLP 제어기 131은 상기에서 분류된 정보를 바탕으로 상기 기본 채널에서 도 6의 (b) 또는 (c) 형식의 프레임을 수신하였을 때와 마찬가지로 수신된 데이터 프레임을 처리한다.
상기 RLP 제어기 131은 상기 도 7의 (b) 형식의 데이터 프레임을 수신하였을 때 도 4에 도시된 바와 같이 NAK 리스트 138을 이용한다. 상기 NAK 리스트 138의 각 NAK 엔트리(NAK entry)들은 상기한 바와 같이 〈빠진 프레임의 일련 번호, 수신 데이터 부분을 알려주는 리스트, 프레임이 완전히 수신되었는지를 알려주는 지시자, 재전송 타이머(retransmit timer), 라운드 카운터(round counter), 인식 번호(identifier)〉로 구성된다. 상기 RLP 제어기 131은 상기 NAK 리스트 138에 저장된 NAK 엔트리들 중에 저장된 인식 번호 값과 상기 수신된 재전송 프레임의 8 비트 SEQ 필드에 담겨온 값이 일치하는 NAK 엔트리를 찾는다. 만일 같은 NAK 엔트리가 있다면, 상기 NAK 엔트리에 저장된 프레임 일련 번호 값을 수신된 프레임의 프레임 일련 번호 L_SEQ로 한다. 만일 그러한 엔트리가 없다면 상기 RLP 제어기 131은 상기 수신된 프레임을 버린다.
상기 RLP 제어기 131은 상기 도 7의 (b) 형식의 프레임을 수신하였을 때 수신된 프레임이 가진 데이터 부분의 첫번째 바이트에 대한 10 비트 데이터 일련 번호 L을 수신된 SEG 필드값으로 설정한다. 상기 RLP 제어기 131은 상기 도 7의 (b) 형식의 프레임을 수신하였을 때 수신된 데이터 조각의 첫번째 바이트의 일련 번호 L을 구하면 나머지 데이터 바이트의 일련 번호를 구할 수 있게 된다. 즉, 상기 데이터 일련 번호 L과 수신된 데이터 부분의 크기 B를 더하고 하나를 뺀 (L + B - 1)이 마지막 데이터 바이트의 데이터 일련 번호가 되며 중간에 있는 데이터 바이트들은 바로 앞의 데이터 바이트의 일련 번호에 하나를 더한 값이 된다.
상기 RLP 제어기 131은 상기 도 7의 (b) 형식의 프레임을 수신하였을 때 END 필드가 '1'로 설정되어 있으면, 재전송되는 데이터 부분의 마지막 끝 데이터 바이트가 왔음을 알 수 있다. 또한 상기 RLP 제어기 131은 NAK 리스트 138에서 찾아진 상기 NAK 엔트리에서 수신 데이터 부분을 알려주는 리스트를 통해 현재까지 수신된 데이터 부분을 알아낼 수 있다. 따라서 데이터 일련 번호 0번 데이터 바이트에서 마지막 끝 데이터 바이트까지 모두 수신하였으면, 프레임이 가진 모든 데이터가 수신된 것으로 보고, 완성된 데이터 부분과 상기 과정에서 구한 프레임 일련 번호 L_SEQ 값을 가지고, 상기 도 6의 (b) 또는 (c) 형식의 프레임을 수신하였을 때와 마찬가지로, 상기 재전송 프레임 처리 과정을 수행한다. 이와 달리 데이터 일련 번호 0번 데이터 바이트에서 마지막 끝 데이터 바이트까지 모두 수신하지 못하였으면, 상기 RLP 제어기 131은 상기 NAK 리스트 138에서 찾아진 NAK 엔트리에서 수신 데이터 부분을 알려주는 리스트에 수신된 데이터 부분을 함께 저장한다.
상기 RLP 제어기 131은 상기 다중화/역다중화 제어기 140이 깨진 RLP 프레임이 수신되었음을 알리면 레지스터 E 137에 저장된 값을 하나 증가시켜 다시 레지스터 E 134에 저장한다. 이때 상기 증가된 E 레지스터 137 값이 255 보다 크게 되면 상기 RLP 제어기 131은 재설정 과정을 수행한다. 이와 달리 상기 RLP 제어기 131은 데이터 수신 과정에서 올바르게 수신된 RLP 프레임이 있으면 상기 E 레지스터 137의 값을 0으로 설정한다.
RLP 제어기의 데이터 수신후 동작
RLP 제어기 131은 수신된 모든 프레임을 처리한 후 상기 NAK 리스트 138의 각 NAK 엔트리들에 대해서 재전송 요청을 다시할 것인지 아니면 더 이상 재전송을 기다리지 않을 것인지 결정하는 작업을 수행한다.
본 발명에서는 수신측 RLP 제어기에서 송신측 RLP에게 재전송을 요청하고 재전송 데이터 프레임이 도착할 때까지 일정 시간 기다리는 것을 하나의 `라운드(round)'라고 칭할 것이다. 즉, 상기 하나의 라운드는 재전송 요청을 담은 NAK 프레임이 전송된 후부터 일정 시간이 경과하거나 요청된 프레임이 도착하면 끝나게 된다. 상기 하나의 라운드에서 재전송 요청은 여러 개의 연속적인 NAK 프레임에 담겨갈 수 있다. 수신측 RLP 제어기가 몇 번의 라운드를 수행한 후 데이터 수신을 포기할 것인지와 각각의 라운드마다 재전송 요청을 몇 개의 NAK 프레임에 담아서 전송할 것인지는 모두 기지국 RLP에서 결정한다.
상기 RLP 제어기 131은 수신된 RLP 프레임 중에서 새 데이터 프레임이 수신되거나 송신측 RLP가 아무런 프레임도 보내지 않았다고 판단되는 경우 또는 매 일정 시간(예를 들어 20 ms) 마다 NAK 리스트 138에서 가장 오래된 NAK 엔트리 부터 오래된 순서대로 모든 NAK 엔트리에 대해서 다음의 과정을 수행한다.
첫째, 상기 NAK 엔트리의 재전송 타이머가 설정된 후 아직 만료되지 않았고, 또한 이미 기지국 RLP가 이번 라운드에 지정한 개수의 NAK 프레임에 상기 NAK 엔트리가 가지고 있는 인식 번호가 포함되어 전송되었다면, RLP 제어기 131은 상기 NAK 엔트리의 재전송 타이머의 값을 하나 줄인다.
둘째, 만일 상기 감소된 재전송 타이머 값이 `0'이 되면, RLP 제어기 131은 상기 NAK 엔트리의 라운드 카운터를 하나 줄인다. 이때 만일 상기 NAK 엔트리의 프레임이 완전히 수신되었는지를 알려주는 지시자가 기다리는 프레임의 데이터를 모두 수신한 것으로 되어 있으면, 상기 RLP 제어기 131은 상기 NAK 엔트리를 상기 NAK 리스트 138에서 삭제한다.
셋째, 이와 달리, 상기 NAK 엔트리의 프레임이 완전히 수신되었는지를 알려주는 지시자가 기다리는 프레임의 데이터를 모두 수신하지 못한 것으로 되어 있고 상기 NAK 엔트리의 라운드 카운터가 `0'이면, 상기 RLP 제어기 131은 기다리는 프레임의 데이터를 수신하지 못한 것으로 간주하고, 상기 NAK 엔트리에 저장된 수신 데이터 부분을 알려주는 리스트에 저장된 수신된 데이터 부분을 순서대로 수신 데이터 버퍼 124에 전달한다. 상기 RLP 제어기 131은 또한 재정렬 버퍼 139에 저장된 재정렬 버퍼 엔트리 중에서 저장된 프레임 일련 번호가 L_V(N) 레지스터 136 값에 하나를 더하고 212로 나눈 나머지 값을 갖는 재정렬 버퍼 엔트리에서부터 연속적인 프레임 일련 번호를 가지는 모든 재정렬 버퍼 엔트리에 대해 각 엔트리에 저장된 데이터를 수신 데이터 버퍼 124에 차례로 전달하고 상기 재정렬 버퍼 엔트리를 재정렬 버퍼 138에서 삭제한다. 상기 RLP 제어기 131은 상기 삭제된 재정렬 버퍼 엔트리 중에서 마지막 재정렬 버퍼 엔트리가 가지는 프레임 일련 번호를 L이라고 할 때 L_V(N) 레지스터 136 값을 L에 하나를 더하고 212로 나눈 나머지로 설정하고 상기 NAK 엔트리를 상기 NAK 리스트 138에서 삭제한다.
넷째, 이와 달리, 상기 NAK 엔트리의 프레임이 완전히 수신되었는지를 알려주는 지시자가 기다리는 프레임의 데이터를 모두 수신하지 못한 것으로 되어 있고 상기 NAK 엔트리의 라운드 카운터가 `0'이 아니면, 상기 RLP 제어기 131은 상기 NAK 엔트리의 재전송 타이머 값을 적절한 값으로 설정하고 기지국 RLP가 이번 라운드에 지정한 개수의 NAK 프레임에 상기 NAK 엔트리가 가지고 있는 인식 번호를 포함시켜 전송한다.
상기 RLP 제어기 131은 상기 NAK 리스트 138에서 새로 추가된 모든 NAK 엔트리들 각각에 대해 다음을 수행한다.
첫째, NAK 엔트리의 라운드 카운터를 기지국 RLP가 지정한 값으로 설정한다.
둘째, NAK 엔트리의 인식 번호 값을 L_V(RS) 레지스터 141의 값으로 설정한다. 상기 RLP 제어기 131은 L_V(RS) 레지스터 141을 L_V(RS) 레지스터 141 값에 하나를 더하고 28로 나눈 나머지 값으로 설정한다.
셋째, NAK 엔트리의 재전송 타이머를 적절한 값으로 설정하고, 기지국 RLP가 첫번째 라운드에 지정한 개수의 NAK 프레임에 상기 NAK 엔트리가 가지고 있는 인식 번호를 포함시켜 전송한다.
상기 RLP 제어기 131은 상기 NAK 리스트 138이 가지고 있는 NAK 엔트리의 수가 256 개를 넘어서면 상기 재설정 과정을 수행한다.
상술한 바와 같이 본 발명은 RLP에 따라 데이터를 송수신할 시 데이터를 효과적으로 전송할 수 있도록 하기 위해 인식 번호를 기반으로 하는 재전송 방법을 제안함으로써 라디오 링크 프로토콜이 전송 효율을 높일 수 있도록 하는 이점이 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (3)

  1. 이동 통신시스템의 RLP에 따른 데이터 송수신 장치에 있어서,
    송신 RLP 프레임을 일련번호와 함께 송신하고 재전송 요청에 따른 일련번호의 RLP 프레임을 요청된 인식번호로 송신하는 데이터 송신기와,
    수신되는 RLP 프레임의 일련번호로부터 다음에 새로이 수신된 RLP 프레임의 일련번호를 판단하며, 상기 새로이 수신될 RLP 프레임의 일련번호와 수신되는 RLP 프레임의 일련번호가 일치하지 않을 시 상기 RLP 데이터 송신기로 해당하는 일련번호와 인식번호를 재전송 요청하는 데이터 수신기를 포함함을 특징으로 하는 데이터 송수신 장치.
  2. 이동 통신시스템의 RLP에 따른 데이터 송신기에 있어서,
    송신을 위한 데이터를 저장하는 송신 데이터 버퍼와,
    송신 RLP 프레임의 일련번호를 저장하는 레지스터와,
    재전송을 위해 송신된 RLP 프레임을 저장하는 재전송 버퍼와,
    데이터 수신기로부터의 재전송 요청을 저장하는 재전송 요청 큐와,
    생성되는 RLP 프레임을 물리채널 프레임으로 출력하는 다중화 제어기와,
    상기 다중화 제어기에 의해 요구된 크기만큼의 RLP 프레임을 상기 송신 데이터 버퍼로부터 읽어들여 RLP 프레임을 생성하며, 재전송 요청시 해당하는 일련번호의 RLP 프레임을 상기 재전송 버퍼로부터 읽어들이고 이 RLP 프레임을 요청된 인식번호로 상기 다중화 제어기를 통해 송신되도록 하는 RLP 제어기를 포함함을 특징으로 하는 데이터 송신기.
  3. 이동 통신시스템의 RLP에 따른 데이터 수신기에 있어서,
    수신될 새 RLP 프레임의 일련번호를 저장하는 제1레지스터와,
    빠진 RLP 프레임의 일련번호를 저장하는 제2레지스터와,
    빠진 RLP 프레임의 수를 저장하는 제3레지스터와,
    인식번호를 저장하는 제4레지스터와,
    재전송 받아야 하는 데이터를 저장하고 있는 NAK 리스트와,
    수신된 RLP 프레임이 가진 데이터를 저장하는 재정렬 버퍼와,
    RLP 프레임을 수신하고, 빠진 RLP 프레임의 일련번호와 인식번호를 함께 재전송 요청하는 RLP 제어기를 포함함을 특징으로 하는 데이터 수신기.
KR10-1999-0025511A 1999-06-29 1999-06-29 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법 KR100539879B1 (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
KR10-1999-0025511A KR100539879B1 (ko) 1999-06-29 1999-06-29 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법
CA 2380700 CA2380700C (en) 1999-06-29 2000-06-29 An apparatus and method for transmitting and receiving data according to radio link protocol in a mobile communications system
RU2001135808A RU2221338C2 (ru) 1999-06-29 2000-06-29 Устройство и способ передачи и приема данных в соответствии с протоколом линии радиосвязи в системе связи с подвижными объектами
US09/606,558 US6895010B1 (en) 1999-06-29 2000-06-29 Apparatus and method for transmitting and receiving data according to radio link protocol in a mobile communications systems
AU55764/00A AU765553B2 (en) 1999-06-29 2000-06-29 An apparatus and method for transmitting and receiving data according to radio link protocol in a mobile communications system
BR0011904A BR0011904A (pt) 1999-06-29 2000-06-29 Equipamento e método para transmissão e recepção de dados de acordo com um protocolo de rádioenlace em um sistema de comunicação móvel
JP2002520440A JP3811678B2 (ja) 1999-06-29 2000-06-29 移動通信システムにおける無線リンクプロトコルによるデータ送受信装置及び方法
DE60045081T DE60045081D1 (de) 1999-06-29 2000-06-29 Übertragen und empfangen von daten nach einem funkverbindungsprotokoll in einem mobilen kommunikationssystem
PCT/KR2000/000688 WO2002015434A1 (en) 1999-06-29 2000-06-29 An apparatus and method for transmitting and receiving data according to radio link protocol in a mobile communications system
CNB008197202A CN1224189C (zh) 1999-06-29 2000-06-29 移动通信系统中根据无线链路协议发送和接收数据的设备和方法
EP20000940991 EP1281248B1 (en) 1999-06-29 2000-06-29 Transmitting and receiving data according to radio link protocol in a mobile communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0025511A KR100539879B1 (ko) 1999-06-29 1999-06-29 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20010004792A true KR20010004792A (ko) 2001-01-15
KR100539879B1 KR100539879B1 (ko) 2005-12-28

Family

ID=19597298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0025511A KR100539879B1 (ko) 1999-06-29 1999-06-29 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법

Country Status (11)

Country Link
US (1) US6895010B1 (ko)
EP (1) EP1281248B1 (ko)
JP (1) JP3811678B2 (ko)
KR (1) KR100539879B1 (ko)
CN (1) CN1224189C (ko)
AU (1) AU765553B2 (ko)
BR (1) BR0011904A (ko)
CA (1) CA2380700C (ko)
DE (1) DE60045081D1 (ko)
RU (1) RU2221338C2 (ko)
WO (1) WO2002015434A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1303072A2 (en) * 2001-10-15 2003-04-16 Texas Instruments Incorporated Improved ADSL downloading with priority transmit queue
KR100424654B1 (ko) * 1999-08-02 2004-03-24 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031281B1 (en) * 2000-11-27 2006-04-18 Nortel Networks Limited Method for reducing overhead in forward link traffic multiplexing
JP2003008855A (ja) * 2001-06-21 2003-01-10 Ricoh Co Ltd 通信装置
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
DE10141092A1 (de) * 2001-08-22 2003-03-06 Siemens Ag Verfahren zur Übertragung von Datenpaketen in einem Funk-Kommunikationssystem
US20030039226A1 (en) 2001-08-24 2003-02-27 Kwak Joseph A. Physical layer automatic repeat request (ARQ)
US7142542B2 (en) * 2001-11-15 2006-11-28 Motorola, Inc. Selective retransmission of data
US7388852B2 (en) * 2001-12-13 2008-06-17 Nortel Networks Limited Physical layer assisted retransmission
US7145889B1 (en) * 2002-03-28 2006-12-05 Nortel Networks Limited Efficient frame retransmission in a wireless communication environment
KR100945762B1 (ko) * 2002-05-10 2010-03-09 인터디지탈 테크날러지 코포레이션 무선 링크 제어 재전송을 지원하기 위해 프로토콜 데이터 단위의 재전송의 순위 지정을 하는 시스템 및 방법
US7720043B2 (en) * 2002-11-20 2010-05-18 Qualcomm Incorporated Use of idle frames for early transmission of negative acknowledgement of frame receipt
US7372855B2 (en) * 2003-01-08 2008-05-13 Sharp Laboratories Of America, Inc. System and method for synchronizing an IEEE 802.11 power-save interval
US7813322B2 (en) * 2003-02-19 2010-10-12 Qualcomm Incorporated Efficient automatic repeat request methods and apparatus
US8099099B2 (en) * 2003-02-19 2012-01-17 Qualcomm Incorporated Methods and apparatus related to assignment in a wireless communications system
US20050052465A1 (en) * 2003-07-03 2005-03-10 Moore Richard L. Wireless keyboard, video, mouse device
US20050224596A1 (en) * 2003-07-08 2005-10-13 Panopoulos Peter J Machine that is an automatic pesticide, insecticide, repellant, poison, air freshener, disinfectant or other type of spray delivery system
WO2005027456A1 (ja) * 2003-09-18 2005-03-24 Nomura Research Institute Co., Ltd. 通信システム、通信装置、およびデータの再送制御方法
US7475322B2 (en) * 2003-11-14 2009-01-06 Avocent Huntsville Corporation Wireless broadcast protocol
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
US7882412B2 (en) * 2004-10-05 2011-02-01 Sanjiv Nanda Enhanced block acknowledgement
US8755407B2 (en) * 2005-02-18 2014-06-17 Qualcomm Incorporated Radio link protocols for enhancing efficiency of multi-link communication systems
US7492770B2 (en) * 2005-08-31 2009-02-17 Starent Networks, Corp. Synchronizing data transmission over wireless networks
WO2007032649A1 (en) 2005-09-15 2007-03-22 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving status report comprising received status of packet data in a mobile communication system
US7773630B2 (en) 2005-11-12 2010-08-10 Liquid Computing Corportation High performance memory based communications interface
CA2655880A1 (en) * 2006-06-19 2007-12-27 Liquid Computing Corporation Methods and systems for reliable data transmission using selective retransmission
JP4809148B2 (ja) * 2006-07-10 2011-11-09 富士通株式会社 無線ネットワーク制御装置及び移動端末のハンドオーバー方法
US7873964B2 (en) * 2006-10-30 2011-01-18 Liquid Computing Corporation Kernel functions for inter-processor communications in high performance multi-processor systems
KR101577451B1 (ko) * 2008-01-30 2015-12-14 엘지전자 주식회사 Rlc 무한 재전송 오류를 검출하고 처리하는 방법
US9083521B2 (en) * 2008-06-05 2015-07-14 Qualcomm Incorporated System and method of an in-band modem for data communications over digital wireless communication networks
JPWO2010128636A1 (ja) * 2009-05-08 2012-11-01 日本電気株式会社 通信システム、通信装置、通信方法及びプログラム
JP5610605B2 (ja) * 2009-07-28 2014-10-22 京セラ株式会社 無線通信システム、送信装置、受信装置、およびデータ再送方法
JP5525205B2 (ja) * 2009-08-06 2014-06-18 京セラ株式会社 受信装置および再送制御方法
RU2505926C1 (ru) * 2012-05-29 2014-01-27 Открытое акционерное общество "Научно-производственное предприятие "Полет" Способ радиосвязи с подвижными объектами
CN109391605B (zh) 2017-08-14 2021-01-26 杭州海康威视数字技术股份有限公司 数据传输方法、装置及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088342A (en) * 1997-05-05 2000-07-11 Nokia Mobile Phones Limited Dynamic configuration of radio link protocol in a telecommunications system
FI101332B1 (fi) * 1995-12-18 1998-05-29 Nokia Telecommunications Oy Epäjatkuvalähetys monikanavaisessa suurinopeuksisessa datasiirrossa
JP3562124B2 (ja) * 1996-03-06 2004-09-08 ソニー株式会社 データ通信方法及びデータ通信機
US5701312A (en) * 1996-04-01 1997-12-23 Motorola, Inc. Method and apparatus for selectively providing repeat messages in a radio communication system
DE69838043T2 (de) * 1997-02-10 2008-03-20 Motorola, Inc., Schaumburg Verfahren und Vorrichtung zur Suche von Fehlnachrichten in einem Radiokommunikatonssystem
US6408003B1 (en) * 1997-06-17 2002-06-18 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
US6011796A (en) * 1997-06-17 2000-01-04 Qualcomm Incorporated Extended range sequence numbering for selective repeat data transmission protocol
US6134237A (en) * 1997-09-30 2000-10-17 Motorola, Inc. Method and apparatus for tracking data packets in a packet data communication system
US5872777A (en) 1997-09-30 1999-02-16 Motorola, Inc. Method and apparatus for conveying data packets in a packet data communication system
US6076181A (en) * 1998-03-03 2000-06-13 Nokia Mobile Phones Limited Method and apparatus for controlling a retransmission/abort timer in a telecommunications system
US6556556B1 (en) * 1999-01-29 2003-04-29 Nortel Networks Limited Method and system for limiting data packet transmission within a digital mobile telephone communication network by discarding unsuccessfully transmitted radio link protocol frames
KR100516671B1 (ko) * 1999-05-24 2005-09-22 삼성전자주식회사 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법
US6507582B1 (en) * 1999-05-27 2003-01-14 Qualcomm Incorporated Radio link protocol enhancements for dynamic capacity wireless data channels
US6169732B1 (en) * 1999-06-29 2001-01-02 Motorola, Inc. Method and apparatus in a wireless communication system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100424654B1 (ko) * 1999-08-02 2004-03-24 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법
EP1303072A2 (en) * 2001-10-15 2003-04-16 Texas Instruments Incorporated Improved ADSL downloading with priority transmit queue
EP1303072A3 (en) * 2001-10-15 2005-08-03 Texas Instruments Incorporated Improved ADSL downloading with priority transmit queue

Also Published As

Publication number Publication date
EP1281248A1 (en) 2003-02-05
BR0011904A (pt) 2002-06-11
JP2004507152A (ja) 2004-03-04
CA2380700C (en) 2005-10-18
RU2221338C2 (ru) 2004-01-10
EP1281248A4 (en) 2004-11-24
EP1281248B1 (en) 2010-10-06
KR100539879B1 (ko) 2005-12-28
CN1224189C (zh) 2005-10-19
AU5576400A (en) 2002-02-25
CA2380700A1 (en) 2002-02-21
US6895010B1 (en) 2005-05-17
DE60045081D1 (de) 2010-11-18
AU765553B2 (en) 2003-09-25
CN1454415A (zh) 2003-11-05
JP3811678B2 (ja) 2006-08-23
WO2002015434A1 (en) 2002-02-21

Similar Documents

Publication Publication Date Title
KR100539879B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법
KR100383611B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 전송 장치 및 방법
KR100416996B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
KR100424654B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법
KR100446502B1 (ko) 이동 통신 시스템의 데이터 재전송 장치 및 방법
JP4198910B2 (ja) 並列チャネルエンコーダパケット伝送システム中でサブパケットを送信する方法および受信する方法
US6581176B1 (en) Method for transmitting control frames and user data frames in mobile radio communication system
KR100516671B1 (ko) 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법
KR100532321B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 블록 일련번호 생성 및 바이트 일련번호 확인 장치 및 방법
US7519084B2 (en) Error control mechanism for a segment based link layer in a digital network
JP5085821B2 (ja) Ir機能を具備したarqを用いて通信システムで情報を送信する方法
KR20060079570A (ko) 통신 시스템에서 데이터 재전송 장치 및 방법
KR20000074179A (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신장치 및 방법
KR100981541B1 (ko) 이동통신시스템에서 패킷 수신 결과 보고방법
KR20020009282A (ko) 데이터 통신 시스템 및 그 통신방법
KR20080071737A (ko) 이동 통신 시스템에서 재전송 프로토콜 데이터 유닛의 처리방법 및 장치
JP2002158734A (ja) 通信方法及び通信装置
KR20030004959A (ko) 고속 순방향 패킷 접속 방식을 사용하는 시스템의 데이터재전송 방법

Legal Events

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

Payment date: 20121129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee