KR20220156486A - 무선 통신 시스템에서 데이터 처리 방법 및 장치 - Google Patents

무선 통신 시스템에서 데이터 처리 방법 및 장치 Download PDF

Info

Publication number
KR20220156486A
KR20220156486A KR1020220146676A KR20220146676A KR20220156486A KR 20220156486 A KR20220156486 A KR 20220156486A KR 1020220146676 A KR1020220146676 A KR 1020220146676A KR 20220146676 A KR20220146676 A KR 20220146676A KR 20220156486 A KR20220156486 A KR 20220156486A
Authority
KR
South Korea
Prior art keywords
rlc
pdcp
value
segment
pdu
Prior art date
Application number
KR1020220146676A
Other languages
English (en)
Other versions
KR102545953B1 (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 claimed from KR1020170129077A external-priority patent/KR102465541B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20220156486A publication Critical patent/KR20220156486A/ko
Application granted granted Critical
Publication of KR102545953B1 publication Critical patent/KR102545953B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • 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/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • 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/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • 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/1835Buffer management
    • H04L1/1841Resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/24Cell structures
    • H04W16/28Cell structures using beam steering
    • 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/0278Traffic management, e.g. flow control or congestion control using buffer status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/02Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/02Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
    • H04W36/023Buffering or recovering information during reselection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/27Transitions between radio resource control [RRC] states
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 개시는 4G 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 통신 시스템을 IoT 기술과 융합하는 통신 기법 및 그 시스템에 관한 것이다. 본 개시는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스 (예를 들어, 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 적용될 수 있다. 본 발명의 한 실시 예는 무선 통신 시스템에서 데이터를 처리하는 방법 및 장치에 관한 것이다.

Description

무선 통신 시스템에서 데이터 처리 방법 및 장치 {METHOD AND APPATARUS FOR DATA PROCESSING IN WIRELESS COMMUNICATION SYSTEM}
*본 발명은 무선 통신 시스템에서 데이터 처리 방법 및 장치에 관한 것이다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다. 높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다. 또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다. 이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non orthogonal multiple access), 및SCMA(sparse code multiple access) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE (Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다. IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 5G 통신 기술인 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
차세대 이동 통신 시스템에서 PDCP 계층은 헤더를 압축하는 헤더 압축 프로토콜을 사용할 수 있다. 하지만 헤더 압축 프로토콜을 적용하기 위해서는 송신단 PDCP 계층과 수신단 PDCP 계층이 서로 헤더 압축 프로토콜 정보를 교환하고 동기화가 이루어져야 한다. 그런데 핸드오버 절차에서 PDCP 계층이 만료하거나 중복된 데이터를 처리할 때 바로 버리면 헤더 압축 프로토콜 정보를 유실할 수 있다.
그리고, 차세대 이동 통신 시스템에서는 오버헤드를 줄이고, 불필요한 단말의 프로세싱을 줄일 수 있는 새로운 RLC UM 모드 송수신 윈도우 동작이 필요하다.
또한, 차세대 이동 통신 시스템에서는 RLC 계층이 일련번호 기준으로 유실된 패킷을 탐지할 경우, 패킷의 부분 유실을 탐지하는 절차에서 에러가 발생할 수 있다. 따라서 이를 해결하기 위해서 새로운 유실된 패킷 탐지 방법이 필요하다.
상기와 같은 문제점을 해결하기 위한 본 발명은 무선 통신 시스템에서 제어 신호 처리 방법에 있어서, 기지국으로부터 전송되는 제1 제어 신호를 수신하는 단계; 상기 수신된 제1 제어 신호를 처리하는 단계; 및 상기 처리에 기반하여 생성된 제2 제어 신호를 상기 기지국으로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 실시 예에서는 차세대 이동 통신 시스템에서 PDCP 계층이 만료하거나 중복된 데이터를 효율적으로 처리하는 방법을 제안하여 헤더 압축 프로토콜을 사용시에 핸드오버 과정에서 정보의 유실이 발생하지 않도록 한다.
그리고, 본 발명의 실시 예에서는 차세대 이동 통신 시스템에서 효율적인 RLC UM 모드 송수신 윈도우 동작을 제안하여 데이터 전송 시 오버헤드를 줄이고, 무선 자원을 효율적으로 사용할 수 있도록 하며, 단말의 불필요한 프로세싱을 최소화하도록 한다.
그리고, 본 발명의 실시 예에서는 차세대 이동 통신 시스템에서는 RLC 계층이 일련번호 기준으로 유실된 패킷을 탐지할 경우, 패킷의 부분 유실을 탐지하는 절차에서 에러가 발생할 수 있다. 따라서 이를 해결하기 위해서 새로운 유실된 패킷 탐지 방법이 필요하다.
도 1a는 본 발명이 적용될 수 있는 LTE 시스템의 구조를 도시하는 도면이다.
도 1b는 본 발명이 적용될 수 있는 LTE 시스템에서 무선 프로토콜 구조를 나타낸 도면이다.
도 1c는 본 발명의 제 1 실시 예에 따른 차세대 이동통신 시스템의 구조를 도시하는 도면이다.
도 1d는 본 발명의 제 1 실시 예에 따른 차세대 이동통신 시스템의 무선 프로토콜 구조를 나타낸 도면이다.
도 1e는 본 발명의 제 1 실시 예에 따른 단말이 RRC 유휴 모드(RRC idle mode)에서 RRC 연결 모드(RRC connected mode)로 전환하여 네트워크와 연결을 설정하는 절차를 설명한 도면이다.
도 1f는 본 발명의 제 1 실시 예에 따른 헤더 압축 프로토콜(ROHC, Robust Header Compression)을 설명하는 도면이다.
도 1g는 본 발명의 제 1 실시 예에 따른 송신 PDCP 계층 장치와 수신 PDCP 계층 장치의 데이터 처리 과정을 설명하는 도면이다.
도 1h는 본 발명의 제 1 실시 예에 따른 차세대 이동 통신 시스템에서의 핸드오버 수행 과정을 설명하기 위한 도면이다.
도 1ia 및 도 1ib는 상기 도 1h와 같은 핸드오버 절차에서 송신단과 수신단 PDCP 계층 장치들이 ROHC 프로토콜을 사용하고 있을 때 수신단 PDCP 계층 장치에서 압축 해제 에러가 발생하는 시나리오를 설명한 도면이다.
도 1j는 차세대 이동 통신 시스템에서 상기 도 1ia 및 도 1ib에서와 같은 문제를 해결하기 위한 제 1-1 실시 예를 설명한 도면이다.
도 1ja는 도 1j에서 수신 PDCP 계층 장치가 수신한 PDCP PDU의 COUNT 값을 계산하는 방법을 설명한 도면이다.
도 1k는 차세대 이동 통신 시스템에서 상기 도 1ia 및 도 1ib에서와 같은 문제를 해결하기 위한 제 1-2 실시 예를 설명한 도면이다.
도 1ka는 도 1k에서 수신 PDCP 계층 장치가 수신한 PDCP PDU의 COUNT 값을 계산하는 방법을 설명한 도면이다.
도 1l은 본 발명의 제 1-1 실시 예의 송신 PDCP 계층 장치 동작을 나타낸 도면이다.
도 1m은 본 발명의 제 1-2 실시 예의 수신 PDCP 계층 장치 동작을 나타낸 도면이다.
도 1n에 본 발명의 제 1 실시 예가 적용될 수 있는 단말의 구조를 도시하였다.
도 1o는 본 발명의 제 1 실시 예가 적용될 수 있는 무선 통신 시스템에서 TRP의 블록 구성을 도시한다.
도 1p는 본 발명에서 차세대 이동 통신 시스템에서 상기 도 1ia 및 도 1ib에서와 같은 문제를 해결하기 위한 제 1-3 실시 예를 설명한 도면이다.
도 1q 는 수신 PDCP 계층 장치가 만료되거나 중복된 PDCP PDU를 수신하였을 때의 동작을 나타낸 도면이다.
도 1r은 AM DRB에서 동작하는 수신 PDCP 계층 장치가 PDCP 장치 재수립 요청을 수신하였을 때의 동작을 나타낸 도면이다.
도 2a는 본 발명이 적용될 수 있는 LTE 시스템의 구조를 도시하는 도면이다.
도 2b는 본 발명이 적용될 수 있는 LTE 시스템에서 무선 프로토콜 구조를 나타낸 도면이다.
도 2c는 본 발명의 제 2 실시 예에 따른 차세대 이동통신 시스템의 구조를 도시하는 도면이다.
도 2d는 본 발명의 제 2 실시 예에 따른 차세대 이동통신 시스템의 무선 프로토콜 구조를 나타낸 도면이다.
도 2e는 본 발명의 제 2 실시 예에 따른 단말이 RRC 유휴 모드(RRC idle mode)에서 RRC 연결 모드(RRC connected mode)로 전환하여 네트워크와 연결을 설정하는 절차를 설명한 도면이다.
도 2f는 본 발명의 제 2 실시 예에 따른 RLC 계층 RLC AM 모드에서 제안하는 SO 기반 분할(Segmentation) 동작을 나타낸 도면이다.
도 2g은 본 발명의 제 2 실시 예에 따른 RLC AM 모드의 SO 기반 분할 방법을 적용한 데이터 처리 동작을 나타낸 도면이다.
도 2h는 본 발명의 제 2 실시 예에 따른 RLC UM 모드에서 적용 가능한 RLC 헤더 구조를 나타낸다.
도 2i는 차세대 이동 통신 시스템의 RLC UM 모드 송수신 동작에서 타이머를 사용하기 어려운 이유를 나타낸 도면이다.
도 2j는 본 발명의 제 2 실시 예에 따른 RLC UM 모드 단말의 송신 동작을 나타낸 도면이다.
도 2k는 본 발명의 제 2 실시 예에 따른 RLC UM 모드 단말의 수신 동작을 나타낸 도면이다.
도 2l은 본 발명의 제 2 실시 예에 따른 RLC UM 모드를 위해 제안하는 SI 필드 기반 분할 방법(segmentation)을 설명하는 도면이다.
도 2m는 본 발명의 제 2 실시 예에 따른 RLC UM 모드의 SI 기반 분할 방법을 적용한 데이터 처리 동작을 나타낸 도면이다.
도 2n는 본 발명의 제 2 실시 예에 따른 RLC UM 모드에서 적용 가능한 RLC 헤더 구조를 나타낸다.
도 2o는 본 발명의 제 2 실시 예에 따른 SI 기반 분할 방법을 적용했을 때 RLC UM 모드 단말의 송신 동작을 나타낸 도면이다.
도 2p는 본 발명의 제 2 실시 예에 따른 SI 기반 분할 방법을 적용했을 때 RLC UM 모드 단말의 수신 동작을 나타낸 도면이다.
도 2q에 본 발명의 제 2 실시 예에 따른 단말의 구조를 도시하였다.
도 2r는 본 발명의 제 2 실시 예에 따른 무선 통신 시스템에서 TRP의 블록 구성을 도시한다.
도 3a는 본 발명이 적용될 수 있는 LTE 시스템의 구조를 도시하는 도면이다.
도 3b는 본 발명이 적용될 수 있는 LTE 시스템에서 무선 프로토콜 구조를 나타낸 도면이다.
도 3c는 본 발명의 제 3 실시 예에 따른 차세대 이동통신 시스템의 구조를 도시하는 도면이다.
도 3d는 본 발명의 제 3 실시 예에 따른 차세대 이동통신 시스템의 무선 프로토콜 구조를 나타낸 도면이다.
도 3e는 본 발명의 제 3 실시 예에 따른 단말이 RRC 유휴 모드(RRC idle mode)에서 RRC 연결 모드(RRC connected mode)로 전환하여 네트워크와 연결을 설정하는 절차를 설명한 도면이다.
도 3f는 본 발명의 제 3 실시 예에 따른 RLC 계층 RLC AM 모드에서 제안하는 SO 기반 분할(Segmentation) 동작을 나타낸 도면이다.
도 3g은 본 발명의 제 3 실시 예에 따른 RLC AM 모드의 SO 기반 분할 방법을 적용한 데이터 처리 동작을 나타낸 도면이다.
도 3h는 본 발명의 제 3-1 실시 예에 따른 RLC 일련번호 기반으로 유실된 패킷을 탐지하는 방법을 나타낸 도면이다.
도 3i는 본 발명의 제 3-2 실시 예에 따른 RLC 일련번호와 오프셋(segment offset) 그리고 SI 필드 기반으로 유실된 패킷을 탐지하는 방법을 나타낸 도면이다.
도 3j는 본 발명의 제 3-2 실시 예에 따른 RLC AM 모드에서 수신 RLC 장치에서 t-Reordering 타이머를 구동하는 동작을 나타낸다.
도 3k에 본 발명의 제 3 실시 예에 따른 단말의 구조를 도시하였다.
도 3l는 본 발명의 제 3 실시 예에 따른 무선 통신 시스템에서 TRP의 블록 구성을 도시한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명하기에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 이하 첨부된 도면을 참조하여 본 발명의 실시 예를 설명하기로 한다.
이하 설명에서 사용되는 접속 노드(node)를 식별하기 위한 용어, 망 객체(network entity)들을 지칭하는 용어, 메시지들을 지칭하는 용어, 망 객체들 간 인터페이스를 지칭하는 용어, 다양한 식별 정보들을 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 대상을 지칭하는 다른 용어가 사용될 수 있다.
이하 설명의 편의를 위하여, 본 발명은 3GPP LTE(3rd Generation Partnership Project Long Term Evolution) 규격에서 정의하고 있는 용어 및 명칭들을 사용한다. 하지만, 본 발명이 상기 용어 및 명칭들에 의해 한정되는 것은 아니며, 다른 규격에 따르는 시스템에도 동일하게 적용될 수 있다. 본 발명에서 eNB는 설명의 편의를 위하여 gNB와 혼용되어 사용될 수 있다. 즉 eNB로 설명한 기지국은 gNB를 나타낼 수 있다.
<제 1 실시 예>
도 1a는 본 발명이 적용될 수 있는 LTE 시스템의 구조를 도시하는 도면이다.
도 1a을 참조하면, 도시한 바와 같이 LTE 시스템의 무선 액세스 네트워크는 차세대 기지국(Evolved Node B, 이하 ENB, Node B 또는 기지국)(1a-05, 1a-10, 1a-15, 1a-20)과 MME (1a-25, Mobility Management Entity) 및 S-GW(1a-30, Serving-Gateway)로 구성된다. 사용자 단말(User Equipment, 이하 UE 또는 단말)(1a-35)은 ENB(1a-05 ~ 1a-20) 및 S-GW(1a-30)를 통해 외부 네트워크에 접속한다.
도 1a에서 ENB(1a-05 ~ 1a-20)는 UMTS 시스템의 기존 노드 B에 대응된다. ENB는 UE(1a-35)와 무선 채널로 연결되며 기존 노드 B 보다 복잡한 역할을 수행한다. LTE 시스템에서는 인터넷 프로토콜을 통한 VoIP(Voice over IP)와 같은 실시간 서비스를 비롯한 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스 되므로, UE들의 버퍼 상태, 가용 전송 전력 상태, 채널 상태 등의 상태 정보를 취합해서 스케줄링을 하는 장치가 필요하며, 이를 ENB(1a-05 ~ 1a-20)가 담당한다. 하나의 ENB는 통상 다수의 셀들을 제어한다. 예컨대, 100 Mbps의 전송 속도를 구현하기 위해서 LTE 시스템은 예컨대, 20 MHz 대역폭에서 직교 주파수 분할 다중 방식(Orthogonal Frequency Division Multiplexing, 이하 OFDM이라 한다)을 무선 접속 기술로 사용한다. 또한 단말의 채널 상태에 맞춰 변조 방식(modulation scheme)과 채널 코딩률(channel coding rate)을 결정하는 적응 변조 코딩(Adaptive Modulation & Coding, 이하 AMC라 한다) 방식을 적용한다. S-GW(1a-30)는 데이터 베어러를 제공하는 장치이며, MME(1a-25)의 제어에 따라서 데이터 베어러를 생성하거나 제거한다. MME는 단말에 대한 이동성 관리 기능은 물론 각종 제어 기능을 담당하는 장치로 다수의 기지국 들과 연결된다.
도 1b는 본 발명이 적용될 수 있는 LTE 시스템에서 무선 프로토콜 구조를 나타낸 도면이다.
도 1b를 참조하면, LTE 시스템의 무선 프로토콜은 단말과 ENB에서 각각 PDCP (Packet Data Convergence Protocol 1b-05, 1b-40), RLC (Radio Link Control 1b-10, 1b-35), MAC (Medium Access Control 1b-15, 1b-30)으로 이루어진다. PDCP (Packet Data Convergence Protocol)(1b-05, 1b-40)는 IP 헤더 압축/복원 등의 동작을 담당한다. PDCP의 주요 기능은 하기와 같이 요약된다.
- 헤더 압축 및 압축 해제 기능(Header compression and decompression: ROHC only)
- 사용자 데이터 전송 기능 (Transfer of user data)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs at PDCP re-establishment procedure for RLC AM)
- 순서 재정렬 기능(For split bearers in DC (only support for RLC AM): PDCP PDU routing for transmission and PDCP PDU reordering for reception)
- 중복 탐지 기능(Duplicate detection of lower layer SDUs at PDCP re-establishment procedure for RLC AM)
- 재전송 기능(Retransmission of PDCP SDUs at handover and, for split bearers in DC, of PDCP PDUs at PDCP data-recovery procedure, for RLC AM)
- 암호화 및 복호화 기능(Ciphering and deciphering)
- 타이머 기반 SDU 삭제 기능(Timer-based SDU discard in uplink.)
무선 링크 제어(Radio Link Control, 이하 RLC라고 한다)(1b-10, 1b-35)는 PDCP PDU(Packet Data Unit)를 적절한 크기로 재구성해서 ARQ 동작 등을 수행한다. RLC의 주요 기능은 하기와 같이 요약된다.
- 데이터 전송 기능(Transfer of upper layer PDUs)
- ARQ 기능(Error Correction through ARQ (only for AM data transfer))
- 접합, 분할, 재조립 기능(Concatenation, segmentation and reassembly of RLC SDUs (only for UM and AM data transfer))
- 재분할 기능(Re-segmentation of RLC data PDUs (only for AM data transfer))
- 순서 재정렬 기능(Reordering of RLC data PDUs (only for UM and AM data transfer)
- 중복 탐지 기능(Duplicate detection (only for UM and AM data transfer))
- 오류 탐지 기능(Protocol error detection (only for AM data transfer))
- RLC SDU 삭제 기능(RLC SDU discard (only for UM and AM data transfer))
- RLC 재수립 기능(RLC re-establishment)
MAC(1b-15, 1b-30)은 한 단말에 구성된 여러 RLC 계층 장치들과 연결되며, RLC PDU들을 MAC PDU에 다중화하고 MAC PDU로부터 RLC PDU들을 역다중화하는 동작을 수행한다. MAC의 주요 기능은 하기와 같이 요약된다.
- 맵핑 기능(Mapping between logical channels and transport channels)
- 다중화 및 역다중화 기능(Multiplexing/demultiplexing of MAC SDUs belonging to one or different logical channels into/from transport blocks (TB) delivered to/from the physical layer on transport channels)
- 스케쥴링 정보 보고 기능(Scheduling information reporting)
- HARQ 기능(Error correction through HARQ)
- 로지컬 채널 간 우선 순위 조절 기능(Priority handling between logical channels of one UE)
- 단말간 우선 순위 조절 기능(Priority handling between UEs by means of dynamic scheduling)
- MBMS 서비스 확인 기능(MBMS service identification)
- 전송 포맷 선택 기능(Transport format selection)
- 패딩 기능(Padding)
*물리 계층(1b-20, 1b-25)은 상위 계층 데이터를 채널 코딩 및 변조하고, OFDM 심벌로 만들어서 무선 채널로 전송하거나, 무선 채널을 통해 수신한 OFDM 심벌을 복조하고 채널 디코딩해서 상위 계층으로 전달하는 동작을 한다.
도 1c는 본 발명의 제 1 실시 예에 따른 차세대 이동통신 시스템의 구조를 도시하는 도면이다.
도 1c을 참조하면, 도시한 바와 같이 차세대 이동통신 시스템(이하 NR 혹은 5G)의 무선 액세스 네트워크는 차세대 기지국(New Radio Node B, 이하 NR gNB 혹은 NR 기지국)(1c-10) 과 NR CN (1c-05, New Radio Core Network)로 구성된다. 사용자 단말(New Radio User Equipment, 이하 NR UE 또는 단말)(1c-15)은 NR gNB(1c-10) 및 NR CN (1c-05)를 통해 외부 네트워크에 접속한다.
도 1c에서 NR gNB(1c-10)는 기존 LTE 시스템의 eNB (Evolved Node B)에 대응된다. NR gNB는 NR UE(1c-15)와 무선 채널로 연결되며 기존 노드 B 보다 더 월등한 서비스를 제공해줄 수 있다. 차세대 이동통신 시스템에서는 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스 되므로, UE들의 버퍼 상태, 가용 전송 전력 상태, 채널 상태 등의 상태 정보를 취합해서 스케줄링을 하는 장치가 필요하며, 이를 NR NB(1c-10)가 담당한다. 하나의 NR gNB는 통상 다수의 셀들을 제어한다. 현재 LTE 대비 초고속 데이터 전송을 구현하기 위해서 기존 최대 대역폭 이상을 가질 수 있고, 직교 주파수 분할 다중 방식(Orthogonal Frequency Division Multiplexing, 이하 OFDM이라 한다)을 무선 접속 기술로 하여 추가적으로 빔포밍 기술이 접목될 수 있다. 또한 단말의 채널 상태에 맞춰 변조 방식(modulation scheme)과 채널 코딩률(channel coding rate)을 결정하는 적응 변조 코딩(Adaptive Modulation & Coding, 이하 AMC라 한다) 방식을 적용한다. NR CN (1c-05)는 이동성 지원, 베어러 설정, QoS 설정 등의 기능을 수행한다. NR CN는 단말에 대한 이동성 관리 기능은 물론 각종 제어 기능을 담당하는 장치로 다수의 기지국 들과 연결된다. 또한 차세대 이동통신 시스템은 기존 LTE 시스템과도 연동될 수 있으며, NR CN이 MME (1c-25)와 네트워크 인터페이스를 통해 연결된다. MME는 기존 기지국인 eNB (1c-30)와 연결된다.
도 1d는 본 발명의 제 1 실시 예에 따른 차세대 이동통신 시스템의 무선 프로토콜 구조를 나타낸 도면이다. .
도 1d를 참조하면, 차세대 이동통신 시스템의 무선 프로토콜은 단말과 NR 기지국에서 각각 NR PDCP(1d-05, 1d-40), NR RLC(1d-10, 1d-35), NR MAC(1d-15, 1d-30)으로 이루어진다. NR PDCP (1d-05, 1d-40)의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
헤더 압축 및 압축 해제 기능(Header compression and decompression: ROHC only)
- 사용자 데이터 전송 기능 (Transfer of user data)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs)
- 비순차적 전달 기능 (Out-of-sequence delivery of upper layer PDUs)
- 순서 재정렬 기능(PDCP PDU reordering for reception)
- 중복 탐지 기능(Duplicate detection of lower layer SDUs)
- 재전송 기능(Retransmission of PDCP SDUs)
- 암호화 및 복호화 기능(Ciphering and deciphering)
- 타이머 기반 SDU 삭제 기능(Timer-based SDU discard in uplink.)
상기에서 NR PDCP 장치의 순서 재정렬 기능(reordering)은 하위 계층에서 수신한 PDCP PDU들을 PDCP SN(sequence number)을 기반으로 순서대로 재정렬하는 기능을 말하며, 재정렬된 순서대로 데이터를 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 순서를 고려하지 않고, 바로 전달하는 기능을 포함할 수 있으며, 순서를 재정렬하여 유실된 PDCP PDU들을 기록하는 기능을 포함할 수 있으며, 유실된 PDCP PDU들에 대한 상태 보고를 송신 측에 하는 기능을 포함할 수 있으며, 유실된 PDCP PDU들에 대한 재전송을 요청하는 기능을 포함할 수 있다.
NR RLC(1d-10, 1d-35)의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
- 데이터 전송 기능(Transfer of upper layer PDUs)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs)
- 비순차적 전달 기능(Out-of-sequence delivery of upper layer PDUs)
- ARQ 기능(Error Correction through ARQ)
- 접합, 분할, 재조립 기능(Concatenation, segmentation and reassembly of RLC SDUs)
- 재분할 기능(Re-segmentation of RLC data PDUs)
- 순서 재정렬 기능(Reordering of RLC data PDUs)
- 중복 탐지 기능(Duplicate detection)
- 오류 탐지 기능(Protocol error detection)
- RLC SDU 삭제 기능(RLC SDU discard)
- RLC 재수립 기능(RLC re-establishment)
상기에서 NR RLC 장치의 순차적 전달 기능(In-sequence delivery)은 하위 계층으로부터 수신한 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 말하며, 원래 하나의 RLC SDU가 여러 개의 RLC SDU들로 분할되어 수신된 경우, 이를 재조립하여 전달하는 기능을 포함할 수 있으며, 수신한 RLC PDU들을 RLC SN(sequence number) 혹은 PDCP SN(sequence number)를 기준으로 재정렬하는 기능을 포함할 수 있으며, 순서를 재정렬하여 유실된 RLC PDU들을 기록하는 기능을 포함할 수 있으며, 유실된 RLC PDU들에 대한 상태 보고를 송신 측에 하는 기능을 포함할 수 있으며, 유실된 RLC PDU들에 대한 재전송을 요청하는 기능을 포함할 수 있으며, 유실된 RLC SDU가 있을 경우, 유실된 RLC SDU 이전까지의 RLC SDU들만을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 유실된 RLC SDU가 있어도 소정의 타이머가 만료되었다면 타이머가 시작되기 전에 수신된 모든 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 유실된 RLC SDU가 있어도 소정의 타이머가 만료되었다면 현재까지 수신된 모든 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있다. 또한 상기에서 RLC PDU들을 수신하는 순서대로 (일련번호, Sequence number의 순서와 상관없이, 도착하는 순으로) 처리하여 PDCP 장치로 순서와 상관없이(Out-of sequence delivery) 전달할 수도 있으며, segment 인 경우에는 버퍼에 저장되어 있거나 추후에 수신될 segment들을 수신하여 온전한 하나의 RLC PDU로 재구성한 후, 처리하여 PDCP 장치로 전달할 수 있다. 상기 NR RLC 계층은 접합(Concatenation) 기능을 포함하지 않을 수 있고 상기 기능을 NR MAC 계층에서 수행하거나 NR MAC 계층의 다중화(multiplexing) 기능으로 대체할 수 있다.
상기에서 NR RLC 장치의 비순차적 전달 기능(Out-of-sequence delivery)은 하위 계층으로부터 수신한 RLC SDU들을 순서와 상관없이 바로 상위 계층으로 전달하는 기능을 말하며, 원래 하나의 RLC SDU가 여러 개의 RLC SDU들로 분할되어 수신된 경우, 이를 재조립하여 전달하는 기능을 포함할 수 있으며, 수신한 RLC PDU들의 RLC SN 혹은 PDCP SN을 저장하고 순서를 정렬하여 유실된 RLC PDU들을 기록해두는 기능을 포함할 수 있다.
NR MAC(1d-15, 1d-30)은 한 단말에 구성된 여러 NR RLC 계층 장치들과 연결될 수 있으며, NR MAC의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
- 맵핑 기능(Mapping between logical channels and transport channels)
- 다중화 및 역다중화 기능(Multiplexing/demultiplexing of MAC SDUs)
- 스케쥴링 정보 보고 기능(Scheduling information reporting)
- HARQ 기능(Error correction through HARQ)
- 로지컬 채널 간 우선 순위 조절 기능(Priority handling between logical channels of one UE)
- 단말간 우선 순위 조절 기능(Priority handling between UEs by means of dynamic scheduling)
- MBMS 서비스 확인 기능(MBMS service identification)
- 전송 포맷 선택 기능(Transport format selection)
- 패딩 기능(Padding)
*NR PHY 계층(1d-20, 1d-25)은 상위 계층 데이터를 채널 코딩 및 변조하고, OFDM 심벌로 만들어서 무선 채널로 전송하거나, 무선 채널을 통해 수신한 OFDM 심벌을 복조하고 채널 디코딩해서 상위 계층으로 전달하는 동작을 수행할 수 있다.
도 1e는 본 발명의 제 1 실시 예에 따른 단말이 RRC 유휴 모드(RRC idle mode)에서 RRC 연결 모드(RRC connected mode)로 전환하여 네트워크와 연결을 설정하는 절차를 설명한 도면이다.
도 1e에서 기지국은 RRC 연결 모드에서 데이터를 송수신하는 단말이 소정의 이유로 혹은 일정 시간 동안 데이터의 송수신이 없으면 RRCConnectionRelease 메시지를 단말에게 보내어 단말을 RRC 유휴모드로 전환하도록 할 수 있다(1e-01). 추후에 현재 연결이 설정되어 있지 않은 단말 (이하 idle mode UE)은 전송할 데이터가 발생하면 기지국과 RRC connection establishment과정을 수행한다. 단말은 랜덤 액세스 과정을 통해서 기지국과 역방향 전송 동기를 수립하고 RRCConnectionRequest 메시지를 기지국으로 전송한다 (1e-05). 상기 메시지에는 단말의 식별자와 연결을 설정하고자 하는 이유(establishmentCause) 등이 수납된다. 기지국은 단말이 RRC 연결을 설정하도록 RRCConnectionSetup 메시지를 전송한다(1e-10). 상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 혹은 베어러 별로 설정 정보를 포함하고 있으며, 각 베어러/로지컬 채널 별로 ROHC를 사용할지 여부, ROHC 설정 정보(예를 들면 ROHC 버전, 초기정보 등), statusReportRequired 정보(기지국이 단말에게 PDCP Status report를 지시하는 정보), drb-ContinueROHC 정보(ROHC 설정 정보를 유지하고 그대로 사용하라는 설정 정보로 MobilityControlInfo 메시지에 포함되어 전송될 수 있다), 핸드오버 시 재전송을 수행할 때 PDCP Status report를 받고 재전송하라는 지시자 (delayedRetransmission) 등을 포함할 수 있다. 또한 상기 메시지에는 RRC 연결 구성 정보 등이 수납된다. RRC 연결은 SRB (Signaling Radio Bearer)라고도 하며, 단말과 기지국 사이의 제어 메시지인 RRC 메시지 송수신에 사용된다. RRC 연결을 설정한 단말은 RRCConnetionSetupComplete 메시지를 기지국으로 전송한다 (1e-15). 상기 메시지에는 단말이 소정의 서비스를 위한 베어러 설정을 MME에게 요청하는 SERVICE REQUEST라는 제어 메시지가 포함되어 있다. 기지국은 RRCConnetionSetupComplete 메시지에 수납된 SERVICE REQUEST 메시지를 MME로 전송하고 (1e-20), MME는 단말이 요청한 서비스를 제공할지 여부를 판단한다. 판단 결과 단말이 요청한 서비스를 제공하기로 결정하였다면 MME는 기지국에게 INITIAL CONTEXT SETUP REQUEST라는 메시지를 전송한다(1e-25). 상기 메시지에는 DRB (Data Radio Bearer) 설정 시 적용할 QoS (Quality of Service) 정보, 그리고 DRB에 적용할 보안 관련 정보 (예를 들어 Security Key, Security Algorithm) 등의 정보가 포함된다. 기지국은 단말과 보안을 설정하기 위해서 SecurityModeCommand 메시지(1e-30)와 SecurityModeComplete 메시지(1e-35)를 교환한다. 보안 설정이 완료되면 기지국은 단말에게 RRCConnectionReconfiguration 메시지를 전송한다(1e-40). 상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 혹은 베어러 별로 설정 정보를 포함하고 있으며, 각 베어러/로지컬 채널 별로 ROHC를 사용할지 여부, ROHC 설정 정보(예를 들면 ROHC 버전, 초기정보 등), statusReportRequired 정보(기지국이 단말에게 PDCP Status report를 지시하는 정보), drb-ContinueROHC 정보(ROHC 설정 정보를 유지하고 그대로 사용하라는 설정 정보로 MobilityControlInfo 메시지에 포함되어 전송될 수 있다), 핸드오버 시 재전송을 수행할 때 PDCP Status report를 받고 재전송하라는 지시자 (delayedRetransmission) 등을 포함할 수 있다.또한 상기 메시지에는 사용자 데이터가 처리될 DRB의 설정 정보가 포함되며, 단말은 상기 정보를 적용해서 DRB를 설정하고 기지국에게 RRCConnectionReconfigurationComplete 메시지를 전송한다(1e-45). 단말과 DRB 설정을 완료한 기지국은 MME에게 INITIAL CONTEXT SETUP COMPLETE 메시지를 전송하고 (1e-50), 이를 수신한 MME는 S-GW와 S1 베어러를 설정하기 위해서 S1 BEARER SETUP 메시지와 S1 BEARER SETUP RESPONSE 메시지를 교환한다(1e-055, 1e-60). S1 베어러는 S-GW와 기지국 사이에 설정되는 데이터 전송용 연결이며 DRB와 1대 1로 대응된다. 상기 과정이 모두 완료되면 단말은 기지국과 S-GW를 통해 데이터를 송수신한다(1e-65, 1e-70). 이처럼 일반적인 데이터 전송 과정은 크게 RRC 연결 설정, 보안 설정, DRB설정의 3단계로 구성된다. 또한 기지국은 소정의 이유로 단말에게 설정을 새로 해주거나 추가하거나 변경하기 위해서 RRCConnectionReconfiguration 메시지를 전송할 수 있다(1e-75). 상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 혹은 베어러 별로 설정 정보를 포함하고 있으며, 각 베어러/로지컬 채널 별로 ROHC를 사용할지 여부, ROHC 설정 정보(예를 들면 ROHC 버전, 초기정보 등), statusReportRequired 정보(기지국이 단말에게 PDCP Status report를 지시하는 정보), drb-ContinueROHC 정보(ROHC 설정 정보를 유지하고 그대로 사용하라는 설정 정보로 MobilityControlInfo 메시지에 포함되어 전송될 수 있다), 핸드오버 시 재전송을 수행할 때 PDCP Status report를 받고 재전송하라는 지시자 (delayedRetransmission) 등을 포함할 수 있다.
도 1f는 본 발명의 제 1 실시 예에 따른 헤더 압축 프로토콜(ROHC, Robust Header Compression)을 설명하는 도면이다.
도 1f에서 1f-05와 1f-10에서 나타낸 것처럼 헤더 압축 프로토콜(ROHC)를 적용하는 이유는 IP 패킷의 헤더 오버헤드를 굉장히 많이 줄일 수 있기 때문이다. 예를 들면 IPv6 헤더를 쓴다고 가정할 때 60바이트의 크기를 갖는 IP 헤더(1f-05)가 2 바이트 혹은 4바이트 크기를 갖는 헤더(1f-10)로 압축이 가능하다. ROHC 프로토콜의 헤더 압축 방법은 압축 코딩이나 소스 코딩을 사용하는 방법이 아니다. 즉, ROHC 프로토콜에서 헤더를 압축하는 방법은 먼저 IP 헤더의 전체 헤더 정보(소스 IP 주소, 목적지 IP 주소, TCP/IP 일련번호 등)와 ROHC 프로토콜의 설정 정보(CID (Context Identifier), 등)를 송신 PDCP 장치와 수신 PDCP 장치가 공유를 한다. 상기 전체 정보는 IR(Initialization and Refresh state packet) 패킷에 포함되어 전송되며, 송신 PDCP 장치가 이를 PDCP data PDU에 실어서(piggybacking) 수신 PDCP 장치로 전송하고, 수신 PDCP 장치는 이를 수신하여 공유한다. 이 공유된 정보 중에 대부분은 연결 재설정까지 변하지 않는 고정된 정보(소스 IP 주소, 목적지 IP 주소 등)이며, 동적으로 변하는 정보(CID (Context Identifier), TCP/IP 일련번호 등)는 일부만이 있다. 따라서 한번 전체 헤더 정보와 ROHC 프로토콜 설정 정보를 공유한 후에는 송신 PDCP 장치는 동적으로 변경되는 정보만을 수신 PDCP 장치로 전송하게 된다. 따라서 IP 헤더의 전체 정보를 전송하지 않고, 변경된 정보만을 전송함으로써, 헤더 오버헤드를 줄여 압축해서 전송하게 되는 것이다. 따라서 상기 IR 패킷을 수신 PDCP 장치가 정상적으로 수신하여야만 ROHC 프로토콜이 정상적으로 동작할 수 있다.
헤더 압축 프로토콜은 PDCP 계층 장치에서 적용될 수 있으며, 송신단 PDCP 계층 장치(1f-15)와 수신단 PDCP 계층 장치(1f-20) 간에 전체 IP 헤더 정보와 ROHC 프로토콜 정보를 공유하고 동기화하지 않으면 ROHC 프로토콜을 정상적으로 사용할 수 없다. 즉, 송신단에서 IP 헤더를 압축해서 전송해도 수신단에서 이를 압축해제하지 못한다.
따라서 송신 PDCP 장치의 ROHC(1f-15)는 먼저 전체 IP 헤더 정보와 ROHC 프로토콜 정보를 포함한 IR 패킷(1f-25)을 수신단으로 전송하고, 수신 PDCP 장치는 이를 수신하고 1f-35와 같이 1f-15와 동기화를 완료한다. 그리고 그 이후에 IP 패킷에 대해서는 ROHC 프로토콜이 헤더를 압축하여 전송한다(1f-30). 그리고 수신단 PDCP 장치는 ROHC 압축 헤더를 압축해제하는 절차를 수행한다(1f-35).
도 1g는 본 발명의 제 1 실시 예에 따른 송신 PDCP 계층 장치와 수신 PDCP 계층 장치의 데이터 처리 과정을 설명하는 도면이다.
송신 PDCP 계층 장치에 IP 패킷이 도착하면(1g-05) PDCP 계층 장치는 ROHC 프로토콜을 사용하는 경우, IP 헤더에 대해서 헤더 압축을 수행하고(1g-10) 제어 평면 데이터의 경우(control plane data 혹은 SRB)에 대해서는 무결성 보호를 수행한다(1g-15). 그리고 상기 데이터에 대해서 보안키와 COUNT값을 이요하여 암호화를 수행한다(1g-20). 그리고 PDCP 일련번호를 할당하고, 데이터(제어 평면 데이터 혹은 사용자 평면 데이터)에 상응하는 헤더 필드를 구성하고, 헤더를 상기 암호화된 데이터에 붙여 하위 계층으로 전달한다.
수신 PDCP 계층 장치는 하위 계층으로부터 PDCP PDU를 수신하면 PDCP 헤더의 PDCP 일련번호와 헤더 필드들을 읽어 들이고, 헤더를 제거한다(1g-30). 그리고 상기 헤더가 제거된 데이터에 대해서 보안키와 COUNT 값을 이용하여 복호화를 수행한다(1g-35). 그리고 제어 평면 데이터의 경우(control plane data 혹은 SRB)에 대해서는 무결성 검증을 수행한다(1g-40). 그리고 ROHC 프로토콜에 의해서 헤더가 압축되었다면 헤더 압축을 해제하고 원래 IP 헤더를 복원한다(1g-45). 그리고 복원된 IP 패킷을 상위 계층으로 전달한다(1g-50).
도 1h는 본 발명의 제 1 실시 예에 따른 차세대 이동 통신 시스템에서의 핸드오버 수행 과정을 설명하기 위한 도면이다.
연결 모드 상태인 단말 (1h-01)은 현재 소스 기지국(Source eNB, 1h-02)에게 주기적 혹은 특정 이벤트가 만족할 때, 셀 측정 정보 (Measurement Report)를 보고한다 (1h-05). 상기 소스 기지국은 상기 측정 정보를 토대로, 상기 단말이 인접 셀로 핸드오버(Handover)를 진행할지 여부를 결정한다. 핸드오버는 연결 모드 상태인 단말에게 서비스를 제공하는 소스 기지국을 다른 기지국(혹은 같은 기지국의 다른 셀)으로 변경하는 기술이다. 소스 기지국이 핸드오버를 결정하였다면 상기 소스 기지국은 상기 단말에게 서비스를 제공할 새로운 기지국, 즉 타겟 기지국(Traget eNB, 1h-03)에게 HO(Handover) request 메시지를 보내어 핸드오버를 요청한다(1h-10). 상기 타겟 기지국이 상기 핸드오버 요청을 수락한다면 소스 기지국에게 HO request Ack 메시지를 전송한다(1h-15). 상기 메시지를 수신한 상기 소스 기지국은 단말에게 HO command 메시지를 전송한다(1h-20). 상기 HO command 메시지는 소스 기지국이 상기 단말에게 RRC Connection Reconfiguration 메시지를 이용하여 전달된다(1h-20). 단말은 상기 메시지를 수신하면 소스 기지국과의 데이터 송수신을 중지하고 T304 타이머를 시작한다. T304는 소정의 시간동안 단말이 타겟 기지국에게 핸드오버를 성공하지 못할 경우, 단말의 원래 설정으로 되돌리고 RRC Idle 상태로 전환하도록 한다. 소스 기지국은 상향/하향 링크 데이터에 대한 일련 번호 상태(Sequence number(SN) status)를 전달하고 하향 링크 데이터가 있다면 타겟 기지국으로 전달해준다(1h-30, 1h-35). 상기 단말은 소스 기지국으로부터 지시받은 타겟 셀로 랜덤 엑세스 (Random Access)를 시도한다 (1h-40). 랜덤 엑세스는 타겟 셀에게 상기 단말이 핸드오버를 통해, 이동한다는 것을 알림과 동시에, 상향링크 동기를 맞추기 위함이다. 상기 랜덤 엑세스를 위해, 상기 단말은 상기 소스 기지국으로부터 제공받은 프리엠블 ID 혹은 랜덤하게 선택된 프리엠블 ID에 대응되는 프리엠블을 상기 타겟 셀에게 전송한다. 프리엠블 전송 후, 특정 수의 서브프레임이 지난 후, 상기 단말은 상기 타겟 셀로부터 랜덤 엑세스 응답 메시지 (Random Access Response, RAR)가 전송되는지 여부를 모니터링한다. 상기 모니터링하는 시간 구간을 랜덤 엑세스 응답 윈도우 (Random Access Response Window, RAR window)라고 칭한다. 상기 특정 시간 동안, RAR이 수신되면 (1h-45). 상기 단말은 HO complete 메시지를 RRCConnectionReconfigurationComplete 메시지로 상기 타겟 기지국에게 전송한다(1h-55). 상기와 같이 타겟 기지국으로부터 랜덤 액세스 응답을 성공적으로 수신하면 단말은 T304 타이머를 종료한다(1h-50). 타겟 기지국은 소스 기지국으로 설정되어 있던 베어러들의 경로를 수정하기 위해 경로 수정을 요청하고(1h-60, 1h-65) 소스 기지국으로 상기 단말의 UE 컨텍스트를 삭제할 것을 통보한다(1h-70). 따라서 상기 단말은 타겟 기지국에 대해, RAR window 시작 시점부터 데이터 수신을 시도하며, RAR 수신 이후, RRCConnectionReconfigurationComplete 메시지를 전송하면서 상기 타겟 기지국으로 전송을 시작한다.
도 1ia 및 도 1ib는 상기 도 1h와 같은 핸드오버 절차에서 송신단과 수신단 PDCP 계층 장치들이 ROHC 프로토콜을 사용하고 있을 때 수신단 PDCP 계층 장치에서 압축 해제 에러가 발생하는 시나리오를 설명한 도면이다.
도 1ia 및 도 1ib에서 단말은 소스 기지국과 연결을 설정하고, 데이터를 송신하기 전에 ROHC 프로토콜을 사용하기로 기지국으로부터 설정을 받았다면(도 1e의 1e-10, 1e-40, 1e-75와 같은 RRC 메시지로 설정 가능) 단말은 베어러 설정 및 ROHC 프로토콜 설정을 완료하고, IR 패킷을 구성하여 이를 전송하고, 수신단 PDCP 장치는 이를 수신하여 ROHC 프로토콜을 송신단과 동기화한다. 즉, IP 패킷 헤더의 전체 헤더 정보와 ROHC 프로토콜 관련 설정 정보를 확인하고 저장하여 ROHC 프로토콜로 압축된 헤더를 압축 해제하는 데 사용한다(1i-05).
상기 1i-05에서 송신단 PDCP 장치의 ROHC 프로토콜과 수신단 PDCP 장치의 ROHC 프로토콜이 동기화가 완료되어 송신단에서 ROHC 프로토콜로 IP 패킷 헤더를 압축하여 전송한 데이터들을 수신단 ROHC 프로토콜이 압축해제하고 복원하여 상위 계층으로 전달할 수 있게 된다.
상기 시나리오에 만약 단말이 PDCP 일련번호, 1, 2, 3, 4, 5, 6에 해당하는 데이터를 기지국으로 전송하였고, 실제로 기지국은 PDCP 일련번호 1을 성공적으로 수신하고 그 다음으로 PDCP 일련번호 2, 3, 4만을 성공적으로 수신하였고, PDCP 일련번호 1번에 해당하는 RLC ACK를 단말이 수신하였다고 가정하자(1i-15).
상기 시나리오에서 단말이 핸드오버 명령을 소스 기지국으로부터 수신하면, 단말은 PDCP 장치를 재수립한다(PDCP re-establishment). 상기에서 PDCP 장치를 재수립한다는 의미는 ROHC 프로토콜을 reset하고, 하위 계층으로부터 ACK를 확인 받지 못한 첫 번째 PDCP 일련번호부터 시작해서 연속하여 재전송을 타겟 기지국에게 수행한다. 그리고 소스 기지국은 단말로부터 수신한 데이터들을 타겟 기지국에게 전달하여 준다(1i-20). 상기에서 타겟 기지국도 단말에 상응하는 PDCP 장치에 대해서 ROHC 프로토콜을 새로 설정하기 때문에 단말의 PDCP 장치의 ROHC 프로토콜과 동기화가 이루어지지 않았다.
상기 시나리오에서 단말은 타겟 기지국으로 연결 설정을 완료하고, PDCP 장치의 ROHC 프로토콜과 타겟 기지국의 PDCP 장치의 ROHC 프로토콜을 동기화 하기 위해서 전체 헤더 정보와 ROHC 프로토콜 설정 정보를 포함한 IR 패킷을 구성하여 하위 계층으로부터 ACK를 확인 받지 못한 첫 번째 PDCP 일련번호인 2번 데이터에 IR 패킷을 실어서(piggybacking) 전송하고, PDCP 일련번호, 3, 4, 5, 6도 재전송을 수행한다(1i-25). 상기에서 PDCP 일련번호 3, 4, 5, 6에 해당하는 IP 패킷들의 IP 헤더는 ROHC 프로토콜로 압축되었을 수 있다.
하지만 타겟 기지국에서는 이미 PDCP 일련번호 1, 2, 3, 4번에 대한 데이터를 수신하였었기 때문에(소스 기지국으로부터 전달 받음) 중복 패킷으로 간주하여 바로 폐기하게 된다(또한 상기에서 중복된 패킷이 아니라 만료한 패킷에 대해서 같은 문제가 발생할 수 있다). 따라서 상기에서 IR 패킷이 유실되기 때문에 타겟 기지국의 PDCP 계층 장치의 ROHC 프로토콜은 단말의 PDCP 계층 장치의 ROHC 프로토콜과 동기화가 되지 않았기 때문에 그 이후로 ROHC 프로토콜로 압축되어서 수신된 데이터들에 대해서 압축 해제를 수행할 수 없어서 압축 해제 에러가 발생하게 된다. 이렇게 되면 수신단 PDCP 계층 장치의 ROHC 프로토콜은 동기화를 수행하기 위해서 ROHC 피드백을 전송하게 되고, 이러한 과정에서 딜레이가 발생하게 된다.
도 1j는 이동 통신 시스템에서 상기 도 1ia 및 도 1ib에서와 같은 문제를 해결하기 위한 제 1-1 실시 예를 설명한 도면이다.
도 1j에서 단말은 기지국으로부터 핸드오버 명령을 수신하고, PDCP 재수립 절차를 수행하고 핸드오버를 타겟 기지국으로 수행한 후에 하위 계층으로부터 ACK가 확인 되지 않은 첫 번째 PDCP PDU부터 재전송을 수행하지 않고, 먼저 PDCP status report를 기다린다. 즉, 기지국은 핸드오버 명령을 전송할 때 PDCP status report를 함께 전달하여 주거나, 소정의 시간 이후에 보내줄 수 있다. 상기 PDCP Status report를 수신하면 단말은 타겟 기지국에게 수신되지 않은 새로운 데이터를 전송하고, 새로운 데이터에 IR 패킷을 실어서 전송하기 때문에 타겟 기지국이 이를 폐기하지 않고, 정상적으로 수신할 수 있다. 즉, 핸드오버 명령을 수신하였을 때(RRC Connection Reconfiguration 메시지를 수신하였을 때) 단말은 선택적 재전송(selective retransmission)을 수행한다.
상기 본 발명의 제 1-1 실시 예를 수행하는 구체적인 절차 제 1-1a 실시 예의 송신단 및 수신단 PDCP 장치의 재수립 절차는 다음과 같다.
<PDCP 장치 재수립 절차 (PDCP entity re-establishment)>
상위 계층에서 PDCP 장치 재수립을 요청할 때, 송신 PDCP 계층 장치는 다음과 같이 동작한다.
- UM DRB의 경우, (예를 들어 핸드오버 명령 메시지, 즉 RRC Connection Reconfiguration 메시지의 MobilityControlInfo에 drb-ContinuROHC가 포함되어 있음. 보통 소스 기지국 내의 다른 셀로 핸드오버시 설정한다.) drb-ContinuROHC가 설정되지 않았다면 상향 링크에 대해서 헤더 압축 프로토콜(ROHC)을 리셋하고, U 모드의 IR 상태에서 시작한다.
- AM DRB의 경우, 핸드오버 명령 메시지에 단말 연결 설정 정보(UE AS context)를 유지하라고 지시하고drb-ContinuROHC가 설정된 경우를 제외하고 만약 헤더 압축 프로토콜이 설정되었다면, 상향 링크에 대해서 헤더 압축 프로토콜(ROHC)을 리셋하고, U 모드의 IR 상태에서 시작한다.
- UM DRB와 SRB의 경우, TX_NEXT 변수를 초기값으로 설정한다(TX_NEXT는 송신 PDCP 장치에서 다음에 전송할 PDCP SDU에 대한 COUNT 값을 나타낸다. TX_NEXT: This state variable indicates the COUNT value of the next PDCP SDU to be transmitted. The initial value is 0.)
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
- UM DRB의 경우, 이미 PDCP 일련번호가 할당되었지만 하위 계층으로 아직 전달되지 않은 PDCP SDU들에 대해서 다음과 같이 처리한다.
■ 상기 PDCP SDU들을 상위 계층으로부터 수신한 것처럼 처리한다.
■ 상기 PDCP SDU들을 PDCP 재수립 절차 전에 할당된COUNT 값 순서대로 전송을 수행하고, PDCP discard timer는 재시작하지 않는다.
- AM DRB의 경우, 헤더 압축 프로토콜(ROHC)가 설정되어 있고, (예를 들어 핸드오버 명령 메시지에서) drb-ContinueROHC 가 설정되어 있지 않았다면, PDCP Status report를 수신한 후에 성공적으로 수신되지 않은 PDCP SDU들에 대해서 재전송 및 전송을 수행하고, COUNT 값 순서대로 다음 절차를 수행한다.
■ 상기 PDCP SDU에 대해서 헤더 압축을 수행한다.
■ 상기 PDCP SDU에 해당하는 COUNT 값을 사용해서 암호화를 수행한다.
■ 상기 절차를 수행한 결과적인 PDCP data PDU를 하위 계층으로 전달한다.
- AM DRB의 경우, 상기 경우가 아니라면 하위 계층으로부터 성공적으로 전달되었다는 것이 확인되지 않은 첫 번째 PDCP SDU부터 PDCP 재수립 절차 전에 할당된 COUNT 값 순서대로 재전송 혹은 전송을 수행하고 다음 절차를 수행한다.
■ 상기 PDCP SDU에 대해서 헤더 압축을 수행한다.
■ 상기 PDCP SDU에 해당하는 COUNT 값을 사용해서 암호화를 수행한다.
■ 상기 절차를 수행한 결과적인 PDCP data PDU를 하위 계층으로 전달한다.
상위 계층에서 PDCP 장치 재수립을 요청할 때, 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- SRB의 경우, 모든 저장된 PDCP SDU들과 PDCP PDU들을 폐기한다.
- UM DRB의 경우, drb-ContinueROHC가 설정되어 있지 않다면 하향 링크에 대해서 헤더 압축 프로토콜을 리셋하고, U 모드의 NC 상태에서 시작한다.
- UM DRB의 경우, RX_NEXT와 RX_REORD 변수를 초기 값으로 설정한다.
- SRB의 경우, 모든 저장된 PDCP SDU들과 PDCP PDU들을 폐기한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
When upper layers request a PDCP entity re-establishment, the transmitting PDCP entity shall:
- for UM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode if drb-ContinueROHC is not configured;
- for AM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode (if header compression protocol is configured and drb-Continue ROHC is not configured), except if upper layers indicate stored UE AS context is used and drb-ContinueROHC is configured;
- for UM DRBs and SRBs, set TX_NEXT to the initial value;
- for SRBs, discard all stored PDCP SDUs and PDCP PDUs;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- for UM DRBs, for each PDCP SDU already associated with a PDCP SN but for which a corresponding PDU has not previously been submitted to lower layers:
- consider the PDCP SDUs as received from upper layer;
- perform transmission of the PDCP SDUs in ascending order of the COUNT value associated to the PDCP SDU prior to the PDCP re-establishment without restarting the discardTimer.
- for AM DRBs, if header compression protocol is configured and drb-ContinueROHC is not configured, after receiving PDCP status report, perform retransmission or transmission of PDCP SDUs for which the successful delivery has not been confirmed by PDCP status report and already associated with COUNT(or PDCP SN) in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below;
- perform header compression of the PDCP SDU;
- perform ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU;
- submit the resulting PDCP Data PDU to lower layer.
- for AM DRBs, otherwise, from the first PDCP SDU for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by lower layers, perform retransmission or transmission of all the PDCP SDUs already associated with PDCP SNs in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below:
- perform header compression of the PDCP SDU;
- perform ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU;
- submit the resulting PDCP Data PDU to lower layer.
When upper layers request a PDCP entity re-establishment, the receiving PDCP entity shall:
- for SRBs, discard all stored PDCP SDUs and PDCP PDUs
- for UM DRBs, reset the header compression protocol for downlink and start with NC state in U-mode if drb-ContinueROHC is not configured;
- for UM DRBs and SRBs, set RX_NEXT and RX_REORD to the initial value;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure.
상기 본 발명의 제 1-1 실시 예를 수행하는 구체적인 절차 제 1-1a 실시 예의 수신단 PDCP 장치의 수신 패킷 처리 절차는 다음과 같다.
<수신 PDCP 장치의 수신 패킷 처리 동작(Receive operation)>
수신 PDCP 장치의 수신 패킷 처리 동작에서 사용되는 윈도우 상태 변수들은 다음과 같으며 윈도우 상태 변수들은 COUNT 값을 유지한다.
- HFN : 윈도우 상태 변수의 HFN(Hyper Frame Number) 부분을 나타낸다.
- SN : 윈도우 상태 변수의 일련번호(SN, Sequence Number) 부분을 나타낸다.
- RCVD_SN : 수신한 PDCP PDU의 헤더에 포함되어 있는 PDCP 일련번호
- RCVD_HFN : 수신 PDCP 계층 장치가 계산한 수신한 PDCP PDU의 HFN 값
- RCVD_COUNT : 수신한 PDCP PDU의 COUNT 값 = [RCVD_HFN, RCVD_SN].
- RX_NEXT : 수신할 것이라고 예상되는 다음 PDCP SDU의 COUNT 값을 나타낸다. 초기값은 0이다.
- RX_DELIV : 상위 계층으로 전달된 마지막 PDCP SDU의 COUNT 값을 나타낸다. 초기값은 2^32 -1이다.
- RX_REORD : t-Reordering 타이머를 트리거링했던 PDCP PDU에 해당하는 COUNT 값의 다음 COUNT 값을 나타낸다.
- t-Reordering : 상위 계층(RRC 계층, RRC 메시지로 설정, 도 1e의 1e-10, 1e-40. 1e-75)에서 설정된 타이머 값 혹은 구간을 사용. 상기 타이머는 유실된 PDCP PDU를 탐지하기 위해서 사용되고, 오로지 한번에 하나의 타이머만 구동된다.
In this section, following definitions are used:
- HFN(State Variable): the HFN part (i.e. the number of most significant bits equal to HFN length) of the State Variable.
- SN(State Variable): the SN part (i.e. the number of least significant bits equal to PDCP SN length) of the State Variable.
- RCVD_SN: the PDCP SN of the received PDCP Data PDU, included in the PDU header.
- RCVD_HFN: the HFN of the received PDCP Data PDU, calculated by the receiving PDCP entity.
- RCVD_COUNT: the COUNT of the received PDCP Data PDU = [RCVD_HFN, RCVD_SN].
- RX_NEXT: This state variable indicates the COUNT value of the next PDCP SDU expected to be received. The initial value is 0.
- RX_DELIV: This state variable indicates the COUNT value of the last PDCP SDU delivered to the upper layers. The initial value is 232-1.
- RX_REORD: This state variable indicates the COUNT value following the COUNT value associated with the PDCP Data PDU which triggered t-Reordering.
- t-Reordering: The duration of the timer is configured by upper layers . This timer is used to detect loss of PDCP Data PDUs If t-Reordering is running, t-Reordering shall not be started additionally, i.e. only one t-Reordering per receiving PDCP entity is running at a given time.
<하위 계층으로부터 PDCP PDU를 수신하였을 때 동작>(Actions when a PDCP Data PDU is received from lower layers)
도 1ja를 참조하면, 하위 계층으로부터 PDCP PDU를 수신하였을 때 수신 PDCP 계층 장치는 수신한 PDCP PDU의 COUNT 값을 다음과 같이 결정한다. 그리고 PDCP PDU의 COUNT 값을 결정하고 PDCP PDU를 처리하고 윈도우 상태 변수들을 업데이트하는 절차도 도 1ja를 참조하여 하기와 같이 동작한다.
- 만약 수신한 RCVD_SN이 RCVD_SN <= SN(RX_DELIV) - Window_Size 이라면
■ RCVD_HFN = HFN(RX_DELIV) + 1 로 업데이트 한다.
- 그렇지 않고 만약 RCVD_SN이 RCVD_SN > SN(RX_DELIV) + Window_Size이라면
■ RCVD_HFN = HFN(RX_DELIV) - 1로 업데이트 한다.
- 상기의 경우가 아니라면
■ RCVD_HFN = HFN(RX_DELIV) 로 업데이트 한다.
*- RCVD_COUNT 은 RCVD_COUNT = [RCVD_HFN, RCVD_SN] 와 같이 결정된다.
At reception of a PDCP Data PDU from lower layers, the receiving PDCP entity shall determine the COUNT value of the received PDCP Data PDU, i.e. RCVD_COUNT, as follows:
- if RCVD_SN <= SN(RX_DELIV) - Window_Size:
- RCVD_HFN = HFN(RX_DELIV) + 1;
- else if RCVD_SN > SN(RX_DELIV) + Window_Size:
- RCVD_HFN = HFN(RX_DELIV) - 1;
- else:
- RCVD_HFN = HFN(RX_DELIV);
- RCVD_COUNT = [RCVD_HFN, RCVD_SN].
수신한 PDCP PDU의 COUNT 값을 결정하고 나면 수신 PDCP 계층 장치는 다음과 같이 윈도우 상태 변수들을 업데이트하고 PDCP PDU를 처리한다.
- 만약 RCVD_COUNT <= RX_DELIV 이거나 혹은 RCVD_COUNT의 값을 갖는 PDCP PDU가 이전에 수신된 적이 있다면
■ 상기 RCVD_COUNT 값을 사용하여 상기 PDCP PDU에 대해서 복호화를 수행하고, 무결성 검증을 수행한다.
◆ 만약 무결성 검증에 실패했다면
● 상위 계층의 무결성 검증 실패를 지시한다.
◆ 상기 PDCP PDU를 폐기한다.
- 그 외의 경우에 대해서는 다음의 동작을 수행한다.
■ 상기 RCVD_COUNT 값을 사용하여 상기 PDCP PDU에 대해서 복호화를 수행하고, 무결성 검증을 수행한다.
◆ 만약 무결성 검증에 실패했다면
● 상위 계층의 무결성 검증 실패를 지시한다.
● 상기 PDCP PDU를 폐기한다.
After determining the COUNT value of the received PDCP Data PDU = RCVD_COUNT, the receiving PDCP entity shall:
- if RCVD_COUNT <= RX_DELIV; or
- if the PDCP Data PDU with COUNT = RCVD_COUNT has been received before:
- perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;
- if integrity verification fails:
- indicate the integrity verification failure to upper layer;
- discard the PDCP Data PDU;
- else:
- perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;
- if integrity verification fails:
- indicate the integrity verification failure to upper layer;
- discard the PDCP Data PDU;
만약 상기에서 수신한 PDCP PDU가 버려지지 않았다면 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- 상기에서 처리된 PDCP SDU를 수신 버퍼에 저장한다.
- 만약 RCVD_COUNT >= RX_NEXT라면
■ RX_NEXT를 RCVD_COUNT + 1 로 업데이트한다.
- 만약 RCVD_COUNT가 RX_DELIV + 1이라면]
■ 헤더 압축 해제를 수행한 후에 COUNT 값 순서대로 상위 계층에 전달한다.
◆ COUNT = RX_DELIV + 1 부터 시작해서 연속적인 PDCP SDU들을 모두 상위 계층으로 전달한다.
■ RX_DELIV 값을 상위 계층으로 전달한 마지막 PDCP SDU 의 COUNT 값으로 업데이트한다.
- 만약 비순서 전달 지시자(outOfOrderDelivery)가 설정되었고, 상기 처리된 PDCP SDU가 상위 계층으로 전달되지 않았다면
■ 상기 PDCP SDU를 상위 계층으로 전달한다.
- 만약 t-Reordering 타이머가 구동되고 있고, COUNT 값이 RX_REORD - 1 인 PDCP SDU가 상위 계층으로 전달되었다면
■ t-Reordering 타이머를 중지하고 리셋한다.
- 만약 t-Reordering 타이머가 구동되고 있지 않고(상기 조건에서 중지된 경우도 포함하여) 적어도 하나의 PDCP SDU가 버퍼에 남아있다면
■ RX_REORD 값을 RX_NEXT로 업데이트 한다.
■ t-Reordering 타이머를 시작한다.
If the received PDCP Data PDU with COUNT value = RCVD_COUNT is not discarded above, the receiving PDCP entity shall:
- store the resulting PDCP SDU in the reception buffer;
- if RCVD_COUNT >= RX_NEXT:
- update RX_NEXT to RCVD_COUNT + 1;
- if RCVD_COUNT = RX_DELIV + 1:
- deliver to upper layers in ascending order of the associated COUNT value after performing header decompression;
- all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from COUNT = RX_DELIV + 1;
- update RX_DELIV to the COUNT value of the last PDCP SDU delivered to upper layers;
- if outOfOrderDelivery is configured and the resulting PDCP SDU has not been delivered to upper layers:
- deliver the resulting PDCP SDU to upper layers;
- if t-Reordering is running, and if the PDCP SDU with COUNT = RX_REORD -1 has been delivered to upper layers:
- stop and reset t-Reordering;
- if t-Reordering is not running (includes the case when t-Reordering is stopped due to actions above), and if there is at least one stored PDCP SDU:
- update RX_REORD to RX_NEXT;
- start t-Reordering.
<t-Reordering 타이머가 만료했을 때 수신 PDCP 계층 장치 동작>(Actions when a t-Reordering expires)
t-Reordering 타이머가 만료하였을 때 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- 헤더 압축 해제를 수행한 후에 COUNT 값의 순서대로 상위 계층으로 전달한다.
■ RX_REORD 값보다 작은 COUNT 값들을 가지는 모든 PDCP SDU들을 전달한다.
■ RX_REORC 값부터 시작해서 연속적인 COUNT 값들을 가지는 모든 PDCP SDU들을 전달한다.
- RX_DELIV 값을 상위 계층으로 전달한 마지막 PDCP SDU의 COUNT값으로 업데이트한다.
- 만약 적어도 하나의 PDCP SDU가 버퍼에 저장되어 있다면
■ RX_REORD 값을 RX_NEXT 값으로 업데이트한다.
■ t-Reordering 타이머를 시작한다.
When t-Reordering expires, the receiving PDCP entity shall:
- deliver to upper layers in ascending order of the associated COUNT value after performing header decompression:
- all stored PDCP SDU(s) with associated COUNT value(s) < RX_REORD;
- all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from RX_REORD;
- update RX_DELIV to the COUNT value of the last PDCP SDU delivered to upper layers;
- if there is at least one stored PDCP SDU:
- update RX_REORD to RX_NEXT;
- start t-Reordering.
상기 본 발명의 제 1-1 실시 예를 수행하는 구체적인 절차 제 1-1b 실시 예의 송신단 및 수신단 PDCP 장치의 재수립 절차는 다음과 같다. 제 1-1b 실시 예에서는 기지국에서 RRC 메시지(도 1e의 1e-10, 1e-40, 1e-75)로 혹은 핸드오버 명령 메시지(RRC Connection Reconfiguration 메시지, 도 1h의 도 1h-20)에서 핸드오버시 재전송을 수행할 때 PDCP status report 받아보고 재전송하라는 지시자(delayedRetransmission)를 새로 정의하고 이를 포함하여 전송할 수 있다.
<PDCP 장치 재수립 절차 (PDCP entity re-establishment)>
상위 계층에서 PDCP 장치 재수립을 요청할 때, 송신 PDCP 계층 장치는 다음과 같이 동작한다.
- UM DRB의 경우, (예를 들어 핸드오버 명령 메시지, 즉 RRC Connection Reconfiguration 메시지의 MobilityControlInfo에 drb-ContinuROHC가 포함되어 있음. 보통 소스 기지국 내의 다른 셀로 핸드오버시 설정한다.) drb-ContinuROHC가 설정되지 않았다면 상향 링크에 대해서 헤더 압축 프로토콜(ROHC)을 리셋하고, U 모드의 IR 상태에서 시작한다.
- AM DRB의 경우, 핸드오버 명령 메시지에 단말 연결 설정 정보(UE AS context)를 유지하라고 지시하고drb-ContinuROHC가 설정된 경우를 제외하고 만약 헤더 압축 프로토콜이 설정되었다면, 상향 링크에 대해서 헤더 압축 프로토콜(ROHC)을 리셋하고, U 모드의 IR 상태에서 시작한다.
- UM DRB와 SRB의 경우, TX_NEXT 변수를 초기값으로 설정한다(TX_NEXT는 송신 PDCP 장치에서 다음에 전송할 PDCP SDU에 대한 COUNT 값을 나타낸다. TX_NEXT: This state variable indicates the COUNT value of the next PDCP SDU to be transmitted. The initial value is 0.)
- SRB의 경우, 모든 저장된 PDCP SDU들과 PDCP PDU들을 폐기한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
- UM DRB의 경우, 이미 PDCP 일련번호가 할당되었지만 하위 계층으로 아직 전달되지 않은 PDCP SDU들에 대해서 다음과 같이 처리한다.
■ 상기 PDCP SDU들을 상위 계층으로부터 수신한 것처럼 처리한다.
■ 상기 PDCP SDU들을 PDCP 재수립 절차 전에 할당된COUNT 값 순서대로 전송을 수행하고, PDCP discard timer는 재시작하지 않는다.
- AM DRB의 경우, 만약 delayedRetransmission이 설정되어 있다면PDCP Status report를 수신한 후에 성공적으로 수신되지 않은 PDCP SDU들에 대해서 재전송 및 전송을 수행하고, COUNT 값 순서대로 다음 절차를 수행한다.
■ 상기 PDCP SDU에 대해서 헤더 압축을 수행한다.
■ 상기 PDCP SDU에 해당하는 COUNT 값을 사용해서 암호화를 수행한다.
■ 상기 절차를 수행한 결과적인 PDCP data PDU를 하위 계층으로 전달한다.
- AM DRB의 경우, 상기 경우가 아니라면 하위 계층으로부터 성공적으로 전달되었다는 것이 확인되지 않은 첫 번째 PDCP SDU부터 PDCP 재수립 절차 전에 할당된 COUNT 값 순서대로 재전송 혹은 전송을 수행하고 다음 절차를 수행한다.
■ 상기 PDCP SDU에 대해서 헤더 압축을 수행한다.
■ 상기 PDCP SDU에 해당하는 COUNT 값을 사용해서 암호화를 수행한다.
■ 상기 절차를 수행한 결과적인 PDCP data PDU를 하위 계층으로 전달한다.
상위 계층에서 PDCP 장치 재수립을 요청할 때, 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- SRB의 경우, 모든 저장된 PDCP SDU들과 PDCP PDU들을 폐기한다.
- UM DRB의 경우, drb-ContinueROHC가 설정되어 있지 않다면 하향 링크에 대해서 헤더 압축 프로토콜을 리셋하고, U 모드의 NC 상태에서 시작한다.
- UM DRB의 경우, RX_NEXT와 RX_REORD 변수를 초기 값으로 설정한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
When upper layers request a PDCP entity re-establishment, the UE shall additionally perform once the procedures described in this section. After performing the procedures in this section, the UE shall follow the procedures in subclause 5.2.
When upper layers request a PDCP entity re-establishment, the transmitting PDCP entity shall:
- for UM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode if drb-ContinueROHC is not configured;
- for AM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode (if header compression protocol is configured and drb-Continue ROHC is not configured), except if upper layers indicate stored UE AS context is used and drb-ContinueROHC is configured;
- for UM DRBs and SRBs, set TX_NEXT to the initial value;
- for SRBs, discard all stored PDCP SDUs and PDCP PDUs;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- for UM DRBs, for each PDCP SDU already associated with a PDCP SN but for which a corresponding PDU has not previously been submitted to lower layers:
- consider the PDCP SDUs as received from upper layer;
- perform transmission of the PDCP SDUs in ascending order of the COUNT value associated to the PDCP SDU prior to the PDCP re-establishment without restarting the discardTimer.
- for AM DRBs, if delayedRetransmission is configured, after receiving PDCP status report, perform retransmission or transmission of PDCP SDUs for which the successful delivery has not been confirmed by PDCP status report and already associated with COUNT(or PDCP SN) in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below;
- perform header compression of the PDCP SDU;
- perform ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU;
- submit the resulting PDCP Data PDU to lower layer.
- for AM DRBs, otherwise, from the first PDCP SDU for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by lower layers, perform retransmission or transmission of all the PDCP SDUs already associated with PDCP SNs in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below:
- perform header compression of the PDCP SDU;
- perform ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU;
- submit the resulting PDCP Data PDU to lower layer.
When upper layers request a PDCP entity re-establishment, the receiving PDCP entity shall:
- for SRBs, discard all stored PDCP SDUs and PDCP PDUs
- for UM DRBs, reset the header compression protocol for downlink and start with NC state in U-mode if drb-ContinueROHC is not configured;
- for UM DRBs and SRBs, set RX_NEXT and RX_REORD to the initial value;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure.
상기 본 발명의 제 1-1 실시 예를 수행하는 구체적인 절차 제 1-1b 실시 예의 수신단 PDCP 장치의 수신 패킷 처리 절차는 상기 제 1-1a 실시 예의 수신단 PDCP 장치의 수신 패킷 처리 절차와 동일하다.
도 1k는 차세대 이동 통신 시스템에서 상기 도 1ia 및 도 1ib에서와 같은 문제를 해결하기 위한 제 1-2 실시 예를 설명한 도면이다.
도 1k에서 단말은 기지국으로부터 핸드오버 명령을 수신하고, PDCP 재수립 절차를 수행하고 핸드오버를 타겟 기지국으로 수행한 후에 하위 계층으로부터 ACK가 확인 되지 않은 첫 번째 PDCP PDU부터 순서대로 재전송을 수행한다. 따라서 타겟 기지국에서 PDCP 일련번호 2, 3, 4에 해당하는 데이터를 이미 수신하였더라도, PDCP 일련번호 1번에 대해서만 ACK를 받았기 때문에 PDCP 일련번호 2번부터 전송을 수행한다. 따라서 송신단 PDCP 계층 장치의 ROHC 프로토콜은 PDCP 일련번호 2번에 해당하는 데이터에 IR 패킷을 실어서 전송한다. 본 발명의 제 1-2 실시 예에서 수신단 PDCP 장치는 만료되거나 중복된 패킷이라고 할지라도 바로 폐기하지 않고(이전에 수신된 중복 패킷이 버퍼에 있다면 수신한 패킷으로 대체 가능(replace)), 복호화하고, 무결성 검증을 수행하고, 헤더 압축해제(header decompression)을 수행하는 것을 특징으로 한다. 따라서 중복된 패킷에 IR 패킷이 실려서 올지라도 수신단 PDCP 계층 장치는 이를 수신하여 전체 헤더 정보와 ROHC 프로토콜 설정 정보를 확인하고 송신단 ROHC 프로토과 동기화를 완료할 수 있다. 따라서 송신단에서 전송된 헤더 압축된 PDCP PDU들을 성공적으로 헤더 압축해제할 수 있다(1k-10).
상기 본 발명의 제 1-2 실시 예를 수행하는 구체적인 절차 제 1-2a 실시 예의 수신단 PDCP 장치의 수신 패킷 처리 절차는 다음과 같다.
<수신 PDCP 장치의 수신 패킷 처리 동작(Receive operation)>
수신 PDCP 장치의 수신 패킷 처리 동작에서 사용되는 윈도우 상태 변수들은 다음과 같으며 윈도우 상태 변수들은 COUNT 값을 유지한다.
- HFN : 윈도우 상태 변수의 HFN(Hyper Frame Number) 부분을 나타낸다.
- SN : 윈도우 상태 변수의 일련번호(SN, Sequence Number) 부분을 나타낸다.
- RCVD_SN : 수신한 PDCP PDU의 헤더에 포함되어 있는 PDCP 일련번호
- RCVD_HFN : 수신 PDCP 계층 장치가 계산한 수신한 PDCP PDU의 HFN 값
- RCVD_COUNT : 수신한 PDCP PDU의 COUNT 값 = [RCVD_HFN, RCVD_SN].
- RX_NEXT : 수신할 것이라고 예상되는 다음 PDCP SDU의 COUNT 값을 나타낸다. 초기값은 0이다.
- RX_DELIV : 상위 계층으로 전달된 마지막 PDCP SDU의 COUNT 값을 나타낸다. 초기값은 2^32 -1이다.
- RX_REORD : t-Reordering 타이머를 트리거링했던 PDCP PDU에 해당하는 COUNT 값의 다음 COUNT 값을 나타낸다.
- t-Reordering : 상위 계층(RRC 계층, RRC 메시지로 설정, 도 1e의 1e-10, 1e-40. 1e-75)에서 설정된 타이머 값 혹은 구간을 사용. 상기 타이머는 유실된 PDCP PDU를 탐지하기 위해서 사용되고, 오로지 한번에 하나의 타이머만 구동된다.
In this section, following definitions are used:
- HFN(State Variable): the HFN part (i.e. the number of most significant bits equal to HFN length) of the State Variable.
- SN(State Variable): the SN part (i.e. the number of least significant bits equal to PDCP SN length) of the State Variable.
- RCVD_SN: the PDCP SN of the received PDCP Data PDU, included in the PDU header.
- RCVD_HFN: the HFN of the received PDCP Data PDU, calculated by the receiving PDCP entity.
- RCVD_COUNT: the COUNT of the received PDCP Data PDU = [RCVD_HFN, RCVD_SN].
<하위 계층으로부터 PDCP PDU를 수신하였을 때 동작>(Actions when a PDCP Data PDU is received from lower layers)
도 1ka를 참조하면, 하위 계층으로부터 PDCP PDU를 수신하였을 때 수신 PDCP 계층 장치는 수신한 PDCP PDU의 COUNT 값을 다음과 같이 결정한다. 그리고 PDCP PDU의 COUNT 값을 결정하고 PDCP PDU를 처리하고 윈도우 상태 변수들을 업데이트하는 절차도 도 1ka를 참조하여 하기와 같이 동작한다.
- 만약 수신한 RCVD_SN이 RCVD_SN <= SN(RX_DELIV)- Window_Size 이라면
■ RCVD_HFN = HFN(RX_DELIV) + 1 로 업데이트 한다.
- 그렇지 않고 만약 RCVD_SN이 RCVD_SN > SN(RX_DELIV) + Window_Size이라면
■ RCVD_HFN = HFN(RX_DELIV) - 1로 업데이트 한다.
- 상기의 경우가 아니라면
■ RCVD_HFN = HFN(RX_DELIV) 로 업데이트 한다.
- RCVD_COUNT 은 RCVD_COUNT = [RCVD_HFN, RCVD_SN] 와 같이 결정된다.
At reception of a PDCP Data PDU from lower layers, the receiving PDCP entity shall determine the COUNT value of the received PDCP Data PDU, i.e. RCVD_COUNT, as follows:
- if RCVD_SN <= SN(RX_DELIV) - Window_Size:
- RCVD_HFN = HFN(RX_DELIV) + 1;
- else if RCVD_SN > SN(RX_DELIV) + Window_Size:
- RCVD_HFN = HFN(RX_DELIV) -1;
- else:
- RCVD_HFN = HFN(RX_DELIV);
- RCVD_COUNT = [RCVD_HFN, RCVD_SN].
수신한 PDCP PDU의 COUNT 값을 결정하고 나면 수신 PDCP 계층 장치는 다음과 같이 윈도우 상태 변수들을 업데이트하고 PDCP PDU를 처리한다.
- 만약 RCVD_COUNT <= RX_DELIV 이거나 혹은 RCVD_COUNT의 값을 갖는 PDCP PDU가 이전에 수신된 적이 있다면(중복된 경우, 새로 수신한 PDCP PDU로 기존의 PDCP PDU를 대체한다.)
■ 상기 RCVD_COUNT 값을 사용하여 상기 PDCP PDU에 대해서 복호화를 수행하고, 무결성 검증을 수행한다.
◆ 만약 무결성 검증에 실패했다면
● 상위 계층의 무결성 검증 실패를 지시한다.
◆ 상기 PDCP PDU에 대해 헤더 압축 해제를 수행한다.
◆ 상기 PDCP PDU를 폐기한다.
- 그 외의 경우에 대해서는 다음의 동작을 수행한다.
■ 상기 RCVD_COUNT 값을 사용하여 상기 PDCP PDU에 대해서 복호화를 수행하고, 무결성 검증을 수행한다.
◆ 만약 무결성 검증에 실패했다면
● 상위 계층의 무결성 검증 실패를 지시한다.
● 상기 PDCP PDU를 폐기한다.
After determining the COUNT value of the received PDCP Data PDU = RCVD_COUNT, the receiving PDCP entity shall:
- if RCVD_COUNT <= RX_DELIV; or
- if the PDCP Data PDU with COUNT = RCVD_COUNT has been received before:
- perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT(if duplicated, the duplicated one in the buffer can be newly replaced by the received one);
- if integrity verification fails:
- indicate the integrity verification failure to upper layer;
- perform header decompression;
- discard the PDCP Data PDU;
- else:
- perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;
- if integrity verification fails:
- indicate the integrity verification failure to upper layer;
* - discard the PDCP Data PDU;
만약 상기에서 수신한 PDCP PDU가 버려지지 않았다면 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- 상기에서 처리된 PDCP SDU를 수신 버퍼에 저장한다.
- 만약 RCVD_COUNT >= RX_NEXT라면
■ RX_NEXT를 RCVD_COUNT + 1 로 업데이트한다.
- 만약 RCVD_COUNT가 RX_DELIV + 1이라면]
■ 헤더 압축 해제를 수행한 후에 COUNT 값 순서대로 상위 계층에 전달한다.
◆ COUNT = RX_DELIV + 1 부터 시작해서 연속적인 PDCP SDU들을 모두 상위 계층으로 전달한다.
■ RX_DELIV 값을 상위 계층으로 전달한 마지막 PDCP SDU 의 COUNT 값으로 업데이트한다.
- 만약 비순서 전달 지시자(outOfOrderDelivery)가 설정되었고, 상기 처리된 PDCP SDU가 상위 계층으로 전달되지 않았다면
■ 상기 PDCP SDU를 상위 계층으로 전달한다.
- 만약 t-Reordering 타이머가 구동되고 있고, COUNT 값이 RX_REORD - 1 인 PDCP SDU가 상위 계층으로 전달되었다면
■ t-Reordering 타이머를 중지하고 리셋한다.
- 만약 t-Reordering 타이머가 구동되고 있지 않고(상기 조건에서 중지된 경우도 포함하여) 적어도 하나의 PDCP SDU가 버퍼에 남아있다면
■ RX_REORD 값을 RX_NEXT로 업데이트 한다.
■ t-Reordering 타이머를 시작한다.
If the received PDCP Data PDU with COUNT value = RCVD_COUNT is not discarded above, the receiving PDCP entity shall:
- store the resulting PDCP SDU in the reception buffer;
- if RCVD_COUNT >= RX_NEXT:
- update RX_NEXT to RCVD_COUNT + 1;
- if RCVD_COUNT = RX_DELIV + 1:
- deliver to upper layers in ascending order of the associated COUNT value after performing header decompression;
- all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from COUNT = RX_DELIV + 1;
- update RX_DELIV to the COUNT value of the last PDCP SDU delivered to upper layers;
- if outOfOrderDelivery is configured and the resulting PDCP SDU has not been delivered to upper layers:
- deliver the resulting PDCP SDU to upper layers;
- if t-Reordering is running, and if the PDCP SDU with COUNT = RX_REORD - 1 has been delivered to upper layers:
- stop and reset t-Reordering;
- if t-Reordering is not running (includes the case when t-Reordering is stopped due to actions above), and if there is at least one stored PDCP SDU:
- update RX_REORD to RX_NEXT;
- start t-Reordering.
t-Reordering 타이머가 만료했을 때 수신 PDCP 계층 장치 동작
(Actions when a t-Reordering expires)
t-Reordering 타이머가 만료하였을 때 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- 헤더 압축 해제를 수행한 후에 COUNT 값의 순서대로 상위 계층으로 전달한다.
■ RX_REORD 값보다 작은 COUNT 값들을 가지는 모든 PDCP SDU들을 전달한다.
■ RX_REORC 값부터 시작해서 연속적인 COUNT 값들을 가지는 모든 PDCP SDU들을 전달한다.
- RX_DELIV 값을 상위 계층으로 전달한 마지막 PDCP SDU의 COUNT값으로 업데이트한다.
- 만약 적어도 하나의 PDCP SDU가 버퍼에 저장되어 있다면
■ RX_REORD 값을 RX_NEXT 값으로 업데이트한다.
■ t-Reordering 타이머를 시작한다.
When t-Reordering expires, the receiving PDCP entity shall:
- deliver to upper layers in ascending order of the associated COUNT value after performing header decompression:
- all stored PDCP SDU(s) with associated COUNT value(s) < RX_REORD;
- all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from RX_REORD;
- update RX_DELIV to the COUNT value of the last PDCP SDU delivered to upper layers;
- if there is at least one stored PDCP SDU:
- update RX_REORD to RX_NEXT;
- start t-Reordering.
상기 본 발명의 제 1-2 실시 예를 수행하는 구체적인 절차 제 1-2a 실시 예의 송신단 및 수신단 PDCP 장치의 재수립 절차는 다음과 같다.
<PDCP 장치 재수립 절차 (PDCP entity re-establishment)>
상위 계층에서 PDCP 장치 재수립을 요청할 때, 송신 PDCP 계층 장치는 다음과 같이 동작한다.
- UM DRB의 경우, (예를 들어 핸드오버 명령 메시지, 즉 RRC Connection Reconfiguration 메시지의 MobilityControlInfo에 drb-ContinuROHC가 포함되어 있음. 보통 소스 기지국 내의 다른 셀로 핸드오버시 설정한다.) drb-ContinuROHC가 설정되지 않았다면 상향 링크에 대해서 헤더 압축 프로토콜(ROHC)을 리셋하고, U 모드의 IR 상태에서 시작한다.
- AM DRB의 경우, 핸드오버 명령 메시지에 단말 연결 설정 정보(UE AS context)를 유지하라고 지시하고drb-ContinuROHC가 설정된 경우를 제외하고 만약 헤더 압축 프로토콜이 설정되었다면, 상향 링크에 대해서 헤더 압축 프로토콜(ROHC)을 리셋하고, U 모드의 IR 상태에서 시작한다.
- UM DRB와 SRB의 경우, TX_NEXT 변수를 초기값으로 설정한다(TX_NEXT는 송신 PDCP 장치에서 다음에 전송할 PDCP SDU에 대한 COUNT 값을 나타낸다. TX_NEXT: This state variable indicates the COUNT value of the next PDCP SDU to be transmitted. The initial value is 0.)
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
- UM DRB의 경우, 이미 PDCP 일련번호가 할당되었지만 하위 계층으로 아직 전달되지 않은 PDCP SDU들에 대해서 다음과 같이 처리한다.
■ 상기 PDCP SDU들을 상위 계층으로부터 수신한 것처럼 처리한다.
* ■ 상기 PDCP SDU들을 PDCP 재수립 절차 전에 할당된COUNT 값 순서대로 전송을 수행하고, PDCP discard timer는 재시작하지 않는다.
- AM DRB의 경우, 하위 계층으로부터 성공적으로 전달되었다는 것이 확인되지 않은 첫 번째 PDCP SDU부터 PDCP 재수립 절차 전에 할당된 COUNT 값 순서대로 재전송 혹은 전송을 수행하고 다음 절차를 수행한다.
■ 상기 PDCP SDU에 대해서 헤더 압축을 수행한다.
■ 상기 PDCP SDU에 해당하는 COUNT 값을 사용해서 암호화를 수행한다.
■ 상기 절차를 수행한 결과적인 PDCP data PDU를 하위 계층으로 전달한다.
상위 계층에서 PDCP 장치 재수립을 요청할 때, 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- SRB의 경우, 모든 저장된 PDCP SDU들과 PDCP PDU들을 폐기한다.
- UM DRB의 경우, drb-ContinueROHC가 설정되어 있지 않다면 하향 링크에 대해서 헤더 압축 프로토콜을 리셋하고, U 모드의 NC 상태에서 시작한다.
- UM DRB의 경우, RX_NEXT와 RX_REORD 변수를 초기 값으로 설정한다.
- SRB의 경우, 모든 저장된 PDCP SDU들과 PDCP PDU들을 폐기한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
When upper layers request a PDCP entity re-establishment, the UE shall additionally perform once the procedures described in this section. After performing the procedures in this section, the UE shall follow the procedures in subclause 5.2.
When upper layers request a PDCP entity re-establishment, the transmitting PDCP entity shall:
- for UM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode if drb-ContinueROHC is not configured;
- for AM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode (if header compression protocol is configured and drb-Continue ROHC is not configured), except if upper layers indicate stored UE AS context is used and drb-ContinueROHC is configured;
- for UM DRBs and SRBs, set TX_NEXT to the initial value;
- for SRBs, discard all stored PDCP SDUs and PDCP PDUs;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- for UM DRBs, for each PDCP SDU already associated with a PDCP SN but for which a corresponding PDU has not previously been submitted to lower layers:
- consider the PDCP SDUs as received from upper layer;
- perform transmission of the PDCP SDUs in ascending order of the COUNT value associated to the PDCP SDU prior to the PDCP re-establishment without restarting the discardTimer.
- for AM DRBs, from the first PDCP SDU for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by lower layers, perform retransmission or transmission of all the PDCP SDUs already associated with PDCP SNs in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below:
- perform header compression of the PDCP SDU as specified in the subclause 5.7.4;
- perform ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU as specified in the subclause 5.8;
- submit the resulting PDCP Data PDU to lower layer.
When upper layers request a PDCP entity re-establishment, the receiving PDCP entity shall:
- for SRBs, discard all stored PDCP SDUs and PDCP PDUs
- for UM DRBs, reset the header compression protocol for downlink and start with NC state in U-mode [8] [9] if drb-ContinueROHC is not configured [3];
- for UM DRBs and SRBs, set RX_NEXT and RX_REORD to the initial value;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure.
도 1l은 본 발명의 제 1-1 실시 예의 송신 PDCP 계층 장치 동작을 나타낸 도면이다.
도 1l에서 송신 PDCP 계층 장치는 핸드오버 명령 메시지를 수행하고, PDCP 재수립 절차를 수행할 때 ROHC가 설정되어 있고, drb-ContinuROHC가 설정되어 있지 않은지 확인한다(1l-05). 만약 ROHC가 설정되어 있고, drb-ContinuROHC가 설정되어 있지 않다면 상기에서 설명한 제 1실시 예처럼 수신단에서 성공적으로 전달되었다는 확인을 받지 못한 PDCP PDU들에 대해서만 선택적으로 재전송 및 전송을 수행한다(1l-10). 만약 그외의 경우에는 ACK가 확인되지 않은 첫 번째 PDCP PDU 부터 순서대로 재전송 및 전송을 수행한다(1l-15).
도 1m은 본 발명의 제 1-2 실시 예의 수신 PDCP 계층 장치 동작을 나타낸 도면이다.
도 1m에서 수신 PDCP 계층 장치는 PDCP PDU를 수신하면 먼저 만료되거나 중복된 PDCP PDU인지 확인한다(1m-05). 만약 만료되거나 중복된 PDCP PDU라면 복호화, 무결성 검증, 헤더 압축해제를 수행한 뒤에 폐기한다(1m-10). 상기에서 헤더 압축 해제를 수행하였다는 것은 IR 패킷 여부를 확인하고 ROHC 설정 정보와 IP 헤더 전체 정보를 확인하기 위함이다. 그리고 상기에서 중복된 PDCP PDU를 수신하는 경우, 기존 PDCP PDU를 새로 수신한 PDCP PDU로 대체할 수 있다. 만약 상기에서 수신한 PDCP PDU가 만료되거나 중복된 PDCP PDU가 아니라면 복호화, 무결성 검증, 헤더 압축 해제를 수행하고, 제 2 실시 예에서 제안한 데이터 처리를 수행한다.
도 1n에 본 발명의 제 1 실시 예에 따른 단말의 구조를 도시하였다.
상기 도면을 참고하면, 상기 단말은 RF(Radio Frequency)처리부(1n-10), 기저대역(baseband)처리부(1n-20), 저장부(1n-30), 제어부(1n-40)를 포함한다.
상기 RF처리부(1n-10)는 신호의 대역 변환, 증폭 등 무선 채널을 통해 신호를 송수신하기 위한 기능을 수행한다. 즉, 상기 RF처리부(1n-10)는 상기 기저대역처리부(1n-20)로부터 제공되는 기저대역 신호를 RF 대역 신호로 상향 변환한 후 안테나를 통해 송신하고, 상기 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향 변환한다. 예를 들어, 상기 RF처리부(1n-10)는 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다. 상기 도면에서, 하나의 안테나만이 도시되었으나, 상기 단말은 다수의 안테나들을 구비할 수 있다. 또한, 상기 RF처리부(1n-10)는 다수의 RF 체인들을 포함할 수 있다. 나아가, 상기 RF처리부(1n-10)는 빔포밍(beamforming)을 수행할 수 있다. 상기 빔포밍을 위해, 상기 RF처리부(1n-10)는 다수의 안테나들 또는 안테나 요소(element)들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다. 또한 상기 RF 처리부는 MIMO를 수행할 수 있으며, MIMO 동작 수행 시 여러 개의 레이어를 수신할 수 있다. 상기 RF처리부(1n-10)는 제어부의 제어에 따라 다수의 안테나 또는 안테나 요소들을 적절하게 설정하여 수신 빔 스위핑을 수행하거나, 수신 빔이 송신 빔과 공조되도록 수신 빔의 방향과 빔 너비를 조정할 수 있다.
상기 기저대역처리부(1n-20)은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 상기 기저대역처리부(1n-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(1n-20)은 상기 RF처리부(1n-10)로부터 제공되는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 예를 들어, OFDM(orthogonal frequency division multiplexing) 방식에 따르는 경우, 데이터 송신 시, 상기 기저대역처리부(1n-20)는 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성하고, 상기 복소 심벌들을 부반송파들에 매핑한 후, IFFT(inverse fast Fourier transform) 연산 및 CP(cyclic prefix) 삽입을 통해 OFDM 심벌들을 구성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(1n-20)은 상기 RF처리부(1n-10)로부터 제공되는 기저대역 신호를 OFDM 심벌 단위로 분할하고, FFT(fast Fourier transform) 연산을 통해 부반송파들에 매핑된 신호들을 복원한 후, 복조 및 복호화를 통해 수신 비트열을 복원한다.
상기 기저대역처리부(1n-20) 및 상기 RF처리부(1n-10)는 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 상기 기저대역처리부(1n-20) 및 상기 RF처리부(1n-10)는 송신부, 수신부, 송수신부 또는 통신부로 지칭될 수 있다. 나아가, 상기 기저대역처리부(1n-20) 및 상기 RF처리부(1n-10) 중 적어도 하나는 서로 다른 다수의 무선 접속 기술들을 지원하기 위해 다수의 통신 모듈들을 포함할 수 있다. 또한, 상기 기저대역처리부(1n-20) 및 상기 RF처리부(1n-10) 중 적어도 하나는 서로 다른 주파수 대역의 신호들을 처리하기 위해 서로 다른 통신 모듈들을 포함할 수 있다. 예를 들어, 상기 서로 다른 무선 접속 기술들은 LTE 망, NR 망 등을 포함할 수 있다. 또한, 상기 서로 다른 주파수 대역들은 극고단파(SHF:super high frequency)(예: 2.5GHz, 5Ghz) 대역, mm파(millimeter wave)(예: 60GHz) 대역을 포함할 수 있다.
상기 저장부(1n-30)는 상기 단말의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 상기 저장부(1n-30)는 상기 제어부(1n-40)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(1n-40)는 상기 단말의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(1n-40)는 상기 기저대역처리부(1n-20) 및 상기 RF처리부(1n-10)을 통해 신호를 송수신한다. 또한, 상기 제어부(1n-40)는 상기 저장부(1n-40)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(1n-40)는 적어도 하나의 프로세서(processor)를 포함할 수 있다. 예를 들어, 상기 제어부(1n-40)는 통신을 위한 제어를 수행하는 CP(communication processor) 및 응용 프로그램 등 상위 계층을 제어하는 AP(application processor)를 포함할 수 있다.
도 1o는 본 발명의 제 1 실시 예에 따른 무선 통신 시스템에서 TRP의 블록 구성을 도시한다.
상기 도면에 도시된 바와 같이, 상기 기지국은 RF처리부(1o-10), 기저대역처리부(1o-20), 백홀통신부(1o-30), 저장부(1o-40), 제어부(1o-50)를 포함하여 구성된다.
상기 RF처리부(1o-10)는 신호의 대역 변환, 증폭 등 무선 채널을 통해 신호를 송수신하기 위한 기능을 수행한다. 즉, 상기 RF처리부(1o-10)는 상기 기저대역처리부(1o-20)로부터 제공되는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 상기 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 예를 들어, 상기 RF처리부(1o-10)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다. 상기 도면에서, 하나의 안테나만이 도시되었으나, 상기 제1접속 노드는 다수의 안테나들을 구비할 수 있다. 또한, 상기 RF처리부(1o-10)는 다수의 RF 체인들을 포함할 수 있다. 나아가, 상기 RF처리부(1o-10)는 빔포밍을 수행할 수 있다. 상기 빔포밍을 위해, 상기 RF처리부(1o-10)는 다수의 안테나들 또는 안테나 요소들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다. 상기 RF 처리부는 하나 이상의 레이어를 전송함으로써 하향 MIMO 동작을 수행할 수 있다.
상기 기저대역처리부(1o-20)는 제1무선 접속 기술의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 상기 기저대역처리부(1o-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(1o-20)은 상기 RF처리부(1o-10)로부터 제공되는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 예를 들어, OFDM 방식에 따르는 경우, 데이터 송신 시, 상기 기저대역처리부(1o-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성하고, 상기 복소 심벌들을 부반송파들에 매핑한 후, IFFT 연산 및 CP 삽입을 통해 OFDM 심벌들을 구성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(1o-20)은 상기 RF처리부(1o-10)로부터 제공되는 기저대역 신호를 OFDM 심벌 단위로 분할하고, FFT 연산을 통해 부반송파들에 매핑된 신호들을 복원한 후, 복조 및 복호화를 통해 수신 비트열을 복원한다. 상기 기저대역처리부(1o-20) 및 상기 RF처리부(1o-10)는 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 상기 기저대역처리부(1o-20) 및 상기 RF처리부(1o-10)는 송신부, 수신부, 송수신부, 통신부 또는 무선 통신부로 지칭될 수 있다.
상기 통신부(1o-30)는 네트워크 내 다른 노드들과 통신을 수행하기 위한 인터페이스를 제공한다.
상기 저장부(1o-40)는 상기 주기지국의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 특히, 상기 저장부(1o-40)는 접속된 단말에 할당된 베어러에 대한 정보, 접속된 단말로부터 보고된 측정 결과 등을 저장할 수 있다. 또한, 상기 저장부(1o-40)는 단말에게 다중 연결을 제공하거나, 중단할지 여부의 판단 기준이 되는 정보를 저장할 수 있다. 그리고, 상기 저장부(1o-40)는 상기 제어부(1o-50)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(1o-50)는 상기 주기지국의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(1o-50)는 상기 기저대역처리부(1o-20) 및 상기 RF처리부(1o-10)을 통해 또는 상기 백홀통신부(1o-30)을 통해 신호를 송수신한다. 또한, 상기 제어부(1o-50)는 상기 저장부(1o-40)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(1o-50)는 적어도 하나의 프로세서를 포함할 수 있다.
한편, 도 1i에서 상향링크의 예를 들어서 문제점을 설명하였지만 동일한 문제가 하향링크에서 발생할 수 있다. 즉, 도 1i에서 단말이 소스 기지국 혹은 타겟 기지국이 될 수 있고, 소스 기지국 혹은 타겟 기지국이 하나의 기지국으로 동작하여 하향 링크에서 핸드오버 과정 혹은 PDCP reestablishment 과정에서 동일한 문제가 발생할 수 있다. 따라서 본 발명의 제 1-1 실시 예, 제 1-2실시 예, 제 1-3 실시 예에서 제안하는 방법들은 상향 링크와 하향 링크에 모두 적용될 수 있다.
즉, 본 발명의 제 1-1 실시 예, 제 1-2 실시 예, 제 1-3 실시 예에서는 상향 링크를 예시로 설명한 것이며, 단말은 송신 PDCP 장치의 동작을 설명하며, 기지국은 수신 PDCP 장치의 동작을 설명한다. 따라서 하향 링크의 경우, 기지국은 상기 송신 PDCP 장치의 동작을 수행할 수 있으며, 단말은 상기 수신 PDCP 장치의 동작을 수행할 수 있다. 즉, 본 발명에서 제안한 송신 PDCP 장치 동작과 수신 PDCP 장치 동작은 상향 링크와 하향 링크에서 모두 적용될 수 있다.
도 1p는 본 발명에서 차세대 이동 통신 시스템에서 상기 도 1ia 및 도 1ib에서와 같은 문제를 해결하기 위한 제 1-3 실시 예를 설명한 도면이다.
도 1p에서 단말은 기지국으로부터 핸드오버 명령을 수신하고, PDCP 재수립 절차를 수행하고 핸드오버를 타겟 기지국으로 수행한 후에 하위 계층으로부터 ACK가 확인 되지 않은 첫 번째 PDCP PDU부터 순서대로 재전송을 수행한다. 따라서 타겟 기지국에서 PDCP 일련번호 2, 3, 4에 해당하는 데이터를 이미 수신하였더라도, PDCP 일련번호 1번에 대해서만 ACK를 받았기 때문에 PDCP 일련번호 2번부터 전송을 수행한다. 따라서 송신단 PDCP 계층 장치의 ROHC 프로토콜은 PDCP 일련번호 2번에 해당하는 데이터에 IR 패킷을 실어서 전송한다(IR 패킷은 ROHC 프로토콜을 초기화하고 설정하는 중요한 패킷이기 때문에 구현에 따라서 3번, 4번에 해당하는 데이터에도 중복해서 IR패킷을 실어서 보낼 수 있다). 본 발명의 제 1-3 실시 예에서 수신단 PDCP 장치는 ROHC 프로토콜(header compression protocol)이 초기화되었다면 예를 들면, U모드(Unidirectional mode)의 NC 상태(No Context 상태)에 있다면 만료되거나 중복된 패킷이라고 할지라도 바로 폐기하지 않고 복호화하고, 무결성 검증을 수행하며, 헤더 압축해제를 수행하여 IR 패킷이 유실되지 않고 정상적으로 수신될 수 있도록 한다. 상기 동작은 수신 ROHC 프로토콜이 U모드(Unidirectional mode) 혹은 O 모드(Bidirectional Optimistic Mode) 혹은 R 모드(Bidirectional Reliable Mode)의 NC 상태(No Context) 혹은 SC 상태(Static Context)에서 수행되도록 할 수도 있다. 즉, 만료되거나 중복된 패킷이라고 할지라도 바로 폐기하지 않고 복호화하고, 무결성 검증을 수행하고, 헤더 압축해제(header decompression)를 수행하는 것을 특징으로 한다. 따라서 중복된 패킷에 IR 패킷이 실려서 올지라도 수신단 PDCP 계층 장치는 이를 수신하여 전체 헤더 정보와 ROHC 프로토콜 설정 정보를 확인하고 송신단 ROHC 프로토과 동기화를 완료할 수 있다. 따라서 송신단에서 전송된 헤더 압축된 PDCP PDU들을 성공적으로 헤더 압축해제할 수 있다(1p-10).
또한 제 1-3 실시 예에서는 기지국이 RRC 메시지로 PDCP 장치 설정(pdcp-config) 혹은 로지컬 채널 설정 혹은(logicalchannelconfig) 베어러 설정(drb-config)으로 베어러 혹은 PDCP 장치에 대해서 비순서 전달(out-of-delivery)을 설정할 경우, PDCP 장치에서 비순서 전달을 지원하기 위한 수신 PDCP 장치의 수신 패킷 처리 동작을 구체화한다.
또한 제 1-3 실시 예에서는 기지국이 단말에게 하향링크 데이터를 전송하고(AM DRB의 경우), 단말이 이를 수신하는 시나리오에서 단말이 핸드오버를 하게 되면 발생할 수 있는 헤더 압축 해제 실패 문제를 해결하기 위한 수신단 PDCP 재수립 절차(PDCP reestablishment)를 구체화한다. 예를 들면 단말은 기지국으로부터 AM 베어러로(ARQ 기능을 지원하는 RLC 계층의 AM 모드로 구동되는 베어러를 의미한다) 하향 링크 데이터를 수신할 수 있다. 즉, 기지국은 PDCP 일련번호 0, 1, 2, 3, 4 번에 해당하는 PDCP PDU를 단말에게 하향 링크 데이터로 전송하였는데 전송과정에서 단말의 수신 PDCP 장치는 순서에 맞지 않게 1, 3, 4번에 해당하는 PDCP PDU들을 먼저 수신할 수 있다. 이 때 단말의 수신 PDCP 계층은 순서를 정렬해서 보내야 하는 경우(비순서 전달 지시자가 RRC 설정으로 지시되지 않은 경우) 상기 1, 3, 4 번에 해당하는 PDCP PDU들에 대해서 헤더를 분석하고, 복호화를 수행하고, 무결성 검증을 수행하고 버퍼에 저장해놓는다(헤더 압축 해제는 순서가 정렬되어야 수행하고 상위 계층으로 전달한다. 상기에서 헤더 압축 해제는 PDCP 헤더가 아니라 PDCP SDU(PDCP PDU의 데이터부분)의 IP 패킷의 TCP/IP 헤더에 대한 압축 해제를 의미한다). 만약 이 때 기지국이 핸드오버를 결정하여 단말에게 핸드오버 명령을 RRC 메시지(RRCConnectionReconfiguration)로 지시하면 이를 수신한 단말의 수신 PDCP 계층 장치는 PDCP 계층 장치를 재수립한다(PDCP reestablishment). 즉, 바로 헤더 압축 프로토콜(ROHC)을 초기화(reset)한다. 그리고 추후에 IR 패킷을 수신하여 헤더 압축 프로토콜 설정을 완료하고, 추후에 1, 3, 4번 외에 0, 2번에 해당하는 PDCP PDU를 수신하면 순서가 재정렬될 수 있기 때문에 헤더 압축 해제(header decompression)를 수행하고 상위 계층으로 전달해야 한다. 그런데 이 때 1, 3, 4번에 해당하는 PDCP SDU의 TCP/IP 헤더는 이전에 설정되었던 헤더 압축 프로토콜 설정으로 압축된 것이고, 0, 2번에 해당하는 PDCP SDU는 새로 설정된 헤더 압축 프로토콜 설정으로 압축된 것이므로, 상기 1, 3, 4번에 해당하는 PDCP SDU의 TCP/IP 헤더에 대해서 헤더 압축 해제를 실시할 때 새로운 헤더 압축 프로토콜 설정으로 수행하기 때문에 실패 혹은 에러가 발생할 수 있다. 따라서 이 문제를 해결하기 위해서 본 발명의 제 1-3 실시 예의 PDCP 재수립 절차에서는 수신 PDCP 장치 재수립을 수행해야 하는 경우, 헤더 압축 프로토콜을 초기화(reset)하기 전에 기존 버퍼에 저장되어 있는 PDCP SDU들이 있다면 상기 PDCP SDU들의 TCP/IP 헤더를 기존 헤더 압축 프로토콜로 압축 해제하여 버퍼에 저장하고 나서, 헤더 압축 프로토콜을 초기화하는 방법을 제안한다. 상기 제안 방법은 drb-ContinueROHC(현재 ROHC 설정을 그대로 사용하라는 것을 지시하는 지시자)가 설정되지 않은 경우에 적합한 동작이다. 왜냐하면 drb-ContinueROHC가 설정되었다면 현재 ROHC 설정을 그대로 사용하라는 의미이므로, 헤더 압축 프로토콜을 초기화하지 않을 것이며, 상기 절차처럼 미리 버퍼에 저장된 PDCP PDU들에 대해서 헤더 압축 해제를 수행할 필요 없다.
상기 본 발명의 제 1-3 실시 예를 수행하는 구체적인 절차 제 1-3a 실시 예의 수신단 PDCP 장치의 수신 패킷 처리 절차는 다음과 같다.
<수신 PDCP 장치의 수신 패킷 처리 동작(Receive operation)>
수신 PDCP 장치의 수신 패킷 처리 동작에서 사용되는 윈도우 상태 변수들은 다음과 같으며 윈도우 상태 변수들은 COUNT 값을 유지한다.
- HFN : 윈도우 상태 변수의 HFN(Hyper Frame Number) 부분을 나타낸다.
- SN : 윈도우 상태 변수의 일련번호(SN, Sequence Number) 부분을 나타낸다.
- RCVD_SN : 수신한 PDCP PDU의 헤더에 포함되어 있는 PDCP 일련번호
- RCVD_HFN : 수신 PDCP 계층 장치가 계산한 수신한 PDCP PDU의 HFN 값
- RCVD_COUNT : 수신한 PDCP PDU의 COUNT 값 = [RCVD_HFN, RCVD_SN].
- RX_NEXT : 수신할 것이라고 예상되는 다음 PDCP SDU의 COUNT 값을 나타낸다. 초기값은 0이다.
- RX_DELIV : 상위 계층으로 전달되지 않은 첫 번째 PDCP SDU의 COUNT 값을 나타낸다. 초기값은 0이다.
- RX_REORD : t-Reordering 타이머를 트리거링했던 PDCP PDU에 해당하는 COUNT 값의 다음 COUNT 값을 나타낸다.
- t-Reordering : 상위 계층(RRC 계층, RRC 메시지로 설정, 도 1e의 1e-10, 1e-40. 1e-75)에서 설정된 타이머 값 혹은 구간을 사용. 상기 타이머는 유실된 PDCP PDU를 탐지하기 위해서 사용되고, 오로지 한번에 하나의 타이머만 구동된다.
In this section, following definitions are used:
- HFN(State Variable): the HFN part (i.e. the number of most significant bits equal to HFN length) of the State Variable.
- SN(State Variable): the SN part (i.e. the number of least significant bits equal to PDCP SN length) of the State Variable.
- RCVD_SN: the PDCP SN of the received PDCP Data PDU, included in the PDU header.
- RCVD_HFN: the HFN of the received PDCP Data PDU, calculated by the receiving PDCP entity.
- RCVD_COUNT: the COUNT of the received PDCP Data PDU = [RCVD_HFN, RCVD_SN].
- RX_NEXT : This state variable indicates the COUNT value of the next PDCP SDU expected to be received. The initial value is 0.
- RX_DELIV : This state variable indicates the COUNT value of the first PDCP SDU not delivered to the upper layers. The initial value is 0.
- RX_REORD : This state variable indicates the COUNT value following the COUNT value associated with the PDCP Data PDU which triggered t-Reordering.
- t-Reordering : The duration of the timer is configured by upper layers . This timer is used to detect loss of PDCP Data PDUs. If t-Reordering is running, t-Reordering shall not be started additionally, i.e. only one t-Reordering per receiving PDCP entity is running at a given time.
<하위 계층으로부터 PDCP PDU를 수신하였을 때 동작>
(Actions when a PDCP Data PDU is received from lower layers)
하위 계층으로부터 PDCP PDU를 수신하였을 때 수신 PDCP 계층 장치는 수신한 PDCP PDU의 COUNT 값을 다음과 같이 결정한다.
- 만약 수신한 RCVD_SN이 RCVD_SN <= SN(RX_DELIV) - Window_Size 이라면
■ RCVD_HFN = HFN(RX_DELIV) + 1 로 업데이트 한다.
- 그렇지 않고 만약 RCVD_SN이 RCVD_SN > SN(RX_DELIV) + Window_Size이라면
■ RCVD_HFN = HFN(RX_DELIV) - 1로 업데이트 한다.
- 상기의 경우가 아니라면
■ RCVD_HFN = HFN(RX_DELIV) 로 업데이트 한다.
- RCVD_COUNT 은 RCVD_COUNT = [RCVD_HFN, RCVD_SN] 와 같이 결정된다.
At reception of a PDCP Data PDU from lower layers, the receiving PDCP entity shall determine the COUNT value of the received PDCP Data PDU, i.e. RCVD_COUNT, as follows:
- if RCVD_SN <= SN(RX_DELIV) - Window_Size:
- RCVD_HFN = HFN(RX_DELIV) + 1;
- else if RCVD_SN > SN(RX_DELIV) + Window_Size:
- RCVD_HFN = HFN(RX_DELIV) - 1;
- else:
- RCVD_HFN = HFN(RX_DELIV);
- RCVD_COUNT = [RCVD_HFN, RCVD_SN].
수신한 PDCP PDU의 COUNT 값을 결정하고 나면 수신 PDCP 계층 장치는 다음과 같이 윈도우 상태 변수들을 업데이트하고 PDCP PDU를 처리한다.
- 만약 RCVD_COUNT < RX_DELIV 이거나 혹은 RCVD_COUNT의 값을 갖는 PDCP PDU가 이전에 수신된 적이 있다면(만료한 혹은 기간이 지난 혹은 윈도우 밖에 패킷의 경우 혹은 중복된 패킷의 경우)
■ 상기 RCVD_COUNT 값을 사용하여 상기 PDCP PDU에 대해서 복호화를 수행하고, 무결성 검증을 수행한다.
◆ 만약 무결성 검증에 실패했다면
● 상위 계층에 무결성 검증 실패를 지시하고 상기 수신한 PDCP Data PDU(PDCP PDU의 데이터 부분)를 폐기한다.
■ 만약 헤더 압축해제 프로토콜(ROHC)이 U 모드의 NC 상태에 있다면(혹은 헤더 압축 프로토콜이 리셋되었고, 재설정되지 않았다면)
◆ 상기 수신한 패킷에 대해 헤더 압축 해제를 수행한다(상기에서 폐기되지 않았다면).
■ 상기 PDCP Data PDU를 폐기한다(상기에서 폐기되지 않았다면).
- 그 외의 경우에 대해서는 다음의 동작을 수행한다.
■ 상기 RCVD_COUNT 값을 사용하여 상기 PDCP PDU에 대해서 복호화를 수행하고, 무결성 검증을 수행한다.
◆ 만약 무결성 검증에 실패했다면
● 상위 계층의 무결성 검증 실패를 지시한다.
● 상기 PDCP PDU를 폐기한다.
After determining the COUNT value of the received PDCP Data PDU = RCVD_COUNT, the receiving PDCP entity shall:
- if RCVD_COUNT < RX_DELIV; or
- if the PDCP Data PDU with COUNT = RCVD_COUNT has been received before:
- perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;
- if integrity verification fails:
- indicate the integrity verification failure to upper layer and discard the PDCP Data PDU;
- if header compression protocol is NC state in U-mode(or header compression protocol is reset and not reconfigured);
- performs header decompression (otherwise already discarded);
- discard the PDCP Data PDU (otherwise already discarded);
- else:
- perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;
- if integrity verification fails:
- indicate the integrity verification failure to upper layer;
- discard the PDCP Data PDU;
만약 상기에서 수신한 PDCP PDU가 버려지지 않았다면 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- 상기에서 처리된 PDCP SDU를 수신 버퍼에 저장한다.
- 만약 RCVD_COUNT >= RX_NEXT라면
■ RX_NEXT를 RCVD_COUNT + 1 로 업데이트한다.
- 만약 비순서 전달 지시자(outOfOrderDelivery)가 설정되었다면(비순서 전달 동작을 지시하였다면),
■ 상기 PDCP SDU를 상위 계층으로 전달한다.
- 만약 RCVD_COUNT가 RX_DELIV 와 같다면
■ 헤더 압축 해제를 수행한 후에 COUNT 값 순서대로 상위 계층에 전달한다.
◆ COUNT = RX_DELIV 값부터 시작해서 연속적인 PDCP SDU들을 모두 상위 계층으로 전달한다.
■ RX_DELIV 값을 현재 RX_DELIV보다 크거나 같은 COUNT 값이면서 상위 계층으로 전달하지 않은 첫 번째 PDCP SDU의 COUNT 값으로 업데이트한다.
- 만약 t-Reordering 타이머가 구동되고 있고, RX_DELIV값이 RX_REORD보다 크거나 같다면,
■ t-Reordering 타이머를 중지하고 리셋한다.
- 만약 t-Reordering 타이머가 구동되고 있지 않고(상기 조건에서 중지된 경우도 포함하여) RX_DELIV가 RX_NEXT보다 작다면,
■ RX_REORD 값을 RX_NEXT로 업데이트 한다.
■ t-Reordering 타이머를 시작한다.
If the received PDCP Data PDU with COUNT value = RCVD_COUNT is not discarded above, the receiving PDCP entity shall:
- store the resulting PDCP SDU in the reception buffer;
- if RCVD_COUNT >= RX_NEXT:
- update RX_NEXT to RCVD_COUNT + 1;
- if outOfOrderDelivery is configured:
- deliver the resulting PDCP SDU to upper layers;
- if RCVD_COUNT = RX_DELIV:
- deliver to upper layers in ascending order of the associated COUNT value after performing header decompression;
- all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from COUNT = RX_DELIV;
- update RX_DELIV to the COUNT value of the first PDCP SDU which has not been delivered to upper layers, with COUNT value >= RX_DELIV;
- if t-Reordering is running, and if RX_DELIV >= RX_REORD:
- stop and reset t-Reordering;
- if t-Reordering is not running (includes the case when t-Reordering is stopped due to actions above), and RX_DELIV < RX_NEXT:
- update RX_REORD to RX_NEXT;
- start t-Reordering.
<t-Reordering 타이머가 만료했을 때 수신 PDCP 계층 장치 동작>
(Actions when a t-Reordering expires)
t-Reordering 타이머가 만료하였을 때 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- 헤더 압축 해제를 수행한 후에 COUNT 값의 순서대로 상위 계층으로 전달한다.
■ RX_REORD 값보다 작은 COUNT 값들을 가지는 모든 PDCP SDU들을 전달한다.
■ RX_REORD 값부터 시작해서 연속적인 COUNT 값들을 가지는 모든 PDCP SDU들을 전달한다.
- RX_DELIV 값을 RX_REORD보다 크거나 같은 COUNT 값이면서 상위 계층으로 전달하지 않은 첫 번째 PDCP SDU의 COUNT 값으로 업데이트한다.
- 만약 RX_DELIV 값이 RX_NEXT 값보다 작다면,
■ RX_REORD 값을 RX_NEXT 값으로 업데이트한다.
■ t-Reordering 타이머를 시작한다.
When t-Reordering expires, the receiving PDCP entity shall:
- deliver to upper layers in ascending order of the associated COUNT value after performing header decompression:
- all stored PDCP SDU(s) with associated COUNT value(s) < RX_REORD;
- all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from RX_REORD;
- update RX_DELIV to the COUNT value of the first PDCP SDU which has not been delivered to upper layers, with COUNT value >= RX_REORD;
- if RX_DELIV < RX_NEXT:
- update RX_REORD to RX_NEXT;
- start t-Reordering.
상기 본 발명의 제 1-3 실시 예를 수행하는 구체적인 절차 제 1-3b 실시 예의 송신단 및 수신단 PDCP 장치의 재수립 절차는 다음과 같다.
<PDCP 장치 재수립 절차 (PDCP entity re-establishment)>
상위 계층에서 PDCP 장치 재수립을 요청할 때, 송신 PDCP 계층 장치는 다음과 같이 동작한다.
- UM DRB와 AM DRB의 경우, (예를 들어 핸드오버 명령 메시지, 즉 RRC Connection Reconfiguration 메시지의 MobilityControlInfo에 drb-ContinuROHC가 포함되어 있음. 보통 소스 기지국 내의 다른 셀로 핸드오버시 설정한다.) drb-ContinuROHC가 설정되지 않았다면 상향 링크에 대해서 헤더 압축 프로토콜(ROHC)을 리셋하고, U 모드의 IR 상태에서 시작한다.
- UM DRB와 SRB의 경우, TX_NEXT 변수를 초기값으로 설정한다(TX_NEXT는 송신 PDCP 장치에서 다음에 전송할 PDCP SDU에 대한 COUNT 값을 나타낸다. TX_NEXT: This state variable indicates the COUNT value of the next PDCP SDU to be transmitted. The initial value is 0.)
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
- UM DRB의 경우, 이미 PDCP 일련번호가 할당되었지만 하위 계층으로 아직 전달되지 않은 PDCP SDU들에 대해서 다음과 같이 처리한다.
■ 상기 PDCP SDU들을 상위 계층으로부터 수신한 것처럼 처리한다.
■ 상기 PDCP SDU들을 PDCP 재수립 절차 전에 할당된COUNT 값 순서대로 전송을 수행하고, PDCP discard timer는 재시작하지 않는다.
- AM DRB의 경우, 하위 계층으로부터 성공적으로 전달되었다는 것이 확인되지 않은 첫 번째 PDCP SDU부터 PDCP 재수립 절차 전에 할당된 COUNT 값 순서대로 재전송 혹은 전송을 수행하고 다음 절차를 수행한다.
■ 상기 PDCP SDU에 대해서 헤더 압축을 수행한다.
■ 상기 PDCP SDU에 해당하는 COUNT 값을 사용해서 암호화 및 무결성 보호를 수행한다.
■ 상기 절차를 수행한 결과적인 PDCP data PDU를 하위 계층으로 전달한다.
상위 계층에서 PDCP 장치 재수립을 요청할 때, 수신 PDCP 계층 장치는 다음과 같이 동작한다.
- SRB의 경우, 모든 저장된 PDCP SDU들과 PDCP PDU들을 폐기한다.
- UM DRB의 경우, 만약 t-Reordering 타이머가 구동되고 있다면
■ t-Reordering 타이머를 중지하고 초기화한다.
■ 헤더 압축 해제를 수행하고, COUNT 값의 오름차순 순서대로 모두 상위 계층으로 PDCP SDU들을 전달한다.
- AM DRB의 경우, 만약 drb-ContinueROHC가 설정되어 있지 않다면 현재 수신 버퍼에 저장되어 있는 모든 PDCP PDU들에 대해서 헤더 압축 해제를 실시하고 헤더 압축 해제된 PDCP SDU들을 수신 버퍼에 저장한다.
- UM DRB와 AM DRB의 경우, drb-ContinueROHC가 설정되어 있지 않다면 하향 링크에 대해서 헤더 압축 프로토콜을 리셋하고, U 모드의 NC 상태에서 시작한다.
- UM DRB와 SRB들의 경우, RX_NEXT와 RX_DELIV 변수를 초기 값으로 설정한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 암호화 알고리즘과 키를 적용한다.
- PDCP 재수립 절차에서 상위 계층에서 제공된 무결성 보호 알고리즘과 키를 적용한다.
When upper layers request a PDCP entity re-establishment, the transmitting PDCP entity shall:
- for UM DRBs and AM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode if drb-ContinueROHC is not configured;
- for UM DRBs and SRBs, set TX_NEXT to the initial value;
*- for SRBs, discard all stored PDCP SDUs and PDCP PDUs;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- for UM DRBs, for each PDCP SDU already associated with a PDCP SN but for which a corresponding PDU has not previously been submitted to lower layers:
- consider the PDCP SDUs as received from upper layer;
- perform transmission of the PDCP SDUs in ascending order of the COUNT value associated to the PDCP SDU prior to the PDCP re-establishment without restarting the discardTimer.
- for AM DRBs, from the first PDCP SDU for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by lower layers, perform retransmission or transmission of all the PDCP SDUs already associated with PDCP SNs in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below:
- perform header compression of the PDCP SDU;
- perform integrity protection and ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU;
- submit the resulting PDCP Data PDU to lower layer.
When upper layers request a PDCP entity re-establishment, the receiving PDCP entity shall:
- for SRBs, discard all stored PDCP SDUs and PDCP PDUs
- for UM DRBs, if t-Reordering is running:
- stop and reset t-Reordering;
- deliver all stored PDCP SDUs to the upper layers in ascending order of associated COUNT values after performing header decompression;
-    for AM DRBs, perform header decompression for all stored PDCP PDUs and store them in the reception buffer if drb-ContinueROHC is not configured;
- for UM DRBs and AM DRBs, reset the header compression protocol for downlink and start with NC state in U-mode if drb-ContinueROHC is not configured;
- for UM DRBs and SRBs, set RX_NEXT and RX_DELIV to the initial value;
- apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;
- apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure.
상기 절차에서 AM모드 RLC 계층 장치로 구동되는 AM DRB의 경우, 수신 PDCP 계층 장치가 PDCP 재수립을 수행할 때 다음의 동작을 수행하는 이유는 다음과 같다.
- AM DRB의 경우, 만약 drb-ContinueROHC가 설정되어 있지 않다면 현재 수신 버퍼에 저장되어 있는 모든 PDCP PDU들에 대해서 헤더 압축 해제를 실시하고 헤더 압축 해제된 PDCP SDU들을 수신 버퍼에 저장한다.
-    for AM DRBs, perform header decompression for all stored PDCP PDUs and store them in the reception buffer if drb-ContinueROHC is not configured;
상기 동작을 수행하는 이유는 다음과 같다.
예를 들면 단말은 기지국으로부터 AM 베어러로(ARQ 기능을 지원하는 RLC 계층의 AM 모드로 구동되는 베어러를 의미한다) 하향 링크 데이터를 수신할 수 있다. 즉, 기지국은 PDCP 일련번호 0, 1, 2, 3, 4 번에 해당하는 PDCP PDU를 단말에게 하향 링크 데이터로 전송하였는데 전송과정에서 단말의 수신 PDCP 장치는 순서에 맞지 않게 1, 3, 4번에 해당하는 PDCP PDU들을 먼저 수신할 수 있다. 이 때 단말의 수신 PDCP 계층은 순서를 정렬해서 보내야 하는 경우(비순서 전달 지시자가 RRC 설정으로 지시되지 않은 경우) 상기 1, 3, 4 번에 해당하는 PDCP PDU들에 대해서 헤더를 분석하고, 복호화를 수행하고, 무결성 검증을 수행하고 버퍼에 저장해놓는다(헤더 압축 해제는 순서가 정렬되어야 수행하고 상위 계층으로 전달한다. 상기에서 헤더 압축 해제는 PDCP 헤더가 아니라 PDCP SDU(PDCP PDU의 데이터부분)의 IP 패킷의 TCP/IP 헤더에 대한 압축 해제를 의미한다). 만약 이 때 기지국이 핸드오버를 결정하여 단말에게 핸드오버 명령을 RRC 메시지(RRCConnectionReconfiguration)로 지시하면 이를 수신한 단말의 수신 PDCP 계층 장치는 PDCP 계층 장치를 재수립한다(PDCP reestablishment). 즉, 바로 헤더 압축 프로토콜(ROHC)을 초기화(reset)한다. 그리고 추후에 IR 패킷을 수신하여 헤더 압축 프로토콜 설정을 완료하고, 추후에 1, 3, 4번 외에 0, 2번에 해당하는 PDCP PDU를 수신하면 순서가 재정렬될 수 있기 때문에 헤더 압축 해제(header decompression)를 수행하고 상위 계층으로 전달해야 한다. 그런데 이 때 1, 3, 4번에 해당하는 PDCP SDU의 TCP/IP 헤더는 이전에 설정되었던 헤더 압축 프로토콜 설정으로 압축된 것이고, 0, 2번에 해당하는 PDCP SDU는 새로 설정된 헤더 압축 프로토콜 설정으로 압축된 것이므로, 상기 1, 3, 4번에 해당하는 PDCP SDU의 TCP/IP 헤더에 대해서 헤더 압축 해제를 실시할 때 새로운 헤더 압축 프로토콜 설정으로 수행하기 때문에 실패 혹은 에러가 발생할 수 있다.
따라서 이 문제를 해결하기 위해서 본 발명의 제 1-3 실시 예의 PDCP 재수립 절차에서는 수신 PDCP 장치 재수립을 수행해야 하는 경우, 헤더 압축 프로토콜을 초기화(reset)하기 전에 기존 버퍼에 저장되어 있는 PDCP SDU들이 있다면 상기 PDCP SDU들의 TCP/IP 헤더를 기존 헤더 압축 프로토콜로 압축 해제하여 버퍼에 저장하고 나서, 헤더 압축 프로토콜을 초기화하는 방법을 제안한다. 상기 제안 방법은 drb-ContinueROHC(현재 ROHC 설정을 그대로 쓰라는 지시자)가 설정되지 않은 경우에 적합한 동작이다. 왜냐하면 drb-ContinueROHC가 설정되었다면 현재 ROHC 설정을 그대로 쓰라는 의미이므로, 헤더 압축 프로토콜을 초기화하지 않을 것이며, 상기 절차처럼 미리 버퍼에 저장된 PDCP PDU들에 대해서 헤더 압축 해제를 수행할 필요 없다.
본 발명의 전체에서 순서대로라는 의미는 한 예시로 오름차순 순서를 의미할 수 있다.
도 1ia 및 도 1ib에서 상향링크의 예를 들어서 문제점을 설명하였지만 동일한 문제가 하향링크에서 발생할 수 있다. 즉, 도 1ia 및 도 1ib에서 단말이 소스 기지국 혹은 타겟 기지국이 될 수 있고, 소스 기지국 혹은 타겟 기지국이 하나의 기지국으로 동작하여 하향 링크에서 핸드오버 과정 혹은 PDCP reestablishment 과정에서 동일한 문제가 발생할 수 있다. 따라서 본 발명의 제 1-1 실시 예, 제 1-2 실시 예, 제 1-3 실시 예에서 제안하는 방법들은 상향 링크와 하향 링크에 모두 적용될 수 있다.
즉, 본 발명의 제 1-1 실시 예, 제 1-2 실시 예, 제 1-3 실시 예에서는 상향 링크를 예시로 설명한 것이며, 단말은 송신 PDCP 장치의 동작을 설명하며, 기지국은 수신 PDCP 장치의 동작을 설명한다. 따라서 하향 링크의 경우, 기지국은 상기 송신 PDCP 장치의 동작을 수행할 수 있으며, 단말은 상기 수신 PDCP 장치의 동작을 수행할 수 있다. 즉, 본 발명에서 제안한 송신 PDCP 장치 동작과 수신 PDCP 장치 동작은 상향 링크와 하향 링크에서 모두 적용될 수 있다.
본 발명에서 헤더 압축 해제(header decompression)을 수행한다는 의미는 헤더 압축 프로토콜(ROHC)이 TCP/IP 패킷 혹은 상위 계층 패킷의 헤더를 확인하는 절차를 포함하며, 만약 IR 패킷이라면 IR 패킷의 정보를 확인하고 상기 정보에 따라서 헤더 압축 프로토콜의 설정 정보를 업데이트하는 동작을 포함하는 의미이며, 또한 헤더가 압축이 되어 있다면 헤더 압축 프로토콜의 설정 정보를 확인하여 압축 해제를 수행하고, 압축이 해제된 헤더로 복구한다는 의미이다.
도 1q 는 수신 PDCP 계층 장치가 만료되거나 중복된 PDCP PDU를 수신하였을 때의 동작을 나타낸 도면이다.
도 1q에서 수신 PDCP 계층 장치가 만약 만료되거나(outdated) 중복된(duplicated) 데이터를 수신하면 먼저 복호화와 무결성 검증을 수행한다(1q-10, 만약 무결성 검증에 실패하면 상위 계층에 이를 보고하고 바로 폐기한다). 그리고 나서 현재 헤더 압축 프로토콜(ROHC)의 모드와 상태가 U모드의 NC 상태라면(1q-15) 헤더 압축 해제를 수행하고(IR 패킷의 존재 여부를 확인하고, 있다면 헤더 압축 프로토콜 설정 정보를 업데이트하고), 데이터를 폐기한다(1q-20). 만약 현재 헤더 압축 프로토콜의 모드와 상태가 U모드의 NC 상태가 아닌 다른 상태라면(1q-15) 데이터를 폐기한다. 만약 상기 수신한 PDCP PDU가 만료되거나 중복된 것이 아니라면(1q-05), 복호화 및 무결성 검증을 수행하고, 헤더 압축 해제를 수행한 후, 데이터 처리를 수행한다(1q-30).
도 1r은 AM DRB에서 동작하는 수신 PDCP 계층 장치가 PDCP 장치 재수립 요청을 수신하였을 때의 동작을 나타낸 도면이다.
도 1r에서 수신 PDCP 계층 장치는 PDCP 장치 재수립 요청을 수신하면(1r-05) 현재 버퍼에 저장된 PDCP PDU들 혹은 PDCP SDU들에 대해서 헤더 압축 해제를 수행하고, 다시 버퍼에 저장한다(1r-10). 그리고 헤더 압축 해제 프로토콜을 초기화한다(1r-15).그리고 PDCP 장치 재수립 과정에서 제공된 새로운 키를 복호화/무결성 검증 알고리즘에 적용한다(1r-20).
<제 2 실시 예>
도 2a는 본 발명이 적용될 수 있는 LTE 시스템의 구조를 도시하는 도면이다.
도 2a을 참조하면, 도시한 바와 같이 LTE 시스템의 무선 액세스 네트워크는 차세대 기지국(Evolved Node B, 이하 ENB, Node B 또는 기지국)(2a-05, 2a-10, 2a-15, 2a-20)과 MME (2a-25, Mobility Management Entity) 및 S-GW(2a-30, Serving-Gateway)로 구성된다. 사용자 단말(User Equipment, 이하 UE 또는 단말)(2a-35)은 ENB(2a-05 ~ 2a-20) 및 S-GW(2a-30)를 통해 외부 네트워크에 접속한다.
도 2a에서 ENB(2a-05 ~ 2a-20)는 UMTS 시스템의 기존 노드 B에 대응된다. ENB는 UE(2a-35)와 무선 채널로 연결되며 기존 노드 B 보다 복잡한 역할을 수행한다. LTE 시스템에서는 인터넷 프로토콜을 통한 VoIP(Voice over IP)와 같은 실시간 서비스를 비롯한 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스 되므로, UE들의 버퍼 상태, 가용 전송 전력 상태, 채널 상태 등의 상태 정보를 취합해서 스케줄링을 하는 장치가 필요하며, 이를 ENB(2a-05 ~ 2a-20)가 담당한다. 하나의 ENB는 통상 다수의 셀들을 제어한다. 예컨대, 100 Mbps의 전송 속도를 구현하기 위해서 LTE 시스템은 예컨대, 20 MHz 대역폭에서 직교 주파수 분할 다중 방식(Orthogonal Frequency Division Multiplexing, 이하 OFDM이라 한다)을 무선 접속 기술로 사용한다. 또한 단말의 채널 상태에 맞춰 변조 방식(modulation scheme)과 채널 코딩률(channel coding rate)을 결정하는 적응 변조 코딩(Adaptive Modulation & Coding, 이하 AMC라 한다) 방식을 적용한다. S-GW(2a-30)는 데이터 베어러를 제공하는 장치이며, MME(2a-25)의 제어에 따라서 데이터 베어러를 생성하거나 제거한다. MME는 단말에 대한 이동성 관리 기능은 물론 각종 제어 기능을 담당하는 장치로 다수의 기지국 들과 연결된다.
도 2b는 본 발명이 적용될 수 있는 LTE 시스템에서 무선 프로토콜 구조를 나타낸 도면이다.
도 2b를 참조하면, LTE 시스템의 무선 프로토콜은 단말과 ENB에서 각각 PDCP (Packet Data Convergence Protocol 2b-05, 2b-40), RLC (Radio Link Control 2b-10, 2b-35), MAC (Medium Access Control 2b-15, 2b-30)으로 이루어진다. PDCP (Packet Data Convergence Protocol)(2b-05, 2b-40)는 IP 헤더 압축/복원 등의 동작을 담당한다. PDCP의 주요 기능은 하기와 같이 요약된다.
- 헤더 압축 및 압축 해제 기능(Header compression and decompression: ROHC only)
- 사용자 데이터 전송 기능 (Transfer of user data)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs at PDCP re-establishment procedure for RLC AM)
- 순서 재정렬 기능(For split bearers in DC (only support for RLC AM): PDCP PDU routing for transmission and PDCP PDU reordering for reception)
- 중복 탐지 기능(Duplicate detection of lower layer SDUs at PDCP re-establishment procedure for RLC AM)
- 재전송 기능(Retransmission of PDCP SDUs at handover and, for split bearers in DC, of PDCP PDUs at PDCP data-recovery procedure, for RLC AM)
- 암호화 및 복호화 기능(Ciphering and deciphering)
- 타이머 기반 SDU 삭제 기능(Timer-based SDU discard in uplink.)
무선 링크 제어(Radio Link Control, 이하 RLC라고 한다)(2b-10, 2b-35)는 PDCP PDU(Packet Data Unit)를 적절한 크기로 재구성해서 ARQ 동작 등을 수행한다. RLC의 주요 기능은 하기와 같이 요약된다.
- 데이터 전송 기능(Transfer of upper layer PDUs)
- ARQ 기능(Error Correction through ARQ (only for AM data transfer))
- 접합, 분할, 재조립 기능(Concatenation, segmentation and reassembly of RLC SDUs (only for UM and AM data transfer))
- 재분할 기능(Re-segmentation of RLC data PDUs (only for AM data transfer))
- 순서 재정렬 기능(Reordering of RLC data PDUs (only for UM and AM data transfer)
- 중복 탐지 기능(Duplicate detection (only for UM and AM data transfer))
- 오류 탐지 기능(Protocol error detection (only for AM data transfer))
- RLC SDU 삭제 기능(RLC SDU discard (only for UM and AM data transfer))
- RLC 재수립 기능(RLC re-establishment)
MAC(2b-15, 2b-30)은 한 단말에 구성된 여러 RLC 계층 장치들과 연결되며, RLC PDU들을 MAC PDU에 다중화하고 MAC PDU로부터 RLC PDU들을 역다중화하는 동작을 수행한다. MAC의 주요 기능은 하기와 같이 요약된다.
- 맵핑 기능(Mapping between logical channels and transport channels)
- 다중화 및 역다중화 기능(Multiplexing/demultiplexing of MAC SDUs belonging to one or different logical channels into/from transport blocks (TB) delivered to/from the physical layer on transport channels)
- 스케쥴링 정보 보고 기능(Scheduling information reporting)
- HARQ 기능(Error correction through HARQ)
- 로지컬 채널 간 우선 순위 조절 기능(Priority handling between logical channels of one UE)
- 단말간 우선 순위 조절 기능(Priority handling between UEs by means of dynamic scheduling)
- MBMS 서비스 확인 기능(MBMS service identification)
- 전송 포맷 선택 기능(Transport format selection)
- 패딩 기능(Padding)
물리 계층(2b-20, 2b-25)은 상위 계층 데이터를 채널 코딩 및 변조하고, OFDM 심벌로 만들어서 무선 채널로 전송하거나, 무선 채널을 통해 수신한 OFDM 심벌을 복조하고 채널 디코딩해서 상위 계층으로 전달하는 동작을 한다.
도 2c는 본 발명의 제 2 실시 예에 따른 차세대 이동통신 시스템의 구조를 도시하는 도면이다.
도 2c을 참조하면, 도시한 바와 같이 차세대 이동통신 시스템(이하 NR 혹은 5G)의 무선 액세스 네트워크는 차세대 기지국(New Radio Node B, 이하 NR gNB 혹은 NR 기지국)(2c-10) 과 NR CN (2c-05, New Radio Core Network)로 구성된다. 사용자 단말(New Radio User Equipment, 이하 NR UE 또는 단말)(2c-15)은 NR gNB(2c-10) 및 NR CN (2c-05)를 통해 외부 네트워크에 접속한다.
도 2c에서 NR gNB(2c-10)는 기존 LTE 시스템의 eNB (Evolved Node B)에 대응된다. NR gNB는 NR UE(2c-15)와 무선 채널로 연결되며 기존 노드 B 보다 더 월등한 서비스를 제공해줄 수 있다. 차세대 이동통신 시스템에서는 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스 되므로, UE들의 버퍼 상태, 가용 전송 전력 상태, 채널 상태 등의 상태 정보를 취합해서 스케줄링을 하는 장치가 필요하며, 이를 NR NB(2c-10)가 담당한다. 하나의 NR gNB는 통상 다수의 셀들을 제어한다. 현재 LTE 대비 초고속 데이터 전송을 구현하기 위해서 기존 최대 대역폭 이상을 가질 수 있고, 직교 주파수 분할 다중 방식(Orthogonal Frequency Division Multiplexing, 이하 OFDM이라 한다)을 무선 접속 기술로 하여 추가적으로 빔포밍 기술이 접목될 수 있다. 또한 단말의 채널 상태에 맞춰 변조 방식(modulation scheme)과 채널 코딩률(channel coding rate)을 결정하는 적응 변조 코딩(Adaptive Modulation & Coding, 이하 AMC라 한다) 방식을 적용한다. NR CN (2c-05)는 이동성 지원, 베어러 설정, QoS 설정 등의 기능을 수행한다. NR CN는 단말에 대한 이동성 관리 기능은 물론 각종 제어 기능을 담당하는 장치로 다수의 기지국 들과 연결된다. 또한 차세대 이동통신 시스템은 기존 LTE 시스템과도 연동될 수 있으며, NR CN이 MME (2c-25)와 네트워크 인터페이스를 통해 연결된다. MME는 기존 기지국인 eNB (2c-30)와 연결된다.
도 2d는 본 발명의 제 2 실시 예에 따른 차세대 이동통신 시스템의 무선 프로토콜 구조를 나타낸 도면이다. .
도 2d를 참조하면, 차세대 이동통신 시스템의 무선 프로토콜은 단말과 NR 기지국에서 각각 NR PDCP(2d-05, 2d-40), NR RLC(2d-10, 2d-35), NR MAC(2d-15, 2d-30)으로 이루어진다. NR PDCP (2d-05, 2d-40)의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
헤더 압축 및 압축 해제 기능(Header compression and decompression: ROHC only)
- 사용자 데이터 전송 기능 (Transfer of user data)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs)
- 비순차적 전달 기능 (Out-of-sequence delivery of upper layer PDUs)
*- 순서 재정렬 기능(PDCP PDU reordering for reception)
- 중복 탐지 기능(Duplicate detection of lower layer SDUs)
- 재전송 기능(Retransmission of PDCP SDUs)
- 암호화 및 복호화 기능(Ciphering and deciphering)
- 타이머 기반 SDU 삭제 기능(Timer-based SDU discard in uplink.)
상기에서 NR PDCP 장치의 순서 재정렬 기능(reordering)은 하위 계층에서 수신한 PDCP PDU들을 PDCP SN(sequence number)을 기반으로 순서대로 재정렬하는 기능을 말하며, 재정렬된 순서대로 데이터를 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 순서를 고려하지 않고, 바로 전달하는 기능을 포함할 수 있으며, 순서를 재정렬하여 유실된 PDCP PDU들을 기록하는 기능을 포함할 수 있으며, 유실된 PDCP PDU들에 대한 상태 보고를 송신 측에 하는 기능을 포함할 수 있으며, 유실된 PDCP PDU들에 대한 재전송을 요청하는 기능을 포함할 수 있다.
NR RLC(2d-10, 2d-35)의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
*- 데이터 전송 기능(Transfer of upper layer PDUs)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs)
- 비순차적 전달 기능(Out-of-sequence delivery of upper layer PDUs)
- ARQ 기능(Error Correction through ARQ)
- 접합, 분할, 재조립 기능(Concatenation, segmentation and reassembly of RLC SDUs)
- 재분할 기능(Re-segmentation of RLC data PDUs)
- 순서 재정렬 기능(Reordering of RLC data PDUs)
- 중복 탐지 기능(Duplicate detection)
- 오류 탐지 기능(Protocol error detection)
- RLC SDU 삭제 기능(RLC SDU discard)
- RLC 재수립 기능(RLC re-establishment)
상기에서 NR RLC 장치의 순차적 전달 기능(In-sequence delivery)은 하위 계층으로부터 수신한 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 말하며, 원래 하나의 RLC SDU가 여러 개의 RLC SDU들로 분할되어 수신된 경우, 이를 재조립하여 전달하는 기능을 포함할 수 있으며, 수신한 RLC PDU들을 RLC SN(sequence number) 혹은 PDCP SN(sequence number)를 기준으로 재정렬하는 기능을 포함할 수 있으며, 순서를 재정렬하여 유실된 RLC PDU들을 기록하는 기능을 포함할 수 있으며, 유실된 RLC PDU들에 대한 상태 보고를 송신 측에 하는 기능을 포함할 수 있으며, 유실된 RLC PDU들에 대한 재전송을 요청하는 기능을 포함할 수 있으며, 유실된 RLC SDU가 있을 경우, 유실된 RLC SDU 이전까지의 RLC SDU들만을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 유실된 RLC SDU가 있어도 소정의 타이머가 만료되었다면 타이머가 시작되기 전에 수신된 모든 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 유실된 RLC SDU가 있어도 소정의 타이머가 만료되었다면 현재까지 수신된 모든 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있다. 또한 상기에서 RLC PDU들을 수신하는 순서대로 (일련번호, Sequence number의 순서와 상관없이, 도착하는 순으로) 처리하여 PDCP 장치로 순서와 상관없이(Out-of sequence delivery) 전달할 수도 있으며, segment 인 경우에는 버퍼에 저장되어 있거나 추후에 수신될 segment들을 수신하여 온전한 하나의 RLC PDU로 재구성한 후, 처리하여 PDCP 장치로 전달할 수 있다. 상기 NR RLC 계층은 접합(Concatenation) 기능을 포함하지 않을 수 있고 상기 기능을 NR MAC 계층에서 수행하거나 NR MAC 계층의 다중화(multiplexing) 기능으로 대체할 수 있다.
상기에서 NR RLC 장치의 비순차적 전달 기능(Out-of-sequence delivery)은 하위 계층으로부터 수신한 RLC SDU들을 순서와 상관없이 바로 상위 계층으로 전달하는 기능을 말하며, 원래 하나의 RLC SDU가 여러 개의 RLC SDU들로 분할되어 수신된 경우, 이를 재조립하여 전달하는 기능을 포함할 수 있으며, 수신한 RLC PDU들의 RLC SN 혹은 PDCP SN을 저장하고 순서를 정렬하여 유실된 RLC PDU들을 기록해두는 기능을 포함할 수 있다.
NR MAC(2d-15, 2d-30)은 한 단말에 구성된 여러 NR RLC 계층 장치들과 연결될 수 있으며, NR MAC의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
- 맵핑 기능(Mapping between logical channels and transport channels)
- 다중화 및 역다중화 기능(Multiplexing/demultiplexing of MAC SDUs)
- 스케쥴링 정보 보고 기능(Scheduling information reporting)
- HARQ 기능(Error correction through HARQ)
- 로지컬 채널 간 우선 순위 조절 기능(Priority handling between logical channels of one UE)
- 단말간 우선 순위 조절 기능(Priority handling between UEs by means of dynamic scheduling)
- MBMS 서비스 확인 기능(MBMS service identification)
- 전송 포맷 선택 기능(Transport format selection)
- 패딩 기능(Padding)
NR PHY 계층(2d-20, 2d-25)은 상위 계층 데이터를 채널 코딩 및 변조하고, OFDM 심벌로 만들어서 무선 채널로 전송하거나, 무선 채널을 통해 수신한 OFDM 심벌을 복조하고 채널 디코딩해서 상위 계층으로 전달하는 동작을 수행할 수 있다.
도 2e는 본 발명의 제 2 실시 예에 따른 단말이 RRC 유휴 모드(RRC idle mode)에서 RRC 연결 모드(RRC connected mode)로 전환하여 네트워크와 연결을 설정하는 절차를 설명한 도면이다.
도 2e에서 기지국은 RRC 연결 모드에서 데이터를 송수신하는 단말이 소정의 이유로 혹은 일정 시간 동안 데이터의 송수신이 없으면 RRCConnectionRelease 메시지를 단말에게 보내어 단말을 RRC 유휴모드로 전환하도록 할 수 있다(2e-01). 추후에 현재 연결이 설정되어 있지 않은 단말 (이하 idle mode UE)은 전송할 데이터가 발생하면 기지국과 RRC connection establishment과정을 수행한다. 단말은 랜덤 액세스 과정을 통해서 기지국과 역방향 전송 동기를 수립하고 RRCConnectionRequest 메시지를 기지국으로 전송한다 (2e-05). 상기 메시지에는 단말의 식별자와 연결을 설정하고자 하는 이유(establishmentCause) 등이 수납된다. 기지국은 단말이 RRC 연결을 설정하도록 RRCConnectionSetup 메시지를 전송한다(2e-10). 상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 RLC AM 혹은 UM 모드를 사용할 때 사용될 RLC 일련번호의 길이, 분할(segmentation) 동작을 수행할 때 적용되는 SO 필드의 길이, complete RLC PDU에 대해서 RLC 일련번호를 사용할지 말지를 지시하는 지시자, RLC UM 모드에서 송신단/수신단에서 사용할 RX_Next_Segment, TX_Next_Segment 등 윈도우 변수를 설정하는 정보, 초기값, 등의 정보, SI 기반 분할 동작을 수행할지 여부 등를 포함할 수 있다(상기 정보들은 rlc-config 설정 정보, 즉 RLC 설정 정보에 포함될 수 있다). 또한 상기 메시지에는 RRC 연결 구성 정보 등이 수납된다. RRC 연결은 SRB (Signaling Radio Bearer)라고도 하며, 단말과 기지국 사이의 제어 메시지인 RRC 메시지 송수신에 사용된다.
RRC 연결을 설정한 단말은 RRCConnetionSetupComplete 메시지를 기지국으로 전송한다 (2e-15). 상기 메시지에는 단말이 소정의 서비스를 위한 베어러 설정을 MME에게 요청하는 SERVICE REQUEST라는 제어 메시지가 포함되어 있다. 기지국은 RRCConnetionSetupComplete 메시지에 수납된 SERVICE REQUEST 메시지를 MME로 전송하고 (2e-20), MME는 단말이 요청한 서비스를 제공할지 여부를 판단한다. 판단 결과 단말이 요청한 서비스를 제공하기로 결정하였다면 MME는 기지국에게 INITIAL CONTEXT SETUP REQUEST라는 메시지를 전송한다(2e-25). 상기 메시지에는 DRB (Data Radio Bearer) 설정 시 적용할 QoS (Quality of Service) 정보, 그리고 DRB에 적용할 보안 관련 정보 (예를 들어 Security Key, Security Algorithm) 등의 정보가 포함된다.
기지국은 단말과 보안을 설정하기 위해서 SecurityModeCommand 메시지(2e-30)와 SecurityModeComplete 메시지(2e-35)를 교환한다. 보안 설정이 완료되면 기지국은 단말에게 RRCConnectionReconfiguration 메시지를 전송한다(2e-40). 상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 RLC AM 혹은 UM 모드를 사용할 때 사용될 RLC 일련번호의 길이, 분할(segmentation) 동작을 수행할 때 적용되는 SO 필드의 길이, complete RLC PDU에 대해서 RLC 일련번호를 사용할지 말지를 지시하는 지시자, RLC UM 모드에서 송신단/수신단에서 사용할 RX_Next_Segment, TX_Next_Segment 등 윈도우 변수를 설정하는 정보, 초기값, 등의 정보, SI 기반 분할 동작을 수행할지 여부 등를 포함할 수 있다(상기 정보들은 rlc-config 설정 정보, 즉 RLC 설정 정보에 포함될 수 있다). 또한 상기 메시지에는 사용자 데이터가 처리될 DRB의 설정 정보가 포함되며, 단말은 상기 정보를 적용해서 DRB를 설정하고 기지국에게 RRCConnectionReconfigurationComplete 메시지를 전송한다(2e-45).
단말과 DRB 설정을 완료한 기지국은 MME에게 INITIAL CONTEXT SETUP COMPLETE 메시지를 전송하고 (2e-50), 이를 수신한 MME는 S-GW와 S1 베어러를 설정하기 위해서 S1 BEARER SETUP 메시지와 S1 BEARER SETUP RESPONSE 메시지를 교환한다(2e-055, 2e-60). S1 베어러는 S-GW와 기지국 사이에 설정되는 데이터 전송용 연결이며 DRB와 1대 1로 대응된다. 상기 과정이 모두 완료되면 단말은 기지국과 S-GW를 통해 데이터를 송수신한다(2e-65, 2e-70).
이처럼 일반적인 데이터 전송 과정은 크게 RRC 연결 설정, 보안 설정, DRB설정의 3단계로 구성된다. 또한 기지국은 소정의 이유로 단말에게 설정을 새로 해주거나 추가하거나 변경하기 위해서 RRCConnectionReconfiguration 메시지를 전송할 수 있다(2e-75). 상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 RLC AM 혹은 UM 모드를 사용할 때 사용될 RLC 일련번호의 길이, 분할(segmentation) 동작을 수행할 때 적용되는 SO 필드의 길이, complete RLC PDU에 대해서 RLC 일련번호를 사용할지 말지를 지시하는 지시자, RLC UM 모드에서 송신단/수신단에서 사용할 RX_Next_Segment, TX_Next_Segment 등 윈도우 변수를 설정하는 정보, 초기값, 등의 정보, SI 기반 분할 동작을 수행할지 여부 등를 포함할 수 있다(상기 정보들은 rlc-config 설정 정보, 즉 RLC 설정 정보에 포함될 수 있다).
도 2f는 본 발명의 제 2 실시 예에 따른 RLC 계층 RLC AM 모드에서 제안하는 SO 기반 분할(Segmentation) 동작을 나타낸 도면이다.
본 발명에서는 RLC 계층에서 상위 계층으로부터 수신한 패킷에 대해 SO(segment offset)기반으로 분할(segmentation) 동작을 수행하는 절차 및 방법을 적용할 수 있다. 상기 제안 방법은 처음 전송하는 경우와 재전송하는 경우에 분할 동작을 수행할 때 각각을 구분하지 않고 통합된 분할 동작을 수행하는 것을 특징으로 할 수 있다. 또한 RLC 계층에서 concatenation을 수행하지 않는 것을 특징으로 할 수 있다. 또한 RLC 헤더에 SI 필드를 도입하여 RLC 헤더 뒤에 데이터 부분인 RLC SDU가 분할(segmentation)이 되지 않은 완전한 RLC SDU인지 혹은 분할이 된 맨 앞의 RLC SDU segment인지 혹은 분할이 된 중간의 RLC SDU segment인지 혹은 분할이 된 마지막의 RLC SDU segment인지를 구분할 수 있는 것을 특징으로 할 수 있다. 또한 RLC 헤더에 길이를 지시하는 Length 필드가 없는 것을 특징으로 할 수 있다.
도 2f에서 RLC 계층은 상위 계층인 PDCP 계층으로부터 PDCP PDU(RLC SDU, 2f-05)를 전달받는다. 상기 RLC SDU은 MAC 계층이 지시한 크기로 가공될 수 있으며, 분할된 경우, 헤더의 분할 정보를 포함하여 구성하고 RLC PDU를 구성할 수 있다. 상기 RLC PDU는 RLC 헤더와 RLC payload (RLC SDU)로 구성된다. 상기 RLC 헤더에는 상기 RLC PDU의 성격(데이터 혹은 제어 정보)과 분할 정보를 포함할 수 있으며, D/C 필드, P 필드, SI 필드, SN 필드, SO 필드를 포함할 수 있다. 상기에서 ARQ를 지원하지 않는 RLC UM 모드에서는 P 필드가 없고, 예약 필드로 대치될 수 있다.
표 1을 참조하면, D/C (Data/Control) 필드는 1 비트로, 구성되는 RLC PDU가 control PDU인지 혹은 data PDU인지를 지시하는데 이용된다.
Value Description
0 Control PDU
1 Data PDU
SN (Sequence Number) 필드는 RLC PDU의 일련 번호를 나타내며, 소정의 길이를 가질 수 있다. 예를 들면 12비트 혹은 18비트의 길이를 가질 수 있다. SO (Segment Offset) 필드는 2 바이트의 크기를 가질 수 있으며, RLC SDU segment가 원래 RLC SDU의 어느 위치에서 분할되었는지를 지시하며 분할된 세그먼트의 첫 바이트를 지시하는데 이용된다.
P 필드는 송신단에서 polling을 트리거링하는 조건이 발생하는 경우, P필드를 1로 설정하여 수신단에서 RLC 상태 보고(RLC Status report)를 수행하도록 할 수 있다. 즉, 지금까지 받은 RLC PDU들에 대한 ACK/NACK 정보를 송신단에 전달할 수 있도록 한다.
2f-05의 RLC SDU를 RLC 계층이 수신하면 RLC 계층은 상기 RLC SDU에 바로 RLC SN을 삽입하고 RLC 헤더를 생성하고 RLC PDU를 만들 수 있다. 소정의 이유로 분할(segmentation) 동작이 필요하면 2f-10 혹은 2f-15와 같이 SI필드를 업데이트하고 SO필드를 RLC 헤더에 추가하여 RLC PDU를 각각 생성할 수 있다. 즉, 분할 동작 후에 소정의 조건에 따라서 분할된 segment에 SO필드가 추가될 수도 있고, 추가되지 않을 수도 있다. 상기 소정의 조건은 하기에 설명할 SI 필드에 따라서 결정된다. 상기에서 분할 동작이 필요한 소정의 이유는 MAC 계층에서 할당해준 전송자원의 크기보다 현재 생성해놓은 MAC 서브헤더와 MAC SDU의 크기가 커서 RLC 계층으로 특정 MAC SDU(RLC PDU)에 대해 분할 동작이 요청된 경우일 수 있다.
상기에서 SN (Sequence Number) 필드는 RLC PDU의 일련 번호이며, 혹은 필요하거나 설정된 경우, PDCP SN을 재사용할 수도 있다. SO (Segment Offset) 필드는 소정의 길이를 갖는 필드로 처음 전송시 분할된 RLC PDU 데이터 필드 (RLC SDU)의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇 번째 바이트인지를 나타낼 수 있으며, 재전송시에도 재분할(Re-segmentation)된 RLC PDU 데이터 필드의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇 번째 바이트인지를 나타낼 수 있다. 상기에서 SO 필드의 길이(Length)는 고정된 길이을 가질 수 있으며(예를 들면 2바이트) 혹은 RRC 메시지(예를 들면 RRCConnectionSetup 혹은 RRCConnectionReconfiguration 메시지, 2e-10, 2e-40, 2e-75)에 의해 설정될 수 있다. 상기에서 SI(Segmentation Information) 필드는, 표 2를 참조하면, 다음과 같이 정의될 수 있으며 혹은 다른 이름으로 명명될 수 있다.
Value Description
00 A complete RLC PDU
01 First segment of a RLC PDU
10 Last segment of a RLC PDU
11 Middle segment of a RLC PDU
SI 필드가 00인 경우, segmentation 되지 않은 완전한 RLC PDU를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요 없다. SI 필드가 01인 경우, segmentation 된 맨 앞의 RLC PDU segment를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요 없다. 왜냐하면 첫 번째 segment의 경우 SO 필드가 항상 0을 지시하기 때문이다. SI 필드가 10인 경우, segmentation된 마지막의 RLC PDU segment를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요하다. SI 필드가 11인 경우, segmentation 된 중간의 RLC PDU segment를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요하다. 상기 2비트와 4가지 정보(완전한 RLC PDU, 맨 앞의 segment, 마지막의 segment, 중간의 segment)의 맵핑 관계는 총 4x3x2x1 = 24가지를 가질 수 있고 상기는 그 중 한 가지 예를 나타낸 것이다. 본 발명은 상기 24가지 맵핑의 경우를 모두 포함한다. 만약 상기에서 2f-10와 2f-15의 RLC PDU들이 전송에 실패한 경우, 재전송을 수행할 수 있으며, 이 때 전송 자원이 부족하다면 2f-20, 2f-25, 2f-30과 같이 Re-segmentation 될 수 있다. 상기 Re-segmentation 될 때 새로 생성된 RLC PDU들(2f-20, 2f-25, 2f-30)의 SI 필드와 SO 필드가 업데이트 될 수 있다. 2f-20의 경우, 맨 앞의 segment이므로 SI를 01로 업데이트하고, SO 필드는 필요 없다. 2f-25의 경우, 중간의 segment이므로 SI를 11로 업데이트하고, SO 필드를 RLC PDU 데이터 필드 (RLC SDU)의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇번째 바이트인지를 나타낼 수 있도록 300으로 업데이트 한다. 2f-30의 경우, 마지막 segment이므로 SI를 10로 업데이트하고, SO 필드를 RLC PDU 데이터 필드 (RLC SDU)의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇번째 바이트인지를 나타낼 수 있도록 600으로 업데이트 한다.
도 2g는 본 발명의 제 2 실시 예에 따른 RLC AM 모드의 SO 기반 분할 방법을 적용한 데이터 처리 동작을 나타낸 도면이다.
도 2g에서 IP 패킷이 PDCP 계층에 도착하면 PDCP 헤더를 붙이고, RLC 계층으로 PDCP PDU(혹은 RLC SDU, 2g-05)를 전달할 수 있다. RLC 계층에서는 먼저 RLC 헤더를 생성하고, RLC 일련번호를 할당하고, RLC 헤더를 구성하여 RLC PDU(2g-10)를 완성한 뒤, MAC 계층으로 전달할 수 있다. 상기 MAC 계층에서는 상기 MAC SDU(혹은 RLC PDU)의 크기를 계산하여 L 필드를 구성하고, 그에 상응하는 로지컬 채널 식별자 등을 설정하고 MAC 서브헤더(2g-15)를 구성하여 버퍼(2g-20)에 저장해둘 수 있다. 따라서 이런 방식으로 PDCP 계층에 수신된 데이터 패킷들을 기지국으로부터 전송 자원(UL grant)을 수신하기 전에 데이터 선처리(pre-processing)을 수행하여 버퍼에 저장해둘 수 있으며, 혹은 전송 자원을 수신한 후에 바로 데이터 처리(on-the-fly processing)를 수행할 수도 있다. 만약 기지국으로부터 상향 링크 전송 자원(UL grant 1, 2g-25)을 수신하였는데 상향 링크 전송 자원이 부족하여 분할동작을 수행해야 한다면 2g-30과 같이 분할 동작을 수행한 뒤, 각 segment들의 RLC 헤더에 SI 필드를 segment에 맞게 설정한 뒤, segment들의 RLC 헤더를 새롭게 구성할 수 있다(2g-30, 2g35). 그리고 상기 도 2f 에서 설명한 바와 같이 첫 번째 segment가 아닌 중간 segment나 마지막 segment는 SO 필드를 추가하고 그 오프셋을 지시해야 하므로 2g-35와 같이 RLC 헤더에 SO 필드를 추가할 수 있다. 그리고 상향 링크 전송 자원에 맞게 구성된 MAC PDU를 전송할 수 있다.
만약 두 번째 상향 링크 전송 자원(UL grant 2, 2g-45)을 수신하였는데 또 다시 전송 자원의 크기가 부족해서 다시 한번 분할동작이 필요하면 2g-40과 2g-50과 같이 새로 분할된 segment들에 맞게 SI 필드를 갱신하고 SO 필드를 갱신하고 혹은 추가하고 RLC 헤더를 각각 구성한다. 그리고 상향 링크 전송 자원(UL grant 2)에 맞게 MAC PDU를 구성하여 전송한다.
상기에서 SO 기반 분할 방법은 분할 동작이 수행되어도 분할된 segment들이 원래 RLC PDU의 RLC 일련번호가 동일한 특징을 갖는다. 따라서 하나의 RLC PDU에서 분할된 segment들은 원래 RLC PDU의 RLC 일련번호와 동일하다(2g-30, 2g-35, 2g-40, 2g-40, 2g-50).
RLC 계층은 RLC AM(Acknowledged Mode) 모드와 RLC UM(Unacknowledged Mode) 모드와 RLC TM(Transparent Mode) 모드에서 동작할 수 있다. RLC AM 모드에서 RLC 계층은 ARQ 기능을 지원하며, 송신단은 수신단으로부터 RLC 상태 보고(RLC Status Report)를 수신할 수 있고, 상기 상태 보고를 통해 유실된(NACK을 받은) RLC PDU들에 대해서 재전송을 수행할 수 있다. 상기 재전송을 수행할 경우, 상향 링크 전송 자원이 충분하지 않으면 재분할(Re-segmentation) 동작을 수행할 수 도 있다. 따라서 에러가 없는 신뢰성 있는 데이터의 전송을 보장하며, 높은 신뢰성이 요구되는 서비스에 적합하다. 상기에서 ARQ 기능을 효율적으로 지원하기 위해서는 유실된 RLC PDU들에 대한 정확한 정보가 필요하다. 따라서 SO 필드가 매우 유용하게 사용될 수 있다. 즉, 어떤 RLC PDU가 유실되었으며, 상기 RLC PDU의 어떤 부분이 유실되었는지를 SO 필드로 더 구체적으로 RLC 상태 보고(RLC Status Report)에서 지시해줄 수 가 있다. 상기 SO 필드로 유실된 RLC PDU의 구체적 정보를 송신단이 수신하면 그에 맞게 SO 기반 분할동작을 수행하여 재전송을 수행할 수 있다.
반면에 RLC UM 모드에서는 ARQ 기능을 지원하지 않는다. 따라서 RLC 상태 보고를 수행하지 않으며, 재전송 기능도 없다. RLC UM 모드에서 송신단의 RLC 계층은 상향 링크 전송 자원을 수신하면 혹은 그 전에 상위 계층에서 수신한 PDCP PDU(RLC SDU)들에 대한 RLC 헤더를 구성하고 하위 계층으로 전달하는 역할을 수행한다. 따라서 전송 지연(delay) 없이 지속적인 데이터 전송이 가능하며, 전송 지연에 민감한 서비스에 유용할 수 있다.
본 발명에서는 차세대 이동 통신 시스템에서 RLC UM 모드에서 불필요한 오버헤드를 줄이기 위해서 complete RLC PDU(즉 분할되지 않은 RLC PDU)에 대해서는 RLC 일련번호를 사용하지 않고, RLC PDU segment(분할된 RLC PDU)에 대해서만 RLC 일련번호를 사용하는 방법을 제안한다.
도 2h는 본 발명의 제 2 실시 예에 따른 RLC UM 모드에서 적용 가능한 RLC 헤더 구조를 나타낸다.
도 2h는 본 발명에서 RLC UM 모드(ARQ를 지원하지 않는 경우)를 사용할 경우, 상기 도 2f에서 설명한 SO 필드 및 SI 필드 기반 분할 동작에서 6비트 혹은 12비트 길이의 일련번호를 사용할 때의 RLC 헤더 구조를 나타낸다.
상기 RLC 헤더 구조는 도 2f에서 설명한 필드들 중에 일부 혹은 또 다른 새로운 필드를 포함할 수 있으며, 서로 다른 RLC 일련번호 길이, SO 필드 길이 등 각 필드들의 길이에 따라 그리고 각 필드들의 위치에 따라 서로 다른 구조를 가질 수 있다. R은 예약된 비트를 말하며, 상기 RLC 헤더 구조는 RF 필드와 FI 필드 혹은 E 필드가 없는 것을 특징으로 할 수 있다. 또한 처음 전송하는 경우와 재전송하는 경우의 RLC 헤더를 서로 구분하지 않고 통합된 헤더를 쓰는 것을 특징으로 할 수 있다. 상기에서 SI 필드는 도 2f에서 설명한 바와 같이 분할 동작이 수행되지 않은 완전한 RLC SDU(complete RLC PDU)와 분할 동작이 수행된 첫 번째 segment, 중간 segment, 마지막 segment를 지시해주는 역할을 한다. 도 2f에서 설명한 것처럼 분할동작이 수행되지 않은 complete RLC SDU와 분할동작이 수행된 첫 번째 segment에 대해서는 SO 필드가 필요 없기 때문에 RLC 헤더를 2h-10 (6비트 길이의 RLC 일련번호 사용시) 혹은 2h-20 (12비트 길이의 RLC 일련번호 사용시)의 포맷으로 사용할 수 있다. 하지만 분할동작이 수행되어 만들어진 중간 segment와 마지막 segment들에는 SO필드로 오프셋을 지시하여야 하기 때문에 2h-15(6비트 길이의 RLC 일련번호 사용시) 혹은 2h-25(12비트 길이의 RLC 일련번호 사용시)와 같은 RLC 헤더 포맷을 사용할 수 있다.
상기에서 Complete RLC PDU(분할 동작이 수행되지 않은 RLC PDU)에 대해서는 RLC 일련번호가 필요 없다. RLC 일련번호가 필요한 이유는 여러 가지가 있다. 즉, 순서 재정렬, 중복 체크, 유실 패킷 탐지 및 ARQ 기능 지원, 분할된 segment 재조립을 위해서 RLC 일련번호가 필요하다. 하지만 차세대 이동 통신 시스템에서는 RLC 계층에서 순서 재정렬을 수행할 필요가 없으며, 중복 체크는 PDCP 계층에서 대신하여 수행할 수 있으며, RLC UM 모드에서는 유실 패킷 탐지 및 ARQ 기능이 지원되지 않는다. 따라서 RLC 일련번호는 분할된 RLC PDU segment에만 필요하다. 따라서 Complete RLC PDU에서는 RLC 일련번호를 사용하지 않을 수 있다.
본 발명에서는 Complete RLC PDU에서는 RLC 일련번호를 사용하지 않고, 2h-05와 같은 헤더 포맷을 사용하는 것을 제안한다. 즉, 송신단에서 분할 동작을 수행하지 않은 RLC PDU에 대해서는 2h-05의 헤더의 SI 필드를 00으로 지시하여 complete RLC PDU임을 지시하여 RLC 일련번호가 없음을 지시할 수 있고, 수신단에서는 헤더의 SI필드를 확인하고 00이라면 RLC 일련번호가 없음을 알 수 있다. 따라서, RLC 일련번호의 길이와 상관없다. 2h-05와 같은 1 바이트 헤더를 complete RLC PDU에 대해서 사용할 수 있다. 그리고 분할 동작이 수행된 첫 번째 RLC PDU segment에 대해서는 상기에서 설명한 바와 같이 SO 필드가 필요 없기 때문에 RLC 헤더를 2h-10 (6비트 길이의 RLC 일련번호 사용시) 혹은 2h-20 (12비트 길이의 RLC 일련번호 사용시)의 포맷으로 사용할 수 있다. 하지만 분할동작이 수행되어 만들어진 중간 segment와 마지막 segment들에는 SO필드로 오프셋을 지시하여야 하기 때문에 2h-15(6비트 길이의 RLC 일련번호 사용시) 혹은 2h-25(12비트 길이의 RLC 일련번호 사용시)와 같은 RLC 헤더 포맷을 사용할 수 있다. 상기에서 설명한 바와 같이 분할 동작이 수행된 segment 들에 대해서는 RLC 일련번호가 필요하다. 왜냐하면 RLC 일련번호가 있어야만 어떤 segment 들이 어떤 RLC 일련번호에 해당하는 segment들인지 구별할 수 있으며, 이를 기반으로 수신단에서 재조립을 수행하여 완전한 RLC PDU를 만들고 데이터 처리하여 RLC SDU를 상위 계층으로 전달할 수 있다.
상기에서 complete RLC PDU에서 RLC 일련번호를 사용할지 말지는 RRC 메시지(2e-10, 2e-40, 2e-75)로 각 베어러 별 혹은 로지컬 채널 별로 도 2e에서와 같이 설정될 수도 있다.
또한 본 발명에서는 차세대 이동 통신 시스템에서 RLC UM 모드에서 불필요한 오버헤드를 줄이기 위해서 complete RLC PDU(즉 분할되지 않은 RLC PDU)에 대해서는 RLC 일련번호를 사용하지 않고, RLC PDU segment(분할된 RLC PDU)에 대해서만 RLC 일련번호를 사용하는 방법을 효율적으로 구동하기 위해서 타이머가 없는 RLC UM 송수신 윈도우 동작 방법을 제안한다.
도 2i는 차세대 이동 통신 시스템의 RLC UM 모드 송수신 동작에서 타이머를 사용하기 어려운 이유를 나타낸 도면이다.
본 발명의 상기에서 제안한 것처럼 차세대 이동 통신 시스템의 RLC UM 모드에서 Complete RLC PDU(UMD PDU)는 RLC 일련번호를 갖고 있지 않으며, RLC PDU segment(UMD PDU segment)만 RLC 일련번호를 포함하고 있다. 따라서 도 2에서처럼 2i-05와 같이 UMD PDU는 RLC 일련번호를 갖고 있지 않고, UMD PDU segment는 RLC 일련번호를 갖고 있다.
도 2i의 시점 T1에서 2i-05 와 같이 UMD PDU와 RLC 일련번호 n을 가지는 분할된 UMD PDU segment가 전송되었고, 수신단에서 성공적으로 수신되었다고 하자. 그리고 시점 T2에서 2i-10와 같이 상기와 같은 UMD PDU에서 분할되어 RLC 일련번호 n을 가지는 UMD PDU segment와 또 다른 UMD PDU가 전송되었고, 수신단에서 이를 수신하지 못하였다고 하자. 그리고 시점 T3에서 UMD PDU 하나를 전송하였고, 수신단에서 이를 성공적으로 수신하였다. 그리고 그 이후로도 계속하여 분할되지 않은 UMD PDU들만 계속 전송되었고, 성공적으로 수신단에서 수신되었다고 하자. 그리고 시점 Tn 에서 분할 동작이 수행되었고, RLC 일련번호 n+1을 갖는 UMD PDU segment가 송신단에서 전송되었고, 수신단에서 이를 성공적으로 수신하였다고 하자.
상기와 같은 시나리오에서 타이머 기반으로 버퍼에 저장된 UMD PDU segment를 폐기하는 방안을 적용한다고 가정해보자. 시점 T2에서 UMD PDU segment가 유실되었기 때문에 시점 T1에서 수신된 UMD PDU segment가 버퍼에 저장되어 있고, T2에서 유실된 UMD PDU segment 를 얼마만큼의 시간 동안 기다렸다가 더 이상 수신되지 않으면 T1에서 수신한 UMD PDU segment를 폐기할 지를 결정해야 할 필요가 있다(타이머를 이용하여 폐기). 상기에서 타이머를 트리거링할 수 있는 시점은 다음과 같다.
1. T1에서 UMD PDU segment를 수신하였을 때 타이머 트리거링
- 이 경우, 상기 UMD PDU segment 가 속한 UMD PDU의 나머지 segment가 송신단에서 전송되지도 않았는데 타이머를 트리거링하는 것일 수 있으므로, 너무 일찍 타이머를 트리거링하여 버퍼에 저장된 UMD PDU segment를 너무 일찍 버리게 되고, 불필요한 유실을 발생시킬 수 있다.
2. T3에서 분할되지 않은 UMD PDU를 수신하였을 때 타이머 트리거링
- 이 경우, 상기 UMD PDU가 RLC 일련번호를 갖고 있지 않기 때문에 정상적으로 수신된 UMD PDU인지 중복되거나 만료되거나 매우 늦게 도착한 UMD PDU일 수 있으므로 타이머 트리거링 시점이 정확하지 않다.
3. Tn에서 그 다음 RLC 일련번호 n+1을 수신하여 RLC 일련번호 n 에 해당하는 UMD PDU의 일부가 유실되었음을 탐지하였을 때 타이머 트리거링.
- 이 경우, 타이머가 너무 늦게 트리거링 되어 불필요하게 segment들을 버퍼에 계속 유지하고 있을 수 있다. 즉, 지속적으로 분할되지 않은 UMD PDU가 수신하는 경우, 유실된 UMD PDU segment 탐지가 굉장히 늦어질 수 있다.
상기에서 설명한 바와 같이 차세대 이동 통신 시스템의 RLC UM 모드 송수신 동작에서는 분할되지 않는 UMD PDU에서 RLC 일련번호를 포함하고 있지 않기 때문에 타이머를 적용하는 것이 바람직하지 않다.
하지만 타이머를 적용할 경우, 가장 간단한 방법은 분할된 segment를 받을 때 타이머를 트리거링하는 것이다.
본 발명에서는 다음과 같이 분할 방법 및 RLC UM 수신 방법에 따른 RLC UM의 데이터 송신 동작과 데이터 수신 동작들을 제안한다.
제 2-1a 실시 예와 제 2-1b 실시 예: SO 기반 분할 방법을 적용하고, RLC UM 수신 방법으로 윈도우만을 사용하는 RLC UM의 데이터 송신 동작과 데이터 수신 동작.
제 2-2 실시 예: SI 기반 분할 방법을 적용하고, RLC UM 수신 방법으로 윈도우만을 사용하는 RLC UM의 데이터 송신 동작과 데이터 수신 동작.
제 2-3 실시 예: SO 기반 분할 방법을 적용하고, RLC UM 수신 방법으로 윈도우와 타이머를 사용하는 RLC UM의 데이터 송신 동작과 데이터 수신 동작.
본 발명의 다음에서는 다음과 같은 분할 방법 및 RLC UM 수신 방법에 따른 RLC UM의 데이터 송신 동작과 데이터 수신 동작을 제안한다.
제 2-1a 실시 예와 제 2-1b 실시 예: SO 기반 분할 방법을 적용하고, RLC UM 수신 방법으로 윈도우만을 사용하는 RLC UM의 데이터 송신 동작과 데이터 수신 동작.
따라서 본 발명에서는 차세대 이동 통신 시스템에서 RLC UM 모드에서 불필요한 오버헤드를 줄이기 위해서 complete RLC PDU(즉 분할되지 않은 RLC PDU)에 대해서는 RLC 일련번호를 사용하지 않고, RLC PDU segment(분할된 RLC PDU)에 대해서만 RLC 일련번호를 사용하는 방법을 효율적으로 구동하기 위해서 타이머가 없는 RLC UM 송수신 윈도우 동작 방법을 다음과 같이 제안한다. 또한 RLC 일련번호를 기반으로 중복 체크를 수행하지 않는 것을 특징으로 한다.
먼저 다음과 같이 윈도우 동작에 사용할 윈도우 변수들을 정의할 수 있다.
송신 RLC 장치는 TX_Next_Segment라는 송신 상태 변수를 정의하여 분할된 UMD PDU segment에 RLC 일련번호를 할당할 수 있다.
1) TX_Next_Segment-UM 모드에서 송신 상태 변수
- TX_Next segment는 다음 RLC SDU의 segment를 포함하는 UMD PDU에게 할당될 RLC 일련번호 값을 나타낸다. 초기값은 0으로 설정될 수 있으며, 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 첫번째 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다 혹은 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 마지막 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다(어떻게 변수를 업데이트할지 정의하기에 따라 정해질 수 있다).
Each transmitting UM RLC entity shall maintain the following state variable:
1) TX_Next_Segment-UM transmit state variable
This state variable holds the value of the SN to be assigned for a UMD PDU containing a segment of the next RLC SDU. It is initially set to 0, and is updated whenever the UM RLC entity delivers the first segment of a UMD PDU with SN = TX_Next_Segment (It can be updated whenever the UM RLC entity delivers the last segment of a UMD PDU with SN = TX_Next_Segment. It depends on how to define it).
수신 RLC 장치는 RX_Next_Segment라는 윈도우 변수를 정의하여 분할된 UMD PDU segment에 대해 수신 윈도우를 구동할 수 있다.
2) RX_Next_Segment-UM 모드에서 가장 높은 일련번호를 갖는 수신 상태 변수
- RX_Next_Segment는 수신한 UMD PDU segment들 중에서 가장 높은 RLC 일련번호 다음 RLC 일련번호를 나타낸다. 이 변수는 수신 윈도우의 상위 윈도우 가장자리 역할을 수행하며, 초기값은 0으로 설정된다. STCH의 경우, 처음으로 수신한 UMD PDU segment의 RLC 일련번호로 초기화될 수 있다.
Each receiving UM RLC entity shall maintain the following state variable:
2) RX_Next_Segment-UM highest received state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs containing segment, and it serves as the higher edge of the receive(or reordering) window. It is initially set to 0. For RLC entity configured for STCH, it is initially set to the SN of the first received UMD PDU containing segment.
차세대 이동 통신 시스템의 RLC UM 모드에서 송신 동작과 수신 동작은 다음과 같다.
1) UM 데이터 전송 (UM data transfer)
송신 동작(Transmit operations)
일반적인 동작(General)
다음 제 2-1a 실시 예 혹은 제 2-1b 실시 예 중에 하나의 실시 예에 따라서 동작할 수 있다.
[제 2-1a 실시 예]
하위 계층으로 segment를 포함한 UMD PDU를 전달할 때 송신 RLC 장치는 다음과 같이 동작한다.
- 만약 UMD PDU가 첫 번째 segment를 포함했다면,
■ 그 RLC SDU에 TX_Next_Segment와 같은 RLC 일련번호를 할당하고, TX_Next_Segment를 1만큼 증가시킨다.
- UMD PDU의 RLC 일련번호를 그에 상응하는 RLC SDU의 RLC 일련번호로 설정한다.
When delivering an UMD PDU that contains a segment of a RLC SDU, to lower layer, the transmitting side of an UM RLC entity shall:
- if the UMD PDU contains the first segment, associate a SN with the RLC SDU equal to TX_Next_Segment and increment TX_Next_Segment by one;
- set the SN of the UMD PDU to the SN of the corresponding RLC SDU.
[제 2-1b 실시 예]
하위 계층으로 segment를 포함한 UMD PDU를 전달할 때 송신 RLC 장치는 다음과 같이 동작한다.
- 만약 UMD PDU가 마지막 segment를 포함했다면,
■ 그 RLC SDU에 TX_Next_Segment와 같은 RLC 일련번호를 할당하고, TX_Next_Segment를 1만큼 증가시킨다.
- UMD PDU의 RLC 일련번호를 그에 상응하는 RLC SDU의 RLC 일련번호로 설정한다.
When delivering an UMD PDU that contains a segment of a RLC SDU, to lower layer, the transmitting side of an UM RLC entity shall:
- if the UMD PDU contains the last segment, associate a SN with the RLC SDU equal to TX_Next_Segment and increment TX_Next_Segment by one;
- set the SN of the UMD PDU to the SN of the corresponding RLC SDU.
2) 수신 동작(Receive operations)
일반적인 동작(General)
수신 RLC 장치는 RX_Next_Segment 상태 변수에 따라서 수신 윈도우를 다음과 같이 유지한다.
- RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment 구간 내에 있다면 윈도우 내에 있다고 판단하고,
- RLC 일련번호가 상기 구간 밖에 있으면 윈도우 밖에 있다고 판단한다.
하위 계층으로부터 분할되지 않은 완전한 RLC SDU를 포함한 UMD PDU를 수신하였을 때 수신 RLC 장치의 동작은 다음과 같다.
- UMD PDU 헤더를 제거한 후에 상위 계층으로 RLC SDU를 전달한다.
하위 계층으로부터 분할된 segment를 포함한 UMD PDU를 수신하였을 때 수신 RLC 장치의 동작은 다음과 같다.
- 수신한 UMD PDU를 수신 버퍼에 저장한다.
- 관련된 윈도우 상태 변수를 업데이트하고, 재조립하고, RLC SDU들을 상위 계층으로 전달한다.
The receiving UM RLC entity shall maintain a receive(or reordering) window according to state variable RX_Next_Segment as follows:
- a SN falls within the receive(or reordering) window if (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment;
- a SN falls outside of the receive(or reordering) window otherwise.
When receiving an UMD PDU that contains a complete RLC SDU, from lower layer, the receiving UM RLC entity shall:
- deliver RLC SDU to the upper layer after removing UMD PDU header
When receiving an UMD PDU that contains a segment of a RLC SDU, from lower layer, the receiving UM RLC entity shall:
- place the received UMD PDU in the reception buffer:
- update state variable, reassemble and deliver RLC SDUs to upper ;
3) UMD PDU가 버퍼에 저장될 때 수신 RLC 장치의 동작 (Actions when an UMD PDU is placed in the reception buffer)
RLC 일련번호 x를 갖는 UMD PDU가 수신 버퍼에 저장될 때, 수신 RLC 장치는 다음과 같이 동작한다.
- 만약 RLC 일련번호 x가 윈도우 밖에 있다면,
■ RX_Next_Segment를 x+1로 업데이트하고,
■ 상기에서 업데이트된 RX_Next_Segment 변수에 의해서 이동된 수신 윈도우 밖에 있는 UMD PDU들은 폐기한다.
- 수신된 UMD PDU에 대해서 버퍼에 저장되어 있는 다른 UMD PDU segment들과 재조립을 시도하고, 재조립이 가능하다면 완전한 RLC SDU를 구성하고, UMD PDU 헤더를 제거하고, 재조립된 RLC SDU들을 상위 계층으로 순서대로 전달한다(필요한 경우, 순서대로 전달하지 않고, 재조립되는 대로 전달할 수도 있다).
When an UMD PDU with SN = x is placed in the reception buffer, the receiving UM RLC entity shall:
- if x falls outside of the receive(or reordering) window:
- update RX_Next_Segment to x + 1;
- discard any UMD PDUs that falls outside of the reordering window;
- reassemble RLC SDUs from any UMD PDUs, remove UMD PDU header when doing so and deliver the reassembled RLC SDUs to upper layer in ascending order of the RLC SN.
도 2j는 본 발명의 제 2 실시 예에 따른 RLC UM 모드 단말의 송신 동작을 나타낸 도면이다.
단말(2j-01)은 RLC UM 모드에서 상위 계층에서 전달받은 RLC SDU(PDCP PDU)에 대해서 하위 계층으로부터 분할 동작을 수행해야할 필요성이 요청되면 분할 동작을 수행할 수 있다. 또한 이미 RLC 헤더를 구성해서 하위 계층으로 보낸 RLC PDU의 경우에도 하위 계층으로부터 분할 요청이 오게 되면 분할 동작을 수행하고 RLC 헤더를 새로 구성 혹은 갱신하여 다시 하위 계층으로 다시 전달해 줄 수 있다. 상기에서 단말은 RLC SDU에 대한 RLC 헤더를 구성할 때 먼저 분할 동작의 필요성 여부를 확인한다(2j-05). 분할 동작을 수행하는 경우, 분할 동작을 수행하는 각 RLC SDU에 서로 다른 RLC 일련번호를 할당하고, 같은 RLC SDU에 속하는 segment들에는 같은 RLC 일련번호를 할당한다.
만약 제 1 조건을 만족하면 단말은 제 1 동작을 수행하고(2j-10),
만약 제 2 조건을 만족하면 단말은 제 2 동작을 수행하고(2j-15),
만약 제 3 조건을 만족하면 단말은 제 3 동작을 수행하고(2j-20),
만약 제 4 조건을 만족하면 단말은 제 4 동작을 수행한다(2j-25).
상기에서 제 1 조건은 RLC SDU에 대해서 분할 동작이 필요 없는 경우여서 분할 동작을 수행하지 않은 경우를 말한다.
상기에서 제 2 조건은 RLC SDU에 대해서 분할 동작이 필요하여, 분할 동작을 수행하고나서 첫 번째 RLC SDU segment에 대해서 RLC 헤더를 구성해야 할 경우를 말한다.
상기에서 제 3 조건은 RLC SDU에 대해서 분할 동작이 필요하여, 분할 동작을 수행하고나서 첫번째와 마지막이 아닌 중간 RLC SDU segment에 대해서 RLC 헤더를 구성해야 할 경우를 말한다.
상기에서 제 4 조건은 RLC SDU에 대해서 분할 동작이 필요하여, 분할 동작을 수행하고 나서 마지막 RLC SDU segment에 대해서 RLC 헤더를 구성해야 할 경우를 말한다.
상기에서 제 1 동작은 단말이 RLC 일련번호를 사용하지 않으며, 1바이트 RLC 헤더를 구성하고, 구성할 때 SI 필드를 00으로 설정하는 동작을 말한다. 그리고 현재 TX_Next_Segment 값을 유지한다.
상기에서 제 2 동작은 RLC 헤더를 구성할 때 SI 필드를 01으로 설정하고, 상기 RLC SDU segment가 속한 RLC SDU의 RLC 일련번호를 상기 RLC SDU segment 의 RLC 일련번호로 할당하는 동작을 말한다. 만약 상기에서 제 1-1 실시 예를 적용한 경우, 현재 TX_Next_Segment 값을 1만큼 증가시킨다. 만약 상기에서 제 1-2 실시 예를 적용한 경우, 현재 TX_Next_Segment 값을 유지한다.
상기에서 제 3 동작은 RLC 헤더를 구성할 때 SI 필드를 11으로 설정하고, 상기 RLC SDU segment가 속한 RLC SDU의 RLC 일련번호를 상기 RLC SDU segment 의 RLC 일련번호로 할당하는 동작을 말한다.
상기에서 제 4 동작은 RLC 헤더를 구성할 때 SI 필드를 10으로 설정하고, 상기 RLC SDU segment가 속한 RLC SDU의 RLC 일련번호를 상기 RLC SDU segment 의 RLC 일련번호로 할당하는 동작을 말한다. 만약 상기에서 제 1-1 실시 예를 적용한 경우, 현재 TX_Next_Segment 값을 유지한다. 만약 상기에서 제 1-2 실시 예를 적용한 경우, 현재 TX_Next_Segment 값을 1만큼 증가시킨다.
도 2k는 본 발명의 제 2 실시 예에 따른 RLC UM 모드 단말의 수신 동작을 나타낸 도면이다.
도 2k에서 수신 RLC 장치(2k-01)는 UMD PDU를 하위 계층으로부터 수신하면 먼저 분할 여부를 확인한다(2k-05). 만약 하위 계층으로부터 분할되지 않은 완전한 RLC SDU를 포함한 UMD PDU를 수신하였다면 수신 RLC 장치의 동작은 다음과 같다. UMD PDU 헤더를 제거한 후에 상위 계층으로 RLC SDU를 전달한다 (2k-10). 만약 하위 계층으로부터 분할된 segment를 포함한 UMD PDU를 수신하였을 때 수신 RLC 장치는 상기 수신한 UMD PDU의 RLC 일련번호가 윈도우를 벗어났는지 여부를 확인한다(2k-15). 만약 RLC 일련번호 x가 윈도우 밖에 있다면 RX_Next_Segment를 x+1로 업데이트하고(2k-20), 상기에서 업데이트된 RX_Next_Segment 변수에 의해서 이동된 수신 윈도우 밖에 있는 UMD PDU들은 폐기한다(2k-25). 수신된 UMD PDU에 대해서 버퍼에 저장되어 있는 다른 UMD PDU segment들과 재조립을 시도하고, 재조립이 가능하다면 완전한 RLC SDU를 구성하고, UMD PDU 헤더를 제거하고, 재조립된 RLC SDU들을 상위 계층으로 순서대로 전달한다(필요한 경우, 순서대로 전달하지 않고, 재조립되는 대로 전달할 수도 있다) (2k-30). 만약 상기에서 윈도우를 벗어나지 않았다면 수신된 UMD PDU에 대해서 버퍼에 저장되어 있는 다른 UMD PDU segment들과 재조립을 시도하고, 재조립이 가능하다면 완전한 RLC SDU를 구성하고, UMD PDU 헤더를 제거하고, 재조립된 RLC SDU들을 상위 계층으로 순서대로 전달한다(필요한 경우, 순서대로 전달하지 않고, 재조립되는 대로 전달할 수도 있다) (2k-30).
상기에서는 도 2f에서 설명한 SO 기반 분할 방법을 적용하였을 때 차세대 이동 통신 시스템에서의 RLC UM 모드의 송수신 윈도우 동작을 제안하였다.
다음 본 발명에서는 SI 기반 분할 방법을 적용하였을 때 차세대 이동 통신 시스템에서의 RLC UM 모드의 송수신 윈도우 동작을 제안한다.
- 제 2-2 실시 예: SI 기반 분할 방법을 적용하고, RLC UM 수신 방법으로 윈도우만을 사용하는 RLC UM의 데이터 송신 동작과 데이터 수신 동작.
도 2l은 RLC UM 모드를 위해 제안하는 SI 필드 기반 분할 방법(segmentation)을 설명하는 도면이다.
*도 2l에서 제안하는 SI 필드 기반 분할 방법(segmentation)은 도 2f에서 제안한 SO 필드 및 SI 필드 기반 분할 방법(segmentation)과 달리 SO 필드가 필요 없다. 즉, 오버헤드가 훨씬 적다는 장점이 있다. 즉, 상기 2 바이트에 해당하는 SO 필드가 필요 없기 때문에 오버헤드가 감소하며, 전송 자원의 낭비를 줄일 수 있다.
도 2f에서 제안한 분할 방법과 도 2l에서 제안하는 SI 필드 기반 분할 방법의 가장 큰 차이점은 두 가지이다.
1. RLC 일련번호 할당 : 도 2f 에서는 하나의 RLC PDU에 대해서 분할동작으로 여러 개의 segment들이 생성된다고 할지라도 동일한 RLC 일련번호를 가진다. 즉, 하나의 RLC PDU에 대해서 분할 동작을 수행하여 네 개의 segment들을 segment 1, segment 2, segment 3, segment 4 로 가진다고 할지라도 상기 네 개의 segment들은 동일한 RLC 일련번호를 가지며, 이 네 개의 segment들을 구분하는 것은 각 segment의 SO 필드로 오프셋을 지시하여 구분이 가능하도록 한다. 반면 도 2l에서 제안하는 SI 필드 기반 분할 방법에서는 상기처럼 하나의 RLC PDU(2l-05)에 대해서 네 개의 segment 들이 생성되면(2l-10, 2l-15, 2l-20, 2l-25) 각 segment들에게 서로 다른 RLC 일련번호를 할당한다. 즉 RLC 일련번호 0, 1, 2, 3을 각 segment들에 할당하고, SI 필드를 첫 번째 segment 인지, 중간 segment인지, 마지막 segment 인지에 따라 설정한다. 따라서 SI 필드를 이용하여 각 segment들의 순서를 구별할 수 있으며, 세 개 이상의 segment 들이 발생한 경우, 중간에 있는 여러 개의 segment들(같은 SI필드를 갖는 segment들)은 RLC 일련번호 순으로 구별할 수 있다. 따라서 수신단에서 RLC 일련번호와 SI필드의 조합만으로(SO 필드 없이) 재조립이 가능하다.
2. SO 필드 미사용 : 도 2f에서는 각 segment 들에 동일한 RLC 일련번호를 할당하기 때문에 SO필드로 구별해야 했지만 도 2l에서는 각 segment들에 서로 다른 RLC 일련번호를 할당하고, SI 필드도 설정하기 때문에 SO 필드가 필요가 없다.
상기에서 SI(Segmentation Information) 필드는, 표 3을 참조하면, 다음과 같이 정의될 수 있으며 혹은 다른 이름으로 명명될 수 있다.
Value Description
00 A complete RLC PDU
01 First segment of a RLC PDU
10 Last segment of a RLC PDU
11 Middle segment of a RLC PDU
SI 필드가 00인 경우, segmentation 되지 않은 완전한 RLC PDU를 나타내며, SI 필드가 01인 경우, segmentation 된 맨 앞의 RLC PDU segment를 나타내며, SI 필드가 10인 경우, segmentation 된 마지막의 RLC PDU segment를 나타내며, SI 필드가 11인 경우, segmentation 된 중간의 RLC PDU segment를 나타낸다. 상기 2비트와 4가지 정보(완전한 RLC PDU, 맨 앞의 segment, 마지막의 segment, 중간의 segment)의 맵핑 관계는 총 4x3x2x1 = 24가지를 가질 수 있고 상기는 그 중 한 가지 예를 나타낸 것이다. 본 발명은 상기 24가지 맵핑의 경우를 모두 포함한다.도 2m는 RLC UM 모드의 SI 기반 분할 방법을 적용한 데이터 처리 동작을 나타낸 도면이다.
도 2m에서 IP 패킷이 PDCP 계층에 도착하면 PDCP 헤더를 붙이고, RLC 계층으로 PDCP PDU(혹은 RLC SDU, 2m-05)를 전달할 수 있다. 본 발명에서 제안하는 RLC UM 모드의 특징은 분할 동작이 수행되지 않은 RLC PDU에는 RLC 일련번호를 할당하지 않는 것이다. 따라서 RLC 계층에서는 먼저 RLC 일련번호를 할당하지 않고, RLC 헤더를 구성하여 RLC PDU(2m-10)를 완성한 뒤, MAC 계층으로 전달할 수 있다. 상기 MAC 계층에서는 상기 MAC SDU(혹은 RLC PDU)의 크기를 계산하여 L 필드를 구성하고, 그에 상응하는 로지컬 채널 식별자 등을 설정하고 MAC 서브헤더(2m-15)를 구성하여 버퍼(2m-20)에 저장해둘 수 있다. 따라서 이런 방식으로 PDCP 계층에 수신된 데이터 패킷들을 기지국으로부터 전송 자원(UL grant)을 수신하기 전에 데이터 선처리(pre-processing)을 수행하여 버퍼에 저장해둘 수 있으며, 혹은 전송 자원을 수신하고 나서 상기와 같이 바로 데이터 처리(on-the-fly processing)를 수행할 수도 있다. 만약 기지국으로부터 상향 링크 전송 자원(UL grant 1, 2m-25)을 수신하였는데 상향 링크 전송 자원이 부족하여 분할동작을 수행해야 한다면 2m-30과 같이 각 segment들의 RLC 헤더에 서로 다른 RLC 일련번호를 할당하고, SI 필드를 원래 RLC PDU에 대해 첫 번째 segment, 중간 segment, 마지막 segment 인지에 따라 설정한 뒤, segment들의 RLC 헤더를 새롭게 구성할 수 있다(2m-30, 2m-35). 그리고 상향 링크 전송 자원에 맞게 MAC PDU를 구성하여 전송할 수 있다. 만약 두 번째 상향 링크 전송 자원(UL grant 2, 2m-45)을 수신하였는데 또 다시 전송 자원의 크기가 부족해서 다시 한번 분할동작이 필요하면 2m-40과 같이 segment로부터 또 다시 분할(re-segmentation)된 첫 번째 segment는 상기 원래 segment와 동일한 RLC 일련번호를 적용하고 SI 필드는 원래 RLC PDU에 대해 첫 번째 segment, 중간 segment, 마지막 segment 인지에 따라 업데이트를 수행한다. 그리고 2m-50과 같이 새로 분할된 segment에는 새로운 RLC 일련번호를 할당하고, 분할 동작이 수행되어 생성된 segment의 SI 필드를 원래 RLC PDU에 대해 첫 번째 segment, 중간 segment, 마지막 segment 인지에 따라 설정한 뒤, RLC 헤더를 새롭게 구성할 수 있다.
따라서 상기처럼 본 발명에서 제안한 도 2h에서 제안한 RLC UM 모드에서 송수신 동작은 데이터 선처리 절차에서도 잘 동작하는 것을 알 수 있다.
도 2n는 RLC UM 모드에서 적용 가능한 RLC 헤더 구조를 나타낸다.
도 2n는 본 발명에서 RLC UM 모드(ARQ를 지원하지 않는 경우)를 사용할 경우, 상기 도 2h에서 설명한 SI 필드 기반 분할 동작에서 6비트 혹은 12비트 길이의 일련번호를 사용할 때의 RLC 헤더 구조를 나타낸다.
상기 RLC 헤더 구조는 도 2h에서 설명한 필드들 중에 일부 혹은 또 다른 새로운 필드를 포함할 수 있으며, 서로 다른 RLC 일련번호 길이 등 각 필드들의 길이에 따라 그리고 각 필드들의 위치에 따라 서로 다른 구조를 가질 수 있다. R은 예약된 비트를 말하며, 상기 RLC 헤더 구조는 RF 필드와 E 필드가 없는 것을 특징으로 할 수 있다. 상기에서 SI 필드는 도 2l에서 설명한 바와 같이 분할 동작이 수행되지 않은 완전한 RLC PDU(complete RLC PDU)와 분할 동작이 수행된 첫 번째 segment, 중간 segment, 마지막 segment를 지시해주는 역할을 한다.
상기 본 발명에서 제안하는 RLC UM 모드의 경우, Complete RLC PDU(분할 동작이 수행되지 않은 RLC PDU)에 대해서는 RLC 일련번호를 사용하지 않으며, 필요 없다. 사실 RLC 일련번호가 필요한 이유는 여러 가지가 있다. 즉, 순서 재정렬, 중복 체크, 유실 패킷 탐지 및 ARQ 기능 지원, 분할된 segment 재조립을 위해서 RLC 일련번호가 필요하다. 하지만 차세대 이동 통신 시스템에서는 RLC 계층에서 순서 재정렬을 수행할 필요가 없으며, 중복 체크는 PDCP 계층에서 대신하여 수행할 수 있으며, RLC UM 모드에서는 유실 패킷 탐지 및 ARQ 기능이 지원되지 않는다. 따라서 RLC 일련번호는 분할된 RLC PDU segment에만 필요하다. 따라서 Complete RLC PDU에서는 RLC 일련번호가 필요 없다.
본 발명에서는 RLC UM 모드의 경우, Complete RLC PDU에서는 RLC 일련번호를 사용하지 않고, 2n-05와 같은 헤더 포맷을 사용하는 것을 제안한다. 즉, 송신단에서 분할 동작을 수행하지 않은 RLC PDU에 대해서는 2n-05의 헤더의 SI 필드를 00으로 지시하여 complete RLC PDU임을 지시하여 RLC 일련번호가 없음을 지시할 수 있고, 수신단에서는 헤더의 SI필드를 확인하고 00이라면 RLC 일련번호가 없음을 알 수 있다. 따라서, 상기 헤더 구조는 RLC 일련번호의 길이와 상관없다. 2n-05와 같은 1 바이트 헤더를 complete RLC PDU에 대해서 사용할 수 있다. 그리고 분할 동작이 수행된 첫 번째 RLC PDU segment에 대해서는 상기에서 설명한 바와 같이 RLC 일련번호를 할당하여 RLC 헤더를 2n-10 (6비트 길이의 RLC 일련번호 사용시) 혹은 2n-15 (12비트 길이의 RLC 일련번호 사용시)의 포맷으로 사용할 수 있다. 하지만 분할동작이 수행되어 만들어진 중간 segment와 마지막 segment들에는 같은 RLC 일련번호가 아닌 새로운 연속적인 RLC 일련번호를 각각 할당하며, SI 필드를 각 segment에 맞게 설정하여, 2n-10(6비트 길이의 RLC 일련번호 사용시) 혹은 2n-15(12비트 길이의 RLC 일련번호 사용시)와 같은 RLC 헤더 포맷을 사용할 수 있다. 상기에서 설명한 바와 같이 분할 동작이 수행된 segment 들에 대해서는 RLC 일련번호가 필요하다. 왜냐하면 RLC 일련번호가 있어야만 어떤 segment 들이 어떤 RLC 일련번호의 순서를 갖는 segment들인지 구별할 수 있으며, 이를 기반으로 수신단에서 재조립을 수행하여 완전한 RLC PDU를 만들고 데이터 처리하여 RLC SDU를 상위 계층으로 전달할 수 있다. 따라서 수신단에서는 RLC 일련번호와 SI 필드를 이용하여 분할된 segment들을 완전한 complete RLC PDU로 재조립할 수 있다.
상기에서 complete RLC PDU에서 RLC 일련번호를 사용할지 말지는 RRC 메시지(2e-10, 2e-40, 2e-75)로 각 베어러 별 혹은 로지컬 채널 별로 도 2e에서와 같이 설정될 수도 있다.
본 발명에서 RLC UM 모드에서 일련번호를 사용하지 않고 SI 기반 분할 방법을 적용하는 송신단 동작은 다음과 같다.
송신단 RLC 계층 장치에서는 RLC 일련번호를 사용하지 않도록 설정한 경우에는 송신단에서 분할 동작이 수행되지 않은 RLC SDU에 대해서는 RLC 일련번호가 없는 2n-05와 같은 1 바이트 RLC 헤더를 붙이고(RLC 헤더를 구성할 때 SI 필드를 00으로 설정하고, RLC 헤더를 구성하는 동작을 수행) 하위 계층으로 전달하여 전송을 수행할 수 있다. 하지만 오버헤드를 줄이기 위해서 RLC 일련번호를 사용하지 않도록 설정된 경우에도 RLC SDU에 분할 동작이 수행되었다면 RLC 일련번호를 추가하고 도 2h에서 설명한 것과 같이 SI필드를 설정하여야 한다. 상기에서 분할된 RLC SDU에 대해서 각 segment 별로 새로운 연속된 RLC 일련번호를 할당하고, SI 필드를 설정하여 RLC 헤더를 구성하는 이유는 수신단에서 분할된 RLC SDU segment들을 수신하고 이들을 재조립하여 완전한 RLC SDU를 복구할 수 있도록 하기 위함이다. 따라서 RLC UM 모드에서 RLC 일련번호를 사용하지 않도록 설정한 경우에도 분할 동작이 수행되었다면 2n-10, 2n-15와 같은 RLC 헤더가 적용되어야 한다.
요약하면, 송신단에서는 RLC SDU의 분할(segmentation) 동작 수행 여부에 따라서 즉, 분할 동작이 수행되지 않은 RLC SDU에 대해서는 RLC 일련번호가 없는 2n-05와 같은 1 바이트 RLC 헤더를 붙이고 하위 계층으로 전송하고, 분할 동작이 수행된 RLC SDU에 대해서는 상기 설명한 바와 같이 분할된 segment의 종류(첫 번째, 중간, 마지막)에 따라서 그에 상응하는 SI 필드를 갱신하고, 각 segment에 각각 서로 다른 연속된 RLC 일련번호를 순서대로 추가하여 RLC 헤더를 구성하고 하위 계층으로 전달한다.
본 발명에서 RLC UM 모드에서 일련번호를 사용하지 않고 SI 기반 분할 방법을 적용하는 송신단 동작에 대한 수신단 동작은 다음과 같다.
수신단 RLC 계층 장치에서는 RLC PDU를 수신하고, RLC 헤더에서 SI 필드를 확인하고 수신된 RLC PDU가 분할동작이 수행되지 않는 RLC PDU인지(Complete RLC PDU) 분할동작이 수신된 RLC PDU인지(segment) 구별한다. 만약 분할 동작이 수행되지 않은 RLC SDU라면 RLC 헤더를 삭제하고 상위 계층으로 올려 보낼 수 있다. 만약 분할 동작이 수행된 RLC SDU라면 SI 필드를 확인하고, 첫번 째, 중간, 마지막 segment 중에 어느 것인지 확인하고, RLC 일련번호를 고려하여 RLC 일련번호에 맞게 저장 및 정리하고 윈도우 혹은 타이머에 의해서 재조립(re-assembly) 기능이 트리거링되면 재조립하여 완전한 RLC SDU를 만들고 상위 계층으로 전달하고, 재조립이 불가능하면 버린다(혹은 타이머가 만료되면 버퍼에 남아있는 패킷들을 바로 버릴 수도 있다).
본 발명의 다음에서는 도 2l에서 제안한 SI 기반 분할 방법을 적용하였을 때, 차세대 이동 통신 시스템에서 RLC UM 모드에서 불필요한 오버헤드를 줄이기 위해서 complete RLC PDU(즉 분할되지 않은 RLC PDU)에 대해서는 RLC 일련번호를 사용하지 않고, RLC PDU segment(분할된 RLC PDU)에 대해서만 RLC 일련번호를 사용하는 방법을 효율적으로 구동하기 위해서 타이머가 없는 RLC UM 송수신 윈도우 동작 방법을 다음과 같이 제안한다. 또한 RLC 일련번호를 기반으로 중복 체크를 수행하지 않는 것을 특징으로 한다.
먼저 다음과 같이 윈도우 동작에 사용할 윈도우 변수들을 정의할 수 있다.
송신 RLC 장치는 TX_Next_Segment라는 송신 상태 변수를 정의하여 분할된 UMD PDU segment에 RLC 일련번호를 할당할 수 있다.
1) TX_Next_Segment-UM 모드에서 송신 상태 변수
- TX_Next segment는 다음 RLC SDU의 segment를 포함하는 UMD PDU에게 할당될 RLC 일련번호 값을 나타낸다. 초기값은 0으로 설정될 수 있으며, 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 첫번째 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다 혹은 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 마지막 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다(어떻게 변수를 업데이트할지 정의하기에 따라 정해질 수 있다).
Each transmitting UM RLC entity shall maintain the following state variable:
1) TX_Next_Segment-UM transmit state variable
This state variable holds the value of the SN to be assigned for a UMD PDU containing a segment of the next RLC SDU. It is initially set to 0, and is updated whenever the UM RLC entity delivers the first segment of a UMD PDU with SN = TX_Next_Segment (It can be updated whenever the UM RLC entity delivers the last segment of a UMD PDU with SN = TX_Next_Segment. It depends on how to define it).
수신 RLC 장치는 RX_Next_Segment라는 윈도우 변수를 정의하여 분할된 UMD PDU segment에 대해 수신 윈도우를 구동할 수 있다.
2) RX_Next_Segment-UM 모드에서 가장 높은 일련번호를 갖는 수신 상태 변수
- RX_Next_Segment는 수신한 UMD PDU segment들 중에서 가장 높은 RLC 일련번호 다음 RLC 일련번호를 나타낸다. 이 변수는 수신 윈도우의 상위 윈도우 가장자리 역할을 수행하며, 초기값은 0으로 설정된다. STCH의 경우, 처음으로 수신한 UMD PDU segment의 RLC 일련번호로 초기화될 수 있다.
Each receiving UM RLC entity shall maintain the following state variable:
2) RX_Next_Segment-UM highest received state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs containing segment, and it serves as the higher edge of the receive(or reordering) window. It is initially set to 0. For RLC entity configured for STCH, it is initially set to the SN of the first received UMD PDU containing segment.
차세대 이동 통신 시스템의 RLC UM 모드에서 송신 동작과 수신 동작은 다음과 같다.
1) UM 데이터 전송 (UM data transfer)
송신 동작(Transmit operations)
일반적인 동작(General)
하위 계층으로 segment를 포함한 UMD PDU를 전달할 때 송신 RLC 장치는 다음과 같이 동작한다.
- Segment를 포함한 UMD PDU의 RLC 일련번호를 TX_Next_Segment로 설정하고, TX_Next_Segment 값을 1만큼 증가시킨다.
When delivering an UMD PDU that contains a segment of a RLC SDU, to lower layer, the transmitting side of an UM RLC entity shall:
- set the SN of a UMD PDU containing a segment to TX_Next_Segment, and then increment TX_Next_Segment by one.
2) 수신 동작(Receive operations)
일반적인 동작(General)
수신 RLC 장치는 RX_Next_Segment 상태 변수에 따라서 수신 윈도우를 다음과 같이 유지한다.
- RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment 구간 내에 있다면 윈도우 내에 있다고 판단하고,
- RLC 일련번호가 상기 구간 밖에 있으면 윈도우 밖에 있다고 판단한다.
하위 계층으로부터 분할되지 않은 완전한 RLC SDU를 포함한 UMD PDU를 수신하였을 때 수신 RLC 장치의 동작은 다음과 같다.
- UMD PDU 헤더를 제거한 후에 상위 계층으로 RLC SDU를 전달한다.
하위 계층으로부터 분할된 segment를 포함한 UMD PDU를 수신하였을 때 수신 RLC 장치의 동작은 다음과 같다.
- 수신한 UMD PDU를 수신 버퍼에 저장한다.
- 관련된 윈도우 상태 변수를 업데이트하고, 재조립하고, RLC SDU들을 상위 계층으로 전달한다.
The receiving UM RLC entity shall maintain a receive(or reordering) window according to state variable RX_Next_Segment as follows:
- a SN falls within the receive(or reordering) window if (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment;
- a SN falls outside of the receive(or reordering) window otherwise.
When receiving an UMD PDU that contains a complete RLC SDU, from lower layer, the receiving UM RLC entity shall:
- deliver RLC SDU to the upper layer after removing UMD PDU header
When receiving an UMD PDU that contains a segment of a RLC SDU, from lower layer, the receiving UM RLC entity shall:
- place the received UMD PDU in the reception buffer:
- update state variable, reassemble and deliver RLC SDUs to upper ;
3) UMD PDU가 버퍼에 저장될 때 수신 RLC 장치의 동작 (Actions when an UMD PDU is placed in the reception buffer)
RLC 일련번호 x를 갖는 UMD PDU가 수신 버퍼에 저장될 때, 수신 RLC 장치는 다음과 같이 동작한다.
- 만약 RLC 일련번호 x가 윈도우 밖에 있다면,
■ RX_Next_Segment를 x+1로 업데이트하고,
■ 상기에서 업데이트된 RX_Next_Segment 변수에 의해서 이동된 수신 윈도우 밖에 있는 UMD PDU들은 폐기한다.
- 수신된 UMD PDU에 대해서 버퍼에 저장되어 있는 다른 UMD PDU segment들과 재조립을 시도하고, 재조립이 가능하다면 완전한 RLC SDU를 구성하고, UMD PDU 헤더를 제거하고, 재조립된 RLC SDU들을 상위 계층으로 순서대로 전달한다(필요한 경우, 순서대로 전달하지 않고, 재조립되는 대로 전달할 수도 있다).
When an UMD PDU with SN = x is placed in the reception buffer, the receiving UM RLC entity shall:
- if x falls outside of the receive(or reordering) window:
- update RX_Next_Segment to x + 1;
- discard any UMD PDUs that falls outside of the reordering window;
- reassemble RLC SDUs from any UMD PDUs, remove UMD PDU header when doing so and deliver the reassembled RLC SDUs to upper layer in ascending order of the RLC SN.
도 2o는 SI 기반 분할 방법을 적용했을 때 RLC UM 모드 단말의 송신 동작을 나타낸 도면이다.
단말(2o-01)은 RLC UM 모드에서 상위 계층에서 전달받은 RLC SDU(PDCP PDU)에 대해서 하위 계층으로부터 분할 동작을 수행해야할 필요성이 요청되면 분할 동작을 수행할 수 있다. 또한 이미 RLC 헤더를 구성해서 하위 계층으로 보낸 RLC PDU의 경우에도 하위 계층으로부터 분할 요청이 오게 되면 분할 동작을 수행하고 RLC 헤더를 새로 구성 혹은 갱신하여 다시 하위 계층으로 다시 전달해 줄 수 있다. 상기에서 단말은 RLC SDU에 대한 RLC 헤더를 구성할 때 먼저 분할 동작의 필요성 여부를 확인한다(2o-05). 분할 동작을 수행하는 경우, 분할 동작을 수행하는 각 RLC SDU segment에 서로 다른 RLC 일련번호를 할당하고, 같은 RLC SDU에 속하는 segment들에 대해서도 서로 다른 RLC 일련번호를 할당한다.
만약 제 1 조건을 만족하면 단말은 제 1 동작을 수행하고(2o-10),
만약 제 2 조건을 만족하면 단말은 제 2 동작을 수행하고(2o-15),
만약 제 3 조건을 만족하면 단말은 제 3 동작을 수행하고(2o-20),
만약 제 4 조건을 만족하면 단말은 제 4 동작을 수행한다(2o-25).
상기에서 제 1 조건은 RLC SDU에 대해서 분할 동작이 필요 없는 경우여서 분할 동작을 수행하지 않은 경우를 말한다.
상기에서 제 2 조건은 RLC SDU에 대해서 분할 동작이 필요하여, 분할 동작을 수행하고나서 첫 번째 RLC SDU segment에 대해서 RLC 헤더를 구성해야 할 경우를 말한다.
상기에서 제 3 조건은 RLC SDU에 대해서 분할 동작이 필요하여, 분할 동작을 수행하고나서 첫번째와 마지막이 아닌 중간 RLC SDU segment에 대해서 RLC 헤더를 구성해야 할 경우를 말한다.
상기에서 제 4 조건은 RLC SDU에 대해서 분할 동작이 필요하여, 분할 동작을 수행하고나서 마지막 RLC SDU segment에 대해서 RLC 헤더를 구성해야 할 경우를 말한다.
상기에서 제 1 동작은 단말이 RLC 일련번호를 사용하지 않으며, 1바이트 RLC 헤더를 구성하고, 구성할 때 SI 필드를 00으로 설정하는 동작을 말한다. 그리고 현재 TX_Next_Segment 값을 유지한다.
상기에서 제 2 동작은 RLC 헤더를 구성할 때 SI 필드를 01으로 설정하고, RLC 일련번호로 현재 TX_Next_Segment 값을 할당하는 동작을 말한다. 그리고 현재 TX_Next_Segment 값에 1을 증가시켜서 새로운 TX_Next_Segment 값으로 저장한다.
상기에서 제 3 동작은 RLC 헤더를 구성할 때 SI 필드를 11으로 설정하고, RLC 일련번호로 현재 TX_Next_Segment 값을 할당하는 동작을 말한다. 그리고 현재 TX_Next_Segment 값에 1을 증가시켜서 새로운 TX_Next_Segment 값으로 저장한다.
상기에서 제 4 동작은 RLC 헤더를 구성할 때 SI 필드를 10으로 설정하고, RLC 일련번호로 현재 TX_Next_Segment 값을 할당하는 동작을 말한다. 그리고 현재 TX_Next_Segment 값에 1을 증가시켜서 새로운 TX_Next_Segment 값으로 저장한다.
도 2p는 SI 기반 분할 방법을 적용했을 때 RLC UM 모드 단말의 수신 동작을 나타낸 도면이다.
도 2p에서 수신 RLC 장치(2p-01)는 UMD PDU를 하위 계층으로부터 수신하면 먼저 분할 여부를 확인한다(2p-05). 만약 하위 계층으로부터 분할되지 않은 완전한 RLC SDU를 포함한 UMD PDU를 수신하였다면 수신 RLC 장치의 동작은 다음과 같다. UMD PDU 헤더를 제거한 후에 상위 계층으로 RLC SDU를 전달한다 (2p-10). 만약 하위 계층으로부터 분할된 segment를 포함한 UMD PDU를 수신하였을 때 수신 RLC 장치는 상기 수신한 UMD PDU의 RLC 일련번호가 윈도우를 벗어났는지 여부를 확인한다(2p-15). 만약 RLC 일련번호 x가 윈도우 밖에 있다면 RX_Next_Segment를 x+1로 업데이트하고(2p-20), 상기에서 업데이트된 RX_Next_Segment 변수에 의해서 이동된 수신 윈도우 밖에 있는 UMD PDU들은 폐기한다(2p-25). 수신된 UMD PDU에 대해서 버퍼에 저장되어 있는 다른 UMD PDU segment들과 재조립을 시도하고, 재조립이 가능하다면 완전한 RLC SDU를 구성하고, UMD PDU 헤더를 제거하고, 재조립된 RLC SDU들을 상위 계층으로 순서대로 전달한다(필요한 경우, 순서대로 전달하지 않고, 재조립되는 대로 전달할 수도 있다) (2p-30).
만약 상기에서 윈도우를 벗어나지 않았다면 수신된 UMD PDU에 대해서 버퍼에 저장되어 있는 다른 UMD PDU segment들과 재조립을 시도하고, 재조립이 가능하다면 완전한 RLC SDU를 구성하고, UMD PDU 헤더를 제거하고, 재조립된 RLC SDU들을 상위 계층으로 순서대로 전달한다(필요한 경우, 순서대로 전달하지 않고, 재조립되는 대로 전달할 수도 있다) (2p-30).
본 발명의 다음에서는 다음과 같은 분할 방법 및 RLC UM 수신 방법에 따른 RLC UM의 데이터 송신 동작과 데이터 수신 동작을 제안한다.
- 제 2-3 실시 예 : SO 기반 분할 방법을 적용하고, RLC UM 수신 방법으로 윈도우와 타이머를 사용하는 RLC UM의 데이터 송신 동작과 데이터 수신 동작.
따라서 본 발명에서는 차세대 이동 통신 시스템에서 RLC UM 모드에서 불필요한 오버헤드를 줄이기 위해서 complete RLC PDU(즉 분할되지 않은 RLC PDU)에 대해서는 RLC 일련번호를 사용하지 않고, RLC PDU segment(분할된 RLC PDU)에 대해서만 RLC 일련번호를 사용하는 방법을 효율적으로 구동하기 위해서 송신단 RLC UM 장치에서 SO 분할 방법을 사용하고 수신단 RLC UM 장치에서 타이머가 있는 RLC UM 송수신 윈도우 동작 방법을 다음과 같이 제안한다. 또한 RLC 일련번호를 기반으로 중복 체크를 수행하지 않는 것을 특징으로 한다.
먼저 다음과 같이 윈도우 동작에 사용할 윈도우 변수들을 정의할 수 있다.
송신 RLC 장치는 TX_Next_Segment라는 송신 상태 변수를 정의하여 분할된 UMD PDU segment에 RLC 일련번호를 할당할 수 있다.
1) TX_Next_Segment - UM 모드에서 송신 상태 변수
- TX_Next segment는 다음 RLC SDU의 segment를 포함하는 UMD PDU에게 할당될 RLC 일련번호 값을 나타낸다. 초기값은 0으로 설정될 수 있으며, 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 첫번째 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다 혹은 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 마지막 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다(어떻게 변수를 업데이트할지 정의하기에 따라 정해질 수 있다).
Each transmitting UM RLC entity shall maintain the following state variable:
1) TX_Next_Segment - UM transmit state variable
This state variable holds the value of the SN to be assigned for a UMD PDU containing a segment of the next RLC SDU. It is initially set to 0, and is updated whenever the UM RLC entity delivers the first segment of a UMD PDU with SN = TX_Next_Segment (It can be updated whenever the UM RLC entity delivers the last segment of a UMD PDU with SN = TX_Next_Segment. It depends on how to define it).
수신 RLC 장치는 RX_Next_Segment라는 윈도우 변수를 정의하여 분할된 UMD PDU segment에 대해 수신 윈도우를 구동할 수 있다.
2) RX_Next_Segment - UM 모드에서 가장 높은 일련번호를 갖는 수신 상태 변수
- RX_Next_Segment는 수신한 UMD PDU segment들 중에서 가장 높은 RLC 일련번호 다음 RLC 일련번호를 나타낸다. 이 변수는 수신 윈도우의 상위 윈도우 가장자리 역할을 수행하며, 초기값은 0으로 설정된다. STCH의 경우, 처음으로 수신한 UMD PDU segment의 RLC 일련번호로 초기화될 수 있다.
Each receiving UM RLC entity shall maintain the following state variable:
2) RX_Next_Segment - UM highest received state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs containing segment, and it serves as the higher edge of the receive(or reordering) window. It is initially set to 0. For RLC entity configured for STCH, it is initially set to the SN of the first received UMD PDU containing segment.
3) RX_DELIV_Segment - UM 모드에서 완전히 수신되지 않은 첫번째 RLC SN을 나타내는 변수
- 상기 변수는 UM 모드에서 완전히 수신되지 않은 첫 번째 RLC 일련번호(즉, 가장 낮은 RLC 일련번호)를 나타낼 수 있다.
3) RX_DELIV_Segment - UM receive state variable
This state variable holds the value of the SN of the first UMD PDU that has not been completely received;
4) RX_REORD_Segment - UM t-Reassembly 관련 변수
- 상기 변수는 t-Reassembly를 트리거링한 RLC 일련번호의 다음 RLC 일련번호를 나타낸다.
4) RX_REORD_Segment - UM t-Reassembly state variable
This state variable holds the value of the SN following the SN of the UMD PDU which triggered t-Reassembly.
5) t-Reassembly - 타이머
- t-Reassembly 타이머는 수신 AM RLC 장치와 수신 UM RLC 장치에서 사용해서 유실된 UMD PDU를 탐지하기 위해 사용될 수 있다. t-Reassembly 타이머는 한번에 하나만 운영될 수 있다. 즉, 하나가 시작되면 추가적인 t-Reassembly 타이머는 구동되지 않는다.
5) t-Reassembly
This timer is used by the receiving side of an receiving AM RLC entity and receiving UM RLC entity in order to detect loss of RLC PDUs at lower layer. If t-Reassembly is running, t-Reassembly shall not be started additionally, i.e. only one t Reassembly per RLC entity is running at a given time.
차세대 이동 통신 시스템의 RLC UM 모드에서 송신 동작과 수신 동작은 다음과 같다.
UM 데이터 전송 (UM data transfer)
송신 동작(Transmit operations)
일반적인 동작(General)
다음 제 2-3a 실시 예 혹은 제 2-3b 실시 예 중에 하나의 실시 예에 따라서 동작할 수 있다.
[제 2-3a 실시 예]
하위 계층으로 segment를 포함한 UMD PDU를 전달할 때 송신 RLC 장치는 다음과 같이 동작한다.
- 만약 UMD PDU가 첫 번째 segment를 포함했다면,
■ 그 RLC SDU에 TX_Next_Segment와 같은 RLC 일련번호를 할당하고, TX_Next_Segment를 1만큼 증가시킨다.
- UMD PDU의 RLC 일련번호를 그에 상응하는 RLC SDU의 RLC 일련번호로 설정한다.
When delivering an UMD PDU that contains a segment of a RLC SDU, to lower layer, the transmitting side of an UM RLC entity shall:
- if the UMD PDU contains the first segment, associate a SN with the RLC SDU equal to TX_Next_Segment and increment TX_Next_Segment by one;
- set the SN of the UMD PDU to the SN of the corresponding RLC SDU.
[제 2-3b 실시 예]
하위 계층으로 segment를 포함한 UMD PDU를 전달할 때 송신 RLC 장치는 다음과 같이 동작한다.
- 만약 UMD PDU가 마지막 segment를 포함했다면,
■ 그 RLC SDU에 TX_Next_Segment와 같은 RLC 일련번호를 할당하고, TX_Next_Segment를 1만큼 증가시킨다.
- UMD PDU의 RLC 일련번호를 그에 상응하는 RLC SDU의 RLC 일련번호로 설정한다.
When delivering an UMD PDU that contains a segment of a RLC SDU, to lower layer, the transmitting side of an UM RLC entity shall:
- if the UMD PDU contains the last segment, associate a SN with the RLC SDU equal to TX_Next_Segment and increment TX_Next_Segment by one;
- set the SN of the UMD PDU to the SN of the corresponding RLC SDU.
수신 동작(Receive operations)
일반적인 동작(General)
수신 RLC 장치는 RX_Next_Segment 상태 변수에 따라서 수신 윈도우를 다음과 같이 유지한다.
- RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment 구간 내에 있다면 윈도우 내에 있다고 판단하고,
- RLC 일련번호가 상기 구간 밖에 있으면 윈도우 밖에 있다고 판단한다.
하위 계층으로부터 UMD PDU를 수신하였을 때 수신 UM RLC 장치의 동작은 다음과 같다.
- 수신한 UMD PDU를 폐기하거나 혹은 수신 버퍼에 저장해 놓는다.
- 만약 수신된 UMD PDU가 버퍼에 저장되었다면
■ 윈도우 상태 변수들을 업데이트하고, 재조립하고, 상위 계층으로 RLC SDU를 전달하고, t-Reassembly 타이머를 필요하다면 시작하거나 중지한다.
- 만약 t-Reassembly 타이머가 만료한다면, 수신 RLC UM 장치는 다음과 같이 동작한다.
■ 윈도우 상태 변수들을 업데이트하고, segment를 포함한 UMD PDU를 버리고, 필요하다면 t-Reassembly를 시작한다.
The receiving UM RLC entity shall maintain a reordering window according to state variable RX_Next_Segment as follows:
- a SN falls within the reordering window if (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment
- a SN falls outside of the reordering window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
- either discard the received UMD PDU or place it in the reception buffer;
- if the received UMD PDU was placed in the reception buffer:
- update state variables, reassemble and deliver RLC SDU to upper layer and start/stop t-Reassembly as needed;
When t-Reassembly expires, the receiving UM RLC entity shall:
- update state variables, discard UMD PDUs containing segment, and start t-Reassembly as needed.
하위 계층으로부터 UMD PDU를 수신하였을 때 수신 RLC UM 장치 동작
(Actions when an UMD PDU is received from lower layer)
RLC 일련번호 x를 가지며, y 바이트부터 z바이트까지의 부분에 해당하는 segment를 포함하는 UMD PDU를 하위 계층으로부터 수신하였을 때 수신 RLC UM 장치는 다음과 같이 동작한다.
- 만약 수신한 RLC 일련번호 x가 RX_DELIV_Segment 보다 크고 RX_Next_Segment 보다 작으면서 이전에 수신된 적이 있다면 혹은 수신한 RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) 보다 크거나 같거나 RX_DELIV_Segment 보다 작다면
■ 수신한 UMD PDU를 버린다.
- 상기의 경우가 아니라면
■ 수신한 UMD PDU를 수신 버퍼에 저장해 놓는다.
When an UMD PDU is received from lower layer, where the UMD PDU contains byte segment numbers y to z of a RLC SDU with SN = x, the receiving side of an UM RLC entity shall:
- if RX_DELIV_Segment < x < RX_Next_Segment and the UMD PDU with SN = x has been received before; or
- if (RX_Next_Segment - UM_Window_Size) <= x < RX_DELIV_Segment:
- discard the received UMD PDU;
- else:
- place the received UMD PDU in the reception buffer.
UMD PDU가 버퍼에 저장될 때 수신 RLC 장치의 동작
(Actions when an UMD PDU is placed in the reception buffer)
RLC 일련번호 x를 갖는 UMD PDU가 수신 버퍼에 저장될 때 수신 UM RLC 장치는 다음과 같이 동작한다.
- 만약 수신한 RLC 일련번호 x가 수신 윈도우 밖에 있다면
■ RX_Next_Segment변수를 x+1로 업데이트한다.
■ 윈도우 밖에 있는 RLC 일련번호에 해당하는 segment를 갖는 UMD PDU들을 폐기한다.
- 만약 RX_DELIV_Segment가 수신 윈도우 밖에 있다면
■ RX_DELIV_Segment변수를 (RX_Next_Segment - UM_Window_Size)로 업데이트한다.
- 만약 버퍼에 RX_DELIV_Segment 와 같은 RLC 일련번호를 갖는 UMD PDU가 있다면
■ RX_DELIV_Segment 변수를 현재 RX_DELIV_Segment 값보다 크면서 완전히 수신되지 않은 첫 번째 UMD PDU의 RLC 일련번호로 업데이트한다.
■ 상기 업데이트된 RX_DELIV_Segment보다 작은 RLC 일련번호를 가지는 segment에 대해 재조립을 수행하고, RLC 헤더를 제거하고 상위 계층으로 전달한다. 만약 재조립에 실패하면 폐기한다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment가 RX_DELIV_Segment보다 크다면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
When an UMD PDU with SN = x is placed in the reception buffer, the receiving side of an UM RLC entity shall:
- if x falls outside of the receiving window:
- update RX_Next_Segment to x + 1;
- discard any UMD PDUs containing segment with SN that falls outside of the receiving window;
- if RX_DELIV_Segment falls outside of the receiving window:
- set RX_DELIV_Segment to (RX_Next_Segment - UM_Window_Size);
- if the reception buffer contains an UMD PDU with SN = RX_DELIV_Segment;
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN > current RX_DELIV_Segment that has not been completely received;
- reassemble RLC SDU from any UMD PDUs with SN < updated RX_DELIV_Segment, remove RLC header when doing so and deliver the reassembled RLC SDU to upper layer (if it fails to be reassembled, then discard it);
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment > RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
t-Reassembly 타이머가 만료한 경우, 수신 RLC UM 장치의 동작
(Actions when t-Reassembly expires)
t-Reassembly 타이머가 만료했을 때, 수신 UM RLC 장치는 다음과 같이 동작한다.
- RX_DELIV_Segment 를 RX_REORD_Segment 보다 크거나 같으면서 완전히 수신되지 않은 첫 번째 RLC 일련번호로 업데이트한다.
- 상기에서 업데이트된 RX_DELIV_Segment보다 작은 RLC 일련번호를 가지는 segment를 포함하는 UMD PDU들을 폐기한다.
- 만약 RX_Next_Segment 가 RX_DELIV_Segment보다 크다면
■ T-Reassembly 타이머를 시작한다.
■ RX_REORD_Segment 변수를 RX_Next_Segment 로 설정한다.
When t-Reassembly expires, the receiving UM RLC entity shall:
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN >= RX_REORD_Segment that has not been completely received;
- discard any UMD PDUs containing segment with SN < updated RX_DELIV_Segment;-
- if RX_Next_Segment> RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment.
상기 본 발명의 제 2-3 실시 예에서 t-reassemly 타이머를 트리거링하는 조건은 또 다른 방법으로 다음 중에 하나가 될 수 있다.
1. (현재 타이머가 구동되고 있지 않고) 윈도우 동작으로 유실된 패킷이 탐지된 경우, 즉, RLC 일련번호 사이에 Gap이 확인된 경우 혹은 같은 RLC SN내에서 SI필드 혹은 SO 필드로 인하여 Gap이 확인된 경우 ,
2. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 임의의 Segment가 도착한 경우,
*3. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 임의의 segment가 도착한 경우,
4. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 segment가 순서대로 수신되지 않고, segment의 유실이 탐지된 경우, 혹은 하나의 RLC 일련번호 내에서 segment 사이에 Gap이 확인된 경우.
5. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 첫 번째 segment가 도착한 경우를 제외하고, 두 번째 segment 혹은 그 이후의 segment가 도착했는데 완전한 RLC PDU를 구성할 수 없는 경우, (두 번째 segment 가 송신단에서 전송되지도 않았는데 타이머를 구동시키는 것이 바람직하지 않을 수 있으므로)
6. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 첫 번째 segment가 아닌 segment가 도착했을 경우
상기에서 유실된 패킷 혹은 유실된 segment를 탐지한 경우, 타이머를 트리거링하려고 하는 경우, 상기 본 발명의 제 2-3 실시 예에서 다음과 같은 실시 예들 중 하나를 타이머 트리거링 조건으로 적용할 수 있다. 또한 타이머가 만료한 경우에도 다시 타이머를 트리거링할 건지 확인하기 위해서 다음과 같은 실시 예들 중 하나를 적용할 수 있다. 본 발명의 제 2-3 실시 예에서 타이머를 트리거링하는 또 다른 실시 예는 다음과 같다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment가 RX_DELIV_Segment보다 크고 어떤 RLC SDU의 유실된 부분이 탐지된다면(RLC 일련번호 혹은 SO 필드 혹은 SI 필드에 의해서 탐지 가능)
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment > RX_DELIV_Segment and if a missing part of a RLC SDU is detected (a gap is created by checking RLC SN, SO field, and SI field):
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
본 발명의 제 2-3 실시 예에서 타이머를 트리거링하는 또 다른 실시 예는 다음과 같다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment 가 RX_DELIV_Segment +1과 같고, 마지막 RLC SDU segment를 제외하고, 적어도 하나의 유실된 RLC SDU segment가 RX_DELIV_Segment 혹은 RX_Next_Segment -1 에 대해서 존재하면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
■ 만약 RX_Next_Segment 가 RX_DELIV_Segment +1보다 크다면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment = RX_DELIV_Segment+1 and at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_DELIV_Segment (or RX_Next_Segment -1) :
(if RX_Next_Segment = RX_DELIV_Segment+1 and if at least one missing part of a RLC SDU with RX_DELIV_Segment (or RX_Next_Segment -1) except the last part of that RLC SDU exists: 와 같이 표현될 수도 있음)
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
- if RX_Next_Segment > RX_DELIV_Segment+1:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
상기에서 RX_Next_Segment = RX_DELIV_Segment+1 는 RX_Next_Segment-1 = RX_DELIV_Segment 과 같이 표현될 수도 있으며, RX_Next_Segment > RX_DELIV_Segment+1는 RX_Next_Segment-1 > RX_DELIV_Segment 과 같이 표현될 수도 있다.
상기 본 발명의 제 2-3 실시 예에서 t-reassembly timer는 다른 이름으로 명명될수도 있다. 예를 들면 t-reordering timer 혹은 t-gab_detected_timer 등 다른 이름으로 명명될 수 있다.
본 발명의 제 2-3 실시 예에서 만약 RX_Next_Segment 의 변수를 다음과 같이 정의한다면 (다른 변수들의 정의는 상기 제 2-3 실시예와 동일하게 그대로 사용하고, RX_Next_Segment의 변수만 하기와 같이 새로 정의할 경우) 상기 본 발명의 제 2-3 실시 예에서 제안한 RLC UM 수신 데이터 처리 동작은 다음과 같이 수정될 수 있다(전체적인 동작에서는 같은 의미와 절차를 가진다).
2) RX_Next_Segment - UM 모드에서 다음에 수신될 것이라고 예상되는 데이터의 RLC 일련번호에 해당하는 변수
- RX_Next_Segment는 다음에 수신될 것이라고 예상되는 UMD PDU segment의 RLC 일련번호를 나타낸다. 이 변수는 수신 윈도우의 상위 윈도우 가장자리 역할을 수행하며, 초기값은 0으로 설정된다. STCH의 경우, 처음으로 수신한 UMD PDU segment의 RLC 일련번호로 초기화될 수 있다.
Each receiving UM RLC entity shall maintain the following state variable:
2) RX_Next_Segment - UM highest received state variable
This state variable holds the value of the next expected SN of UMD PDU containing segment to be received, and it serves as the higher edge of the receive(or reordering) window. It is initially set to 0. For RLC entity configured for STCH, it is initially set to the SN of the first received UMD PDU containing segment.
차세대 이동 통신 시스템의 RLC UM 모드에서 상기 새로운 변수 정의에 의한 제 2-3 실시 예의 또 다른 RLC UM 데이터 수신 동작은 다음과 같다.
UM 데이터 전송 (UM data transfer)
수신 동작(Receive operations)
일반적인 동작(General)
수신 RLC 장치는 RX_Next_Segment 상태 변수에 따라서 수신 윈도우를 다음과 같이 유지한다.
- RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) <SN <= RX_Next_Segment 구간 내에 있다면 윈도우 내에 있다고 판단하고,
- RLC 일련번호가 상기 구간 밖에 있으면 윈도우 밖에 있다고 판단한다.
하위 계층으로부터 UMD PDU를 수신하였을 때 수신 UM RLC 장치의 동작은 다음과 같다.
- 수신한 UMD PDU를 폐기하거나 혹은 수신 버퍼에 저장해 놓는다 혹은 RLC 헤더를 제거하고 상위 계층으로 전달한다(segment가 아닌 경우, 즉 complete RLC SDU의 경우).
- 만약 수신된 UMD PDU가 버퍼에 저장되었다면
■ 윈도우 상태 변수들을 업데이트하고, 재조립하고, 상위 계층으로 RLC SDU를 전달하고, t-Reassembly 타이머를 필요하다면 시작하거나 중지한다.
- 만약 t-Reassembly 타이머가 만료한다면, 수신 RLC UM 장치는 다음과 같이 동작한다.
■ 윈도우 상태 변수들을 업데이트하고, segment를 포함한 UMD PDU를 버리고, 필요하다면 t-Reassembly를 시작한다.
The receiving UM RLC entity shall maintain a reordering window according to state variable RX_Next_Segment as follows:
- a SN falls within the reordering window if (RX_Next_Segment - UM_Window_Size) < SN <= RX_Next_Segment
- a SN falls outside of the reordering window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
- either discard the received UMD PDU or place it in the reception buffer or remove the RLC header and deliver the RLC SDU to upper layer;
- if the received UMD PDU was placed in the reception buffer:
- update state variables, reassemble and deliver RLC SDU to upper layer and start/stop t-Reassembly as needed;
When t-Reassembly expires, the receiving UM RLC entity shall:
- update state variables, discard UMD PDUs containing segment, and start t-Reassembly as needed.
<하위 계층으로부터 UMD PDU를 수신하였을 때 수신 RLC UM 장치 동작>
(Actions when an UMD PDU is received from lower layer)
RLC 일련번호 x를 가지며, y 바이트부터 z바이트까지의 부분에 해당하는 segment를 포함하는 UMD PDU를 하위 계층으로부터 수신하였을 때 수신 RLC UM 장치는 다음과 같이 동작한다.
- 만약 RLC 일련번호가 없는 UMD PDU가 수신된다면
■ 헤더를 제거하고 상위 계층으로 전달한다.
- 만약 수신한 RLC 일련번호 x가 RX_DELIV_Segment 보다 크고 RX_Next_Segment 보다 작으면서 이전에 수신된 적이 있다면 혹은 수신한 RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) 보다 크고 RX_DELIV_Segment 보다 작다면
■ 수신한 UMD PDU를 버린다.
- 상기의 경우가 아니라면
■ 수신한 UMD PDU를 수신 버퍼에 저장해 놓는다.
When an UMD PDU is received from lower layer, where the UMD PDU contains byte segment numbers y to z of a RLC SDU with SN = x, the receiving side of an UM RLC entity shall:
- if the UMD PDU does not contain an SN
- remove the RLC header and deliver the RLC SDU to upper layer
- else if RX_DELIV_Segment < x < RX_Next_Segment and the UMD PDU with SN = x has been received before; or
- else if (RX_Next_Segment - UM_Window_Size) < x < RX_DELIV_Segment:
- discard the received UMD PDU;
- else:
- place the received UMD PDU in the reception buffer.
<UMD PDU가 버퍼에 저장될 때 수신 RLC 장치의 동작>
(Actions when an UMD PDU is placed in the reception buffer)
RLC 일련번호 x를 갖는 UMD PDU가 수신 버퍼에 저장될 때 수신 UM RLC 장치는 다음과 같이 동작한다.
- 만약 수신한 RLC 일련번호 x가 수신 윈도우 밖에 있다면
■ RX_Next_Segment변수를 x로 업데이트한다.
■ 윈도우 밖에 있는 RLC 일련번호에 해당하는 segment를 갖는 UMD PDU들을 폐기한다.
■ 만약 RX_DELIV_Segment가 수신 윈도우 밖에 있다면
◆ RX_DELIV_Segment변수를 (RX_Next_Segment - UM_Window_Size)+1로 업데이트한다.
- 그렇지 않다면 (만약 수신한 RLC 일련번호 x가 수신 윈동우 내에 있다면)
■ 상기 수신한 RLC 일련번호 x에 해당하는 segment를 포함하고 있는 UMD PDUs들로부터 RLC SDU를 재조립한다(재조립할 때 헤더를 제거하고 SI 필드 혹은 SO필드를 이용하여 재조립을 할 수 있다).
◆ 만약 RLC 일련번호 x를 갖는 RLC SDU가 재조립에 성공하고, 완전히 수신되었다면
● 상기 재조립된 RLC SDU를 상위 계층으로 전달한다.
■ 만약 상기 RLC 일련번호 x가 RX_DELIV_Segment와 같다면
◆ RX_DELIV_Segment 값을 현재 RX_DELIV_Segment 값보다 크면서 완전히 수신되지 않은 첫 번째 UMD PDU의 RLC 일련번호로 업데이트 한다.
■ 만약 상기 RLC 일련번호 x가 RX_Next_Segment 와 같다면
◆ RX_Next_Segment 값을 x+1업데이트 한다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment가 RX_DELIV_Segment보다 크다면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
When an UMD PDU with SN = x is placed in the reception buffer, the receiving side of an UM RLC entity shall:
- if x falls outside of the receiving window:
- update RX_Next_Segment to x ;
- discard any UMD PDUs containing segment with SN that falls outside of the receiving window;
- if RX_DELIV_Segment falls outside of the receiving window:
- set RX_DELIV_Segment to (RX_Next_Segment UM_Window_Size)+1;
- else (if x falls within the receiving window)
- reassemble RLC SDU from any UMD PDUs containing segment with SN=x (and remove RLC headers when doing so;)
- if RLC SDU with SN=x is reassembled and completely received
- deliver the reassembled RLC SDU to upper layer;
- if x = RX_DELIV_Segment
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN > current RX_DELIV_Segment that has not been completely received;
- if x = RX_Next_Segment
- update RX_Next_Segment to x+1;
-
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment > RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
<t-Reassembly 타이머가 만료한 경우, 수신 RLC UM 장치의 동작>
(Actions when t-Reassembly expires)
t-Reassembly 타이머가 만료했을 때, 수신 UM RLC 장치는 다음과 같이 동작한다.
- RX_DELIV_Segment 를 RX_REORD_Segment 보다 크거나 같으면서 완전히 수신되지 않은 첫 번째 RLC 일련번호로 업데이트한다.
- 상기에서 업데이트된 RX_DELIV_Segment보다 작은 RLC 일련번호를 가지는 segment를 포함하는 UMD PDU들을 폐기한다.
- 만약 RX_Next_Segment 가 RX_DELIV_Segment보다 크다면
■ T-Reassembly 타이머를 시작한다.
■ RX_REORD_Segment 변수를 RX_Next_Segment 로 설정한다.
When t-Reassembly expires, the receiving UM RLC entity shall:
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN >= RX_REORD_Segment that has not been completely received;
- discard any UMD PDUs containing segment with SN < updated RX_DELIV_Segment;-
- if RX_Next_Segment> RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment.
상기 본 발명의 제 2-3 실시 예에서 t-reassemly 타이머를 트리거링하는 조건은 또 다른 방법으로 다음 중에 하나가 될 수 있다.
1. (현재 타이머가 구동되고 있지 않고) 윈도우 동작으로 유실된 패킷이 탐지된 경우, 즉, RLC 일련번호 사이에 Gap이 확인된 경우 혹은 같은 RLC SN내에서 SI필드 혹은 SO 필드로 인하여 Gap이 확인된 경우 ,
2. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 임의의 Segment가 도착한 경우,
*3. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 임의의 segment가 도착한 경우,
4. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 segment가 순서대로 수신되지 않고, segment의 유실이 탐지된 경우, 혹은 하나의 RLC 일련번호 내에서 segment 사이에 Gap이 확인된 경우.
5. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 첫 번째 segment가 도착한 경우를 제외하고, 두 번째 segment 혹은 그 이후의 segment가 도착했는데 완전한 RLC PDU를 구성할 수 없는 경우, (두 번째 segment 가 송신단에서 전송되지도 않았는데 타이머를 구동시키는 것이 바람직하지 않을 수 있으므로)
6. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 첫 번째 segment가 아닌 segment가 도착했을 경우
상기에서 유실된 패킷 혹은 유실된 segment를 탐지한 경우, 타이머를 트리거링하려고 하는 경우, 상기 본 발명의 제 3 실시 예의 또 다른 실시 예에서 다음과 같은 실시 예들 중 하나를 타이머 트리거링 조건으로 적용할 수 있다. 또한 타이머가 만료한 경우에도 다시 타이머를 트리거링할 건지 확인하기 위해서 다음과 같은 실시 예들 중 하나를 적용할 수 있다. 본 발명의 제 2-3 실시 예에서 타이머를 트리거링하는 예시 1은 다음과 같다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment가 RX_DELIV_Segment보다 크고 어떤 RLC SDU의 유실된 부분이 탐지된다면(RLC 일련번호 혹은 SO 필드 혹은 SI 필드에 의해서 탐지 가능)
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment > RX_DELIV_Segment and if a missing part of a RLC SDU is detected (a gap is created by checking RLC SN, SO field, and SI field):
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
본 발명의 제 2-3 실시 예의 또다른 실시 예에서 타이머를 트리거링하는 예시 2는 다음과 같다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment 가 RX_DELIV_Segment 과 같고, 마지막 RLC SDU segment를 제외하고, 적어도 하나의 유실된 RLC SDU segment가 RX_DELIV_Segment 혹은 RX_Next_Segment 에 대해서 존재하면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
■ 만약 RX_Next_Segment 가 RX_DELIV_Segment 보다 크다면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment = RX_DELIV_Segment and at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_DELIV_Segment (or RX_Next_Segment) :
(if RX_Next_Segment = RX_DELIV_Segment and if at least one missing part of a RLC SDU with RX_DELIV_Segment (or RX_Next_Segment ) except the last part of that RLC SDU exists: 와 같이 표현될 수도 있음)
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
- if RX_Next_Segment > RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
상기 본 발명의 제 2-3 실시 예에서 t-reassembly timer는 다른 이름으로 명명될수도 있다. 예를 들면 t-reordering timer 혹은 t-gab_detected_timer 등 다른 이름으로 명명될 수 있다.
본 발명의 제 2-3 실시 예에서 만약 RX_Next_Segment 의 변수를 다음과 같이 정의한다면(다른 변수들의 정의는 상기 제 2-3 실시예와 동일하게 그대로 사용하고, RX_Next_Segment의 변수만 하기와 같이 새로 정의할 경우) 상기 본 발명의 제 2-3 실시 예에서 제안한 RLC UM 수신 데이터 처리 동작은 또 다르게 다음과 같이 수정될 수 있다.
2) RX_Next_Segment - UM 모드에서 다음에 수신될 것이라고 예상되는 데이터의 RLC 일련번호에 해당하는 변수
- RX_Next_Segment는 다음에 수신될 것이라고 예상되는 UMD PDU segment의 RLC 일련번호를 나타낸다. 이 변수는 수신 윈도우의 상위 윈도우 가장자리 역할을 수행하며, 초기값은 0으로 설정된다. STCH의 경우, 처음으로 수신한 UMD PDU segment의 RLC 일련번호로 초기화될 수 있다.
Each receiving UM RLC entity shall maintain the following state variable:
2) RX_Next_Segment - UM highest received state variable
This state variable holds the value of the next expected SN of UMD PDU containing segment to be received, and it serves as the higher edge of the receive(or reordering) window. It is initially set to 0. For RLC entity configured for STCH, it is initially set to the SN of the first received UMD PDU containing segment.
차세대 이동 통신 시스템의 RLC UM 모드에서 상기 새로운 변수 정의에 의한 제 2-3 실시 예의 또 다른 RLC UM 데이터 수신 동작은 다음과 같다.
UM 데이터 전송 (UM data transfer)
수신 동작(Receive operations)
일반적인 동작(General)
수신 RLC 장치는 RX_Next_Segment 상태 변수에 따라서 수신 윈도우를 다음과 같이 유지한다.
- RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) <=SN < RX_Next_Segment 구간 내에 있다면 윈도우 내에 있다고 판단하고,
- RLC 일련번호가 상기 구간 밖에 있으면 윈도우 밖에 있다고 판단한다.
하위 계층으로부터 UMD PDU를 수신하였을 때 수신 UM RLC 장치의 동작은 다음과 같다.
- 수신한 UMD PDU를 폐기하거나 혹은 수신 버퍼에 저장해 놓는다 혹은 RLC 헤더를 제거하고 상위 계층으로 전달한다(segment가 아닌 경우, 즉 complete RLC SDU의 경우).
- 만약 수신된 UMD PDU가 버퍼에 저장되었다면
◆ 윈도우 상태 변수들을 업데이트하고, 재조립하고, 상위 계층으로 RLC SDU를 전달하고, t-Reassembly 타이머를 필요하다면 시작하거나 중지한다.
- 만약 t-Reassembly 타이머가 만료한다면, 수신 RLC UM 장치는 다음과 같이 동작한다.
■ 윈도우 상태 변수들을 업데이트하고, segment를 포함한 UMD PDU를 버리고, 필요하다면 t-Reassembly를 시작한다.
The receiving UM RLC entity shall maintain a reordering window according to state variable RX_Next_Segment as follows:
- a SN falls within the reordering window if (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment
- a SN falls outside of the reordering window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
- either discard the received UMD PDU or place it in the reception buffer or remove the RLC header and deliver the RLC SDU to upper layer;
- if the received UMD PDU was placed in the reception buffer:
- update state variables, reassemble and deliver RLC SDU to upper layer and start/stop t-Reassembly as needed;
When t-Reassembly expires, the receiving UM RLC entity shall:
- update state variables, discard UMD PDUs containing segment, and start t-Reassembly as needed.
<하위 계층으로부터 UMD PDU를 수신하였을 때 수신 RLC UM 장치 동작>
(Actions when an UMD PDU is received from lower layer)
RLC 일련번호 x를 가지며, y 바이트부터 z바이트까지의 부분에 해당하는 segment를 포함하는 UMD PDU를 하위 계층으로부터 수신하였을 때 수신 RLC UM 장치는 다음과 같이 동작한다.
- 만약 RLC 일련번호가 없는 UMD PDU가 수신된다면
■ 헤더를 제거하고 상위 계층으로 전달한다.
- 만약 수신한 RLC 일련번호 x가 RX_DELIV_Segment 보다 크고 RX_Next_Segment 보다 작으면서 이전에 수신된 적이 있다면 혹은 수신한 RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) 보다 크거나 같고 RX_DELIV_Segment 보다 작다면
■ 수신한 UMD PDU를 버린다.
- 상기의 경우가 아니라면
■ 수신한 UMD PDU를 수신 버퍼에 저장해 놓는다.
When an UMD PDU is received from lower layer, where the UMD PDU contains byte segment numbers y to z of a RLC SDU with SN = x, the receiving side of an UM RLC entity shall:
- if the UMD PDU does not contain an SN
- remove the RLC header and deliver the RLC SDU to upper layer
- else if RX_DELIV_Segment < x < RX_Next_Segment and the UMD PDU with SN = x has been received before; or
- else if (RX_Next_Segment - UM_Window_Size) < =x < RX_DELIV_Segment:
- discard the received UMD PDU;
- else:
- place the received UMD PDU in the reception buffer.
<UMD PDU가 버퍼에 저장될 때 수신 RLC 장치의 동작>
(Actions when an UMD PDU is placed in the reception buffer)
RLC 일련번호 x를 갖는 UMD PDU가 수신 버퍼에 저장될 때 수신 UM RLC 장치는 다음과 같이 동작한다.
- 만약 수신한 RLC 일련번호 x가 수신 윈도우 밖에 있다면
■ RX_Next_Segment변수를 x로 업데이트한다.
■ 윈도우 밖에 있는 RLC 일련번호에 해당하는 segment를 갖는 UMD PDU들을 폐기한다.
■ 만약 RX_DELIV_Segment가 수신 윈도우 밖에 있다면
◆ RX_DELIV_Segment변수를 (RX_Next_Segment - UM_Window_Size)로 업데이트한다.
- 그렇지 않다면 (만약 수신한 RLC 일련번호 x가 수신 윈동우 내에 있다면)
■ 상기 수신한 RLC 일련번호 x에 해당하는 segment를 포함하고 있는 UMD PDUs들로부터 RLC SDU를 재조립한다(재조립할 때 헤더를 제거하고 SI 필드 혹은 SO필드를 이용하여 재조립을 할 수 있다).
◆ 만약 RLC 일련번호 x를 갖는 RLC SDU가 재조립에 성공하고, 완전히 수신되었다면
● 상기 재조립된 RLC SDU를 상위 계층으로 전달한다.
■ 만약 상기 RLC 일련번호 x가 RX_DELIV_Segment와 같다면
◆ RX_DELIV_Segment 값을 현재 RX_DELIV_Segment 값보다 크면서 완전히 수신되지 않은 첫 번째 UMD PDU의 RLC 일련번호로 업데이트 한다.
■ 만약 상기 RLC 일련번호 x가 RX_Next_Segment 와 같다면
◆ RX_Next_Segment 값을 x+1업데이트 한다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment가 RX_DELIV_Segment보다 크다면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
When an UMD PDU with SN = x is placed in the reception buffer, the receiving side of an UM RLC entity shall:
- if x falls outside of the receiving window:
- update RX_Next_Segment to x ;
- discard any UMD PDUs containing segment with SN that falls outside of the receiving window;
- if RX_DELIV_Segment falls outside of the receiving window:
- set RX_DELIV_Segment to (RX_Next_Segment - UM_Window_Size);
- else (if x falls within the receiving window)
- reassemble RLC SDU from any UMD PDUs containing segment with SN=x (and remove RLC headers when doing so;)
- if RLC SDU with SN=x is reassembled and completely received
- deliver the reassembled RLC SDU to upper layer;
- if x = RX_DELIV_Segment
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN > current RX_DELIV_Segment that has not been completely received;
- if x = RX_Next_Segment
- update RX_Next_Segment to x+1;
-
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment > RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
<t-Reassembly 타이머가 만료한 경우, 수신 RLC UM 장치의 동작>
(Actions when t-Reassembly expires)
t-Reassembly 타이머가 만료했을 때, 수신 UM RLC 장치는 다음과 같이 동작한다.
- RX_DELIV_Segment 를 RX_REORD_Segment 보다 크거나 같으면서 완전히 수신되지 않은 첫 번째 RLC 일련번호로 업데이트한다.
- 상기에서 업데이트된 RX_DELIV_Segment보다 작은 RLC 일련번호를 가지는 segment를 포함하는 UMD PDU들을 폐기한다.
- 만약 RX_Next_Segment 가 RX_DELIV_Segment보다 크다면
■ T-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment 변수를 RX_Next_Segment 로 설정한다.
When t-Reassembly expires, the receiving UM RLC entity shall:
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN >= RX_REORD_Segment that has not been completely received;
- discard any UMD PDUs containing segment with SN < updated RX_DELIV_Segment;-
- if RX_Next_Segment> RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment.
상기 본 발명의 제 2-3 실시 예에서 t-reassemly 타이머를 트리거링하는 조건은 또 다른 방법으로 다음 중에 하나가 될 수 있다.
1. (현재 타이머가 구동되고 있지 않고) 윈도우 동작으로 유실된 패킷이 탐지된 경우, 즉, RLC 일련번호 사이에 Gap이 확인된 경우 혹은 같은 RLC SN내에서 SI필드 혹은 SO 필드로 인하여 Gap이 확인된 경우 ,
2. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 임의의 Segment가 도착한 경우,
*3. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 임의의 segment가 도착한 경우,
4. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 segment가 순서대로 수신되지 않고, segment의 유실이 탐지된 경우, 혹은 하나의 RLC 일련번호 내에서 segment 사이에 Gap이 확인된 경우.
5. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 첫 번째 segment가 도착한 경우를 제외하고, 두 번째 segment 혹은 그 이후의 segment가 도착했는데 완전한 RLC PDU를 구성할 수 없는 경우, (두 번째 segment 가 송신단에서 전송되지도 않았는데 타이머를 구동시키는 것이 바람직하지 않을 수 있으므로)
6. (현재 타이머가 구동되고 있지 않고) 수신한 RLC UM PDU로 하나의 RLC 일련번호 내에서 첫 번째 segment가 아닌 segment가 도착했을 경우
상기에서 유실된 패킷 혹은 유실된 segment를 탐지한 경우, 타이머를 트리거링하려고 하는 경우, 상기 본 발명의 제 3 실시 예의 또 다른 실시 예에서 다음과 같은 실시 예들 중 하나를 타이머 트리거링 조건으로 적용할 수 있다. 또한 타이머가 만료한 경우에도 다시 타이머를 트리거링할 건지 확인하기 위해서 다음과 같은 실시 예들 중 하나를 적용할 수 있다. 본 발명의 제 2-3 실시 예에서 타이머를 트리거링하는 예시 1은 다음과 같다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment가 RX_DELIV_Segment보다 크고 어떤 RLC SDU의 유실된 부분이 탐지된다면(RLC 일련번호 혹은 SO 필드 혹은 SI 필드에 의해서 탐지 가능)
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment > RX_DELIV_Segment and if a missing part of a RLC SDU is detected (a gap is created by checking RLC SN, SO field, and SI field):
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
본 발명의 제 2-3 실시 예의 또 다른 실시 예에서 타이머를 트리거링하는 또 예시 2는 다음과 같다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment 가 RX_DELIV_Segment 과 같고, 마지막 RLC SDU segment를 제외하고, 적어도 하나의 유실된 RLC SDU segment가 RX_DELIV_Segment 혹은 RX_Next_Segment 에 대해서 존재하면
◆ t-Reassembly 타이머를 시작한다.
◆RX_REORD_Segment를 RX_Next_Segment로 설정한다.
■ 만약 RX_Next_Segment 가 RX_DELIV_Segment 보다 크다면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment:
- stop and reset t-Reassembly;
- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment = RX_DELIV_Segment and at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_DELIV_Segment (or RX_Next_Segment) :
(if RX_Next_Segment = RX_DELIV_Segment and if at least one missing part of a RLC SDU with RX_DELIV_Segment (or RX_Next_Segment ) except the last part of that RLC SDU exists: 와 같이 표현될 수도 있음)
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
- if RX_Next_Segment > RX_DELIV_Segment:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
상기 본 발명의 제 2-3 실시 예에서 t-reassembly timer는 다른 이름으로 명명될수도 있다. 예를 들면 t-reordering timer 혹은 t-gab_detected_timer 등 다른 이름으로 명명될 수 있다.
아래에서는, 다음과 같은 분할 방법 및 RLC UM 수신 방법에 따른 RLC UM의 데이터 송신 동작과 데이터 수신 동작을 제안한다.
- 제 2-4 실시 예: SO 기반 분할 방법을 적용하고, RLC UM 수신 방법으로 윈도우와 타이머를 사용하는 RLC UM의 데이터 송신 동작과 데이터 수신 동작.
따라서 본 발명의 실시 예에서는 차세대 이동 통신 시스템에서 RLC UM 모드에서 불필요한 오버헤드를 줄이기 위해서 complete RLC PDU(즉 분할되지 않은 RLC PDU)에 대해서는 RLC 일련번호를 사용하지 않고, RLC PDU segment(분할된 RLC PDU)에 대해서만 RLC 일련번호를 사용하는 방법을 효율적으로 구동하기 위해서 송신단 RLC UM 장치에서 SO 분할 방법을 사용하고 수신단 RLC UM 장치에서 타이머가 있는 RLC UM 송수신 윈도우 동작 방법을 다음과 같이 제안한다. 또한 RLC 일련번호를 기반으로 중복 체크를 수행하지 않고 segment 기반으로 중복 체크를 하는 것을 특징으로 한다.
먼저 다음과 같이 윈도우 동작에 사용할 윈도우 변수들을 정의할 수 있다.
송신 RLC 장치는 TX_Next_Segment라는 송신 상태 변수를 정의하여 분할된 UMD PDU segment에 RLC 일련번호를 할당할 수 있다.
1) TX_Next_Segment - UM 모드에서 송신 상태 변수
- TX_Next segment는 다음 RLC SDU의 segment를 포함하는 UMD PDU에게 할당될 RLC 일련번호 값을 나타낸다. 초기값은 0으로 설정될 수 있으며, 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 첫번째 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다 혹은 송신 RLC 장치는 TX_Next_Segment에 해당하는 UMD PDU의 마지막 segment를 하위 계층으로 전달할 때마다 TX_Next_Segment 값을 업데이트할 수 있다(어떻게 변수를 업데이트할지 정의하기에 따라 정해질 수 있다).
Each transmitting UM RLC entity shall maintain the following state variable:
1) TX_Next_Segment - UM transmit state variable
This state variable holds the value of the SN to be assigned for a UMD PDU containing a segment of the next RLC SDU. It is initially set to 0, and is updated whenever the UM RLC entity delivers the first segment of a UMD PDU with SN = TX_Next_Segment (It can be updated whenever the UM RLC entity delivers the last segment of a UMD PDU with SN = TX_Next_Segment. It depends on how to define it).
수신 RLC 장치는 RX_Next_Segment라는 윈도우 변수를 정의하여 분할된 UMD PDU segment에 대해 수신 윈도우를 구동할 수 있다.
2) RX_Next_Segment - UM 모드에서 가장 높은 일련번호를 갖는 수신 상태 변수
- RX_Next_Segment는 수신한 UMD PDU segment들 중에서 가장 높은 RLC 일련번호 다음 RLC 일련번호를 나타낸다. 이 변수는 수신 윈도우의 상위 윈도우 가장자리 역할을 수행하며, 초기값은 0으로 설정된다. STCH의 경우, 처음으로 수신한 UMD PDU segment의 RLC 일련번호로 초기화될 수 있다.
Each receiving UM RLC entity shall maintain the following state variable:
2) RX_Next_Segment - UM highest received state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs containing segment, and it serves as the higher edge of the receive(or reordering) window. It is initially set to 0. For RLC entity configured for STCH, it is initially set to the SN of the first received UMD PDU containing segment.
3) RX_DELIV_Segment - UM 모드에서 완전히 수신되지 않은 첫번째 RLC SN을 나타내는 변수
- 상기 변수는 UM 모드에서 완전히 수신되지 않은 첫 번째 RLC 일련번호(즉, 가장 낮은 RLC 일련번호)를 나타낼 수 있다.
3) RX_DELIV_Segment - UM receive state variable
This state variable holds the value of the SN of the first UMD PDU that has not been completely received;
4) RX_REORD_Segment - UM t-Reassembly 관련 변수
- 상기 변수는 t-Reassembly를 트리거링한 RLC 일련번호의 다음 RLC 일련번호를 나타낸다.
4) RX_REORD_Segment - UM t-Reassembly state variable
This state variable holds the value of the SN following the SN of the UMD PDU which triggered t-Reassembly.
5) t-Reassembly - 타이머
- t-Reassembly 타이머는 수신 AM RLC 장치와 수신 UM RLC 장치에서 사용해서 유실된 UMD PDU를 탐지하기 위해 사용될 수 있다. t-Reassembly 타이머는 한번에 하나만 운영될 수 있다. 즉, 하나가 시작되면 추가적인 t-Reassembly 타이머는 구동되지 않는다.
5) t-Reassembly
This timer is used by the receiving side of an receiving AM RLC entity and receiving UM RLC entity in order to detect loss of RLC PDUs at lower layer. If t-Reassembly is running, t-Reassembly shall not be started additionally, i.e. only one t Reassembly per RLC entity is running at a given time.
차세대 이동 통신 시스템의 RLC UM 모드에서 송신 동작과 수신 동작은 다음과 같다.
UM 데이터 전송 (UM data transfer)
송신 동작(Transmit operations)
일반적인 동작(General)
하위 계층으로 segment를 포함한 UMD PDU를 전달할 때 송신 RLC 장치는 다음과 같이 동작한다.
- 만약 UMD PDU가 마지막 segment를 포함했다면,
■ 그 RLC SDU에 TX_Next_Segment와 같은 RLC 일련번호를 할당하고, TX_Next_Segment를 1만큼 증가시킨다.
- UMD PDU의 RLC 일련번호를 그에 상응하는 RLC SDU의 RLC 일련번호로 설정한다.
When delivering an UMD PDU that contains a segment of a RLC SDU, to lower layer, the transmitting side of an UM RLC entity shall:
- if the UMD PDU contains the last segment, associate a SN with the RLC SDU equal to TX_Next_Segment and increment TX_Next_Segment by one;
- set the SN of the UMD PDU to the SN of the corresponding RLC SDU.
수신 동작(Receive operations)
일반적인 동작(General)
수신 RLC 장치는 RX_Next_Segment 상태 변수에 따라서 수신 윈도우를 다음과 같이 유지한다.
- RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment 구간 내에 있다면 윈도우 내에 있다고 판단하고,
- RLC 일련번호가 상기 구간 밖에 있으면 윈도우 밖에 있다고 판단한다.
하위 계층으로부터 UMD PDU를 수신하였을 때 수신 UM RLC 장치의 동작은 다음과 같다.
- 수신한 UMD PDU를 폐기하거나 혹은 수신 버퍼에 저장해 놓는다 혹은 RLC 헤더를 제거하고 상위 계층으로 전달한다(segment가 아닌 경우, 즉 complete RLC SDU의 경우).
- 만약 수신된 UMD PDU가 버퍼에 저장되었다면
■ 윈도우 상태 변수들을 업데이트하고, 재조립하고, 상위 계층으로 RLC SDU를 전달하고, t-Reassembly 타이머를 필요하다면 시작하거나 중지한다.
- 만약 t-Reassembly 타이머가 만료한다면, 수신 RLC UM 장치는 다음과 같이 동작한다.
■ 윈도우 상태 변수들을 업데이트하고, segment를 포함한 UMD PDU를 버리고, 필요하다면 t-Reassembly를 시작한다.
The receiving UM RLC entity shall maintain a reordering window according to state variable RX_Next_Segment as follows:
- a SN falls within the reordering window if (RX_Next_Segment - UM_Window_Size) <= SN < RX_Next_Segment
- a SN falls outside of the reordering window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
- either discard the received UMD PDU or place it in the reception buffer or remove the RLC header and deliver the RLC SDU to upper layer;
- if the received UMD PDU was placed in the reception buffer:
- update state variables, reassemble and deliver RLC SDU to upper layer and start/stop t-Reassembly as needed;
When t-Reassembly expires, the receiving UM RLC entity shall:
- update state variables, discard UMD PDUs containing segment, and start t-Reassembly as needed.
<하위 계층으로부터 UMD PDU를 수신하였을 때 수신 RLC UM 장치 동작>(Actions when an UMD PDU is received from lower layer)
RLC 일련번호 x를 가지며, y 바이트부터 z바이트까지의 부분에 해당하는 segment를 포함하는 UMD PDU를 하위 계층으로부터 수신하였을 때 수신 RLC UM 장치는 다음과 같이 동작한다.
- 만약 수신한 RLC 일련번호 x가 RX_DELIV_Segment 보다 크고 RX_Next_Segment 보다 작으면서 이전에 수신된 적이 있다면 혹은 수신한 RLC 일련번호가 (RX_Next_Segment - UM_Window_Size) 보다 크거나 같거나 RX_DELIV_Segment 보다 작다면
■ 수신한 UMD PDU를 버린다.
- 상기의 경우가 아니라면
■ 수신한 UMD PDU를 수신 버퍼에 저장해 놓는다.
When an UMD PDU is received from lower layer, where the UMD PDU contains byte segment numbers y to z of a RLC SDU with SN = x, the receiving side of an UM RLC entity shall:
- if RX_DELIV_Segment < x < RX_Next_Segment and the UMD PDU with SN = x has been received before; or
- if (RX_Next_Segment - UM_Window_Size) <= x < RX_DELIV_Segment:
- discard the received UMD PDU;
- else:
- place the received UMD PDU in the reception buffer.
<UMD PDU가 버퍼에 저장될 때 수신 RLC 장치의 동작>(Actions when an UMD PDU is placed in the reception buffer)
RLC 일련번호 x를 갖는 UMD PDU가 수신 버퍼에 저장될 때 수신 UM RLC 장치는 다음과 같이 동작한다.
- 만약 수신한 RLC 일련번호 x가 수신 윈도우 밖에 있다면
■ RX_Next_Segment변수를 x+1로 업데이트한다.
■ 윈도우 밖에 있는 RLC 일련번호에 해당하는 segment를 갖는 UMD PDU들을 폐기한다.
■ 만약 RX_DELIV_Segment가 수신 윈도우 밖에 있다면
◆ RX_DELIV_Segment변수를 (RX_Next_Segment UM_Window_Size)보다 크거나 같은 RLC 일련번호 중에서 완전히 수신되지 않은(상위 계층으로 전달되지 않은) 첫번째 RLC 일련번호로 업데이트한다.
- 그렇지 않다면 (만약 수신한 RLC 일련번호 x가 수신 윈동우 내에 있다면)
■ 상기 수신한 RLC 일련번호 x에 해당하는 segment를 포함하고 있는 UMD PDUs들로부터 RLC SDU를 재조립한다(재조립할 때 헤더를 제거하고 SI 필드 혹은 SO필드를 이용하여 재조립을 할 수 있다).
◆ 만약 RLC 일련번호 x를 갖는 RLC SDU가 재조립에 성공하고, 완전히 수신되었다면
● 상기 재조립된 RLC SDU를 상위 계층으로 전달한다.
■ 만약 상기 RLC 일련번호 x가 RX_DELIV_Segment와 같다면
◆ RX_DELIV_Segment 값을 현재 RX_DELIV_Segment 값보다 크면서 완전히 수신되지 않은 첫 번째 UMD PDU의 RLC 일련번호로 업데이트 한다.
- 만약 t-Reassembly 타이머가 구동되고 있다면
■ 만약 RX_REORD_Segment가 RX_DELIV_Segment보다 작거나 같고 혹은 RX_REORD_Segment가 RX_Next_Segment와 같지 않다면
■ 혹은 만약 RX_Next_Segment 가 RX_DELIV_Segment +1과 같고, 마지막 RLC SDU segment를 제외하고 RLC SDU segment가 RX_DELIV_Segment를 일련번호로 가지는 RLC SDU에 대해서 유실된 segment가 없다면
◆ t-Reassembly 타이머를 중지하고 리셋한다.
- 만약 t-Reassembly 타이머가 구동되고 있지 않다면(상기에서 t-Reassembly가 중지된 경우를 포함하여)
■ 만약 RX_Next_Segment 가 RX_DELIV_Segment +1과 같고, 마지막 RLC SDU segment를 제외하고, 적어도 하나의 유실된 RLC SDU segment가 RX_DELIV_Segment 혹은 RX_Next_Segment -1 에 대해서 존재하면
■ 혹은 만약 RX_Next_Segment 가 RX_DELIV_Segment +1보다 크다면
◆ t-Reassembly 타이머를 시작한다.
◆ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
When an UMD PDU with SN = x is placed in the reception buffer, the receiving side of an UM RLC entity shall:
- if x falls outside of the receiving window:
- update RX_Next_Segment to x + 1;
- discard any UMD PDUs containing segment with SN that falls outside of the receiving window;
- if RX_DELIV_Segment falls outside of the receiving window:
- set RX_DELIV_Segment to the SN of the first UMD PDU with SN >= (RX_Next_Segment - UM_Window_Size)that has not been completely received;
- else (if x falls within the receiving window)
- reassemble RLC SDU from any UMD PDUs containing segment with SN=x (and remove RLC headers when doing so;)
- if RLC SDU with SN=x is reassembled and completely received
- deliver the reassembled RLC SDU to upper layer;
- if x = RX_DELIV_Segment
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN > current RX_DELIV_Segment that has not been completely received;
- if t-Reassembly is running:
- if RX_REORD_Segment <= RX_DELIV_Segment; or
- if RX_REORD_Segment falls outside of the receiving window and RX_REORD_Segment is not equal to RX_Next_Segment; or
- if RX_Next_Segment = RX_DELIV_Segment+1 and there is no missing RLC SDU segment except the last RLC SDU segment for RX_DELIV_Segment:
- stop and reset t-Reassembly;
*- if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
- if RX_Next_Segment = RX_DELIV_Segment+1 and at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_DELIV_Segment (or RX_Next_Segment -1); or
(if RX_Next_Segment = RX_DELIV_Segment+1 and if at least one missing part of a RLC SDU with RX_DELIV_Segment (or RX_Next_Segment -1) except the last part of that RLC SDU exists: 와 같이 표현될 수도 있음)
- if RX_Next_Segment > RX_DELIV_Segment+1:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment
<t-Reassembly 타이머가 만료한 경우, 수신 RLC UM 장치의 동작>(Actions when t-Reassembly expires)
t-Reassembly 타이머가 만료했을 때, 수신 UM RLC 장치는 다음과 같이 동작한다.
- RX_DELIV_Segment 를 RX_REORD_Segment 보다 크거나 같으면서 완전히 수신되지 않은 첫 번째 RLC 일련번호로 업데이트한다.
- 상기에서 업데이트된 RX_DELIV_Segment보다 작은 RLC 일련번호를 가지는 segment를 포함하는 UMD PDU들을 폐기한다.
- 만약 RX_Next_Segment 가 RX_DELIV_Segment +1과 같고, 마지막 RLC SDU segment를 제외하고, 적어도 하나의 유실된 RLC SDU segment가 RX_DELIV_Segment 혹은 RX_Next_Segment -1 에 대해서 존재하면
- 혹은 만약 RX_Next_Segment 가 RX_DELIV_Segment +1보다 크다면
■ t-Reassembly 타이머를 시작한다.
■ RX_REORD_Segment를 RX_Next_Segment로 설정한다.
When t-Reassembly expires, the receiving UM RLC entity shall:
- update RX_DELIV_Segment to the SN of the first UMD PDU with SN >= RX_REORD_Segment that has not been completely received;
- discard any UMD PDUs containing segment with SN < updated RX_DELIV_Segment;
- if RX_Next_Segment = RX_DELIV_Segment+1 and at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_DELIV_Segment (or RX_Next_Segment -1); or
- if RX_Next_Segment > RX_DELIV_Segment+1:
- start t-Reassembly;
- set RX_REORD_Segment to RX_Next_Segment-
상기 본 발명의 제 2-4 실시 예에 따른, 오버헤드를 줄이고 segment 레벨로 수신 패킷을 처리하기 위해 제안한, 타이머를 만료할 때의 동작 그리고 타이머를 트리거링하는 동작 그리고 타이머를 멈추고 리셋하는 동작은 상기 다른 실시 예들(예를 들면 제 2-2 실시 예 혹은 제 2-3 실시 예)에 동일하게 적용될 수 있다.
도 2q에 본 발명의 제 2 실시 예에 따른 단말의 구조를 도시하였다.
상기 도면을 참고하면, 상기 단말은 RF(Radio Frequency)처리부(2q-10), 기저대역(baseband)처리부(2q-20), 저장부(2q-30), 제어부(2q-40)를 포함한다.
상기 RF처리부(2q-10)는 신호의 대역 변환, 증폭 등 무선 채널을 통해 신호를 송수신하기 위한 기능을 수행한다. 즉, 상기 RF처리부(2q-10)는 상기 기저대역처리부(2q-20)로부터 제공되는 기저대역 신호를 RF 대역 신호로 상향 변환한 후 안테나를 통해 송신하고, 상기 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향 변환한다. 예를 들어, 상기 RF처리부(2q-10)는 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다. 상기 도면에서, 하나의 안테나만이 도시되었으나, 상기 단말은 다수의 안테나들을 구비할 수 있다. 또한, 상기 RF처리부(2q-10)는 다수의 RF 체인들을 포함할 수 있다. 나아가, 상기 RF처리부(2q-10)는 빔포밍(beamforming)을 수행할 수 있다. 상기 빔포밍을 위해, 상기 RF처리부(2q-10)는 다수의 안테나들 또는 안테나 요소(element)들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다. 또한 상기 RF 처리부는 MIMO를 수행할 수 있으며, MIMO 동작 수행 시 여러 개의 레이어를 수신할 수 있다. 상기 RF처리부(2q-10)는 제어부의 제어에 따라 다수의 안테나 또는 안테나 요소들을 적절하게 설정하여 수신 빔 스위핑을 수행하거나, 수신 빔이 송신 빔과 공조되도록 수신 빔의 방향과 빔 너비를 조정할 수 있다.
상기 기저대역처리부(2q-20)은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 상기 기저대역처리부(2q-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(2q-20)은 상기 RF처리부(2q-10)로부터 제공되는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 예를 들어, OFDM(orthogonal frequency division multiplexing) 방식에 따르는 경우, 데이터 송신 시, 상기 기저대역처리부(2q-20)는 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성하고, 상기 복소 심벌들을 부반송파들에 매핑한 후, IFFT(inverse fast Fourier transform) 연산 및 CP(cyclic prefix) 삽입을 통해 OFDM 심벌들을 구성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(2q-20)은 상기 RF처리부(2q-10)로부터 제공되는 기저대역 신호를 OFDM 심벌 단위로 분할하고, FFT(fast Fourier transform) 연산을 통해 부반송파들에 매핑된 신호들을 복원한 후, 복조 및 복호화를 통해 수신 비트열을 복원한다.
상기 기저대역처리부(2q-20) 및 상기 RF처리부(2q-10)는 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 상기 기저대역처리부(2q-20) 및 상기 RF처리부(2q-10)는 송신부, 수신부, 송수신부 또는 통신부로 지칭될 수 있다. 나아가, 상기 기저대역처리부(2q-20) 및 상기 RF처리부(2q-10) 중 적어도 하나는 서로 다른 다수의 무선 접속 기술들을 지원하기 위해 다수의 통신 모듈들을 포함할 수 있다. 또한, 상기 기저대역처리부(2q-20) 및 상기 RF처리부(2q-10) 중 적어도 하나는 서로 다른 주파수 대역의 신호들을 처리하기 위해 서로 다른 통신 모듈들을 포함할 수 있다. 예를 들어, 상기 서로 다른 무선 접속 기술들은 LTE 망, NR 망 등을 포함할 수 있다. 또한, 상기 서로 다른 주파수 대역들은 극고단파(SHF:super high frequency)(예: 2.5GHz, 5Ghz) 대역, mm파(millimeter wave)(예: 60GHz) 대역을 포함할 수 있다.
상기 저장부(2q-30)는 상기 단말의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 상기 저장부(2q-30)는 상기 제어부(2q-40)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(2q-40)는 상기 단말의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(2q-40)는 상기 기저대역처리부(2q-20) 및 상기 RF처리부(2q-10)을 통해 신호를 송수신한다. 또한, 상기 제어부(2q-40)는 상기 저장부(2q-40)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(2q-40)는 적어도 하나의 프로세서(processor)를 포함할 수 있다. 예를 들어, 상기 제어부(2q-40)는 통신을 위한 제어를 수행하는 CP(communication processor) 및 응용 프로그램 등 상위 계층을 제어하는 AP(application processor)를 포함할 수 있다.
도 2r는 본 발명의 제 2 실시 예에 따른 무선 통신 시스템에서 TRP의 블록 구성을 도시한다.
상기 도면에 도시된 바와 같이, 상기 기지국은 RF처리부(2r-10), 기저대역처리부(2r-20), 백홀통신부(2r-30), 저장부(2r-40), 제어부(2r-50)를 포함하여 구성된다.
상기 RF처리부(2r-10)는 신호의 대역 변환, 증폭 등 무선 채널을 통해 신호를 송수신하기 위한 기능을 수행한다. 즉, 상기 RF처리부(2r-10)는 상기 기저대역처리부(2r-20)로부터 제공되는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 상기 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 예를 들어, 상기 RF처리부(2r-10)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다. 상기 도면에서, 하나의 안테나만이 도시되었으나, 상기 제1접속 노드는 다수의 안테나들을 구비할 수 있다. 또한, 상기 RF처리부(2r-10)는 다수의 RF 체인들을 포함할 수 있다. 나아가, 상기 RF처리부(2r-10)는 빔포밍을 수행할 수 있다. 상기 빔포밍을 위해, 상기 RF처리부(2r-10)는 다수의 안테나들 또는 안테나 요소들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다. 상기 RF 처리부는 하나 이상의 레이어를 전송함으로써 하향 MIMO 동작을 수행할 수 있다.
상기 기저대역처리부(2r-20)는 제1무선 접속 기술의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 상기 기저대역처리부(2r-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(2r-20)은 상기 RF처리부(2r-10)로부터 제공되는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 예를 들어, OFDM 방식에 따르는 경우, 데이터 송신 시, 상기 기저대역처리부(2r-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성하고, 상기 복소 심벌들을 부반송파들에 매핑한 후, IFFT 연산 및 CP 삽입을 통해 OFDM 심벌들을 구성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(2r-20)은 상기 RF처리부(2r-10)로부터 제공되는 기저대역 신호를 OFDM 심벌 단위로 분할하고, FFT 연산을 통해 부반송파들에 매핑된 신호들을 복원한 후, 복조 및 복호화를 통해 수신 비트열을 복원한다. 상기 기저대역처리부(2r-20) 및 상기 RF처리부(2r-10)는 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 상기 기저대역처리부(2r-20) 및 상기 RF처리부(2r-10)는 송신부, 수신부, 송수신부, 통신부 또는 무선 통신부로 지칭될 수 있다.
상기 통신부(2r-30)는 네트워크 내 다른 노드들과 통신을 수행하기 위한 인터페이스를 제공한다.
상기 저장부(2r-40)는 상기 주기지국의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 특히, 상기 저장부(2r-40)는 접속된 단말에 할당된 베어러에 대한 정보, 접속된 단말로부터 보고된 측정 결과 등을 저장할 수 있다. 또한, 상기 저장부(2r-40)는 단말에게 다중 연결을 제공하거나, 중단할지 여부의 판단 기준이 되는 정보를 저장할 수 있다. 그리고, 상기 저장부(2r-40)는 상기 제어부(2r-50)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(2r-50)는 상기 주기지국의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(2r-50)는 상기 기저대역처리부(2r-20) 및 상기 RF처리부(2r-10)을 통해 또는 상기 백홀통신부(2r-30)을 통해 신호를 송수신한다. 또한, 상기 제어부(2r-50)는 상기 저장부(2r-40)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(2r-50)는 적어도 하나의 프로세서를 포함할 수 있다.
<제 3 실시 예>
도 3a는 본 발명이 적용될 수 있는 LTE 시스템의 구조를 도시하는 도면이다.
도 3a을 참조하면, 도시한 바와 같이 LTE 시스템의 무선 액세스 네트워크는 차세대 기지국(Evolved Node B, 이하 ENB, Node B 또는 기지국)(3a-05, 3a-10, 3a-15, 3a-20)과 MME (3a-25, Mobility Management Entity) 및 S-GW(3a-30, Serving-Gateway)로 구성된다. 사용자 단말(User Equipment, 이하 UE 또는 단말)(3a-35)은 ENB(3a-05 ~ 3a-20) 및 S-GW(3a-30)를 통해 외부 네트워크에 접속한다.
도 3a에서 ENB(3a-05 ~ 3a-20)는 UMTS 시스템의 기존 노드 B에 대응된다. ENB는 UE(3a-35)와 무선 채널로 연결되며 기존 노드 B 보다 복잡한 역할을 수행한다. LTE 시스템에서는 인터넷 프로토콜을 통한 VoIP(Voice over IP)와 같은 실시간 서비스를 비롯한 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스 되므로, UE들의 버퍼 상태, 가용 전송 전력 상태, 채널 상태 등의 상태 정보를 취합해서 스케줄링을 하는 장치가 필요하며, 이를 ENB(3a-05 ~ 3a-20)가 담당한다. 하나의 ENB는 통상 다수의 셀들을 제어한다. 예컨대, 100 Mbps의 전송 속도를 구현하기 위해서 LTE 시스템은 예컨대, 20 MHz 대역폭에서 직교 주파수 분할 다중 방식(Orthogonal Frequency Division Multiplexing, 이하 OFDM이라 한다)을 무선 접속 기술로 사용한다. 또한 단말의 채널 상태에 맞춰 변조 방식(modulation scheme)과 채널 코딩률(channel coding rate)을 결정하는 적응 변조 코딩(Adaptive Modulation & Coding, 이하 AMC라 한다) 방식을 적용한다. S-GW(3a-30)는 데이터 베어러를 제공하는 장치이며, MME(3a-25)의 제어에 따라서 데이터 베어러를 생성하거나 제거한다. MME는 단말에 대한 이동성 관리 기능은 물론 각종 제어 기능을 담당하는 장치로 다수의 기지국 들과 연결된다.
도 3b는 본 발명이 적용될 수 있는 LTE 시스템에서 무선 프로토콜 구조를 나타낸 도면이다.
도 3b를 참조하면, LTE 시스템의 무선 프로토콜은 단말과 ENB에서 각각 PDCP (Packet Data Convergence Protocol 3b-05, 3b-40), RLC (Radio Link Control 3b-10, 3b-35), MAC (Medium Access Control 3b-15, 3b-30)으로 이루어진다. PDCP (Packet Data Convergence Protocol)(3b-05, 3b-40)는 IP 헤더 압축/복원 등의 동작을 담당한다. PDCP의 주요 기능은 하기와 같이 요약된다.
- 헤더 압축 및 압축 해제 기능(Header compression and decompression: ROHC only)
- 사용자 데이터 전송 기능 (Transfer of user data)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs at PDCP re-establishment procedure for RLC AM)
- 순서 재정렬 기능(For split bearers in DC (only support for RLC AM): PDCP PDU routing for transmission and PDCP PDU reordering for reception)
- 중복 탐지 기능(Duplicate detection of lower layer SDUs at PDCP re-establishment procedure for RLC AM)
- 재전송 기능(Retransmission of PDCP SDUs at handover and, for split bearers in DC, of PDCP PDUs at PDCP data-recovery procedure, for RLC AM)
- 암호화 및 복호화 기능(Ciphering and deciphering)
- 타이머 기반 SDU 삭제 기능(Timer-based SDU discard in uplink.)
무선 링크 제어(Radio Link Control, 이하 RLC라고 한다)(3b-10, 3b-35)는 PDCP PDU(Packet Data Unit)를 적절한 크기로 재구성해서 ARQ 동작 등을 수행한다. RLC의 주요 기능은 하기와 같이 요약된다.
- 데이터 전송 기능(Transfer of upper layer PDUs)
- ARQ 기능(Error Correction through ARQ (only for AM data transfer))
- 접합, 분할, 재조립 기능(Concatenation, segmentation and reassembly of RLC SDUs (only for UM and AM data transfer))
- 재분할 기능(Re-segmentation of RLC data PDUs (only for AM data transfer))
- 순서 재정렬 기능(Reordering of RLC data PDUs (only for UM and AM data transfer)
- 중복 탐지 기능(Duplicate detection (only for UM and AM data transfer))
- 오류 탐지 기능(Protocol error detection (only for AM data transfer))
- RLC SDU 삭제 기능(RLC SDU discard (only for UM and AM data transfer))
- RLC 재수립 기능(RLC re-establishment)
MAC(3b-15, 3b-30)은 한 단말에 구성된 여러 RLC 계층 장치들과 연결되며, RLC PDU들을 MAC PDU에 다중화하고 MAC PDU로부터 RLC PDU들을 역다중화하는 동작을 수행한다. MAC의 주요 기능은 하기와 같이 요약된다.
- 맵핑 기능(Mapping between logical channels and transport channels)
- 다중화 및 역다중화 기능(Multiplexing/demultiplexing of MAC SDUs belonging to one or different logical channels into/from transport blocks (TB) delivered to/from the physical layer on transport channels)
- 스케쥴링 정보 보고 기능(Scheduling information reporting)
- HARQ 기능(Error correction through HARQ)
- 로지컬 채널 간 우선 순위 조절 기능(Priority handling between logical channels of one UE)
- 단말간 우선 순위 조절 기능(Priority handling between UEs by means of dynamic scheduling)
- MBMS 서비스 확인 기능(MBMS service identification)
- 전송 포맷 선택 기능(Transport format selection)
- 패딩 기능(Padding)
물리 계층(3b-20, 3b-25)은 상위 계층 데이터를 채널 코딩 및 변조하고, OFDM 심벌로 만들어서 무선 채널로 전송하거나, 무선 채널을 통해 수신한 OFDM 심벌을 복조하고 채널 디코딩해서 상위 계층으로 전달하는 동작을 한다.
도 3c는 본 발명의 제 3 실시 예에 따른 차세대 이동통신 시스템의 구조를 도시하는 도면이다.
도 3c을 참조하면, 도시한 바와 같이 차세대 이동통신 시스템(이하 NR 혹은 5G)의 무선 액세스 네트워크는 차세대 기지국(New Radio Node B, 이하 NR gNB 혹은 NR 기지국)(3c-10) 과 NR CN (3c-05, New Radio Core Network)로 구성된다. 사용자 단말(New Radio User Equipment, 이하 NR UE 또는 단말)(3c-15)은 NR gNB(3c-10) 및 NR CN (3c-05)를 통해 외부 네트워크에 접속한다.
도 3c에서 NR gNB(3c-10)는 기존 LTE 시스템의 eNB (Evolved Node B)에 대응된다. NR gNB는 NR UE(3c-15)와 무선 채널로 연결되며 기존 노드 B 보다 더 월등한 서비스를 제공해줄 수 있다. 차세대 이동통신 시스템에서는 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스 되므로, UE들의 버퍼 상태, 가용 전송 전력 상태, 채널 상태 등의 상태 정보를 취합해서 스케줄링을 하는 장치가 필요하며, 이를 NR NB(3c-10)가 담당한다. 하나의 NR gNB는 통상 다수의 셀들을 제어한다. 현재 LTE 대비 초고속 데이터 전송을 구현하기 위해서 기존 최대 대역폭 이상을 가질 수 있고, 직교 주파수 분할 다중 방식(Orthogonal Frequency Division Multiplexing, 이하 OFDM이라 한다)을 무선 접속 기술로 하여 추가적으로 빔포밍 기술이 접목될 수 있다. 또한 단말의 채널 상태에 맞춰 변조 방식(modulation scheme)과 채널 코딩률(channel coding rate)을 결정하는 적응 변조 코딩(Adaptive Modulation & Coding, 이하 AMC라 한다) 방식을 적용한다. NR CN (3c-05)는 이동성 지원, 베어러 설정, QoS 설정 등의 기능을 수행한다. NR CN는 단말에 대한 이동성 관리 기능은 물론 각종 제어 기능을 담당하는 장치로 다수의 기지국 들과 연결된다. 또한 차세대 이동통신 시스템은 기존 LTE 시스템과도 연동될 수 있으며, NR CN이 MME (3c-25)와 네트워크 인터페이스를 통해 연결된다. MME는 기존 기지국인 eNB (3c-30)와 연결된다.
도 3d는 본 발명의 제 3 실시 예에 따른 차세대 이동통신 시스템의 무선 프로토콜 구조를 나타낸 도면이다. .
도 3d를 참조하면, 차세대 이동통신 시스템의 무선 프로토콜은 단말과 NR 기지국에서 각각 NR PDCP(3d-05, 3d-40), NR RLC(3d-10, 3d-35), NR MAC(3d-15, 3d-30)으로 이루어진다. NR PDCP (3d-05, 3d-40)의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
헤더 압축 및 압축 해제 기능(Header compression and decompression: ROHC only)
- 사용자 데이터 전송 기능 (Transfer of user data)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs)
- 비순차적 전달 기능 (Out-of-sequence delivery of upper layer PDUs)
- 순서 재정렬 기능(PDCP PDU reordering for reception)
- 중복 탐지 기능(Duplicate detection of lower layer SDUs)
- 재전송 기능(Retransmission of PDCP SDUs)
- 암호화 및 복호화 기능(Ciphering and deciphering)
- 타이머 기반 SDU 삭제 기능(Timer-based SDU discard in uplink.)
상기에서 NR PDCP 장치의 순서 재정렬 기능(reordering)은 하위 계층에서 수신한 PDCP PDU들을 PDCP SN(sequence number)을 기반으로 순서대로 재정렬하는 기능을 말하며, 재정렬된 순서대로 데이터를 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 순서를 고려하지 않고, 바로 전달하는 기능을 포함할 수 있으며, 순서를 재정렬하여 유실된 PDCP PDU들을 기록하는 기능을 포함할 수 있으며, 유실된 PDCP PDU들에 대한 상태 보고를 송신 측에 하는 기능을 포함할 수 있으며, 유실된 PDCP PDU들에 대한 재전송을 요청하는 기능을 포함할 수 있다.
NR RLC(3d-10, 3d-35)의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
- 데이터 전송 기능(Transfer of upper layer PDUs)
- 순차적 전달 기능(In-sequence delivery of upper layer PDUs)
- 비순차적 전달 기능(Out-of-sequence delivery of upper layer PDUs)
- ARQ 기능(Error Correction through ARQ)
- 접합, 분할, 재조립 기능(Concatenation, segmentation and reassembly of RLC SDUs)
- 재분할 기능(Re-segmentation of RLC data PDUs)
- 순서 재정렬 기능(Reordering of RLC data PDUs)
- 중복 탐지 기능(Duplicate detection)
- 오류 탐지 기능(Protocol error detection)
- RLC SDU 삭제 기능(RLC SDU discard)
- RLC 재수립 기능(RLC re-establishment)
상기에서 NR RLC 장치의 순차적 전달 기능(In-sequence delivery)은 하위 계층으로부터 수신한 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 말하며, 원래 하나의 RLC SDU가 여러 개의 RLC SDU들로 분할되어 수신된 경우, 이를 재조립하여 전달하는 기능을 포함할 수 있으며, 수신한 RLC PDU들을 RLC SN(sequence number) 혹은 PDCP SN(sequence number)를 기준으로 재정렬하는 기능을 포함할 수 있으며, 순서를 재정렬하여 유실된 RLC PDU들을 기록하는 기능을 포함할 수 있으며, 유실된 RLC PDU들에 대한 상태 보고를 송신 측에 하는 기능을 포함할 수 있으며, 유실된 RLC PDU들에 대한 재전송을 요청하는 기능을 포함할 수 있으며, 유실된 RLC SDU가 있을 경우, 유실된 RLC SDU 이전까지의 RLC SDU들만을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 유실된 RLC SDU가 있어도 소정의 타이머가 만료되었다면 타이머가 시작되기 전에 수신된 모든 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있으며, 혹은 유실된 RLC SDU가 있어도 소정의 타이머가 만료되었다면 현재까지 수신된 모든 RLC SDU들을 순서대로 상위 계층에 전달하는 기능을 포함할 수 있다. 또한 상기에서 RLC PDU들을 수신하는 순서대로 (일련번호, Sequence number의 순서와 상관없이, 도착하는 순으로) 처리하여 PDCP 장치로 순서와 상관없이(Out-of sequence delivery) 전달할 수도 있으며, segment 인 경우에는 버퍼에 저장되어 있거나 추후에 수신될 segment들을 수신하여 온전한 하나의 RLC PDU로 재구성한 후, 처리하여 PDCP 장치로 전달할 수 있다. 상기 NR RLC 계층은 접합(Concatenation) 기능을 포함하지 않을 수 있고 상기 기능을 NR MAC 계층에서 수행하거나 NR MAC 계층의 다중화(multiplexing) 기능으로 대체할 수 있다.
상기에서 NR RLC 장치의 비순차적 전달 기능(Out-of-sequence delivery)은 하위 계층으로부터 수신한 RLC SDU들을 순서와 상관없이 바로 상위 계층으로 전달하는 기능을 말하며, 원래 하나의 RLC SDU가 여러 개의 RLC SDU들로 분할되어 수신된 경우, 이를 재조립하여 전달하는 기능을 포함할 수 있으며, 수신한 RLC PDU들의 RLC SN 혹은 PDCP SN을 저장하고 순서를 정렬하여 유실된 RLC PDU들을 기록해두는 기능을 포함할 수 있다.
NR MAC(3d-15, 3d-30)은 한 단말에 구성된 여러 NR RLC 계층 장치들과 연결될 수 있으며, NR MAC의 주요 기능은 다음의 기능들 중 일부를 포함할 수 있다.
- 맵핑 기능(Mapping between logical channels and transport channels)
- 다중화 및 역다중화 기능(Multiplexing/demultiplexing of MAC SDUs)
- 스케쥴링 정보 보고 기능(Scheduling information reporting)
- HARQ 기능(Error correction through HARQ)
- 로지컬 채널 간 우선 순위 조절 기능(Priority handling between logical channels of one UE)
- 단말간 우선 순위 조절 기능(Priority handling between UEs by means of dynamic scheduling)
- MBMS 서비스 확인 기능(MBMS service identification)
*- 전송 포맷 선택 기능(Transport format selection)
- 패딩 기능(Padding)
NR PHY 계층(3d-20, 3d-25)은 상위 계층 데이터를 채널 코딩 및 변조하고, OFDM 심벌로 만들어서 무선 채널로 전송하거나, 무선 채널을 통해 수신한 OFDM 심벌을 복조하고 채널 디코딩해서 상위 계층으로 전달하는 동작을 수행할 수 있다.
도 3e는 본 발명의 제 3 실시 예에 따른 단말이 RRC 유휴 모드(RRC idle mode)에서 RRC 연결 모드(RRC connected mode)로 전환하여 네트워크와 연결을 설정하는 절차를 설명한 도면이다.
도 3e에서 기지국은 RRC 연결 모드에서 데이터를 송수신하는 단말이 소정의 이유로 혹은 일정 시간 동안 데이터의 송수신이 없으면 RRCConnectionRelease 메시지를 단말에게 보내어 단말을 RRC 유휴모드로 전환하도록 할 수 있다(3e-01). 추후에 현재 연결이 설정되어 있지 않은 단말 (이하 idle mode UE)은 전송할 데이터가 발생하면 기지국과 RRC connection establishment과정을 수행한다. 단말은 랜덤 액세스 과정을 통해서 기지국과 역방향 전송 동기를 수립하고 RRCConnectionRequest 메시지를 기지국으로 전송한다 (3e-05). 상기 메시지에는 단말의 식별자와 연결을 설정하고자 하는 이유(establishmentCause) 등이 수납된다. 기지국은 단말이 RRC 연결을 설정하도록 RRCConnectionSetup 메시지를 전송한다(3e-10).
상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 RLC AM 혹은 UM 모드를 사용할 때 사용될 RLC 일련번호의 길이, 분할(segmentation) 동작을 수행할 때 적용되는 SO 필드의 길이, RLC UM 모드에서 수신단에서 타이머(reassembly timer)를 사용할 경우, 타이머 값, complete RLC PDU에 대해서 RLC 일련번호를 사용할지 말지를 지시하는 지시자, RLC UM 모드에서 송신단에서 사용할 VT(S) 변수를 설정하는 정보, 초기값, 등의 정보, SI 기반 분할 동작을 수행할지 여부 등를 포함할 수 있다. 또한 상기 메시지에는 RLC AM 모드 RLC 장치에서 사용할 윈도우 변수들의 설정 정보 혹은 초기화 정보(RX_Next, RX_Next_Highest_Rcvd, RX_Next_Status_Trigger, RX_Highest_Status 변수 초기값 및 설정 정보, 예를 들면 초기값 0으로 설정), RLC AM 모드 RLC 장치에서 사용할 t-reordering 타이머 설정 정보(예를 들면 타이머 값, 트리거링 시점 등) 등을 포함할 수 있다(상기 정보들은 rlc-config 에 즉, RLC 설정 정보에 포함될 수 있다).
또한 상기 메시지에는 RRC 연결 구성 정보 등이 수납된다. RRC 연결은 SRB (Signaling Radio Bearer)라고도 하며, 단말과 기지국 사이의 제어 메시지인 RRC 메시지 송수신에 사용된다. RRC 연결을 설정한 단말은 RRCConnetionSetupComplete 메시지를 기지국으로 전송한다 (3e-15). 상기 메시지에는 단말이 소정의 서비스를 위한 베어러 설정을 MME에게 요청하는 SERVICE REQUEST라는 제어 메시지가 포함되어 있다. 기지국은 RRCConnetionSetupComplete 메시지에 수납된 SERVICE REQUEST 메시지를 MME로 전송하고 (3e-20), MME는 단말이 요청한 서비스를 제공할지 여부를 판단한다. 판단 결과 단말이 요청한 서비스를 제공하기로 결정하였다면 MME는 기지국에게 INITIAL CONTEXT SETUP REQUEST라는 메시지를 전송한다(3e-25).
상기 메시지에는 DRB (Data Radio Bearer) 설정 시 적용할 QoS (Quality of Service) 정보, 그리고 DRB에 적용할 보안 관련 정보 (예를 들어 Security Key, Security Algorithm) 등의 정보가 포함된다. 기지국은 단말과 보안을 설정하기 위해서 SecurityModeCommand 메시지(3e-30)와 SecurityModeComplete 메시지(3e-35)를 교환한다. 보안 설정이 완료되면 기지국은 단말에게 RRCConnectionReconfiguration 메시지를 전송한다(3e-40 상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 RLC AM 혹은 UM 모드를 사용할 때 사용될 RLC 일련번호의 길이, 분할(segmentation) 동작을 수행할 때 적용되는 SO 필드의 길이, RLC UM 모드에서 수신단에서 타이머(reassembly timer)를 사용할 경우, 타이머 값, complete RLC PDU에 대해서 RLC 일련번호를 사용할지 말지를 지시하는 지시자, RLC UM 모드에서 송신단에서 사용할 VT(S) 변수를 설정하는 정보, 초기값, 등의 정보, SI 기반 분할 동작을 수행할지 여부 등를 포함할 수 있다. 또한 상기 메시지에는 RLC AM 모드 RLC 장치에서 사용할 윈도우 변수들의 설정 정보 혹은 초기화 정보(RX_Next, RX_Next_Highest_Rcvd, RX_Next_Status_Trigger, RX_Highest_Status 변수 초기값 및 설정 정보, 예를 들면 초기값 0으로 설정), RLC AM 모드 RLC 장치에서 사용할 t-reordering 타이머 설정 정보(예를 들면 타이머 값, 트리거링 시점 등) 등을 포함할 수 있다(상기 정보들은 rlc-config 에 즉, RLC 설정 정보에 포함될 수 있다).
또한 상기 메시지에는 사용자 데이터가 처리될 DRB의 설정 정보가 포함되며, 단말은 상기 정보를 적용해서 DRB를 설정하고 기지국에게 RRCConnectionReconfigurationComplete 메시지를 전송한다(3e-45). 단말과 DRB 설정을 완료한 기지국은 MME에게 INITIAL CONTEXT SETUP COMPLETE 메시지를 전송하고 (3e-50), 이를 수신한 MME는 S-GW와 S1 베어러를 설정하기 위해서 S1 BEARER SETUP 메시지와 S1 BEARER SETUP RESPONSE 메시지를 교환한다(3e-055, 3e-60). S1 베어러는 S-GW와 기지국 사이에 설정되는 데이터 전송용 연결이며 DRB와 1대 1로 대응된다. 상기 과정이 모두 완료되면 단말은 기지국과 S-GW를 통해 데이터를 송수신한다(3e-65, 3e-70). 이처럼 일반적인 데이터 전송 과정은 크게 RRC 연결 설정, 보안 설정, DRB설정의 3단계로 구성된다. 또한 기지국은 소정의 이유로 단말에게 설정을 새로 해주거나 추가하거나 변경하기 위해서 RRCConnectionReconfiguration 메시지를 전송할 수 있다(3e-75).
상기 메시지에는 각 서비스/베어러/각 RLC 장치 혹은 로지컬 채널 별로 RLC AM 혹은 UM 모드를 사용할 때 사용될 RLC 일련번호의 길이, 분할(segmentation) 동작을 수행할 때 적용되는 SO 필드의 길이, RLC UM 모드에서 수신단에서 타이머(reassembly timer)를 사용할 경우, 타이머 값, complete RLC PDU에 대해서 RLC 일련번호를 사용할지 말지를 지시하는 지시자, RLC UM 모드에서 송신단에서 사용할 VT(S) 변수를 설정하는 정보, 초기값, 등의 정보, SI 기반 분할 동작을 수행할지 여부 등를 포함할 수 있다. 또한 상기 메시지에는 RLC AM 모드 RLC 장치에서 사용할 윈도우 변수들의 설정 정보 혹은 초기화 정보(RX_Next, RX_Next_Highest_Rcvd, RX_Next_Status_Trigger, RX_Highest_Status 변수 초기값 및 설정 정보, 예를 들면 초기값 0으로 설정), RLC AM 모드 RLC 장치에서 사용할 t-reordering 타이머 설정 정보(예를 들면 타이머 값, 트리거링 시점 등) 등을 포함할 수 있다(상기 정보들은 rlc-config 에 즉, RLC 설정 정보에 포함될 수 있다).
도 3f는 본 발명의 제 3 실시 예에 따른 RLC 계층 RLC AM 모드에서 제안하는 SO 기반 분할(Segmentation) 동작을 나타낸 도면이다.
차세대 이동 통신 시스템에서는 RLC 계층에서 상위 계층으로부터 수신한 패킷에 대해 SO(segment offset)기반으로 분할(segmentation) 동작을 수행하는 절차 및 방법을 적용할 수 있다. 상기 제안 방법은 처음 전송하는 경우와 재전송하는 경우에 분할 동작을 수행할 때 각각을 구분하지 않고 통합된 분할 동작을 수행하는 것을 특징으로 할 수 있다. 또한 RLC 계층에서 concatenation을 수행하지 않는 것을 특징으로 할 수 있다. 또한 RLC 헤더에 SI 필드를 도입하여 RLC 헤더 뒤에 데이터 부분인 RLC SDU가 분할(segmentation)이 되지 않은 완전한 RLC SDU인지 혹은 분할이 된 맨 앞의 RLC SDU segment인지 혹은 분할이 된 중간의 RLC SDU segment인지 혹은 분할이 된 마지막의 RLC SDU segment인지를 구분할 수 있는 것을 특징으로 할 수 있다. 또한 RLC 헤더에 길이를 지시하는 Length 필드가 없는 것을 특징으로 할 수 있다.
도 3f에서 RLC 계층은 상위 계층인 PDCP 계층으로부터 PDCP PDU(RLC SDU, 3f-05)를 전달받는다. 상기 RLC SDU은 MAC 계층이 지시한 크기로 가공될 수 있으며, 분할된 경우, 헤더의 분할 정보를 포함하여 구성하고 RLC PDU를 구성할 수 있다. 상기 RLC PDU는 RLC 헤더와 RLC payload (RLC SDU)로 구성된다. 상기 RLC 헤더에는 상기 RLC PDU의 성격(데이터 혹은 제어 정보)과 분할 정보를 포함할 수 있으며, D/C 필드, P 필드, SI 필드, SN 필드, SO 필드를 포함할 수 있다. 상기에서 ARQ를 지원하지 않는 RLC UM 모드에서는 P 필드가 없고, 예약 필드로 대치될 수 있다.
표 4를 참조하면, D/C (Data/Control) 필드는 1 비트로, 구성되는 RLC PDU가 control PDU인지 혹은 data PDU인지를 지시하는데 이용된다.
Value Description
0 Control PDU
1 Data PDU
SN (Sequence Number) 필드는 RLC PDU의 일련 번호를 나타내며, 소정의 길이를 가질 수 있다. 예를 들면 12비트 혹은 18비트의 길이를 가질 수 있다. SO (Segment Offset) 필드는 2 바이트의 크기를 가질 수 있으며, RLC SDU segment가 원래 RLC SDU의 어느 위치에서 분할되었는지를 지시하며 분할된 세그먼트의 첫 바이트를 지시하는데 이용된다.
P 필드는 송신단에서 polling을 트리거링하는 조건이 발생하는 경우, P필드를 1로 설정하여 수신단에서 RLC 상태 보고(RLC Status report)를 수행하도록 할 수 있다. 즉, 지금까지 받은 RLC PDU들에 대한 ACK/NACK 정보를 송신단에 전달할 수 있도록 한다.
3f-05의 RLC SDU를 RLC 계층이 수신하면 RLC 계층은 상기 RLC SDU에 바로 RLC SN을 삽입하고 RLC 헤더를 생성하고 RLC PDU를 만들 수 있다. 소정의 이유로 분할(segmentation) 동작이 필요하면 3f-10 혹은 3f-15와 같이 SI필드를 업데이트하고 SO필드를 RLC 헤더에 추가하여 RLC PDU를 각각 생성할 수 있다. 즉, 분할 동작 후에 소정의 조건에 따라서 분할된 segment에 SO필드가 추가될 수도 있고, 추가되지 않을 수도 있다. 상기 소정의 조건은 하기에 설명할 SI 필드에 따라서 결정된다. 상기에서 분할 동작이 필요한 소정의 이유는 MAC 계층에서 할당해준 전송자원의 크기보다 현재 생성해놓은 MAC 서브헤더와 MAC SDU의 크기가 커서 RLC 계층으로 특정 MAC SDU(RLC PDU)에 대해 분할 동작이 요청된 경우일 수 있다. 상기에서 SN (Sequence Number) 필드는 RLC PDU의 일련 번호이며, 혹은 필요하거나 설정된 경우, PDCP SN을 재사용할 수도 있다. SO (Segment Offset) 필드는 소정의 길이를 갖는 필드로 처음 전송시 분할된 RLC PDU 데이터 필드 (RLC SDU)의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇 번째 바이트인지를 나타낼 수 있으며, 재전송시에도 재분할(Re-segmentation)된 RLC PDU 데이터 필드의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇 번째 바이트인지를 나타낼 수 있다. 상기에서 SO 필드의 길이(Length)는 고정된 길이을 가질 수 있으며(예를 들면 2바이트) 혹은 RRC 메시지(예를 들면 RRCConnectionSetup 혹은 RRCConnectionReconfiguration 메시지, 3e-10, 3e-40, 3e-75)에 의해 설정될 수 있다. 상기에서 SI(Segmentation Information) 필드는, 표 5를 참조하면, 다음과 같이 정의될 수 있으며 혹은 다른 이름으로 명명될 수 있다.
Value Description
00 A complete RLC PDU
01 First segment of a RLC PDU
10 Last segment of a RLC PDU
11 Middle segment of a RLC PDU
SI 필드가 00인 경우, segmentation 되지 않은 완전한 RLC PDU를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요 없다. SI 필드가 01인 경우, segmentation 된 맨 앞의 RLC PDU segment를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요 없다. 왜냐하면 첫 번째 segment의 경우 SO 필드가 항상 0을 지시하기 때문이다. SI 필드가 10인 경우, segmentation된 마지막의 RLC PDU segment를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요하다. SI 필드가 11인 경우, segmentation 된 중간의 RLC PDU segment를 나타내며, 이 경우 RLC 헤더에 SO필드가 필요하다. 상기 2비트와 4가지 정보(완전한 RLC PDU, 맨 앞의 segment, 마지막의 segment, 중간의 segment)의 맵핑 관계는 총 4x3x2x1 = 24가지를 가질 수 있고 상기는 그 중 한 가지 예를 나타낸 것이다. 본 발명은 상기 24가지 맵핑의 경우를 모두 포함한다. 만약 상기에서 3f-10와 3f-15의 RLC PDU들이 전송에 실패한 경우, 재전송을 수행할 수 있으며, 이 때 전송 자원이 부족하다면 3f-20, 3f-25, 3f-30과 같이 Re-segmentation 될 수 있다. 상기 Re-segmentation 될 때 새로 생성된 RLC PDU들(3f-20, 3f-25, 3f-30)의 SI 필드와 SO 필드가 업데이트 될 수 있다. 3f-20의 경우, 맨 앞의 segment이므로 SI를 01로 업데이트하고, SO 필드는 필요 없다. 3f-25의 경우, 중간의 segment이므로 SI를 11로 업데이트하고, SO 필드를 RLC PDU 데이터 필드 (RLC SDU)의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇번째 바이트인지를 나타낼 수 있도록 300으로 업데이트 한다. 3f-30의 경우, 마지막 segment이므로 SI를 10로 업데이트하고, SO 필드를 RLC PDU 데이터 필드 (RLC SDU)의 첫 번째 바이트가 원래 RLC PDU 데이터 필드 (RLC SDU)의 몇번째 바이트인지를 나타낼 수 있도록 600으로 업데이트 한다.
도 3g은 본 발명의 제 3 실시 예에 따른 RLC AM 모드의 SO 기반 분할 방법을 적용한 데이터 처리 동작을 나타낸 도면이다.
도 3g에서 IP 패킷이 PDCP 계층에 도착하면 PDCP 헤더를 붙이고, RLC 계층으로 PDCP PDU(혹은 RLC SDU, 3g-05)를 전달할 수 있다. RLC 계층에서는 먼저 RLC 헤더를 생성하고, RLC 일련번호를 할당하고, RLC 헤더를 구성하여 RLC PDU(3g-10)를 완성한 뒤, MAC 계층으로 전달할 수 있다. 상기 MAC 계층에서는 상기 MAC SDU(혹은 RLC PDU)의 크기를 계산하여 L 필드를 구성하고, 그에 상응하는 로지컬 채널 식별자 등을 설정하고 MAC 서브헤더(3g-15)를 구성하여 버퍼(3g-20)에 저장해둘 수 있다. 따라서 이런 방식으로 PDCP 계층에 수신된 데이터 패킷들을 기지국으로부터 전송 자원(UL grant)을 수신하기 전에 데이터 선처리(pre-processing)을 수행하여 버퍼에 저장해둘 수 있으며, 혹은 전송 자원을 수신한 후에 바로 데이터 처리(on-the-fly processing)를 수행할 수도 있다. 만약 기지국으로부터 상향 링크 전송 자원(UL grant 1, 3g-25)을 수신하였는데 상향 링크 전송 자원이 부족하여 분할동작을 수행해야 한다면 3g-30과 같이 분할 동작을 수행한 뒤, 각 segment들의 RLC 헤더에 SI 필드를 segment에 맞게 설정한 뒤, segment들의 RLC 헤더를 새롭게 구성할 수 있다(3g-30, 3g35). 그리고 상기 도 3f 에서 설명한 바와 같이 첫 번째 segment가 아닌 중간 segment나 마지막 segment는 SO 필드를 추가하고 그 오프셋을 지시해야 하므로 3g-35와 같이 RLC 헤더에 SO 필드를 추가할 수 있다. 그리고 상향 링크 전송 자원에 맞게 구성된 MAC PDU를 전송할 수 있다. 만약 두 번째 상향 링크 전송 자원(UL grant 2, 3g-45)을 수신하였는데 또 다시 전송 자원의 크기가 부족해서 다시 한번 분할동작이 필요하면 3g-40과 3g-50과 같이 새로 분할된 segment들에 맞게 SI 필드를 갱신하고 SO 필드를 갱신하고 혹은 추가하고 RLC 헤더를 각각 구성한다. 그리고 상향 링크 전송 자원(UL grant 2)에 맞게 MAC PDU를 구성하여 전송한다.
상기에서 SO 기반 분할 방법은 분할 동작이 수행되어도 분할된 segment들이 원래 RLC PDU의 RLC 일련번호가 동일한 특징을 갖는다. 따라서 하나의 RLC PDU에서 분할된 segment들은 원래 RLC PDU의 RLC 일련번호와 동일하다(3g-30, 3g-35, 3g-40, 3g-40, 3g-50).
RLC 계층은 RLC AM(Acknowledged Mode) 모드와 RLC UM(Unacknowledged Mode) 모드와 RLC TM(Transparent Mode) 모드에서 동작할 수 있다. RLC AM 모드에서 RLC 계층은 ARQ 기능을 지원하며, 송신단은 수신단으로부터 RLC 상태 보고(RLC Status Report)를 수신할 수 있고, 상기 상태 보고를 통해 유실된(NACK을 받은) RLC PDU들에 대해서 재전송을 수행할 수 있다. 상기 재전송을 수행할 경우, 상향 링크 전송 자원이 충분하지 않으면 재분할(Re-segmentation) 동작을 수행할 수 도 있다. 따라서 에러가 없는 신뢰성 있는 데이터의 전송을 보장하며, 높은 신뢰성이 요구되는 서비스에 적합하다. 상기에서 ARQ 기능을 효율적으로 지원하기 위해서는 유실된 RLC PDU들에 대한 정확한 정보가 필요하다. 따라서 SO 필드가 매우 유용하게 사용될 수 있다. 즉, 어떤 RLC PDU가 유실되었으며, 상기 RLC PDU의 어떤 부분이 유실되었는지를 SO 필드로 더 구체적으로 RLC 상태 보고(RLC Status Report)에서 지시해줄 수 가 있다. 상기 SO 필드로 유실된 RLC PDU의 구체적 정보를 송신단이 수신하면 그에 맞게 SO 기반 분할동작을 수행하여 재전송을 수행할 수 있다.
본 발명에서는 RLC AM 모드의 수신 RLC 장치(receiving RLC entity)가 효율적으로 유실된 패킷(RLC PDU)을 탐지하고 이를 송신단에 보고하는 수신단 윈도우 동작 및 타이머 동작을 제안한다.
먼저 본 발명에서 제안하는 수신 RLC 장치의 윈도우 및 타이머 동작을 설명하기 위해서 다음과 같이 4개의 윈도우 변수들을 정의하고 사용할 수 있다(The receiving side of each AM RLC entity shall maintain the following state variables:).
1) RX_Next- 수신 상태 변수(Receive state variable)
- 이 변수는 완전히 수신된 RLC SDU들 중에서 상위계층으로 순서대로 전달된 마지막 RLC 일련번호의 다음 일련번호를 지시한다. 본 발명의 RLC AM 수신 윈도우 동작에서 윈도우의 하위 가장자리로 동작한다(윈도우의 상위 가장자리는 RX_Next + Window_size 로 동작한다). 처음 설정시 0으로 초기화되며, 수신 RLC 장치가 RX_Next와 같은 RLC 일련번호를 갖는 RLC SDU를 완전히 수신할 때마다 RX_Next 변수는 RX_Next+1으로 갱신된다. (This state variable holds the value of the SN following the last in-sequence completely received RLC SDU, and it serves as the lower edge of the receiving window. It is initially set to 0, and is updated whenever the AM RLC entity receives an RLC SDU with SN = RX_Next).
2) RX_Next_Status_Trigger - t-Reordering 타이머 상태 변수(t-Reordering state variable)
- 이 변수는 t-Reordering 타이머를 트리거링한 RLC 일련번호의 다음 일련번호를 지시한다. 상기 t-Reordering 타이머는 유실된 패킷이 탐지되었을 때 트리거링되며, t-Reordering 타이머 값은 유실된 패킷을 얼마만큼의 시간 동안 기다릴지를 나타낸다. 상기 타이머 값이 만료했는데도 유실된 패킷이 도착하지 않으면, 관련 윈도우 변수들을 갱신하고, RLC 상태 보고(RLC status report)를 구성해서 송신단에게 보내어 재전송을 요청한다. 상기 타이머 값은 상기 도 3e의 3e-10, 3e-40, 3e-75와 같은 RRC 메시지로 설정될 수 있다. (This state variable holds the value of the SN following the SN of the RLC SDU which triggered t-Reordering.)
3) RX_Highest_Status - 최대 전송 상태 변수(Maximum STATUS transmit state variable)
- 이 변수는 RLC 상태 보고(RLC STATUS PDU)를 구성할 때 ACK_SN으로 지시될 수 있는 가장 높은 RLC 일련번호 값을 나타낸다. 초기값은 0으로 설정될 수 있다(This state variable holds the highest possible value of the SN which can be indicated by "ACK_SN" when a STATUS PDU needs to be constructed. It is initially set to 0).
4) RX_Next_Highest_Rcvd - 수신된 가장 높은 RLC 일련번호 상태 변수(Highest received state variable)
- 이 변수는 수신된 RLC SDU들이 가지는 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 일련번호 값을 지시한다. 초기값은 0으로 설정된다 (This state variable holds the value of the SN following the SN of the RLC SDU with the highest SN among received RLC SDUs. It is initially set to 0).
도 3h는 본 발명의 제 3-1 실시 예를 나타낸 도면으로 RLC 일련번호 기반으로 유실된 패킷을 탐지하는 방법을 나타낸 도면이다.
도 3h에서 수신 RLC 장치는 RLC PDU를 수신할 때마다 상기에서 정의한 윈도우 상태 변수들을 갱신하고 운용한다. 도 3h에서 예제 1(3h-10)를 먼저 설명하면 다음과 같다. 수신 RLC 장치는 RLC 일련번호 n-1을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n의 값으로 업데이트 된다(3h-11).
본 발명에서 제안하는 제 3-1 의 실시 예인 RLC 일련번호 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 클 때 유실된 패킷이 존재한다고 판단하고 t-reordering 타이머를 트리거링한다.
그 다음으로 수신 RLC 장치는 RLC 일련번호 n을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n+1의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+1의 값으로 업데이트 된다(3h-12).
그 다음으로 수신 RLC 장치는 RLC 일련번호 n+2을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n+1의 값을 그대로 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+3의 값으로 업데이트 된다(3h-14)
*따라서 상기에서 설명한 바와 같이 제 3-1 실시 예 RLC 일련번호 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 클 때 유실된 패킷이 존재한다고 판단하기 때문에 RLC 일련번호 n+1을 갖는 RLC SDU가 유실되었다고 판단하고(3h-13), t-reordering 타이머를 트리거링한다(3h-15). 그리고 t-reordering 타이머를 트리거링한 시점을 나타내는 RX_Next_Status_Trigger을 RX_Next_Highest_Rcvd로 업데이트 한다. 즉, n+3의 RLC 일련번호를 수신하였던 시점에 t-reordering 타이머를 트리거링 했었다는 것을 지시할 수 있다. 상기에서 타이머가 만료하면 n+3 미만의 RLC 일련번호를 갖는 RLC PDU들에 대해서 성공적인 수신 여부를 판단하여 RLC 상태 보고(RLC STATUS PDU)를 구성하여 송신단에 전송하고, 송신단이 필요하면 재전송을 수행할 수 있도록 한다.
도 3h에서 예제 2(3h-20)를 설명하면 다음과 같다. 수신 RLC 장치는 RLC 일련번호 n-1을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n의 값으로 업데이트 된다(3h-21).
본 발명에서 제안하는 제 3-1 의 실시 예인 RLC 일련번호 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 클 때 유실된 패킷이 존재한다고 판단하고 t-reordering 타이머를 트리거링한다.
그 다음으로 수신 RLC 장치는 RLC 일련번호 n을 갖는 RLC SDU segment와 RLC 일련번호 n+1을 갖는 RLC SDU 혹은 RLC SDU segment를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 그대로 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+2의 값으로 업데이트 된다(3h-23).
따라서 상기에서 설명한 바와 같이 제 3-1 실시 예 RLC 일련번호 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 클 때 유실된 패킷이 존재한다고 판단하기 때문에 RLC 일련번호 n을 갖는 RLC SDU segment가 유실되었다고 판단하고(3h-22), t-reordering 타이머를 트리거링한다(3h-24). 그리고 t-reordering 타이머를 트리거링한 시점을 나타내는 RX_Next_Status_Trigger을 RX_Next_Highest_Rcvd로 업데이트 한다. 즉, n+2의 RLC 일련번호를 수신하였던 시점에 t-reordering 타이머를 트리거링 했었다는 것을 지시할 수 있다. 상기에서 타이머가 만료하면 n+2 미만의 RLC 일련번호를 갖는 RLC PDU들에 대해서 성공적인 수신 여부를 판단하여 RLC 상태 보고(RLC STATUS PDU)를 구성하여 송신단에 전송하고, 송신단이 필요하면 재전송을 수행할 수 있도록 한다.
도 3h에서 예제 3(3h-30)를 설명하면 다음과 같다. 수신 RLC 장치는 RLC 일련번호 n-1을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n의 값으로 업데이트 된다(3h-31).
본 발명에서 제안하는 제 3-1의 실시 예인 RLC 일련번호 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 클 때 유실된 패킷이 존재한다고 판단하고 t-reordering 타이머를 트리거링한다.
그 다음으로 수신 RLC 장치는 RLC 일련번호 n을 갖는 RLC SDU segment를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 그대로 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+1의 값으로 업데이트 된다(3h-32).
따라서 상기에서 설명한 바와 같이 제 3-1 실시 예 RLC 일련번호 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 클 때 유실된 패킷이 존재한다고 판단하기 때문에 RLC 일련번호 n+1을 갖는 RLC SDU가 유실되었다고 판단하고(3h-33), t-reordering 타이머를 트리거링한다(3h-34). 그리고 t-reordering 타이머를 트리거링한 시점을 나타내는 RX_Next_Status_Trigger을 RX_Next_Highest_Rcvd로 업데이트 한다. 즉, n+1의 RLC 일련번호를 수신하였던 시점에 t-reordering 타이머를 트리거링 했었다는 것을 지시할 수 있다. 상기에서 타이머가 만료하면 n+1 미만의 RLC 일련번호를 갖는 RLC PDU들에 대해서 성공적인 수신 여부를 판단하여 RLC 상태 보고(RLC STATUS PDU)를 구성하여 송신단에 전송하고, 송신단이 필요하면 재전송을 수행할 수 있도록 한다.
하지만 예제 3(3h-30)에서 3h-33은 유실된 RLC SDU segment가 아닐 수 있다. 즉, 3h-33의 RLC SDU segment 는 송신단에서 아직 전송조차 되지 않았을 수 있다. 그런데 t-reordering 타이머를 트리거링하면 수신단에서 송신단으로 너무 일찍 재전송을 요청할 수도 있다. 왜냐하면 t-reordering 타이머 값은 송신단에서 해당 패킷이 전송되었다는 가정하에 얼마나 기다릴 것이냐를 고려해 설정한 값인데 만약 송신단에서 전송되지도 않았는데 t-reordering 타이머를 트리거링하는 것은 재전송을 너무 일찍 요청하여 불필요한 전송 낭비와 불필요한 재전송을 요청하게 할 수 있다.
상기와 같이 RLC 일련번호 기반 유실된 패킷 탐지 방법은 segment의 유실을 탐지하기에 적합하지 않다. 따라서 본 발명에서는 차세대 이동 통신 시스템의 수신 RLC 장치가 RLC AM 모드에서 효율적으로 유실된 패킷을 탐지하는 제 3-2의 실시 예를 제안한다.
도 3i는 본 발명에서 제안하는 제 3-2의 실시 예를 나타낸 도면으로 RLC 일련번호와 오프셋(segment offset) 그리고 SI 필드 기반으로 유실된 패킷을 탐지하는 방법을 나타낸 도면이다.
본 발명에서 제안하는 제 3-2의 실시 예인 RLC 일련번호와 오프셋(segment offset) 그리고 SI 필드 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 크고 오프셋(segment offset)과 SI 필드 패킷 유실을 판단하여 유실된 패킷이 존재하면 t-reordering 타이머를 트리거링한다. 상기에서 오프셋과 SI필드로 패킷 유실을 판단하는 것은 도 3f의 SO 필드와 SI필드를 기반으로 유실된 패킷을 확인한다는 의미이다. 즉, 3f-05에 대한 RLC SDU에 대해서 수신 RLC 장치는 분할된 3f-20과 3f-25와 3f-30의 분할된 segment들을 수신할 수 있다. 상기 3개의 segment들은 모두 같은 RLC 일련번호를 갖고 있으므로, 추가적인 유실 패킷 탐지 방법이 필요하다. 따라서 제 3-2 의 실시 예에서는 SO 필드 (Segment Offset field)와 SI 필드를 이용하여 같은 RLC 일련번호를 갖는 segment들 사이에서 유실된 segment를 더 상세히 판단한다. 즉, 3f-20은 수신되지 않고, 3f-25만 수신된 경우, SI필드가 중간 segment임을 나타내고, SO 필드가 300부터 시작하므로 그 이전에 해당하는 segment가 유실되었다는 것을 판단할 수 있다. 만약 3f-20과 3f-30을 수신한 경우, SI필드를 통해서 첫번째 segment와 마지막 segment가 수신되었다는 것을 판단할 수 있으며, SO 필드를 확인하면 600부터 마지막까지만 수신되었으므로 중간에 segment가 유실되었다는 것을 판단할 수 있다. 상기와 같은 방법으로 RLC SDU(3f-05)가 4개의 segment로 분할된 경우에도 SI필드와 SO필드를 기반으로 유실을 판단할 수 있다. 주의할 점은 3f-20만 수신된 경우, 혹은 3f-20 과 3f-25 만 수신된 경우, 상기 RLC SDU의 뒷부분이 유실되었다고 판단하지 않는다. 왜냐하면 상기 RLC SDU의 나머지 부분이 송신단에서 전송조차 되지 않았을 수 있기 때문이다. 상기 유실 탐지 방법을 특징으로 하는 것이 제 3-2 의 실시 예에서 제안하는 RLC 일련번호와 오프셋 그리고 SI 필드 기반 유실 패킷 탐지 방법이다.
도 3i에서 수신 RLC 장치는 RLC PDU를 수신할 때마다 상기에서 정의한 윈도우 상태 변수들을 갱신하고 운용한다. 도 3i에서 예제 1(3i-10)를 먼저 설명하면 다음과 같다. 수신 RLC 장치는 RLC 일련번호 n-1을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n의 값으로 업데이트 된다(3i-11).
그 다음으로 수신 RLC 장치는 RLC 일련번호 n을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n+1의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+1의 값으로 업데이트 된다(3i-12).
그 다음으로 수신 RLC 장치는 RLC 일련번호 n+2을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n+1의 값을 그대로 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+3의 값으로 업데이트 된다(3i-14)
*따라서 상기에서 설명한 바와 같이 제 3-2 실시 예 RLC 일련번호와 SO필드 그리고 SI 필드 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 크고 유실된 패킷을 확인할 수 있으며, RLC 일련번호 n+1을 갖는 RLC SDU가 유실되었다고 판단하고(3i-13), t-reordering 타이머를 트리거링한다(3i-15). 그리고 t-reordering 타이머를 트리거링한 시점을 나타내는 RX_Next_Status_Trigger을 RX_Next_Highest_Rcvd로 업데이트 한다. 즉, n+3의 RLC 일련번호를 수신하였던 시점에 t-reordering 타이머를 트리거링 했었다는 것을 지시할 수 있다. 상기에서 타이머가 만료하면 n+3 미만의 RLC 일련번호를 갖는 RLC PDU들에 대해서 성공적인 수신 여부를 판단하여 RLC 상태 보고(RLC STATUS PDU)를 구성하여 송신단에 전송하고, 송신단이 필요하면 재전송을 수행할 수 있도록 한다.
도 3i에서 예제 2(3i-20)를 설명하면 다음과 같다. 수신 RLC 장치는 RLC 일련번호 n-1을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n의 값으로 업데이트 된다(3i-21).
그 다음으로 수신 RLC 장치는 RLC 일련번호 n을 갖는 RLC SDU segment와 RLC 일련번호 n+1을 갖는 RLC SDU 혹은 RLC SDU segment를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 그대로 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+2의 값으로 업데이트 된다(3i-23).
따라서 상기에서 설명한 바와 같이 제 3-2 실시 예 RLC 일련번호, SO필드, 그리고 SI 필드 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 크고 유실된 패킷이 탐지되었을 때 타이머를 트리거링한다. 따라서 SO필드와 SI 필드를 확인하여 RLC 일련번호 n을 갖는 RLC SDU segment가 유실되었다고 판단하고(3i-22), t-reordering 타이머를 트리거링한다(3i-24). 그리고 t-reordering 타이머를 트리거링한 시점을 나타내는 RX_Next_Status_Trigger을 RX_Next_Highest_Rcvd로 업데이트 한다. 즉, n+2의 RLC 일련번호를 수신하였던 시점에 t-reordering 타이머를 트리거링 했었다는 것을 지시할 수 있다. 상기에서 타이머가 만료하면 n+2 미만의 RLC 일련번호를 갖는 RLC PDU들에 대해서 성공적인 수신 여부를 판단하여 RLC 상태 보고(RLC STATUS PDU)를 구성하여 송신단에 전송하고, 송신단이 필요하면 재전송을 수행할 수 있도록 한다.
도 3i에서 예제 3(3i-30)를 설명하면 다음과 같다. 수신 RLC 장치는 RLC 일련번호 n-1을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 X_Next_Highest_Rcvd = n의 값으로 업데이트 된다(3i-31).
그 다음으로 수신 RLC 장치는 RLC 일련번호 n을 갖는 RLC SDU segment를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 그대로 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+1의 값으로 업데이트 된다(3i-32).
상기에서 설명한 바와 같이 제 2 실시 예 RLC 일련번호, SO 필드, 그리고 SI 필드 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 크고, 유실된 패킷이 탐지될 때 타이머를 트리거링한다. 그런데 상기에서 설명한 바와 같이 SO필드와 SI필드를 확인하면 RLC 일련번호 n을 갖는 RLC SDU의 뒷부분이 없고, 앞부분만 있기 때문에 제안한 제 3-2 실시 예 방법은 이를 유실된 패킷으로 판단하지 않는다. 왜냐하면 송신단에서 상기 RLC 일련번호 n을 갖는 RLC SDU의 뒷부분이 전송 조차되지 않았을 수 있기 때문이다.
도 3i에서 예제 4(3i-40)를 설명하면 다음과 같다. 수신 RLC 장치는 RLC 일련번호 n-1을 갖는 RLC SDU를 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n의 값으로 업데이트 된다(3i-31).
그 다음으로 수신 RLC 장치는 RLC 일련번호 n을 갖는 RLC SDU segment 1과 RLC SDU segment 3을 수신할 수 있다. 그러면 RX_Next는 순차적으로 완전히 수신한 마지막 RLC SDU의 다음 RLC 일련번호로 업데이트되기 때문에 그대로 RX_Next = n의 값을 갖게 되며, RX_Next_Highest_Rcvd는 현재까지 수신한 RLC 일련번호들 중에서 가장 높은 RLC 일련번호의 다음 번호이기 때문에 RX_Next_Highest_Rcvd = n+1의 값으로 업데이트 된다(3i-42).
상기에서 설명한 바와 같이 제 3-2 실시 예 RLC 일련번호, SO 필드, 그리고 SI 필드 기반 유실 패킷 탐지 방법은 RX_Next_Highest_Rcvd 변수 값이 RX_Next 보다 크고, 유실된 패킷이 탐지될 때 타이머를 트리거링한다. 따라서 상기에서 설명한 바와 같이 SO필드와 SI필드를 확인하면 RLC 일련번호 n을 갖는 RLC SDU의 앞부분과 뒷부분만 있고, 중간 부분만 없기 때문에 제안한 제 2실시 예 방법은 이를 유실된 패킷으로 판단한다. 따라서 SO필드와 SI 필드를 확인하여 RLC 일련번호 n을 갖는 중간 RLC SDU segment가 유실되었다고 판단하고(3i-43), t-reordering 타이머를 트리거링한다(3i-44). 그리고 t-reordering 타이머를 트리거링한 시점을 나타내는 RX_Next_Status_Trigger을 RX_Next_Highest_Rcvd로 업데이트 한다. 즉, n+1의 RLC 일련번호를 수신하였던 시점에 t-reordering 타이머를 트리거링 했었다는 것을 지시할 수 있다. 상기에서 타이머가 만료하면 n+1 미만의 RLC 일련번호를 갖는 RLC PDU들에 대해서 성공적인 수신 여부를 판단하여 RLC 상태 보고(RLC STATUS PDU)를 구성하여 송신단에 전송하고, 송신단이 필요하면 재전송을 수행할 수 있도록 한다.
본 발명에서 제안하는 제 3-2 실시 예에 해당하는 RLC 일련번호, SO 필드, 그리고 SI 필드 기반 유실 탐지 방법을 적용한 RLC AM 모드에서 수신 RLC 장치 동작은 다음과 같이 나타낼 수 있다.
[RLC AM 모드에서 수신 RLC 장치 동작]
상기 도 3e의 3e-10, 3e-40, 3e-75와 같은 RRC 메시지로 RLC AM 베어러 설정 제어 메시지를 수신하면, 수신 RLC 장치는 상기 정의한 4개의 변수들을 설정하고, 초기화한다. 예를 들면 모든 변수들을 0의 값으로 설정한다. 또한 상기 메시지에 포함된 t-Reordering 타이머 값으로 타이머 값과 설정을 구성한다.
1) RLC AM 모드에서 수신 RLC 장치의 수신 동작 (Receive operations)
전체 동작 개요(General)
수신 RLC 장치는 RX_Next 윈도우 상태 변수 기반으로 수신 윈도우를 유지한다. 즉, RX_Next <= SN < RX_Next + AM_Window_Size로 수신 윈도우를 구동하고, 상기 구간에 있는 RLC 일련번호(RLC SN 혹은 SN)는 윈도우 내에 있는 것으로 판단하고, 그 밖의 RLC 일련번호에 대해서는 윈도우 밖에 있는 것으로 판단한다.
하위 계층으로부터 AMD PDU(RLC PDU)를 수신하면 수신 RLC 장치는 윈도우 밖에 있거나 중복된 경우, 버리고, 완전한 RLC PDU(분할되지 않은)의 경우 바로 상위 계층으로 전달하고, segment의 경우, 버퍼에 저장할 수 있다. 만약 버퍼에 저장되어 있는 다른 segment들이 있다면 윈도우 변수들을 갱신하고 재조립(reassemble)을 수행하고, 윈도우 상태 변수들에 따라서 t-Reordering 타이머를 트리거링하거나 멈추고 리셋한다. t-Reordering 타이머가 만료한 경우에는 수신 RLC 장치는 윈도우 상태 변수들을 갱신하고, 필요하면 t-Reordering 타이머를 재시작할 수 있다.
The receiving side of an AM RLC entity shall maintain a receiving window according to the state variable RX_Next as follows:
- a SN falls within the receiving window if RX_Next <= SN < RX_Next + AM_Window_Size;
- a SN falls outside of the receiving window otherwise.
When receiving an AMD PDU from lower layer, the receiving side of an AM RLC entity shall:
- either discard the received AMD PDU or place it in the reception buffer;
- if the received AMD PDU was placed in the reception buffer:
- update state variables, reassemble and deliver RLC SDUs to upper layer and start/stop t-Reordering as needed.
When t-Reordering expires, the receiving side of an AM RLC entity shall:
- update state variables and start t-Reordering as needed.
2) 하위 계층으로부터 AMD PDU를 수신하였을 때 수신 RLC 장치 동작 (Actions when an AMD PDU is received from lower layer)
하위 계층으로부터 일련번호 x를 갖고, 일련번호 x를 갖는 RLC SDU의 y바이트부터 z바이트 까지를 나타내는 정보를 포함한AMD PDU를 수신하였을 때, 수신 RLC 장치는 다음의 동작을 수행한다.
만약 일련번호 x가 윈도우 밖에 있거나 수신한 일련번호 x의 RLC SDU에 해당하는 y바이트부터 z바이트까지의 데이터가 이전에 수신된 적이 있다면 그 수신한 AMD PDU를 버린다. 그렇지 않으면 수신한 AMD PDU를 버퍼에 저장한다. 만약 수신한 일련번호 x의 RLC SDU에 해당하는 y바이트부터 z바이트까지의 데이터 중에 일부만 이전에 수신된 적이 있다면 중복된 부분만 버린다.
When an AMD PDU is received from lower layer, where the AMD PDU contains byte segment numbers y to z of a RLC SDU with SN = x, the receiving side of an AM RLC entity shall:
- if x falls outside of the receiving window; or
- if byte segment numbers y to z of the RLC SDU with SN = x have been received before:
- discard the received AMD PDU;
- else:
- place the received AMD PDU in the reception buffer;
- if some byte segments of the RLC SDU contained in the AMD PDU have been received before:
- discard the duplicate byte segments.
AMD PDU가 버퍼에 저장될 때 수신 RLC 장치의 동작
(Actions when an AMD PDU is placed in the reception buffer)
일련번호 x를 갖는 AMD PDU가 버퍼에 저장될 때, 수신 RLC 장치는 다음과 같이 동작한다.
- 만약 일련번호 x가 RX_Next_Highest_Rcvd 보다 크거나 같다면
■ RX_Next_Highest_Rcvd를 x+1로 업데이트한다.
- 만약 일련번호 x를 갖는 RLC SDU가 모두 수신되었다면,
■ 일련번호 x를 갖는 AMD PDU들에 대해서 재조립을 수행하고, RLC 헤더를 제거하고, 재조립된 RLC SDU를 상위 계층으로 전달한다.
- 만약 일련번호 x가 RX_Highest_Status와 같다면
■ RX_Highest_Status 변수를 현재 RX_Highest_Status 값보다 크면서 모든 바이트들이 수신되지 않은 첫 번째 RLC SDU의 일련번호로 RX_Highest_Status 값을 업데이트한다.
- 만약 일련번호 x가 RX_Next와 같다면
■ RX_Next 변수를 현재 RX_Next 값보다 크면서 모든 바이트들이 수신되지 않은 첫 번?? RLC SDU의 일련번호로 업데이트한다.
■ 만약 t-Reordering 타이머가 구동되고 있다면
■ 만약 RX_Next_Status_Trigger와 RX_Next가 같거나 혹은 만약 RX_Next_Status_Trigger 값이 윈도우 밖에 있고, RX_Next_Status_Trigger가 RX_Next + AM_Window_Size와 같지 않은 경우에
◆ t-Reordering 타이머를 중지하고 리셋한다.
When an AMD PDU with SN = x is placed in the reception buffer, the receiving side of an AM RLC entity shall:
- if x >= RX_Next_Highest_Rcvd
- update RX_Next_Highest_Rcvd to x+ 1;
- if all bytes of the RLC SDU with SN = x are received:
- reassemble the RLC SDU from AMD PDU(s) with SN = x, remove RLC headers when doing so and deliver the reassembled RLC SDU to upper layer;
- if x = RX_Highest_Status,
- update RX_Highest_Status to the SN of the first RLC SDU with SN > current RX_Highest_Status for which not all bytes have been received;
- if x = RX_Next:
- update RX_Next to the SN of the first RLC SDU with SN > current RX_Next for which not all bytes have been received;
- if t-Reordering is running:
- if RX_Next_Status_Trigger = RX_Next; or
- if RX_Next_Status_Trigger falls outside of the receiving window and RX_Next_Status_Trigger is not equal to RX_Next + AM_Window_Size:
- stop and reset t-Reordering;
만약 상기에서 t-Reordering 타이머가 구동되고 있지 않다면 하기에서 제시한 제 3-2a실시 예 혹은 제 3-2b실시 예 혹은 제 3-2c실시 예 혹은 제 3-2d 실시 예 혹은 제 3-2e실시 예 중에 한 가지 실시 예에 따라서 수신 RLC 장치가 동작할 수 있다.
<제 3-2a 실시 예>
- 만약 t-Reordering 타이머가 구동되어 있지 않다면(상기 절차에서 t-Reordering 타이머가 멈춘 경우를 포함)
■ 만약 RX_Next_Highest_Rcvd가 RX_Next보다 크고, 어떤 RLC SDU의 유실된 부분이 탐지된다면(RLC 일련번호 혹은 SO 필드 혹은 SI 필드에 의해서 탐지 가능)
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
- if t-Reordering is not running (includes the case t-Reordering is stopped due to actions above):
- if RX_Next_Highest_Rcvd > RX_Next and if a missing part of a RLC SDU is detected (a gap is created by RLC SN, SO field, and SI field):
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
상기에서 and if a missing part of a RLC SDU is detected (a gap is created by RLC SN, SO field, and SI field):
부분은 and if at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_Next(or RX_Next_Highest_Rcvd-1)로 표현될 수도 있다.
<제 3-2b 실시 예>
- 만약 t-Reordering 타이머가 구동되어 있지 않다면(상기 절차에서 t-Reordering 타이머가 멈춘 경우를 포함)
■ 만약 RX_Next_Highest_Rcvd가 RX_Next+1과 같고, 마지막 RLC SDU segment를 제외하고, 적어도 하나의 유실된 RLC SDU segment가 RX_Next혹은 RX_Next_Highest_Rcvd-1 에 대해서 존재하면
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
■ 만약 RX_Next_Highest_Rcvd가 RX_Next+1보다 크다면,
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
- if t-Reordering is not running (includes the case t-Reordering is stopped due to actions above):
- if RX_Next_Highest_Rcvd = RX_Next+1 and if at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_Next(or RX_Next_Highest_Rcvd-1) :
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
- if RX_Next_Highest_Rcvd > RX_Next+1:
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
<제 3-2c 실시 예>
- 만약 t-Reordering 타이머가 구동되어 있지 않다면(상기 절차에서 t-Reordering 타이머가 멈춘 경우를 포함)
■ 만약 RX_Next_Highest_Rcvd가 RX_Next+1과 같고, 어떤 RLC SDU의 마지막 부분을 제외하고, 적어도 하나의 유실된 부분이 RX_Next혹은 RX_Next_Highest_Rcvd-1 에 대해서 존재하면
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
■ 만약 RX_Next_Highest_Rcvd가 RX_Next+1보다 크다면,
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
- if t-Reordering is not running (includes the case t-Reordering is stopped due to actions above):
- if RX_Next_Highest_Rcvd = RX_Next+1 and if at least one missing part of a RLC SDU with RX_Next (or RX_Next_Highest_Rcvd-1) except the last part of that RLC SDU exists:
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
- if RX_Next_Highest_Rcvd > RX_Next+1:
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
<제 3-2d실시 예>
- 만약 t-Reordering 타이머가 구동되어 있지 않다면(상기 절차에서 t-Reordering 타이머가 멈춘 경우를 포함)
■ 만약 RX_Next_Highest_Rcvd-1이 RX_Next와 같고, 마지막 RLC SDU segment를 제외하고, 적어도 하나의 유실된 RLC SDU segment가 RX_Next 혹은 RX_Next_Highest_Rcvd-1 에 대해서 존재하면
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
■ 만약 RX_Next_Highest_Rcvd-1 이 RX_Next보다 크다면,
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
- if t-Reordering is not running (includes the case t-Reordering is stopped due to actions above):
- if RX_Next_Highest_Rcvd -1= RX_Next and if at least one missing RLC SDU segment except the last RLC SDU segment exists for RX_Next(or RX_Next_Highest_Rcvd-1) :
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
- if RX_Next_Highest_Rcvd-1 > RX_Next:
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
<제 3-2e실시 예>
- 만약 t-Reordering 타이머가 구동되어 있지 않다면(상기 절차에서 t-Reordering 타이머가 멈춘 경우를 포함)
■ 만약 RX_Next_Highest_Rcvd-1이 RX_Next과 같고, 어떤 RLC SDU의 마지막 부분을 제외하고, 적어도 하나의 유실된 부분이 RX_Next혹은 RX_Next_Highest_Rcvd-1 에 대해서 존재하면
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
■ 만약 RX_Next_Highest_Rcvd-1이 RX_Next보다 크다면,
◆ t-Reordering 타이머를 구동하고, RX_Next_Status_Trigger 값을 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
- if t-Reordering is not running (includes the case t-Reordering is stopped due to actions above):
- if RX_Next_Highest_Rcvd-1 = RX_Next and if at least one missing part of a RLC SDU with RX_Next (or RX_Next_Highest_Rcvd-1) except the last part of that RLC SDU exists:
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
- if RX_Next_Highest_Rcvd-1 > RX_Next:
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
t-Reordering 타이머가 만료했을 때 수신 RLC 장치의 동작(Actions when t-Reordering expires)
- t-Reordering 타이머가 만료했을 때, 수신 RLC 장치는 다음과 같이 동작한다.
■ RX_Highest_Status 변수를 RX_Next_Status_Trigger 보다 크거나 같으면서 모든 바이트들이 수신되지 않은 첫 번째 RLC SDU로 업데이트한다.
■ 만약 RX_Next_Highest_Rcvd 가 RX_Highest_Status보다 크다면,
◆ t-Reordering 타이머를 시작하고,
◆ RX_Next_Status_Trigger변수를 RX_Next_Highest_Rcvd 값으로 업데이트 한다.
When t-Reordering expires, the receiving side of an AM RLC entity shall:
- update RX_Highest_Status to the SN of the first RLC SDU with SN >= RX_Next_Status_Trigger for which not all bytes have been received;
- if RX_Next_Highest_Rcvd > RX_Highest_Status:
- start t-Reordering;
- set RX_Next_Status_Trigger to RX_Next_Highest_Rcvd.
도 3j는 본 발명의 제 3-2 실시 예를 적용한 RLC AM 모드에서 수신 RLC 장치에서 t-Reordering 타이머를 구동하는 동작을 나타낸다.
도 3j에서 수신 RLC 장치는 AMD PDU를 수신하고, 이를 버퍼에 저장하려고 할 때, t-Reordering 타이머의 구동 여부를 확인한다(3j-05). 만약 t-Reordering 타이머가 구동되고 있다면(3j-05) 3j-10 단계로 진행한다. 그리고 만약 RX_Next_Status_Trigger와 RX_Next가 같거나 혹은 만약 RX_Next_Status_Trigger 값이 윈도우 밖에 있고, RX_Next_Status_Trigger가 RX_Next + AM_Window_Size와 같지 않은 경우에는t-Reordering 타이머를 중지하고 리셋한다(3j-15). 만약 t-Reordering 타이머가 구동되고 있지 않다면(3j-05) 3j-20 단계로 진행한다. 그리고 상기에서 제안한 제 3-2a 실시 예 혹은 제 3-2b 실시 예 혹은 제 3-2c 실시 예 혹은 제 3-2d 실시 예 혹은 제 3-2e 실시 예에 따라서 t-Reordering 타이머를 구동하고, 관련된 윈도우 변수들을 업데이트 한다.
도 3k에 본 발명의 제 3 실시 예에 따른 단말의 구조를 도시하였다.
상기 도면을 참고하면, 상기 단말은 RF(Radio Frequency)처리부(3k-10), 기저대역(baseband)처리부(3k-20), 저장부(3k-30), 제어부(3k-40)를 포함한다.
상기 RF처리부(3k-10)는 신호의 대역 변환, 증폭 등 무선 채널을 통해 신호를 송수신하기 위한 기능을 수행한다. 즉, 상기 RF처리부(3k-10)는 상기 기저대역처리부(3k-20)로부터 제공되는 기저대역 신호를 RF 대역 신호로 상향 변환한 후 안테나를 통해 송신하고, 상기 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향 변환한다. 예를 들어, 상기 RF처리부(3k-10)는 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다. 상기 도면에서, 하나의 안테나만이 도시되었으나, 상기 단말은 다수의 안테나들을 구비할 수 있다. 또한, 상기 RF처리부(3k-10)는 다수의 RF 체인들을 포함할 수 있다. 나아가, 상기 RF처리부(3k-10)는 빔포밍(beamforming)을 수행할 수 있다. 상기 빔포밍을 위해, 상기 RF처리부(3k-10)는 다수의 안테나들 또는 안테나 요소(element)들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다. 또한 상기 RF 처리부는 MIMO를 수행할 수 있으며, MIMO 동작 수행 시 여러 개의 레이어를 수신할 수 있다. 상기 RF처리부(3k-10)는 제어부의 제어에 따라 다수의 안테나 또는 안테나 요소들을 적절하게 설정하여 수신 빔 스위핑을 수행하거나, 수신 빔이 송신 빔과 공조되도록 수신 빔의 방향과 빔 너비를 조정할 수 있다.
상기 기저대역처리부(3k-20)은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 상기 기저대역처리부(3k-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(3k-20)은 상기 RF처리부(3k-10)로부터 제공되는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 예를 들어, OFDM(orthogonal frequency division multiplexing) 방식에 따르는 경우, 데이터 송신 시, 상기 기저대역처리부(3k-20)는 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성하고, 상기 복소 심벌들을 부반송파들에 매핑한 후, IFFT(inverse fast Fourier transform) 연산 및 CP(cyclic prefix) 삽입을 통해 OFDM 심벌들을 구성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(3k-20)은 상기 RF처리부(3k-10)로부터 제공되는 기저대역 신호를 OFDM 심벌 단위로 분할하고, FFT(fast Fourier transform) 연산을 통해 부반송파들에 매핑된 신호들을 복원한 후, 복조 및 복호화를 통해 수신 비트열을 복원한다.
상기 기저대역처리부(3k-20) 및 상기 RF처리부(3k-10)는 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 상기 기저대역처리부(3k-20) 및 상기 RF처리부(3k-10)는 송신부, 수신부, 송수신부 또는 통신부로 지칭될 수 있다. 나아가, 상기 기저대역처리부(3k-20) 및 상기 RF처리부(3k-10) 중 적어도 하나는 서로 다른 다수의 무선 접속 기술들을 지원하기 위해 다수의 통신 모듈들을 포함할 수 있다. 또한, 상기 기저대역처리부(3k-20) 및 상기 RF처리부(3k-10) 중 적어도 하나는 서로 다른 주파수 대역의 신호들을 처리하기 위해 서로 다른 통신 모듈들을 포함할 수 있다. 예를 들어, 상기 서로 다른 무선 접속 기술들은 LTE 망, NR 망 등을 포함할 수 있다. 또한, 상기 서로 다른 주파수 대역들은 극고단파(SHF:super high frequency)(예: 2.5GHz, 5Ghz) 대역, mm파(millimeter wave)(예: 60GHz) 대역을 포함할 수 있다.
상기 저장부(3k-30)는 상기 단말의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 상기 저장부(3k-30)는 상기 제어부(3k-40)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(3k-40)는 상기 단말의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(3k-40)는 상기 기저대역처리부(3k-20) 및 상기 RF처리부(3k-10)을 통해 신호를 송수신한다. 또한, 상기 제어부(3k-40)는 상기 저장부(3k-40)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(3k-40)는 적어도 하나의 프로세서(processor)를 포함할 수 있다. 예를 들어, 상기 제어부(3k-40)는 통신을 위한 제어를 수행하는 CP(communication processor) 및 응용 프로그램 등 상위 계층을 제어하는 AP(application processor)를 포함할 수 있다.
도 3l는 본 발명의 제 3 실시 예에 따른 무선 통신 시스템에서 TRP의 블록 구성을 도시한다.
상기 도면에 도시된 바와 같이, 상기 기지국은 RF처리부(3l-10), 기저대역처리부(3l-20), 백홀통신부(3l-30), 저장부(3l-40), 제어부(3l-50)를 포함하여 구성된다.
상기 RF처리부(3l-10)는 신호의 대역 변환, 증폭 등 무선 채널을 통해 신호를 송수신하기 위한 기능을 수행한다. 즉, 상기 RF처리부(3l-10)는 상기 기저대역처리부(3l-20)로부터 제공되는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 상기 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 예를 들어, 상기 RF처리부(3l-10)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다. 상기 도면에서, 하나의 안테나만이 도시되었으나, 상기 제1접속 노드는 다수의 안테나들을 구비할 수 있다. 또한, 상기 RF처리부(3l-10)는 다수의 RF 체인들을 포함할 수 있다. 나아가, 상기 RF처리부(3l-10)는 빔포밍을 수행할 수 있다. 상기 빔포밍을 위해, 상기 RF처리부(3l-10)는 다수의 안테나들 또는 안테나 요소들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다. 상기 RF 처리부는 하나 이상의 레이어를 전송함으로써 하향 MIMO 동작을 수행할 수 있다.
상기 기저대역처리부(3l-20)는 제1무선 접속 기술의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 상기 기저대역처리부(3l-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(3l-20)은 상기 RF처리부(3l-10)로부터 제공되는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 예를 들어, OFDM 방식에 따르는 경우, 데이터 송신 시, 상기 기저대역처리부(3l-20)은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성하고, 상기 복소 심벌들을 부반송파들에 매핑한 후, IFFT 연산 및 CP 삽입을 통해 OFDM 심벌들을 구성한다. 또한, 데이터 수신 시, 상기 기저대역처리부(3l-20)은 상기 RF처리부(3l-10)로부터 제공되는 기저대역 신호를 OFDM 심벌 단위로 분할하고, FFT 연산을 통해 부반송파들에 매핑된 신호들을 복원한 후, 복조 및 복호화를 통해 수신 비트열을 복원한다. 상기 기저대역처리부(3l-20) 및 상기 RF처리부(3l-10)는 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 상기 기저대역처리부(3l-20) 및 상기 RF처리부(3l-10)는 송신부, 수신부, 송수신부, 통신부 또는 무선 통신부로 지칭될 수 있다.
상기 통신부(3l-30)는 네트워크 내 다른 노드들과 통신을 수행하기 위한 인터페이스를 제공한다.
상기 저장부(3l-40)는 상기 주기지국의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 특히, 상기 저장부(3l-40)는 접속된 단말에 할당된 베어러에 대한 정보, 접속된 단말로부터 보고된 측정 결과 등을 저장할 수 있다. 또한, 상기 저장부(3l-40)는 단말에게 다중 연결을 제공하거나, 중단할지 여부의 판단 기준이 되는 정보를 저장할 수 있다. 그리고, 상기 저장부(3l-40)는 상기 제어부(3l-50)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(3l-50)는 상기 주기지국의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(3l-50)는 상기 기저대역처리부(3l-20) 및 상기 RF처리부(3l-10)을 통해 또는 상기 백홀통신부(3l-30)을 통해 신호를 송수신한다. 또한, 상기 제어부(3l-50)는 상기 저장부(3l-40)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(3l-50)는 적어도 하나의 프로세서를 포함할 수 있다.
본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 발명의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 발명의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 발명의 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 발명이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (16)

  1. 무선 통신 시스템에서 수신 장치의 방법에 있어서,
    수신 버퍼에 있는 RLC(radio link control) PDU(protocol data unit)의 시퀀스 번호(sequence number, SN)를 확인하는 단계;
    상기 확인된 SN의 값이 재조립 윈도우의 밖으로 벗어나는지 확인하는 단계, 상기 재조립 윈도우는 특정 값보다 크거나 같고 제1 상태 변수의 값보다 작은 범위에 기반하여 확인되고, 상기 특정 값은 상기 제1 상태 변수의 값으로부터 윈도우 크기의 값을 빼는 것에 의하여 획득되며, 상기 제1 상태 변수는 수신된 RLC PDU들 중에서 가장 높은 SN를 갖는 RLC PDU의 SN 다음의 SN의 값을 가짐;
    상기 확인된 SN가 상기 재조립 윈도우의 밖으로 벗어나면, 상기 제1 상태 변수의 값을 상기 확인된 SN에 1을 더한 값으로 업데이트하는 단계;
    제2 상태 변수의 값이 상기 제1 상태 변수의 값의 업데이트에 기반한 상기 재조립 윈도우의 밖으로 벗어나는지 확인하는 단계, 상기 제2 상태 변수는 완전히 수신되지 않은 가장 이른 SN의 값을 가짐; 및
    상기 제2 상태 변수의 값이 상기 제1 상태 변수의 값의 업데이트에 기반한 상기 재조립 윈도우의 밖으로 벗어나면, 상기 제2 상태 변수의 값을, 상기 특정 값보다 크거나 같으면서 완전히 수신되지 않은 가장 이른 SN의 값으로 설정하는 단계를 포함하는 것을 특징으로 하는 수신 장치의 방법.
  2. 제1항에 있어서,
    상기 제1 상태 변수의 업데이트에 기반하여 상기 재조립 윈도우의 밖으로 벗어난 SN를 갖는 RLC PDU를 폐기하는 단계를 더 포함하는 것을 특징으로 하는 수신 장치의 방법.
  3. 제1항에 있어서,
    RLC 엔티티의 하위 계층으로부터 상기 RLC 엔티티가, 상기 수신된 RLC PDU들을 획득하는 단계;
    상기 수신된 RLC PDU들 중에서 제1 PDU의 헤더가 SN를 포함하지 않는지 확인하는 단계; 및
    상기 제1 PDU의 헤더가 상기 SN를 포함하지 않으면, 상기 제1 PDU에 대한 SDU(service data unit)을 상기 RLC 엔티티로부터 상위 계층으로 전달하는 단계를 더 포함하는 것을 특징으로 하는 수신 장치의 방법.
  4. 제3항에 있어서,
    상기 제1 PDU가 상기 SN를 포함하면, 상기 제1 PDU의 상기 SN의 값이 상기 제2 상태 변수의 값보다 작고 상기 특정 값보다 크거나 같은지 확인하는 단계; 및
    상기 제1 PDU의 상기 SN의 값이 상기 제2 상태 변수의 값보다 작고 상기 특정 값보다 크거나 같으면, 상기 제1 PDU를 폐기하는 단계를 더 포함하는 것을 특징으로 하는 수신 장치의 방법.
  5. 제4항에 있어서,
    상기 제1 PDU의 상기 SN의 값이 상기 제2 상태 변수의 값보다 크면, 상기 제1 PDU를 상기 수신 버퍼에 위치시키는 단계를 더 포함하는 것을 특징으로 하는 수신 장치의 방법.
  6. 제1항에 있어서,
    상기 확인된 SN를 갖는 모든 바이트 세그먼트(byte segment)들이 수신되는지 확인하는 단계;
    상기 확인된 SN를 갖는 상기 모든 바이트 세그먼트들로부터 RLC SDU(service data unit)를 재조립하는 단계; 및
    상기 재조립된 RLC SDU를 상위 계층으로 전달하는 단계를 더 포함하는 것을 특징으로 하는 수신 장치의 방법.
  7. 제6항에 있어서,
    상기 확인된 SN의 값이 상기 제2 상태 변수의 값과 같은지 확인하는 단계; 및
    상기 확인된 SN의 값이 상기 제2 상태 변수의 값과 같으면, 상기 제2 상태 변수의 값을, 상기 제2 상태 변수의 값보다 크면서 재조립되어 상기 상위 계층으로 전달되지 않은 가장 이른 SN의 값으로 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 수신 장치의 방법.
  8. 제1항에 있어서,
    RLC 엔티티는, UM(unacknowledged mode) RLC 엔티티인 것을 특징으로 하는 수신 장치의 방법.
  9. 무선 통신 시스템에서 수신 장치에 있어서,
    송수신부; 및
    수신 버퍼에 있는 RLC(radio link control) PDU(protocol data unit)의 시퀀스 번호(sequence number, SN)를 확인하고, 상기 확인된 SN의 값이 재조립 윈도우의 밖으로 벗어나는지 확인하며 - 상기 재조립 윈도우는 특정 값보다 크거나 같고 제1 상태 변수의 값보다 작은 범위에 기반하여 확인되고, 상기 특정 값은 상기 제1 상태 변수의 값으로부터 윈도우 크기의 값을 빼는 것에 의하여 획득되며, 상기 제1 상태 변수는 수신된 RLC PDU들 중에서 가장 높은 SN를 갖는 RLC PDU의 SN 다음의 SN의 값을 가짐, 상기 확인된 SN가 상기 재조립 윈도우의 밖으로 벗어나면, 상기 제1 상태 변수의 값을 상기 확인된 SN에 1을 더한 값으로 업데이트하며, 제2 상태 변수의 값이 상기 제1 상태 변수의 값의 업데이트에 기반한 상기 재조립 윈도우의 밖으로 벗어나는지 확인하고 - 상기 제2 상태 변수는 완전히 수신되지 않은 가장 이른 SN의 값을 가짐, 및 상기 제2 상태 변수의 값이 상기 제1 상태 변수의 값의 업데이트에 기반한 상기 재조립 윈도우의 밖으로 벗어나면, 상기 제2 상태 변수의 값을, 상기 특정 값보다 크거나 같으면서 완전히 수신되지 않은 가장 이른 SN의 값으로 설정하는 제어부를 포함하는 것을 특징으로 하는 수신 장치.
  10. 제9항에 있어서,
    상기 제어부는, 상기 제1 상태 변수의 업데이트에 기반하여 상기 재조립 윈도우의 밖으로 벗어난 SN를 갖는 RLC PDU를 폐기하는 것을 특징으로 하는 수신 장치.
  11. 제9항에 있어서,
    상기 제어부는, RLC 엔티티의 하위 계층으로부터 상기 RLC 엔티티가, 상기 수신된 RLC PDU들을 획득하고, 상기 수신된 RLC PDU들 중에서 제1 PDU의 헤더가 SN를 포함하지 않는지 확인하며, 및 상기 제1 PDU의 헤더가 상기 SN를 포함하지 않으면, 상기 제1 PDU에 대한 SDU(service data unit)을 상기 RLC 엔티티로부터 상위 계층으로 전달하는 것을 특징으로 하는 수신 장치.
  12. 제11항에 있어서,
    상기 제어부는, 상기 제1 PDU가 상기 SN를 포함하면, 상기 제1 PDU의 상기 SN의 값이 상기 제2 상태 변수의 값보다 작고 상기 특정 값보다 크거나 같은지 확인하고, 상기 제1 PDU의 상기 SN의 값이 상기 제2 상태 변수의 값보다 작고 상기 특정 값보다 크거나 같으면, 상기 제1 PDU를 폐기하는 것을 특징으로 하는 수신 장치.
  13. 제12항에 있어서,
    상기 제어부는, 상기 제1 PDU의 상기 SN의 값이 상기 제2 상태 변수의 값보다 크면, 상기 제1 PDU를 상기 수신 버퍼에 위치시키는 것을 특징으로 하는 수신 장치.
  14. 제9항에 있어서,
    상기 제어부는, 상기 확인된 SN를 갖는 모든 바이트 세그먼트(byte segment)들이 수신되는지 확인하고, 상기 확인된 SN를 갖는 상기 모든 바이트 세그먼트들로부터 RLC SDU(service data unit)를 재조립하며, 및 상기 재조립된 RLC SDU를 상위 계층으로 전달하는 것을 특징으로 하는 수신 장치.
  15. 제14항에 있어서,
    상기 제어부는, 상기 확인된 SN의 값이 상기 제2 상태 변수의 값과 같은지 확인하고, 및 상기 확인된 SN의 값이 상기 제2 상태 변수의 값과 같으면, 상기 제2 상태 변수의 값을, 상기 제2 상태 변수의 값보다 크면서 재조립되어 상기 상위 계층으로 전달되지 않은 가장 이른 SN의 값으로 업데이트하는 것을 특징으로 하는 수신 장치.
  16. 제9항에 있어서,
    RLC 엔티티는, UM(unacknowledged mode) RLC 엔티티인 것을 특징으로 하는 수신 장치.
KR1020220146676A 2017-08-10 2022-11-07 무선 통신 시스템에서 데이터 처리 방법 및 장치 KR102545953B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
KR1020170101912 2017-08-10
KR20170101912 2017-08-10
KR1020170108078 2017-08-25
KR20170108078 2017-08-25
KR1020170115121 2017-09-08
KR20170115121 2017-09-08
KR1020170117856 2017-09-14
KR20170117856 2017-09-14
KR20170121362 2017-09-20
KR1020170121362 2017-09-20
KR1020170129077A KR102465541B1 (ko) 2017-08-10 2017-10-10 무선 통신 시스템에서 데이터 처리 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170129077A Division KR102465541B1 (ko) 2017-08-10 2017-10-10 무선 통신 시스템에서 데이터 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220156486A true KR20220156486A (ko) 2022-11-25
KR102545953B1 KR102545953B1 (ko) 2023-06-22

Family

ID=65271419

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220146676A KR102545953B1 (ko) 2017-08-10 2022-11-07 무선 통신 시스템에서 데이터 처리 방법 및 장치

Country Status (5)

Country Link
US (4) US10694422B2 (ko)
EP (1) EP4344156A2 (ko)
KR (1) KR102545953B1 (ko)
CN (2) CN117295112A (ko)
WO (1) WO2019031924A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108289007B (zh) * 2017-01-10 2022-04-15 中兴通讯股份有限公司 数据包传输方法及装置
US10531359B2 (en) * 2017-08-10 2020-01-07 Htc Corporation Device and method for handling a packet data convergence protocol operation
US11102686B2 (en) * 2017-08-11 2021-08-24 Htc Corporation Device and method of handling a handover
JP7032545B2 (ja) * 2018-01-04 2022-03-08 エルジー エレクトロニクス インコーポレイティド 通信装置、処理装置及びデータユニットを送信する方法
US11201827B2 (en) * 2018-03-30 2021-12-14 Lg Electronics Inc. Method and apparatus for performing retransmission after discarding procedure in wireless communication system
US11388628B2 (en) * 2018-07-26 2022-07-12 Apple Inc. In order packet delivery for compressed radio bearers
US11564096B2 (en) * 2018-09-13 2023-01-24 Lenovo (Singapore) Pte. Ltd. Integrity protection for a packet data unit
US11758402B2 (en) * 2018-09-27 2023-09-12 Lg Electronics Inc. Method and apparatus for processing data units in wireless communication system
US11102678B2 (en) * 2018-09-28 2021-08-24 Mediatek Inc. Radio resource control (RRC) message segmentation
US11916799B2 (en) * 2018-10-12 2024-02-27 Nokia Technologies Oy Reducing latency at packet data convergence protocol (PDCP) in new radio
JP7279177B2 (ja) * 2019-02-22 2023-05-22 アップル インコーポレイテッド ハンドオーバ割り込みを低減するためのシステム及び方法
CN111800369B (zh) * 2019-04-08 2022-03-29 华为技术有限公司 通信方法与设备
CN111865503A (zh) * 2019-04-30 2020-10-30 华为技术有限公司 一种发送、接收反馈信息的方法及设备
US10938520B2 (en) * 2019-05-22 2021-03-02 Qualcomm Incorporated Methods to reduce radio link control retransmission
US11418631B2 (en) * 2019-07-24 2022-08-16 Mediatek Inc. Efficient packet delivery methods and associated communications apparatus
CN114270792B (zh) * 2019-11-07 2023-09-12 华为技术有限公司 一种传输信息的方法和装置
CN115516912A (zh) * 2020-07-08 2022-12-23 Oppo广东移动通信有限公司 重组定时器的启动方法、配置方法、装置、设备及介质
CN114339614B (zh) * 2020-09-29 2023-07-28 上海朗帛通信技术有限公司 一种被用于无线通信的方法和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100059934A (ko) * 2007-10-01 2010-06-04 모토로라 인코포레이티드 무선 통신 시스템에서 상태 보고 트리거링
US20150117357A1 (en) * 2013-10-30 2015-04-30 Qualcomm Incorporated Techniques for aggregating data from wwan and wlan

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807428B2 (en) * 2001-08-16 2004-10-19 Qualcomm, Incorporated Method and apparatus for time-based reception of transmissions in a wireless communication system
DE60307032T2 (de) * 2002-12-27 2007-02-15 Ntt Docomo Inc. Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
JP4283589B2 (ja) * 2003-03-25 2009-06-24 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信制御方法及びプログラム
KR20050095419A (ko) * 2004-03-26 2005-09-29 삼성전자주식회사 패킷 망을 이용하여 음성 서비스를 제공하는이동통신시스템에서 무선 자원을 효율적으로 사용하는 방법
KR101000699B1 (ko) * 2004-04-19 2010-12-10 엘지전자 주식회사 무선링크 제어계층에서의 데이터 처리방법
EP1811727A3 (en) * 2005-02-07 2008-03-26 Samsung Electronics Co., Ltd. Method and apparatus for transmitting a status report for retransmission control in a mobile communication system
CN1889414B (zh) 2005-06-30 2010-05-05 华为技术有限公司 一种基于丢失pdu检测机制发送状态pdu的方法
ATE492100T1 (de) * 2006-03-03 2011-01-15 Huawei Tech Co Ltd Verfahren zur neuzusammenstellung von daten in einem drahtlosen kommunikationssystem und vorrichtung dafür
US8873471B2 (en) * 2007-10-01 2014-10-28 Qualcomm Incorporated Method and apparatus for implementing LTE RLC header formats
US8179812B2 (en) * 2007-10-02 2012-05-15 Texas Instruments Incorporated System and method for providing status reports of transmitted data packets in a data communications system
KR20100087206A (ko) * 2007-11-08 2010-08-03 인터디지탈 테크날러지 코포레이션 결합된 매체 접근 제어(mac)및 무선 링크 제어(rlc)처리를 위한 방법 및 장치
WO2009082848A1 (fr) 2007-12-28 2009-07-09 Zte Corporation Procédé de réinitialisation d'entité de commande de liaison radio
US20090175259A1 (en) * 2008-01-04 2009-07-09 Samsung Electronics Co., Ltd. Method for enhancing layer 2 for a high speed packet access uplink
KR101577451B1 (ko) * 2008-01-30 2015-12-14 엘지전자 주식회사 Rlc 무한 재전송 오류를 검출하고 처리하는 방법
WO2009096743A2 (en) * 2008-01-31 2009-08-06 Lg Electronics Inc. Method for sending status information in mobile telecommunications system and receiver of mobile telecommunications
US8687548B2 (en) * 2008-02-08 2014-04-01 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement in a telecommunication system for handling status information of data units
KR101606205B1 (ko) 2008-08-21 2016-03-25 엘지전자 주식회사 무선통신 시스템에서 상태 보고 유발 방법 및 수신기
US9455892B2 (en) 2010-10-29 2016-09-27 Symantec Corporation Data loss monitoring of partial data streams
CN102316515B (zh) 2011-09-16 2017-04-26 中兴通讯股份有限公司 无线链路控制层状态报告的构造方法及装置
KR20150071621A (ko) 2013-12-18 2015-06-26 삼성전자주식회사 컨텐츠 중심 네트워크에서 라운드 트립 시간을 예측하는 방법
KR102190444B1 (ko) * 2014-02-21 2020-12-11 삼성전자주식회사 무선 통신 시스템에서 데이터 처리 시스템 및 방법
WO2015133767A1 (en) * 2014-03-02 2015-09-11 Lg Electronics Inc. Method for reordering a packet data convergence protocol packet data unit at a user equipment in a dual connectivity system and device therefor
WO2015163593A1 (en) 2014-04-22 2015-10-29 Lg Electronics Inc. Method for processing received pdcp pdus for d2d communication system and device therefor
WO2015170834A1 (en) * 2014-05-06 2015-11-12 Lg Electronics Inc. Method for processing received rlc pdus for d2d commucation system and device therefor
US9838282B2 (en) * 2014-05-09 2017-12-05 Telefonaktiebolaget Lm Ericsson (Publ) PDCP and flow control for split bearer
WO2015174658A1 (en) * 2014-05-13 2015-11-19 Lg Electronics Inc. Method for reordering a packet data convergence protocol packet data unit at a user equipment in a dual connectivity system and device therefor
US9961581B2 (en) * 2014-10-31 2018-05-01 Qualcomm Incorporated Status prohibition timer disabling for partial status report
WO2016080877A1 (en) * 2014-11-20 2016-05-26 Telefonaktiebolaget L M Ericsson (Publ) First network node, second network node and methods for transmitting and receiving a protocol data unit
EP3235220B1 (en) * 2014-12-18 2021-04-28 LG Electronics Inc. Method for reconfiguring a pdcp reordering timer in a wireless communication system and device therefor
US20170041984A1 (en) * 2015-08-04 2017-02-09 Qualcomm Incorporated Techniques for retransmitting physical layer packets after inactivity on a secondary component carrier
US10142920B2 (en) 2015-08-24 2018-11-27 Samsung Electronics Co., Ltd. Method and apparatus for communication in wireless communication system
US9999049B2 (en) * 2015-08-31 2018-06-12 Qualcomm Incorporated Avoiding unnecessary protocol data unit (PDU) transmissions
US10986493B2 (en) * 2016-04-27 2021-04-20 Lg Electronics Inc. Method and device for receiving data unit
JP6687750B2 (ja) * 2016-05-03 2020-04-28 エルジー エレクトロニクス インコーポレイティド データユニットを送信する方法及び装置
US20180124843A1 (en) * 2016-11-01 2018-05-03 Sharp Laboratories Of America, Inc. Configurable radio link controller frame structure
US10880871B2 (en) * 2016-11-01 2020-12-29 Sharp Kabushiki Kaisha Method and apparatus for asymmetrical up-link/down-link protocol stack and frame structure in a 5G NR communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100059934A (ko) * 2007-10-01 2010-06-04 모토로라 인코포레이티드 무선 통신 시스템에서 상태 보고 트리거링
US20150117357A1 (en) * 2013-10-30 2015-04-30 Qualcomm Incorporated Techniques for aggregating data from wwan and wlan

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
3GPP R2-1703635 *

Also Published As

Publication number Publication date
CN117295112A (zh) 2023-12-26
EP4344156A2 (en) 2024-03-27
US11805443B2 (en) 2023-10-31
US20220330089A1 (en) 2022-10-13
US11375402B2 (en) 2022-06-28
KR102545953B1 (ko) 2023-06-22
US10694422B2 (en) 2020-06-23
CN117279040A (zh) 2023-12-22
US20240064570A1 (en) 2024-02-22
US20190053099A1 (en) 2019-02-14
WO2019031924A1 (en) 2019-02-14
US20200322843A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
KR102545953B1 (ko) 무선 통신 시스템에서 데이터 처리 방법 및 장치
US11751097B2 (en) Method and apparatus for reestablishing packet data convergence protocol (PDCP) entity in a wireless communication system
EP3669573B1 (en) Method and apparatus for processing a packet in a wireless communication system
KR20200034484A (ko) 무선 통신 시스템에서 데이터를 송수신하는 방법 및 장치
US20220377602A1 (en) Method and apparatus for performing feedback-based ethernet header compression or decompression in wireless communication system
KR20210053007A (ko) 차세대 이동 통신 시스템의 daps 핸드오버에서 pdcp 엔티티를 구동하는 방법 및 장치
KR20200127527A (ko) 무선 통신 시스템에서 핸드 오버 절차를 수행하는 방법 및 장치
KR20200076568A (ko) 차세대 이동 통신 시스템에서 pdcp 계층 장치 기반 보안키 확인 방법 및 장치
KR102465541B1 (ko) 무선 통신 시스템에서 데이터 처리 방법 및 장치
KR102655629B1 (ko) 이동 통신 시스템에서 핸드오버를 수행하는 방법 및 장치
KR20210016945A (ko) 고신뢰 저지연 서비스를 지원하는 시스템에서 무결성 검증 실패를 처리하는 방법 및 장치
US20230025610A1 (en) Method and apparatus for driving pdcp during data decompression failure in next-generation mobile communication system
KR20230090633A (ko) 차세대 이동 통신 시스템에서 데이터 압축 해제 에러를 방지하는 방법 및 장치
KR102561713B1 (ko) 무선 통신 시스템에서 데이터를 송수신하는 방법 및 장치
KR20210054998A (ko) 무선 통신 시스템에서 피드백 기반 이더넷 헤더 압축 또는 압축 해제를 수행하는 방법 또는 장치
KR102345221B1 (ko) 차세대 이동 통신 시스템에서 패킷 처리 방법 및 장치
KR20200114994A (ko) 차세대 이동 통신 시스템에서 데이터 송수신 중단이 없는 핸드오버 방법 및 장치
KR20210039888A (ko) 무선 통신 시스템에서 핸드오버를 수행하는 방법 및 장치
KR102664415B1 (ko) 무선 통신 시스템에서 헤더 압축 프로토콜을 위한 pdcp 장치 재수립 방법 및 장치
US20220256412A1 (en) Packet redundancy processing method for supporting enhanced handover in next generation mobile communication system, method for preventing header decompression failure during handover and apparatus therefor
KR20210014060A (ko) 차세대 이동 통신 시스템에서 향상된 핸드오버를 지원하는 패킷 중복 처리 방법, 핸드오버 시 헤더 압축 해제 실패를 방지하는 방법 및 이를 위한 장치
KR20230096561A (ko) 차세대 이동 통신 시스템에서 헤더 압축 또는 압축 해제 절차를 효과적으로 수행하는 방법 및 장치
KR20200076573A (ko) 차세대 이동 통신 시스템에서 pdcp 계층 장치 기반 보안키 확인 방법 및 장치
KR20200076574A (ko) 차세대 이동 통신 시스템에서 pdcp 계층 장치 기반 보안키 확인 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right