KR20200107717A - Apparatus and method for transmitting and receiving data in a wireless communication system - Google Patents

Apparatus and method for transmitting and receiving data in a wireless communication system Download PDF

Info

Publication number
KR20200107717A
KR20200107717A KR1020190071064A KR20190071064A KR20200107717A KR 20200107717 A KR20200107717 A KR 20200107717A KR 1020190071064 A KR1020190071064 A KR 1020190071064A KR 20190071064 A KR20190071064 A KR 20190071064A KR 20200107717 A KR20200107717 A KR 20200107717A
Authority
KR
South Korea
Prior art keywords
terminal
event
data packet
timer
user equipment
Prior art date
Application number
KR1020190071064A
Other languages
Korean (ko)
Inventor
카나가라티남 마드한 라즈
카르티케얀 아루나칼람
란지스 쿠마
벤카타 수닐 쿠마 비
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2019/017731 priority Critical patent/WO2020179993A1/en
Priority to US16/718,323 priority patent/US11153779B2/en
Publication of KR20200107717A publication Critical patent/KR20200107717A/en

Links

Images

Classifications

    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L47/14
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention relates to a method for transmitting and receiving data in a wireless communication system and an apparatus thereof. According to the present invention, an operation method of a terminal in a wireless communication system may comprise the steps of: identifying an omission of at least one data packet among a plurality of data packets transmitted from another terminal; determining an event which caused the at least one data packet to be omitted; and setting a length of a timer for receiving the at least one omitted data packet based on a network metric corresponding to the determined event.

Description

무선 통신 시스템에서 데이터를 송수신하기 위한 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING DATA IN A WIRELESS COMMUNICATION SYSTEM}Device and method for transmitting and receiving data in a wireless communication system {APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING DATA IN A WIRELESS COMMUNICATION SYSTEM}

본 개시는 일반적으로 무선 통신 시스템에서 데이터를 송수신하기 위한 것으로, 보다 구체적으로, 무선 TCP(Transmission Control Protocol) 통신 시스템에서 데이터 패킷들의 송신을 최적화하기 위한 장치 및 방법에 관한 것이다.The present disclosure relates generally to transmitting and receiving data in a wireless communication system, and more particularly, to an apparatus and method for optimizing transmission of data packets in a wireless Transmission Control Protocol (TCP) communication system.

최근, 컴퓨터 기술 및 컴퓨터 네트워크의 급속한 발전으로 인해, 무선 통신이 매우 중요하게 다루어지고 있다. 일반적으로, 컴퓨터 네트워크에서 가장 신뢰할 수 있는(reliable) 프로토콜은 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜로 인식되어 있다. 다만, TCP/IP 프로토콜은 네트워크 노드가 고정된 유선 네트워크에서 잘 작동하는 프로토콜이다. 따라서, 5세대(5th generation, 5G) 네트워크가 도입됨에 따라, 처리량(throughput), 안정성(reliability), 대기 시간(latency) 등과 같은 다양한 네트워크 매트릭들(metrics)의 측면에서, 무선 TCP를 원활하게 작동하기 위한 요구가 생겨나고 있다.In recent years, due to the rapid development of computer technology and computer networks, wireless communication has become very important. In general, the most reliable protocol in a computer network is recognized as a Transmission Control Protocol/Internet Protocol (TCP/IP) protocol. However, the TCP/IP protocol is a protocol that works well in a wired network where network nodes are fixed. Therefore, to the side of a variety of network metric (metrics), including the 5th generation (5 th generation, 5G) As the network is introduced, the throughput (throughput), reliability (reliability), the standby time (latency), facilitate the wireless TCP There is a demand for it to work.

상술한 바와 같은 논의를 바탕으로, 본 개시는 무선 통신 시스템에서 데이터를 송수신하기 위한 장치 및 방법을 제공할 수 있다.Based on the above discussion, the present disclosure may provide an apparatus and method for transmitting and receiving data in a wireless communication system.

또한, 본 개시의 일 실시예는, 송신단으로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락(missing)을 식별하기 위한 장치 및 방법을 제공할 수 있다.In addition, an embodiment of the present disclosure may provide an apparatus and method for identifying a missing of at least one data packet among a plurality of data packets transmitted from a transmitting end.

또한, 본 개시의 일 실시예는, 데이터 패킷의 누락을 발생시킨 이벤트를 결정하기 위한 장치 및 방법을 제공할 수 있다.In addition, an embodiment of the present disclosure may provide an apparatus and method for determining an event that caused a data packet to be dropped.

또한, 본 개시의 일 실시예는, 이벤트에 대응하는 네트워크 메트릭에 기초하여, 누락된 패킷(missed packet)을 수신하기 위한 타이머의 길이를 설정하기 위한 장치 및 방법을 제공할 수 있다.In addition, an embodiment of the present disclosure may provide an apparatus and method for setting a length of a timer for receiving a missing packet based on a network metric corresponding to an event.

본 개시의 일 실시예에 따르면, 무선 TCP 통신 시스템에서 데이터 패킷들의 송신을 최적화하기 위한 방법은, TCP(Transmission Control Protocol) 사용자 디바이스(user device)에 의해 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷을 수신하는 단계 및 하나 이상의 이벤트들의 발생에 기초하여, 수신된 데이터 패킷들 중 하나 이상의 데이터 패킷들의 누락(missing)을 식별하는 단계; 재전송 타임아웃(retransmission timeout, RTO) 타이머의 만료 시까지, 누락된 하나 이상의 데이터 패킷을 수신하기 위해 대기하는 시간 간격(time interval) 동안 RTO 타이머를 시작(initiate)하는 단계; 이때, 네트워크 메트릭(network metrics)은 복수의 데이터 패킷들이 전송되는 현재 네트워크 상태에 기초하여 계산될 수 있고, 누락된 하나 이상의 데이터 패킷들을 수신하기 위해 계산된 네트워크 메트릭에 기초하여, 수정된(modified) RTO 타이머를 생성하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a method for optimizing transmission of data packets in a wireless TCP communication system includes at least one of a plurality of data packets transmitted by a Transmission Control Protocol (TCP) user device. Receiving the data packet and identifying a missing of one or more of the received data packets based on the occurrence of one or more events; Starting the RTO timer during a time interval waiting to receive one or more missing data packets until expiration of the retransmission timeout (RTO) timer; In this case, network metrics may be calculated based on a current network state in which a plurality of data packets are transmitted, and modified based on a network metric calculated to receive one or more missing data packets. It may include generating an RTO timer.

본 개시의 일 실시예에 따른 방법은, 하나 이상의 이벤트들은 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 및 연속 패킷 손실(Consecutive Packet Loss, CPL) 중 적어도 하나를 포함할 수 있다.The method according to an embodiment of the present disclosure, one or more events may include at least one of spurious loss (Spurious Loss, SL), burst loss (Burst Loss, BL), and continuous packet loss (Consecutive Packet Loss, CPL). have.

본 개시의 일 실시예에 따른 방법은, SL 의 발생 시, 누락된 하나 이상의 데이터 패킷들은, 네트워크 메트릭에 기초하여 RTO를 추정하는 단계에 의하여 복구될 수 있다.In the method according to an embodiment of the present disclosure, when an SL occurs, one or more data packets that are missing may be recovered by estimating an RTO based on a network metric.

본 개시의 일 실시예에 따른 방법은, BL 발생 시, 누락된 하나 이상의 패킷들은, 현재 네트워크 상태들에 기초하여 엣지 노드를 제공하는 단계; 이동성 파라미터에 기초하여 동적 RTO를 결정하는 단계; 조정된 스누프(Snoop) 및 ARQ 재전송에 기초하여 하나 이상의 누락된 데이터 패킷들을 복구하는 단계에 의해 복구될 수 있다.A method according to an embodiment of the present disclosure includes the steps of providing an edge node based on current network conditions, in the case of BL occurrence, the missing one or more packets; Determining a dynamic RTO based on the mobility parameter; It may be recovered by recovering one or more missing data packets based on the adjusted Snoop and ARQ retransmissions.

본 개시의 일 실시예에 따른 방법은, 동적 RTO의 만료 후에 앤드 서버로부터 하나 이상의 누락된 데이터 패킷들을 복구하는 단계를 더 포함할 수 있다.The method according to an embodiment of the present disclosure may further include recovering one or more missing data packets from the end server after expiration of the dynamic RTO.

본 개시의 일 실시예에 따르면, CPL의 발생 시, 하나 이상의 누락된 데이터 패킷들은 Dup(duplicate) ACK(acknowledgement)의 전송 속도를 관리함으로써 복구될 수 있고, Dup ACK를 관리하는 단계는, 핸드오버 이벤트의 발생을 결정하는 단계; 핸드오버 이벤트 결정 시 핸드오버 시간을 계산하는 단계; 서버에서 학습된 혼잡 윈도우에 기초하여 송신될 TDA(Triple Dup ACK)의 수를 결정하는 단계를 포함할 수 있고, 계산된 TDA는 RTO의 만료 전에 공유되고, 핸드오버 시간에 기초하여 전송될 TDA 수의 조정 또는 제어 중 적어도 하나를 수행하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, when CPL occurs, one or more missing data packets may be recovered by managing a transmission rate of a Dup (duplicate) ACK (acknowledgement), and the step of managing the Dup ACK includes: Determining the occurrence of an event; Calculating a handover time when determining a handover event; It may include the step of determining the number of TDA (Triple Dup ACK) to be transmitted based on the congestion window learned in the server, the calculated TDA is shared before the expiration of the RTO, the number of TDAs to be transmitted based on the handover time It may include performing at least one of adjustment or control of.

본 개시의 일 실시예에 따르면, CPL의 발생 시, 하나 이상의 누락된 데이터 패킷들은, 서버로 CPL 이벤트의 발생을 시그널링하고, 여기서 서버는 신호 수신 시 데이터 전송을 중단하는 단계; 하나 이상의 프로브 데이터 패킷들에 대한 프로브 시간 주기 및 시퀀스 번호를 설정하고, 여기서 프로브 시간 주기는 서버로 지시되는 단계; 프로브 시간 주기의 만료시까지, 서버에 의해 전송된 하나 이상의 데이터 패킷들을 제거하는 단계; 프로브 시간 주기의 만료 시까지 서버로 성공 프로브 ACK을 전송하는 단계; 서버로부터 재전송된 하나 이상의 누락된 데이터 패킷들을 수신하고, 서버는 성공 프로브 ACK을 수신한 후 하나 이상의 누락된 데이터 패킷들을 재전송하는 단계에 의해 복구될 수 있다.According to an embodiment of the present disclosure, when CPL occurs, one or more missing data packets signal the occurrence of a CPL event to a server, wherein the server stops data transmission upon receiving the signal; Setting a probe time period and a sequence number for one or more probe data packets, wherein the probe time period is indicated to a server; Removing one or more data packets transmitted by the server until expiration of the probe time period; Transmitting a success probe ACK to the server until expiration of the probe time period; Upon receiving the retransmitted one or more missing data packets from the server, the server may be recovered by retransmitting the one or more missing data packets after receiving the success probe ACK.

본 개시의 일 실시예에 따르면, 하나 이상의 이벤트들의 발생은, TCP 통신 시스템에서 데이터 패킷들의 전송을 최적화하기 위해, 데이터 패킷들의 불필요한 재전송 및 지연된 타임아웃을 제어하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, the occurrence of one or more events may include controlling unnecessary retransmission of data packets and delayed timeout in order to optimize the transmission of data packets in a TCP communication system.

본 개시의 일 실시예에 따르면, 무선 TCP 통신 시스템에서 데이터 패킷들의 송신을 최적화하기 위한 사용자 장비(user equipment, UE)는, 프로세서 및 프로세서와 통신 가능하게 결합된 메모리를 포함하고, 여기서 메모리는 프로세서 실행 가능한 인스트럭션들(instructions)을 저장하며, 실행 시 상기 사용자 장비로 하여금 TCP 사용자 디바이스에 의해 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷을 수신하도록 하고, 하나 이상의 이벤트들의 발생에 기초하여 수신된 데이터 패킷들 중 하나 이상의 데이터 패킷들의 누락(missing)을 식별하고, 재전송 타임아웃(retransmission timeout, RTO) 타이머의 만료 시까지, 누락된 하나 이상의 데이터 패킷을 수신하기 위해 대기하는 시간 간격 동안 RTO 타이머를 시작하고, 네트워크 메트릭은 복수의 데이터 패킷들이 전송되는 현재 네트워크 상태에 기초하여 계산되고, 누락된 하나 이상의 데이터 패킷들을 수신하기 위해 계산된 네트워크 메트릭에 기초하여 수정된 RTO 타이머를 생성하도록 할 수 있다.According to an embodiment of the present disclosure, a user equipment (UE) for optimizing transmission of data packets in a wireless TCP communication system includes a processor and a memory communicatively coupled with the processor, wherein the memory is a processor Stores executable instructions and, upon execution, causes the user equipment to receive at least one data packet from among a plurality of data packets transmitted by the TCP user device, and receive based on the occurrence of one or more events RTO timer during the time interval in which one or more data packets are missing from among the dropped data packets and waits to receive one or more missing data packets until expiration of the retransmission timeout (RTO) timer The network metric may be calculated based on the current network state in which the plurality of data packets are transmitted, and a modified RTO timer may be generated based on the calculated network metric to receive one or more missing data packets. .

본 개시의 일 실시예에 따르면, 무선 통신 시스템에서 단말의 동작 방법은, 다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하는 단계; 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하는 단계; 및 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a method of operating a terminal in a wireless communication system includes: identifying an omission of at least one data packet among a plurality of data packets transmitted from another terminal; Determining an event that caused the at least one data packet to be dropped; And setting a length of a timer for receiving the at least one missing data packet based on a network metric corresponding to the determined event.

본 개시의 일 실시예에 따르면, 무선 통신 시스템에서 단말은, 입출력 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 다른 단말으로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하고, 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하고, 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정할 수 있다.According to an embodiment of the present disclosure, in a wireless communication system, a terminal includes an input/output interface; A memory for storing one or more instructions; And at least one processor that executes the one or more instructions stored in the memory, wherein the at least one processor identifies the omission of at least one data packet among a plurality of data packets transmitted from another terminal, and the An event that caused at least one data packet to be dropped may be determined, and a length of a timer for receiving the at least one missing data packet may be set based on a network metric corresponding to the determined event.

본 개시의 일 실시예에 따르면, 컴퓨터로 읽을 수 있는 기록 매체는, 다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하는 동작; 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하는 동작; 및 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 동작을 수행하도록 하는 프로그램을 저장할 수 있다.According to an embodiment of the present disclosure, a computer-readable recording medium includes: identifying an omission of at least one data packet among a plurality of data packets transmitted from another terminal; Determining an event that caused the at least one data packet to be dropped; And a program for setting a length of a timer for receiving the at least one missing data packet based on a network metric corresponding to the determined event.

도 1a는 본 개시의 일 실시예에 따른 무선 TCP(Transmission Control Protocol) 통신 시스템에서 데이터 패킷들의 전송을 최적화기 위한 예시적인 시스템도이다.
도 1b는 본 개시의 일 실시예에 따른 무선 네트워크에서, 사용자 디바이스가 데이터 패킷들의 전송 중 다양한 손실을 경험하는 예시를 도시한다.
도 2는 본 개시의 일 실시예에 따른 사용자 장비(user equipment, UE)의 동작 방법을 나타내는 흐름도이다..
도 3은 본 개시의 일 실시예에 따른 사용자 장비의 블록도이다..
도 4는 본 개시의 일 실시예에 따른 무선 필터의 예시를 도시한다.
도 5는 본 개시의 일 실시예에 따른 재전송 타임아웃(retransmission timeout, RTO) 필터가 동작하는 예시적인 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 가짜 손실(spurious loss, SL)과 관련된 예시적인 다이어그램이다.
도 7은 본 개시의 일 실시예에 따른 버스트 손실(burst loss, BL)의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시적인 시퀀스 다이어그램이다.
도 8은 본 개시의 일 실시예에 따른 필터 방법(filter method)을 이용하여, 연속 패킷 손실(consecutive packet loss, CPL)의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시를 도시한다.
도 9는 본 개시의 일 실시예에 따른 프로브 방법(probe method)을 이용하여, CPL의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시적인 시퀀스 다이어그램이다.
도 10은 본 개시의 일 실시예에 따른 프로브 방법을 이용하여, CPL의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시적인 흐름도이다.
도 11은 본 개시의 일 실시예에 따른 BL 발생 시, RTO 설정과 관련된 성능 그래프이다.
도 12는 본 개시의 일 실시예에 따른 CPL 발생 시, RTO 설정과 관련된 성능 그래프이다.
도 13은 본 개시의 일 실시예에 따른 사용자 장비의 동작 방법을 나타내는 흐름도이다.
도 14는 본 개시의 일 실시예에 따른 사용자 장비의 구체적인 블록도이다.
1A is an exemplary system diagram for optimizing transmission of data packets in a wireless Transmission Control Protocol (TCP) communication system according to an embodiment of the present disclosure.
1B illustrates an example in which a user device experiences various losses during transmission of data packets in a wireless network according to an embodiment of the present disclosure.
2 is a flowchart illustrating a method of operating a user equipment (UE) according to an embodiment of the present disclosure.
3 is a block diagram of user equipment according to an embodiment of the present disclosure.
4 shows an example of a wireless filter according to an embodiment of the present disclosure.
5 is an exemplary flow chart in which a retransmission timeout (RTO) filter operates according to an embodiment of the present disclosure.
6 is an exemplary diagram related to a spurious loss (SL) according to an embodiment of the present disclosure.
7 is an exemplary sequence diagram for recovering lost data packets when a burst loss (BL) occurs according to an embodiment of the present disclosure.
8 illustrates an example for recovering missing data packets when a continuous packet loss (CPL) occurs using a filter method according to an embodiment of the present disclosure.
9 is an exemplary sequence diagram for recovering missing data packets when CPL occurs, using a probe method according to an embodiment of the present disclosure.
10 is an exemplary flowchart for recovering missing data packets when CPL occurs, using a probe method according to an embodiment of the present disclosure.
11 is a performance graph related to RTO setting when BL occurs according to an embodiment of the present disclosure.
12 is a performance graph related to RTO setting when CPL occurs according to an embodiment of the present disclosure.
13 is a flowchart illustrating a method of operating user equipment according to an embodiment of the present disclosure.
14 is a detailed block diagram of user equipment according to an embodiment of the present disclosure.

아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts not related to the description are omitted in order to clearly describe the present disclosure, and similar reference numerals are attached to similar parts throughout the specification.

본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.The terms used in the present disclosure have been described as general terms currently used in consideration of the functions mentioned in the present disclosure, but this may mean various other terms depending on the intention or precedent of a technician working in the field, the emergence of new technologies, etc. I can. Therefore, terms used in the present disclosure should not be interpreted only by the name of the term, but should be interpreted based on the meaning of the term and the contents throughout the present disclosure.

또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 이 용어들에 의해 한정되어서는 안 된다. 이 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용된다.In addition, terms such as first and second may be used to describe various components, but the components should not be limited by these terms. These terms are used for the purpose of distinguishing one component from another.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 개시에서 다양한 곳에 등장하는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.Phrases such as "in one embodiment" appearing in various places in the present disclosure are not necessarily all referring to the same embodiment.

본 개시의 일 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.An embodiment of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented with various numbers of hardware and/or software components that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors, or may be implemented by circuit configurations for a predetermined function. In addition, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented as an algorithm executed on one or more processors. In addition, the present disclosure may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as "mechanism", "element", "means" and "configuration" may be used broadly, and are not limited to mechanical and physical configurations.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다. 또한, 도 1a 내지 14에서 동일한 참조 번호는, 도면 전체에 걸쳐 일관된 특징을 나타낼 수 있다.In addition, the connecting lines or connecting members between the components illustrated in the drawings are merely illustrative of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added. In addition, the same reference numerals in FIGS. 1A to 14 may represent consistent features throughout the drawings.

이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.

일반적으로, 무선 네트워크에서는 비트 레이트(bit rates) 및 핸드오버(handover) 등에 의해 데이터 손실이 발생할 수 있다. 그러므로, 기존의 TCP 시스템에서는 무선 핸드오버가 효율적으로 관리되지 않을 수 있다. 또한, 이동 통신망(moving network) 및 CoMP(coordinated multi-points) 측면에서 현재 무선 통신 시스템의 시스템 네트워크 개선에 대한 개발이 진행되고 있다. 또한, 대역폭 오류율(bandwidth error rate) 및 대역폭 지연 곱(bandwidth delay product, BDP)이 증가하는 경우, 기존 시스템에서의 활용률이 낮아지는 문제가 생길 수 있다. 또한, 기존의 TCP 시스템은, 무선 네트워크에서는 정확하지 않은 Karn and Jacobson's 알고리즘을 주로 사용하였다.In general, data loss may occur due to bit rates and handovers in wireless networks. Therefore, wireless handover may not be efficiently managed in the existing TCP system. In addition, in terms of a moving network and coordinated multi-points (CoMP), development of a system network improvement of a current wireless communication system is in progress. In addition, when the bandwidth error rate and the bandwidth delay product (BDP) increase, there may be a problem that the utilization rate in the existing system is lowered. In addition, the existing TCP system mainly uses Karn and Jacobson's algorithm, which is not accurate in wireless networks.

본 개시의 실시예들은 무선 TCP(wireless TCP, WTCP) 통신 시스템에서 데이터 패킷들의 송신을 최적화하기 위한 방법 및 사용자 장비와 관련되어 있다. 일 실시예에서, WTCP는 TCP의 앤드 투 앤드(end-to-end) 의미론(semantics)을 보존하는 TCP의 프록시(proxy) 기반 수정(modification)일 수 있다. TCP는 인터넷 프로토콜 세트(suite)의 중요한 표준이자 필수적인(vital) 요소 중 하나이지만, 데이터 재전송에서 다양한 문제들이 존재하고, 재전송 모호성(retransmission ambiguity)은 그러한 다양한 문제들 중 하나이다.Embodiments of the present disclosure relate to a method and user equipment for optimizing transmission of data packets in a wireless TCP (WTCP) communication system. In one embodiment, WTCP may be a proxy-based modification of TCP that preserves the end-to-end semantics of TCP. TCP is an important standard and one of the vital elements of the Internet protocol suite, but there are various problems in data retransmission, and retransmission ambiguity is one of those various problems.

일반적으로, 이러한 재전송 모호성을 해결하기 위한 하나 이상의 알고리즘이 TCP에 사용될 수 있다. 일 실시예에서, 하나 이상의 알고리즘들은 Karn and Jacobson's 알고리즘을 포함할 수 있다. 이러한 알고리즘들은 TCP에 대하여 신뢰할 수 없으며, TCP에 대하여 정확하게 작동하지 않을 수 있다. 이러한 조건에서, 본 개시는 하나 이상의 이벤트들의 발생에 기초하여 수신된 데이터 패킷들로부터, 하나 이상의 데이터 패킷들의 누락을 식별할 수 있다.In general, one or more algorithms to resolve this retransmission ambiguity can be used in TCP. In one embodiment, one or more algorithms may include Karn and Jacobson's algorithm. These algorithms are not reliable over TCP and may not work correctly over TCP. Under such conditions, the present disclosure may identify, from the received data packets, the omission of one or more data packets based on the occurrence of one or more events.

일 실시예에서, 하나 이상의 이벤트는 가짜 손실(spurious loss, SL) 및 연속 패킷 손실(consecutive packet loss, CPL) 중 적어도 하나의 트리거링(triggering)을 포함할 수 있다. 누락된 하나 이상의 데이터 패킷들을 수신하기 위한 시간 간격 동안 재전송 타임아웃(retransmission timeout, RTO) 타이머가 시작될 수 있다. RTO 는 전송된 세그먼트에 대한 확인응답을 송신단이 기다려야 하는 시간을 의미할 수 있다.In one embodiment, the one or more events may include triggering of at least one of spurious loss (SL) and continuous packet loss (CPL). A retransmission timeout (RTO) timer may be started during a time interval for receiving one or more missing data packets. The RTO may mean a time for a transmitter to wait for an acknowledgment for a transmitted segment.

네트워크 메트릭은 데이터 패킷들이 전송되는 현재 네트워크 상태에 기초하여 계산될 수 있다. 그 후, 네트워크 메트릭에 기초하여, 누락된 하나 이상의 데이터 패킷들을 수신하기 위한 RTO 타이머가 수정될 수 있다. 본 개시에서 설명된 방법은 수정된 RTO 타이머를 이용하여 누락된 데이터 패킷들의 불필요한 재전송을 제어함으로써, 무선 TCP 통신 시스템에서 데이터 패킷들의 전송을 최적화할 수 있다. 본 개시는 사용자 장비 레벨에서 데이터 전송을 최적화하기 위한 해결 방안을 제공할 수 있고, 이때, 기지국 또는 다른 네트워크 엔티티들에서 임의의 수정의 필요성이 제거될 수 있다. The network metric may be calculated based on the current network conditions over which data packets are transmitted. Thereafter, based on the network metric, the RTO timer for receiving the missing one or more data packets may be modified. The method described in the present disclosure can optimize transmission of data packets in a wireless TCP communication system by controlling unnecessary retransmission of missing data packets using a modified RTO timer. The present disclosure may provide a solution for optimizing data transmission at the user equipment level, in which case the need for any modification at the base station or other network entities may be eliminated.

도 1a는 본 개시의 일 실시예에 따른 무선 TCP 통신 시스템에서 데이터 패킷들의 전송을 최적화기 위한 예시적인 시스템도이다.1A is an exemplary system diagram for optimizing transmission of data packets in a wireless TCP communication system according to an embodiment of the present disclosure.

도 1a를 참조하면, 시스템(100)은 사용자 장비(user equipment, UE)(101), 사용자 디바이스들(user devices)(103-1 내지 103-N) 및 통신 네트워크(105)를 포함할 수 있다. 시스템(100)은 통신 네트워크(105)를 통하여 사용자 디바이스(예를 들어, 103-1)와 연결된 사용자 장비(101)를 포함할 수 있다. 사용자 디바이스는 사용자 장비(101)로 데이터 패킷들을 제공할 수 있다.Referring to FIG. 1A, a system 100 may include user equipment (UE) 101, user devices 103-1 to 103-N, and a communication network 105. . System 100 may include user equipment 101 connected to a user device (eg, 103-1) through a communication network 105. The user device may provide data packets to user equipment 101.

일 실시예에서, 사용자 장비(101)는 단말을 의미할 수도 있다. 즉, 단말(terminal)은 UE (User Equipment), MS (Mobile Station), 셀룰러폰, 스마트폰, 컴퓨터, 또는 통신기능을 수행할 수 있는 멀티미디어시스템을 포함할 수 있다. 일 실시예에서, 단말은 송신단 또는 수신단 역할을 수행할 수 있다. 또한, 다른 단말은 송신단 또는 수신단 역할을 수행할 수 있다.In one embodiment, the user equipment 101 may mean a terminal. That is, the terminal may include a user equipment (UE), a mobile station (MS), a cellular phone, a smartphone, a computer, or a multimedia system capable of performing a communication function. In one embodiment, the terminal may serve as a transmitting end or a receiving end. In addition, other terminals may perform the role of a transmitting end or a receiving end.

일 실시예에서, 사용자 장비(101)는 입출력(Input/Output, I/O) 인터페이스(interface)(107), 메모리(109) 및 프로세서(111)를 포함할 수 있다. 그러나, 도 1a에 도시된 구성 요소 모두가 사용자 장비(101)의 필수 구성 요소인 것은 아니다. 도 1a에 도시된 구성 요소보다 많은 구성 요소에 의해 사용자 장비(101)가 구현될 수도 있고, 도 1a에 도시된 구성 요소보다 적은 구성 요소에 의해 사용자 장비(101)가 구현될 수도 있다.In one embodiment, the user equipment 101 may include an input/output (I/O) interface 107, a memory 109, and a processor 111. However, not all of the components shown in FIG. 1A are essential components of the user equipment 101. The user equipment 101 may be implemented by more components than the components shown in FIG. 1A, or the user equipment 101 may be implemented by fewer components than the components shown in FIG. 1A.

일 실시예에서, 입출력 인터페이스(107)는 사용자 장비(101)와 유선 또는 무선으로 연결된 사용자 디바이스, 또는 다른 전자 디바이스와 통신할 수 있다. 예를 들면, 입출력 인터페이스(107)는 사용자 디바이스로부터 복수의 데이터 패킷들을 수신할 수 있다.In one embodiment, the input/output interface 107 may communicate with a user device or other electronic device connected to the user equipment 101 by wire or wirelessly. For example, the input/output interface 107 may receive a plurality of data packets from a user device.

메모리(109)에는 애플리케이션과 같은 프로그램 및 파일 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 프로세서(111)는 메모리(109)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(109)에 저장할 수도 있다. 예를 들면, 입출력 인터페이스(107)로부터 수신된 복수의 데이터 패킷들은 메모리(109)에 저장될 수 있다. 메모리(109)는 사용자 장비(101)의 프로세서(111)와 통신 가능하게 연결될 수 있다. 또한, 메모리(109)는 프로세서(111)로 하여금 무선 TCP 통신 시스템에서 데이터 패킷들의 전송을 최적화하기 위한 인스트럭션들(instructions)을 실행할 수 있게 하는 프로세서 인스트럭션들을 저장할 수 있다.Various types of data such as programs and files such as an application may be installed and stored in the memory 109. The processor 111 may access and use the data stored in the memory 109 or may store new data in the memory 109. For example, a plurality of data packets received from the input/output interface 107 may be stored in the memory 109. The memory 109 may be communicatively connected with the processor 111 of the user equipment 101. Further, the memory 109 may store processor instructions that enable the processor 111 to execute instructions for optimizing the transmission of data packets in a wireless TCP communication system.

프로세서(111)는 사용자 장비(101)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 적어도 하나 이상 포함할 수 있다. 프로세서(111)는 사용자 장비(101)를 작동하기 위한 동작을 수행하도록 사용자 장비(101)에 포함된 다른 구성들을 제어할 수 있다. 예를 들어, 프로세서(111)는 메모리(109)에 저장된 프로그램을 실행시키거나, 저장된 파일을 읽어오거나, 새로운 파일을 저장할 수도 있다. 일 실시예에서, 프로세서(111)는 메모리(109)에 저장된 프로그램을 실행함으로써, 사용자 장비(101)를 작동하기 위한 동작을 수행할 수 있다.The processor 111 controls the overall operation of the user equipment 101 and may include at least one processor such as a CPU or a GPU. Processor 111 may control other components included in user equipment 101 to perform operations to operate user equipment 101. For example, the processor 111 may execute a program stored in the memory 109, read a stored file, or store a new file. In one embodiment, the processor 111 may perform an operation for operating the user equipment 101 by executing a program stored in the memory 109.

일 실시예에 따르면, 무선 TCP 통신 네트워크에서, 데이터 패킷을 송신하는 주체는 송신단(transmitting node) 또는 송신기(transmitter)일 수 있고, 송신단으로부터 송신된 데이터 패킷을 수신하고, ACK(acknowledgement)을 송신하는 주체는 수신단(receiving node) 또는 수신기(receiver)로 정의될 수 있다. 도 1a에서, 사용자 장비(101)는 송신단 또는 수신단으로 동작할 수 있다. 사용자 디바이스 또한, 송신단 또는 수신단으로 동작할 수 있다. 예를 들면, 사용자 디바이스가 송신단, 사용자 장비(101)가 수신단인 경우, 사용자 디바이스는 사용자 장비(101)로 데이터 패킷을 송신할 수 있고, 사용자 장비(101)는 수신된 데이터 패킷에 응답하여, 사용자 디바이스로 ACK을 송신할 수 있다.According to an embodiment, in a wireless TCP communication network, a subject transmitting a data packet may be a transmitting node or a transmitter, receiving a data packet transmitted from the transmitting end, and transmitting an acknowledgment (ACK). The subject may be defined as a receiving node or a receiver. In Fig. 1A, the user equipment 101 may operate as a transmitting end or a receiving end. The user device can also operate as a transmitting end or a receiving end. For example, when the user device is the transmitting end and the user equipment 101 is the receiving end, the user device can transmit a data packet to the user equipment 101, and the user equipment 101 responds to the received data packet, ACK can be sent to the user device.

도 1a에는 사용자 장비(101)가 포함하는 구성에 대해서만 도시되었으나, 이는 설명의 편의를 위한 것이며, 사용자 디바이스 또한 사용자 장비(101)와 같은 구성을 포함할 수 있다. 예를 들면, 사용자 디바이스는 입출력 인터페이스, 메모리 및 프로세서 등을 포함할 수 있으며, 이에 제한되지 않는다.Although only the configuration included in the user equipment 101 is illustrated in FIG. 1A, this is for convenience of description, and the user device may also include the same configuration as the user equipment 101. For example, the user device may include an input/output interface, a memory, and a processor, but is not limited thereto.

일 실시예에서, 데이터 전송 프로세스 동안, 사용자 장비(101)는 무선 TCP 통신 네트워크를 통해, 사용자 디바이스중 하나의 사용자 디바이스에 의해 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷을 수신할 수 있다. 사용자 장비(101)는 사용자 디바이스에 의해 전송된 복수의 데이터 패킷들 각각을 수신할 수도 있다. 다만, 적어도 하나의 데이터 패킷을 수신하는 경우, 사용자 장비(101)는 수신된 데이터 패킷들 중에서 하나 이상의 누락된 데이터 패킷들을 식별할 수 있다. 이때, 데이터 패킷들은 하나 이상의 이벤트들의 발생으로 인해 누락될 수 있다. 사용자 장비(101)는 하나 이상의 이벤트들의 발생 유형에 기초하여, 하나 이상의 누락된 데이터 패킷들을 식별할 수 있다.In one embodiment, during the data transmission process, the user equipment 101 may receive at least one data packet from among a plurality of data packets transmitted by one of the user devices through the wireless TCP communication network. . User equipment 101 may receive each of a plurality of data packets transmitted by a user device. However, when receiving at least one data packet, the user equipment 101 may identify one or more missing data packets among the received data packets. In this case, data packets may be dropped due to occurrence of one or more events. User equipment 101 may identify one or more missing data packets based on the type of occurrence of one or more events.

일 실시예에서, 데이터 패킷의 누락을 발생시킬 수 있는 하나 이상의 이벤트들은 가짜 손실(spurious loss, SL), 버스트 손실(burst loss, BL) 및 연속 패킷 손실(consecutive packet loss, CPL) 중 적어도 하나에 대한 트리거링을 포함할 수 있다. 일 실시예에서, SL은 네트워크에서의 갑작스러운 지연 스파이크(sudden delay spike) 또는 재정렬(reordering)로 인해 야기될 수 있으며, 이러한 SL은 TCP 통신 시스템이 손실 이벤트를 경험하게 할 수 있다. TCP 네트워크에서 손실은 혼잡의 징후(sign of congestion)로 해석될 수 있고, 프로토콜의 전송 속도 감소를 야기할 수 있다.In one embodiment, one or more events that may cause a data packet to be missed are at least one of spurious loss (SL), burst loss (BL), and continuous packet loss (CPL). May include triggering. In one embodiment, the SL may be caused by a sudden delay spike or reordering in the network, which SL may cause the TCP communication system to experience a loss event. In a TCP network, the loss can be interpreted as a sign of congestion and can cause a reduction in the transmission rate of the protocol.

일 실시예에서, BL은 통신 채널을 통해 수신된 연속적인 심볼들의 시퀀스에서, 제1 심볼 및 마지막 심볼이 에러 상태에 있는 것을 의미할 수 있다. 또한, 에러 버스트(error burst) 내에는 정확하게 수신된 심볼들의 연속적인(contiguous) 서브시퀀스(subsequence)가 존재하지 않을 수 있다. 일 실시예에서, CPL은 핸드오버 상황에서 다중 연속 패킷들(multiple consecutive packets)의 손실을 의미할 수 있다. 일 실시예에서, 핸드오버는 하나의 채널로부터 다른 채널로, 진행 중인(ongoing) 데이터 세션을 전송하는 프로세스를 지칭할 수 있다. 본 개시의 실시예들은 통신 시스템에서의 초 저지연(ultra-low latency)에 적용될 수도 있다.In one embodiment, BL may mean that in a sequence of consecutive symbols received through a communication channel, the first symbol and the last symbol are in an error state. Further, there may not be a contiguous subsequence of correctly received symbols within an error burst. In one embodiment, CPL may mean loss of multiple consecutive packets in a handover situation. In one embodiment, handover may refer to a process of transmitting an ongoing data session from one channel to another. Embodiments of the present disclosure may be applied to ultra-low latency in a communication system.

일 실시예에서, 사용자 디바이스는 사용자들과 관련된 임의의 컴퓨팅 디바이스들일 수 있다. 예를 들면, 임의의 컴퓨팅 디바이스들은 랩탑(laptop), 테스크탑 컴퓨터(desktop computer), PDA(Personal Digital Assistant), 노트북(notebook), 스마트폰(smartphone), 태블릿(tablet) 및 임의의 다른 컴퓨팅 디바이스들을 포함할 수 있다. 당업자는 데이터 패킷의 제공을 위하여, 본 개시에서 명시적으로 언급되지 않은 임의의 다른 사용자 디바이스들이 포함(encompass)될 수 있다는 것을 이해할 수 있다.In one embodiment, the user device may be any computing devices associated with users. For example, certain computing devices may include laptops, desktop computers, Personal Digital Assistants (PDAs), notebooks, smartphones, tablets, and any other computing devices. Can include. One of ordinary skill in the art can understand that for the provision of data packets, any other user devices not explicitly mentioned in this disclosure may be encompassed.

일 실시예에서, 통신 네트워크(105)는 무선 애플리케이션 프로토콜(Wireless Application Protocol, WAP), 인터넷, Wi-Fi 등을 사용하는 무선 네트워크를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들면, 통신 네트워크(105)는 제2세대(2nd generation, 2G), 제3세대(3rd generation, 3G), LTE(Long Term Evolution) 및 제5세대(5th generation, 5G) 무선 통신 시스템과 같은 상이한 세대의 무선 통신 시스템을 포함할 수 있다. 사용자 장비(101) 및 사용자 디바이스는 TCP를 사용하여 상호 연결될 수 있다. 이때, 사용자 장비(101)는 불필요한 재전송(unnecessary retransmission) 및 지연된 타임 아웃(delayed timeout)을 제어함으로써, 데이터 전송을 최적화할 수 있다. 이러한 데이터 전송의 최적화를 통하여, TCP 통신 시스템의 레이턴시(latency)가 향상될 수 있다. 일 실시예에서, 사용자 장비(101)는 랩탑, 컴퓨터, PDA, 노트북, 스마트폰, 태블릿 및 임의의 다른 사용자 컴퓨팅 디바이스를 포함할 수 있으나, 이에 제한되는 것은 아니다. 명시적으로 언급되지 않더라도, 당업자는 임의의 다른 디바이스들이 본 개시의 사용자 장비(101)로서 사용될 수 있다는 것을 이해할 수 있다.In one embodiment, the communication network 105 may include a wireless network using a wireless application protocol (WAP), the Internet, and Wi-Fi, but is not limited thereto. For example, the communication network 105 is a second generation (2 nd generation, 2G), third generation (3 rd generation, 3G), LTE (Long Term Evolution), and the fifth generation (5 th generation, 5G) wireless It may include different generations of wireless communication systems, such as communication systems. User equipment 101 and user devices may be interconnected using TCP. In this case, the user equipment 101 may optimize data transmission by controlling unnecessary retransmission and delayed timeout. Through the optimization of such data transmission, the latency of the TCP communication system can be improved. In one embodiment, user equipment 101 may include, but is not limited to, laptops, computers, PDAs, notebooks, smart phones, tablets, and any other user computing device. Although not explicitly stated, those skilled in the art can understand that any other devices may be used as user equipment 101 of the present disclosure.

도 1b는 본 개시의 일 실시예에 따른 무선 네트워크에서, 사용자 디바이스가 데이터 패킷들의 전송 중 다양한 손실을 경험하는 예시를 도시한다.1B illustrates an example in which a user device experiences various losses during transmission of data packets in a wireless network according to an embodiment of the present disclosure.

도 1b를 참조하면, 임의의 영역에 위치한 제1 기지국(115) 및 제2 기지국(119)을 통해 연결된 하나 이상의 서버들, 라우터들을 포함하는 TCP 통신 시스템(113)이 도시된다. 일 실시예에서, 사용자(117)가 제1 기지국(115) 근처의 영역에서 사용자 디바이스를 이용하여 통화하는 시나리오가 고려될 수 있다. 일 실시예에서, 사용자 디바이스는 휴대 전화(mobile phone)를 의미할 수 있다. 상술된 시나리오에서, 사용자(117)와 관련된 휴대 전화는 제1 기지국(115)을 통해 수신단(receiving end)으로부터 적어도 하나의 패킷을 수신할 수 있다.Referring to FIG. 1B, a TCP communication system 113 including one or more servers and routers connected through a first base station 115 and a second base station 119 located in an arbitrary area is illustrated. In one embodiment, a scenario in which the user 117 makes a call using a user device in an area near the first base station 115 may be considered. In one embodiment, the user device may mean a mobile phone. In the above-described scenario, the mobile phone associated with the user 117 may receive at least one packet from a receiving end through the first base station 115.

일 실시예에서는, 사용자(117)가 정지한 상태(static)에서 천천히 움직이기 시작하는 시나리오가 고려될 수 있다. 이러한 시나리오에서, 사용자(117)는 SL 이벤트를 경험할 수 있다. 이때, SL 이벤트는 폴(poll) 기반일 수 있고, 임의의 다운로드 동작이 휴대 전화에서 발생할 때, 시작될 수 있다. 또한, SL 이벤트는 후술하는 BL 이벤트 및 CPL 이벤트의 발생과 함께 발생할 수도 있다.In one embodiment, a scenario in which the user 117 starts moving slowly from a static state may be considered. In this scenario, the user 117 may experience an SL event. At this time, the SL event may be poll-based, and may be initiated when any download operation occurs in the mobile phone. In addition, the SL event may occur together with the occurrence of a BL event and a CPL event described later.

일 실시예에서, 사용자(117)가 LOS(Line of Sight)에서 NLOS(Non-Line of Sight)로, 또는 반대로 NLOS에서 LOS로 이동하는 시나리오가 고려될 수 있다. 이러한 시나리오에서, 사용자(117)는 BL 이벤트를 경험할 수 있다. 일 실시예에서, 사용자(117)가 제1 기지국(115)으로부터 이동함으로써, 사용자(117)의 휴대 전화가 제1 기지국(115)으로부터 제2 기지국(119)으로 핸드오버하는 경우, 사용자(117)는 CPL 이벤트를 경험할 수 있다. 이때, 제1 기지국(115)은 gNode B(gNB), 제2 기지국(119)은 eNode B(eNB)를 의미할 수 있다. 일 실시예에서, CPL 이벤트는 핸드오버가 수행되는 동안 아웃레이지 영역(outrage area)에서 발생할 수 있다. 일 실시예에서, 하나 이상의 이벤트들은 서로 독립적일 수 있으므로, 모든 이벤트들이 서로 조합되어 발생할 수 있다. 일 실시예에서, 제1 기지국(115) 및 제2 기지국(119)과 같은 기지국은, 단말의 자원할당을 수행하는 주체로서, gNode B, eNode B, Node B, BS (Base Station), 무선 접속 유닛, 기지국 제어기, 또는 네트워크 상의 노드 중 적어도 하나일 수 있다.In one embodiment, a scenario in which the user 117 moves from a Line of Sight (LOS) to a Non-Line of Sight (NLOS), or conversely from an NLOS to an LOS may be considered. In this scenario, the user 117 can experience a BL event. In one embodiment, when the user 117 moves from the first base station 115, so that the mobile phone of the user 117 is handed over from the first base station 115 to the second base station 119, the user 117 ) Can experience CPL events. In this case, the first base station 115 may refer to a gNode B (gNB), and the second base station 119 may refer to an eNode B (eNB). In one embodiment, the CPL event may occur in an outrage area during handover. In an embodiment, since one or more events may be independent of each other, all events may occur in combination with each other. In one embodiment, a base station, such as the first base station 115 and the second base station 119, is a subject that performs resource allocation of the terminal, gNode B, eNode B, Node B, BS (Base Station), radio access It may be at least one of a unit, a base station controller, or a node on a network.

일 실시예에서, 상술된 이벤트들 중 적어도 하나의 이벤트의 발생으로 인하여, 사용자 장비(101)로 전달되는 하나 이상의 데이터 패킷들이 누락될 수 있다. 사용자 장비(101)는 누락된 하나 이상의 데이터 패킷들을 식별할 수 있고, 누락된 하나 이상의 데이터 패킷들을 수신하기 위해 대기하는 시간 간격(time interval) 동안 RTO 타이머를 시작(initiate)할 수 있다. 일 실시예에서, TCP는 RTO를 이용함으로써, 데이터 수신단으로부터 임의의 피드백이 없더라도, 데이터 전송을 보증(ensure)할 수 있다.In one embodiment, due to the occurrence of at least one of the above-described events, one or more data packets transmitted to the user equipment 101 may be omitted. User equipment 101 may identify one or more missing data packets and may initiate an RTO timer during a time interval waiting to receive the missing one or more data packets. In one embodiment, by using the RTO, TCP can guarantee data transmission even if there is no feedback from the data receiving end.

일 실시예에서, 네트워크 메트릭은 복수의 데이터 패킷들이 전송되는 현재 네트워크 상태들에 기초하여 계산될 수 있다. 그 후, 사용자 장비(101)는 누락된 하나 이상의 데이터 패킷들을 수신하기 위하여, 계산된 네트워크 메트릭에 기초하여 수정된(modified) RTO 타이머를 생성할 수 있다. 수정된 RTO 타이머를 이용하여, 사용자 장비(101)는 TCP 통신 시스템에서 데이터 패킷들의 전송을 최적화할 수 있다.In one embodiment, the network metric may be calculated based on current network conditions over which a plurality of data packets are transmitted. Thereafter, the user equipment 101 may generate a modified RTO timer based on the calculated network metric in order to receive the missing one or more data packets. Using the modified RTO timer, the user equipment 101 can optimize the transmission of data packets in a TCP communication system.

일 실시예에서, 상술된 적어도 하나의 이벤트의 발생은, 데이터 패킷들의 불필요한 재전송 및 TCP 통신 시스템에서 데이터 패킷들의 전송을 최적화하기 위한 지연된 타임아웃을 제어하는 것을 포함할 수 있다. 일 실시예에서, SL의 발생 시, 누락된 하나 이상의 데이터 패킷들은, 네트워크 메트릭에 기초하여 RTO를 추정함으로써 복구될 수 있다. 예를 들면, 사용자 장비(101)는 SRTT 및 RTTVAR(Round Trip Time Variance)을 추정하고, 추정된 SRTT 및 RTTVAR에 기초하여 RTO를 업데이트할 수 있다.In one embodiment, the occurrence of the at least one event described above may include controlling unnecessary retransmission of data packets and a delayed timeout to optimize transmission of data packets in a TCP communication system. In one embodiment, upon occurrence of an SL, one or more data packets that are missing may be recovered by estimating the RTO based on the network metric. For example, the user equipment 101 may estimate SRTT and Round Trip Time Variance (RTTVAR), and update the RTO based on the estimated SRTT and RTTVAR.

일 실시예에서, BL의 발생 시, 누락된 하나 이상의 데이터 패킷들은 현재 네트워크 상태에 기초하여 제공된 엣지 노드(edge node)의 상태 및 이동성 파라미터(mobility parameter)에 기초하여 동적 RTO를 결정함으로써 복구될 수 있다. 또한, 하나 이상의 누락된 데이터 패킷들은 조정된 스누프(coordinated SNOOP) 및 ARQ(Automatic Repeat Request) 재전송에 기초하여 복구될 수 있다. 일 실시예에서, 동적 RTO는 수정된 RTO를 의미할 수 있다. 일 실시예에서, 사용자 장비(101)는 RTO에 기초하여 서버로 송신되어야 할 Dup ACK을 트리거링할 수 있다. 서버는 Dup ACK를 수신하는 경우, 혼잡 윈도우의 크기를 줄여 처리량을 줄일 수 있다. 사용자 장비(101)는 RTO를 제어함으로써 순간적인 SL 조건으로 인하여 처리량이 크게 감소하지 않도록 할 수 있다.In one embodiment, upon occurrence of the BL, the missing one or more data packets may be recovered by determining a dynamic RTO based on a state of an edge node and a mobility parameter provided based on a current network state. have. In addition, one or more missing data packets may be recovered based on coordinated SNOOP and Automatic Repeat Request (ARQ) retransmission. In one embodiment, the dynamic RTO may mean a modified RTO. In one embodiment, the user equipment 101 may trigger a Dup ACK to be sent to the server based on the RTO. When the server receives the Dup ACK, it can reduce the throughput by reducing the size of the congestion window. The user equipment 101 can control the RTO so that the throughput is not significantly reduced due to the instantaneous SL condition.

일 실시예에서, CPL의 발생 시, 하나 이상의 누락된 데이터 패킷들은 중복 ACK(Duplicate Acknowledgement, Dup ACK)의 전송 속도(transmission rate)를 관리함으로써 복구될 수 있다. 일 실시예에서, Dup ACK을 관리하는 단계는, 핸드오버 이벤트 발생을 결정하는 단계 및 핸드오버 이벤트 결정 시 핸드오버 시간을 계산하는 단계를 포함할 수 있다. 또한, 송신되는 TDA(Triple Dup ACK)의 개수는 서버에서 학습된 혼잡 윈도우(congestion window, CWND)에 기초하여 결정될 수 있다. 일 실시예에서, 계산된 TDA는 RTO가 만료되기 전에 공유될 수 있고, 송신되는 TDA의 개수는 핸드오버 시간에 기초하여 조정될 수 있다.In one embodiment, when CPL occurs, one or more missing data packets may be recovered by managing a transmission rate of a duplicate acknowledgment (ACK). In an embodiment, managing the Dup ACK may include determining the occurrence of a handover event and calculating a handover time when determining the handover event. In addition, the number of TDA (Triple Dup ACK) transmitted may be determined based on a congestion window (CWND) learned in the server. In one embodiment, the calculated TDA may be shared before the RTO expires, and the number of transmitted TDAs may be adjusted based on the handover time.

일 실시예에서, 사용자 장비(101)는 하나 이상의 누락된 데이터 패킷들을 수신하기 위하여, 레거시(legacy)를 사용하여 Dup ACK을 트리거링하는 대신, 수정된 RTO를 이용하여 누락된 데이터 패킷을 수신하기 위한 추가 시간(additional time) 동안 대기할 수 있다. 추가 시간 동안 사용자 장비(101)는 누락된 데이터 패킷을 수신할 수 있고, 이때, Dup ACK이 트리거링될 수 있다. 누락된 데이터 패킷이 추가 시간에도 수신되지 않는 경우, 누락된 데이터 패킷은 서버로부터 수신될 수 있다. In one embodiment, the user equipment 101 is to use a modified RTO to receive the missing data packet, instead of triggering a Dup ACK using a legacy, to receive one or more missing data packets. You can wait for additional time. During the additional time, the user equipment 101 may receive the missing data packet, at which time a Dup ACK may be triggered. If the missing data packet is not received even at the additional time, the missing data packet can be received from the server.

일 실시 예에서, Dup ACK은, TCP 통신에서, 송신단이 수신단으로 복수의 세그먼트를 전송하는 경우, 수신단에서 수신된 복수의 세그먼트의 수신 순서가, 송신단의 전송 순서와 일치하지 않는 경우, 수신단이 발생시키는 ACK을 의미할 수 있다. 이때, 수신단이 발생시키는 ACK은 수신단이 가장 최근에 정상적으로 수신한 세그먼트에 대한 ACK과 동일하기 때문에, 송신단 입장에서는 이렇게 발생된 ACK을 Dup ACK로 인식할 수 있다. 일 실시 예에서, TCP 송신단은 3개의 Dup ACK(Triple Duplicate ACK, TDA)이 수신되면 세그먼트가 손실된 것으로 간주하고, 재전송 타임아웃의 만료에 관계없이 세그먼트 재전송을 수행할 수 있다. 본 개시에서, 데이터 패킷 또는 패킷은 TCP 송신단에서 수신단으로 전송되는 세그먼트를 의미하는 것으로, 서로 혼용되어 사용될 수 있다.In one embodiment, the Dup ACK is, in TCP communication, when a transmitting end transmits a plurality of segments to a receiving end, when the receiving order of the plurality of segments received by the receiving end does not match the transmission order of the transmitting end, the receiving end occurs It may mean ACK to be made. At this time, since the ACK generated by the receiving end is the same as the ACK for the segment most recently normally received by the receiving end, the transmitted ACK can be recognized as a Dup ACK. In an embodiment, the TCP transmitter may consider that a segment is lost when three triple duplicate ACKs (TDAs) are received, and may perform segment retransmission regardless of the expiration of the retransmission timeout. In the present disclosure, a data packet or a packet refers to a segment transmitted from a TCP transmitting end to a receiving end, and can be used interchangeably.

도 2는 본 개시의 일 실시예에 따른 사용자 장비(user equipment, UE)의 동작 방법을 나타내는 흐름도이다. 도 2에서 사용자 장비는 무선 TCP 통신 네트워크에서 데이터 패킷을 수신하는 수신단을 의미할 수 있다.2 is a flowchart illustrating a method of operating a user equipment (UE) according to an embodiment of the present disclosure. In FIG. 2, the user equipment may refer to a receiving end for receiving a data packet in a wireless TCP communication network.

도 2를 참조하면, 210 단계에서, 사용자 장비(101)는 복수의 데이터 패킷들 중 누락된 데이터 패킷을 식별할 수 있다. 예를 들면, 사용자 장비(101)는 무선 TCP 통신 네트워크에서, 송신단으로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별할 수 있다. 일 실시 예에서, 송신단은, 도 1a의 사용자 디바이스들 중 적어도 하나, 또는 사용자 디바이스들과 유선 또는 무선으로 연결되어 수신단으로 데이터 패킷을 전달하는 서버를 의미할 수 있다.Referring to FIG. 2, in step 210, the user equipment 101 may identify a missing data packet among a plurality of data packets. For example, in a wireless TCP communication network, the user equipment 101 may identify an omission of at least one data packet among a plurality of data packets transmitted from a transmitting end. In an embodiment, the transmitting end may mean at least one of the user devices of FIG. 1A or a server that is connected to the user devices by wire or wirelessly and transmits a data packet to the receiving end.

220 단계에서, 사용자 장비(101)는 데이터 패킷의 누락을 발생시킨 이벤트를 결정할 수 있다. 예를 들면, 데이터 패킷의 누락을 발생시킬 수 있는 이벤트는 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 또는 연속 패킷 손실(Consecutive Packet Loss, CPL) 등을 포함할 수 있다. 일 실시 예에서, SL은 네트워크에서의 갑작스러운 지연 스파이크 또는 재정렬에 의해 발생할 수 있다. 또한, BL은 네트워크가 혼잡(congest)하지 않더라도 사용자 장비(101)의 이동성으로 인하여 발생할 수 있다. 또한, CPL은 사용자 장비(101)의 핸드오버 등에 의하여 발생할 수 있다. 상술된 각 이벤트들은 서로 독립적이므로, 하나 이상의 이벤트들이 서로 조합되어 발생할 수 있다.In step 220, the user equipment 101 may determine the event that caused the data packet to be dropped. For example, an event that may cause a data packet to be dropped may include spurious loss (SL), burst loss (BL), or continuous packet loss (CPL). In one embodiment, SL may be caused by sudden delay spikes or rearrangements in the network. In addition, BL may occur due to the mobility of the user equipment 101 even if the network is not congested. In addition, CPL may occur due to a handover of the user equipment 101 or the like. Since each of the events described above are independent of each other, one or more events may be combined with each other to occur.

230 단계에서, 사용자 장비(101)는 이벤트에 대응하는 네트워크 메트릭에 기초하여 타이머의 길이를 설정할 수 있다. 일 실시 예에서, 타이머는 TCP 통신 네트워크에서 데이터 패킷의 재전송을 위해 사용되는 RTO 타이머를 의미할 수 있다. 이벤트가 SL로 결정되는 경우, 사용자 장비(101)는 네트워크 메트릭에 기초하여 타이머의 길이를 설정할 수 있다. 또한, 이벤트가 BL로 결정되는 경우, 사용자 장비(101)는 엣지 노드(edge node)의 상태 및 이동성 파라미터 등에 기초하여 타이머의 길이를 설정할 수 있다. 또한, 이벤트가 CPL로 결정되는 경우, 사용자 장비(101)는 Dup ACK 제어 방법 또는 프로브 패킷 전송 방법 등을 이용하여 누락된 데이터 패킷을 수신할 수 있다.In step 230, the user equipment 101 may set the length of the timer based on the network metric corresponding to the event. In an embodiment, the timer may mean an RTO timer used for retransmission of data packets in a TCP communication network. When the event is determined as SL, the user equipment 101 may set the length of the timer based on the network metric. In addition, when the event is determined as BL, the user equipment 101 may set the length of the timer based on the state of the edge node and the mobility parameter. In addition, when the event is determined to be CPL, the user equipment 101 may receive the missing data packet by using a Dup ACK control method or a probe packet transmission method.

도 3은 본 개시의 일 실시예에 따른 사용자 장비의 블록도이다.3 is a block diagram of user equipment according to an embodiment of the present disclosure.

도 3을 참조하면, 사용자 장비(101)는 입출력 인터페이스(107), 메모리(109) 및 프로세서(111)를 포함할 수 있다. 이때, 메모리(109)는 데이터(300) 및 모듈들(211)을 포함할 수 있다. 그러나, 도 3에 도시된 구성 요소 모두가 사용자 장비(101)의 필수 구성 요소인 것은 아니다. 도 3에 도시된 구성 요소보다 많은 구성 요소에 의해 사용자 장비(101)가 구현될 수도 있고, 도 3에 도시된 구성 요소보다 적은 구성 요소에 의해 사용자 장비(101)가 구현될 수도 있다.Referring to FIG. 3, the user equipment 101 may include an input/output interface 107, a memory 109, and a processor 111. In this case, the memory 109 may include data 300 and modules 211. However, not all of the components shown in FIG. 3 are essential components of the user equipment 101. The user equipment 101 may be implemented by more components than those shown in FIG. 3, or the user equipment 101 may be implemented by fewer components than the components shown in FIG. 3.

일 실시예에서, 데이터(300)는 데이터 패킷(301), RTO 타이머 데이터(303), 이벤트 데이터(305), 네트워크 메트릭 데이터(307) 및 다른 데이터(309)를 포함할 수 있다. 데이터 패킷(301)은 사용자 디바이스로부터 수신된 데이터 패킷들을 포함할 수 있다. 또한, 데이터 패킷(301)은 누락된 하나 이상의 데이터 패킷들에 관한 세부사항(details)을 포함할 수 있다.In one embodiment, data 300 may include data packet 301, RTO timer data 303, event data 305, network metric data 307 and other data 309. The data packet 301 may include data packets received from the user device. Also, the data packet 301 may include details regarding one or more data packets that are missing.

일 실시예에서, RTO 타이머 데이터(303)는 누락된 하나 이상의 데이터 패킷들에 대해 개시된(initiated) RTO 시간에 관한 세부사항을 포함할 수 있다. 세부사항은 누락된 하나 이상의 데이터 패킷들을 수신하기 위해 대기하는데 필요한 시간 간격(time interval)을 포함할 수 있다. 또한, RTO 타이머 데이터(303)는 네트워크 메트릭에 기초하여 생성된 수정된 RTO 타이머에 관한 세부사항을 포함할 수 있다.In one embodiment, the RTO timer data 303 may include details regarding the initiated RTO time for one or more data packets that are missed. Details may include the time interval required to wait to receive one or more missing data packets. Further, the RTO timer data 303 may include details regarding the modified RTO timer generated based on the network metric.

일 실시예에서, 이벤트 데이터(305)는 하나 이상의 이벤트들에 관한 세부사항을 포함할 수 있다. 이때, 이벤트는 데이터 패킷의 전송 시, 데이터 패킷의 누락을 발생시키는 임의의 이벤트를 의미할 수 있다. 예를 들면, 하나 이상의 이벤트들은 SL, BL 또는 CPL 중 적어도 하나를 포함할 수 있다. 이벤트 데이터(305)는 데이터 전송 중에 트리거링될 수 있는 손실과 관련된 세부사항을 포함할 수 있다.In one embodiment, event data 305 may include details regarding one or more events. In this case, the event may mean any event that causes the data packet to be omitted when the data packet is transmitted. For example, one or more events may include at least one of SL, BL, or CPL. Event data 305 may include details related to losses that may be triggered during data transmission.

일 실시예에서, 네트워크 메트릭 데이터(307)는 복수의 데이터 패킷들이 전송되는 현재 네트워크 상태에 기초하여 계산되는 네트워크 메트릭에 관한 세부사항을 포함할 수 있다. 예를 들면, 네트워크 메트릭은 SINR(Siginal-to-interface-plus-noise ratio), 엑세스 네트워크에서 발생한 지연(delay), 버스트 리어셈블리 지연(burst reassembly delay) 등을 포함할 수 있다. 일 실시예에서, 네트워크 메트릭은 양의 정수 또는 음의 정수로 표현될 수 있다.In one embodiment, the network metric data 307 may include details regarding a network metric that is calculated based on a current network state in which a plurality of data packets are transmitted. For example, the network metric may include a signal-to-interface-plus-noise ratio (SINR), a delay generated in an access network, a burst reassembly delay, and the like. In one embodiment, the network metric may be expressed as a positive or negative integer.

일 실시예에서, 다른 데이터(309)는 사용자 장비(101)의 다양한 기능들을 수행하기 위한 모듈들(311)에 의해 생성된 임시 데이터 및 임시 파일을 포함하는 데이터를 저장할 수 있다.In one embodiment, the other data 309 may store data including temporary data and temporary files generated by modules 311 for performing various functions of the user equipment 101.

일 실시예에서, 메모리(109) 내의 데이터(300)는 사용자 장비(101)의 메모리(109) 내에 포함된 모듈들(311)에 의해 처리될 수 있다. 이때, 모듈들(311)은 하나 이상의 모듈들을 의미할 수 있다. 일 실시예에서, 모듈들(311)은 전용 유닛들(dedicated units)로서 구현될 수 있다. 본 개시에서 설명된 바와 같이, 모듈이라는 용어는 특정 집적 회로(intergrated circuit, ASIC), 전자 회로(electronic circuit), FPGA(field-programmable gate arrays), 프로그래머블 시스템 온 칩(Programmable System-on-Chip, PSoC), 결합 논리 회로(combinational logic circuit) 및/또는 설명된 기능을 제공하는 다른 적절한 구성 요소들을 포함할 수 있다. 일 실시예에서, 모듈들(311)은 사용자 장비(101)의 하나 이상의 기능들을 수행하기 위해, 프로세서(111)에 의해 통신 가능하도록 연결될 수 있다. 본 개시에서 정의된 기능으로 구성될 때, 모듈들(311)은 새로운 하드웨어를 야기할 수도 있다.In one embodiment, data 300 in memory 109 may be processed by modules 311 included in memory 109 of user equipment 101. In this case, the modules 311 may mean one or more modules. In one embodiment, the modules 311 may be implemented as dedicated units. As described in the present disclosure, the term module refers to a specific integrated circuit (ASIC), an electronic circuit, a field-programmable gate arrays (FPGA), a programmable system-on-chip, PSoC), a combinational logic circuit, and/or other suitable components that provide the described functionality. In one embodiment, the modules 311 may be communicatively connected by the processor 111 to perform one or more functions of the user equipment 101. When configured with the functions defined in this disclosure, the modules 311 may result in new hardware.

일 실시예에서, 모듈들(311)은 수신 모듈(313), 데이터 패킷 식별 모듈(315), RTO 타이머 개시 모듈(317), 네트워크 메트릭 계산 모듈(319), 수정된 RTO 생성 모듈(321) 및 다른 모듈들(323)을 포함할 수 있다. 또한, 모듈들(211)은 사용자 장비(101)의 다양한 잡다한(miscellaneous) 기능들을 수행하기 위해 다른 모듈들(323)을 포함할 수 있다. 일 실시예에서, 다른 모듈들(323)은 동적 RTO가 만료된 후에 앤드 서버(end server)로부터 누락된 하나 이상의 데이터 패킷들을 복구할 수 있는 데이터 패킷 복구 모듈을 포함할 수 있다.In one embodiment, the modules 311 include a receiving module 313, a data packet identification module 315, an RTO timer initiation module 317, a network metric calculation module 319, a modified RTO generation module 321, and Other modules 323 may be included. In addition, the modules 211 may include other modules 323 to perform various miscellaneous functions of the user equipment 101. In one embodiment, the other modules 323 may include a data packet recovery module capable of recovering one or more missing data packets from an end server after the dynamic RTO expires.

일 실시예에서, 데이터 패킷 복구 모듈은 하나 이상의 이벤트들의 발생에 기초하여, 누락된 하나 이상의 데이터 패킷들을 복구할 수 있다. 예를 들면, SL의 발생 시, 데이터 패킷 복구 모듈은 네트워크 메트릭에 기초하여 RTO를 추정할 수 있다. 또한, BL의 발생 시, 데이터 패킷 복구 모듈은 누락된 하나 이상의 데이터 패킷들을 복구할 수 있다. 복구를 위해 엣지 노드(edge node) 상태는 현재 네트워크 상태에 기초하여 제공될 수 있고, 동적 RTO는 이동성 파라미터(mobility parameter)에 기초하여 결정될 수 있다. 일 실시예에서, 이동성 파라미터는 엑세스 네트워크 지연(access network delay) 및 버스트 리어셈블리 지연(burst reassembly delay)을 의미할 수 있다.In one embodiment, the data packet recovery module may recover one or more missing data packets based on the occurrence of one or more events. For example, when an SL occurs, the data packet recovery module may estimate the RTO based on the network metric. In addition, when BL occurs, the data packet recovery module may recover one or more missing data packets. For recovery, an edge node state may be provided based on a current network state, and a dynamic RTO may be determined based on a mobility parameter. In one embodiment, the mobility parameter may mean an access network delay and a burst reassembly delay.

또한, 하나 이상의 누락된 데이터 패킷들은 조정된 스누프 및 ARQ 재전송에 기초하여 복구될 수 있다. 유사하게, CPL의 발생 시, 하나 이상의 누락된 데이터 패킷들은 중복 ACK(Dup ACK)의 전송 속도를 관리함으로써 복구될 수 있다. 중복 ACK은 핸드오버 이벤트의 발생 결정 및 핸드오버 이벤트 결정 시, 핸드오버 시간을 계산함으로써 관리될 수 있다. 전송되는 트리플 중복 ACK(triple duplicate ACK, TDA)의 수는, 계산된 TDA가 RTO가 만료되기 전에 공유되도록, 서버에서 학습된 혼잡 윈도우(congestion window, CWND)에 기초하여 결정될 수 있다. 이에 따라, 핸드오버 시간에 기초하여 전송될 TDA의 수가 조정될 수 있다. 일 실시예에서, 조정(adjusting)은 TDA의 수를 조정(tuning)하거나, 제어하는 것을 포함할 수 있다. In addition, one or more missing data packets may be recovered based on adjusted snoop and ARQ retransmissions. Similarly, when CPL occurs, one or more missing data packets can be recovered by managing the transmission rate of a duplicate ACK (Dup ACK). The redundant ACK can be managed by calculating the handover time when determining the occurrence of a handover event and determining the handover event. The number of transmitted triple duplicate ACKs (TDAs) may be determined based on a congestion window (CWND) learned in the server so that the calculated TDA is shared before the RTO expires. Accordingly, the number of TDAs to be transmitted may be adjusted based on the handover time. In one embodiment, adjusting may include tuning or controlling the number of TDAs.

일 실시예에서, 수신 모듈(313)은 사용자 디바이스들 중 적어도 하나의 사용자 디바이스에 의해 전송된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷을 수신할 수 있다. 복수의 데이터 패킷들은 WTCP 통신 시스템을 통해 전송될 수 있다.In an embodiment, the receiving module 313 may receive at least one data packet from among a plurality of data packets transmitted by at least one of the user devices. A plurality of data packets may be transmitted through the WTCP communication system.

일 실시예에서, 데이터 패킷 식별 모듈(315)은 하나 이상의 이벤트들의 발생에 기초하여, 수신된 복수의 데이터 패킷들 중에서 하나 이상의 데이터 패킷들의 누락을 식별할 수 있다. 일 실시예에서, 하나 이상의 이벤트들은 SL, BL 또는 CPL을 포함할 수 있다. 일 실시예에서, 이벤트들의 유형은 하나 이상의 데이터 패킷들의 누락이 식별되는 것에 기초하여 결정될 수 있다.In one embodiment, the data packet identification module 315 may identify missing one or more data packets from among a plurality of received data packets based on the occurrence of one or more events. In one embodiment, one or more events may include SL, BL or CPL. In one embodiment, the type of events may be determined based on the identification of missing one or more data packets.

일 실시예에서, RTO 타이머 개시 모듈(317)은 RTO 타이머의 만료 시까지, 누락된 하나 이상의 데이터 패킷들을 수신하기 위해 대기하는 시간 간격 동안 RTO 타이머를 개시할 수 있다. 일 실시예에서, 시간 간격은 미리 정의된 시간 간격일 수 있고, 사용자 장비(101)에서 사용되는 운영 시스템(또는 TCP 구현(implementation))의 유형에 기초하여 변경될 수 있다.In an embodiment, the RTO timer start module 317 may start the RTO timer during a time interval waiting to receive one or more missing data packets until the RTO timer expires. In one embodiment, the time interval may be a predefined time interval and may be changed based on the type of operating system (or TCP implementation) used in the user equipment 101.

일 실시예에서, 네트워크 메트릭 계산 모듈(319)은 복수의 데이터 패킷들이 전송되는 현재 네트워크 상태에 기초하여 네트워크 메트릭을 계산할 수 있다. 일 실시예에서, 네트워크 메트릭은 양의 정수 또는 음의 정수일 수 있다. 일 실시예에서, 현재 네트워크 상태는 신호 대 잡음 비(Signal to Noise Ratio, SNR), 수신 신호 세기 표시(Received Signal Strength Indicator, RSSI) 및 핸드오버 등에 기초하여 식별될 수 있다. 일 실시예에서, 네트워크 상태는 사용자 장비(101)와 연관된 사용자의 이동성에 기초하여 동적으로 변경될 수 있다.In an embodiment, the network metric calculation module 319 may calculate a network metric based on a current network state in which a plurality of data packets are transmitted. In one embodiment, the network metric may be a positive integer or a negative integer. In an embodiment, the current network state may be identified based on a signal to noise ratio (SNR), a received signal strength indicator (RSSI), handover, and the like. In one embodiment, the network condition may change dynamically based on the mobility of the user associated with the user equipment 101.

일 실시예에서, 수정된 RTO 생성 모듈(321)은 누락된 하나 이상의 데이터 패킷들을 수신하기 위해 계산된 네트워크 메트릭에 기초하여 RTO 타이머를 수정할 수 있다.In one embodiment, the modified RTO generation module 321 may modify the RTO timer based on the calculated network metric to receive one or more missing data packets.

도 4는 본 개시의 일 실시예에 따른 무선 필터의 예시를 도시한다.4 shows an example of a wireless filter according to an embodiment of the present disclosure.

도 4를 참조하면, 일 실시예에서, 무선 필터는 RTO 필터를 포함할 수 있다. RTO 필터는 RTO 타이머의 값 및 네트워크 메트릭을 식별하는데 사용될 수 있다. 일 실시예에서, 네트워크 메트릭은 SINR, RSSI, 핸드오버, RAT(Random Access Technology) 등에 기초하여 네트워크에서의 변동(fluctuation)과 관련된 정보를 제공할 수 있다. 예를 들면, 네트워크 메트릭은 엑세스 네트워크에서 발생한 지연 및 버스트 리어셈블리 지연 등을 포함할 수 있다. 이때, 네트워크 메트릭은 양의 정수 또는 음의 정수로 표현될 수 있다. 일 실시예에서, 네트워크 메트릭에 의해 RTO는 보다 정확하게 추정될 수 있다.Referring to FIG. 4, in an embodiment, the wireless filter may include an RTO filter. The RTO filter can be used to identify the value of the RTO timer and network metrics. In one embodiment, the network metric may provide information related to fluctuation in the network based on SINR, RSSI, handover, random access technology (RAT), and the like. For example, the network metric may include delay and burst reassembly delay occurring in the access network. In this case, the network metric may be expressed as a positive integer or a negative integer. In one embodiment, the RTO can be more accurately estimated by network metrics.

도 5는 본 개시의 일 실시예에 따른 RTO 필터가 동작하는 예시적인 흐름도이다.5 is an exemplary flowchart of an operation of an RTO filter according to an embodiment of the present disclosure.

도 5를 참조하면, 도 5는 본 개시의 일 실시예에 따른 RTO 필터에 대한 예시적인 흐름도를 도시한다. 도 5에 도시된 바와 같이, RTO 필터는 시스템의 추정된 상태 및 추정치의 분산 또는 불확실성의 트랙(track)을 유지할 수 있다. 추정치는 상태 전이 모델(state transition model)과 측정을 사용하여 업데이트될 수 있다. 도시된 바와 같이, X K | K-1은 k번째 측정 yk가 고려되기 전의 시간 단계 k에서의 시스템의 상태의 추정을 나타내고, P K | K-1은 시스템 상태의 추정에 대한 불확실성을 나타낸다.Referring to FIG. 5, FIG. 5 shows an exemplary flowchart for an RTO filter according to an embodiment of the present disclosure. As shown in Fig. 5, the RTO filter can keep track of the estimated state of the system and the variance or uncertainty of the estimate. The estimate can be updated using a state transition model and measurements. As shown, X K | K-1 represents the estimation of the state of the system at time step k before the kth measurement y k is considered, and P K | K-1 represents the uncertainty in the estimation of the system state.

도 5에 도시된 RTO 필터의 동작을 구체적으로 살펴보면 다음과 같다. 도 5에서, RTO 필터는 이전 RTT(Round Trip Time)를 사용하여 k 번째 시간에서의 P와 X를 추정할 수 있다. RTO 필터는 k-1 시간 단계에서의 시스템의 상태 X K-1 | K-1 및 불확실성 P K-1 | K-1에서, 사용자 장비(101)의 핸드오버 또는 이동성(mobility)을 예측할 수 있다. 이러한 예측을 통해, RTO 필터는 k 시간 단계에서의 시스템의 상태 X K | K-1 및 불확실성 P K | K-1을 얻을 수 있다. 또한, RTO 필터는 모뎀 검출(modem detection)을 통해 네트워크 메트릭을 측정할 수 있다. 이후, RTO 필터는 k 시간 단계에서의 시스템의 상태 X K | K-1 및 불확실성 P K | K-1을 측정치로 업데이트할 수 있다. 즉, RTO 필터는 k 시간 단계에서의 시스템의 상태 X K | K-1 및 불확실성 P K | K-1을 측정된 네트워크 메트릭에 기초하여 업데이트할 수 있다. 업데이트를 통해, RTO 필터는 k번째 측정 yk가 고려된 시스템의 상태 X K | K 및 불확실성 P K | K을 획득할 수 있다. RTO 필터는 시스템의 상태 X K | K 및 불확실성 P K | K을 이용하여 추정된 RTO를 출력할 수 있고, 시간 k를 k+1로 변경하고, 다시 도 5에 도시된 알고리즘을 수행할 수 있다.The operation of the RTO filter illustrated in FIG. 5 will be described in detail. In FIG. 5, the RTO filter may estimate P and X at the k-th time using a previous Round Trip Time (RTT). The RTO filter is the state of the system in the k-1 time step X K-1 | K-1 and uncertainty P K-1 | In K-1 , handover or mobility of the user equipment 101 can be predicted. Through these predictions, the RTO filter determines the state of the system at k time steps X K | K-1 and uncertainty P K | You can get K-1 . In addition, the RTO filter may measure network metrics through modem detection. Thereafter, the RTO filter is the state of the system at k time steps X K | K-1 and uncertainty P K | K-1 can be updated with measurements. That is, the RTO filter is the state of the system at k time steps X K | K-1 and uncertainty P K | K-1 may be updated based on the measured network metric. By updating, the RTO filter is the state of the system where the kth measurement y k is taken into account X K | K and uncertainty P K | K can be obtained. The RTO filter is in the state of the system X K | K and uncertainty P K | The estimated RTO can be output using K , the time k can be changed to k+1, and the algorithm shown in FIG. 5 can be performed again.

도 6은 본 개시의 일 실시예에 따른 가짜 손실(spurious loss, SL)과 관련된 예시적인 다이어그램이다.6 is an exemplary diagram related to a spurious loss (SL) according to an embodiment of the present disclosure.

도 6을 참조하면, SL의 발생 시, 네트워크 메트릭에 기초하여 RTO가 추정될 수 있다. 일 실시예에서, 네트워크 메트릭은 SNR 또는 RSSI 등에 기초하여 네트워크에서의 변동과 관련된 정보를 제공할 수 있다. 네트워크 메트릭에 의해 RTO는 보다 정확하게 추정될 수 있다. 일 실시예에서, 사용자 장비(101)에 포함된 CP(cellular processor)에 의해, 메트릭 생성, 변동 검출 및 SL 검출 동작이 수행될 수 있다. 또한, 사용자 장비(101)에 포함된 AP(application processor)에 의해, 네트워크 메트릭 생성 동작이 수행될 수 있다. CP 및 AP를 포함하는 사용자 장비(101)의 동작을 구체적으로 살펴보면 아래와 같다.Referring to FIG. 6, when SL is generated, an RTO may be estimated based on a network metric. In one embodiment, the network metric may provide information related to fluctuations in the network based on SNR or RSSI. RTO can be more accurately estimated by network metrics. In one embodiment, metric generation, fluctuation detection, and SL detection operations may be performed by a cellular processor (CP) included in the user equipment 101. In addition, a network metric generation operation may be performed by an application processor (AP) included in the user equipment 101. The operation of the user equipment 101 including the CP and AP will be described in detail below.

일 실시예에서, 사용자 장비(101)는 SL 이벤트의 발생을 식별할 수 있다. 또한, 사용자 장비(101)는 변동을 검출할 수 있다. 예를 들면, IPC(inter process communication)를 통해 네트워크 메트릭에 대한 정보를 획득한 뒤, 네트워크 상태의 변동을 검출할 수 있다. 또한, 사용자 장비(101)는 메트릭을 생성할 수 있다. 예를 들면, 메트릭은

Figure pat00001
로 나타내어질 수 있고,
Figure pat00002
는 X 및 Y에 기초하여 결정될 수 있다. 일 실시 예에서, X는 엑세스 네트워크에서 발생한 지연(delay incurred in the access network), Y는 버스트 리어셈블리 지연(burst reassembly delay)에 의해 결정되는 값을 의미할 수 있다.In one embodiment, user equipment 101 may identify the occurrence of an SL event. In addition, the user equipment 101 can detect fluctuations. For example, after obtaining information on a network metric through IPC (inter process communication), it is possible to detect a change in a network state. In addition, the user equipment 101 may generate a metric. For example, the metric is
Figure pat00001
Can be represented by
Figure pat00002
May be determined based on X and Y. In an embodiment, X may be a delay incurred in the access network, and Y may be a value determined by a burst reassembly delay.

도 7은 본 개시의 일 실시예에 따른 버스트 손실(burst loss, BL)의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시적인 시퀀스 다이어그램이다. 도 7에서, SNOOP 및 ARQ 블록과, 코어 블록과, TCP 블록은 사용자 장비(101)에 포함될 수 있고, 상이한 레이어(layer)를 나타낼 수 있다. 도 7에서, 데이터 패킷의 이동은 화살표로 나타내어질 수 있다.7 is an exemplary sequence diagram for recovering lost data packets when a burst loss (BL) occurs according to an embodiment of the present disclosure. In FIG. 7, the SNOOP and ARQ blocks, the core block, and the TCP block may be included in the user equipment 101 and may represent different layers. In Fig. 7, the movement of a data packet can be indicated by an arrow.

도 7을 참조하면, 도 7의 시퀀스 다이어그램은 사용자 장비(101)의 이동성으로 인하여 패킷들의 버스트가 손실되거나, 지연된 상태를 나타낸다. 이러한 상태에서 모뎀은 TCP 스택(stack)에 대한 이동성의 상태를 알릴 수 있으므로, TCP 스택은 이전의 RTO 이외에 2X+2Y 시간만큼 더 기다릴 수 있다. 이를 통해, 시간 t에서의 RTTVARt이 아래의 <수학식 1>과 같이 계산될 수 있다.Referring to FIG. 7, the sequence diagram of FIG. 7 shows a state in which bursts of packets are lost or delayed due to mobility of the user equipment 101. In this state, the modem can inform the state of mobility to the TCP stack, so the TCP stack can wait 2X+2Y hours in addition to the previous RTO. Through this, there are RTTVAR t at time t can be calculated as the <Equation 1> below.

Figure pat00003
Figure pat00003

<수학식 1>에서, RTTVARt는 시간 t에서의 RTT의 변동(variance)을 의미하고, RTTVARt-1은 시간 t-1에서의 RTT의 변동(variance)을 의미하고, SRTT는 Smoothened RTT를 의미하고, ERTT 추정된(estimated) RTT를 의미하고,

Figure pat00004
는 일반적으로 1/4가 사용되고, X는 엑세스 네트워크에서 발생한 지연(delay incurred in the access network), Y는 버스트 리어셈블리 지연(burst reassembly delay)을 의미할 수 있다. 일 실시예에서, 2X+2Y는
Figure pat00005
로 나타내어질 수 있다.In <Equation 1>, RTTVAR t means the variance of RTT at time t, RTTVAR t-1 means the variance of RTT at time t-1, and SRTT means smoothened RTT. Means, ERTT means estimated RTT,
Figure pat00004
In general, 1/4 is used, X may indicate a delay incurred in the access network, and Y may indicate a burst reassembly delay. In one embodiment, 2X+2Y is
Figure pat00005
It can be represented by

일 실시예에서, 네트워크가 혼잡하지 않은 상태에서도, 사용자 장비(101)의 이동성으로 인하여 재전송이 발생할 수 있다. 일 실시예에서, 모뎀(modem)은 현재 조건(current condition)에 따라 반응적으로(reactively), 또는 이전의 이동성에 기초하여 사전에(proactively) 엣지 셀 조건을 제공할 수 있다. 일 실시예에서, 이동성에 기초한 동적 타이머가 결정될 수 있고, 조정된 SNOOP, ARQ 및 TCP 복구 방법을 이용하여 패킷이 복구될 수 있다. 하위 계층 복구는 TCP 계층에서 추상화되므로(abstracted), 서버 측 CWND는 축소되지 않을 수 있다.In one embodiment, even in a state in which the network is not congested, retransmission may occur due to the mobility of the user equipment 101. In an embodiment, the modem may provide the edge cell condition reactively according to a current condition or proactively based on a previous mobility. In one embodiment, a dynamic timer based on mobility may be determined, and packets may be recovered using the adjusted SNOOP, ARQ and TCP recovery methods. Since lower layer recovery is abstracted at the TCP layer, server-side CWND may not be scaled down.

일 실시예에서, 조정된 SNOOP, 및 ARQ에 기초한 RTO의 설정 방법은 아래와 같다. 먼저, 사용자 장비(101)의 이동성으로 인하여, 패킷들의 버스트가 손실(lost)되거나, 지연될 수 있다. 이후, 모뎀은 TCP 스택에게 이동성 조건에 대하여 알릴 수 있고, TCP 스택은 이전의 RTO 시간에서 상술된 2X+2Y 만큼의 시간을 더 기다릴 수 있다. 일 실시예에서, 스누프 및 ARQ 레벨 재전송이 발생할 수 있고, 이를 통해 데이터 패킷들이 복구될 수 있다. 일 실시예에서, 실제 패킷들의 손실이 발생하는 경우, 손실된 데이터 패킷들은 타임아웃 이후 앤드 서버로부터 복구될 수 있다.In one embodiment, a method of setting the RTO based on the adjusted SNOOP and ARQ is as follows. First, due to the mobility of the user equipment 101, a burst of packets may be lost or delayed. Thereafter, the modem can inform the TCP stack about the mobility condition, and the TCP stack can wait for the above-described 2X+2Y time from the previous RTO time. In one embodiment, snoop and ARQ level retransmission may occur, through which data packets may be recovered. In one embodiment, if loss of actual packets occurs, the lost data packets can be recovered from the end server after a timeout.

일 실시예에서, 사용자 장비(101)가 밀리미터 웨이브(mmWave)로 동작하는 5G 영역에서, LTE 영역으로 핸드오버하는 경우, BL이 발생할 수 있다. 이러한 조건에서, 레거시(legacy) RTO는 핸드오버 상황에 적응하기 위해 20초에서 30초 이상의 시간이 걸릴 수 있다. 반면, 본 개시의 실시예에 따른 사용자 장비(101)는 1초 내지 2초 내에 신호 영역에서의 시프트(shift)를 적용시킴으로써 ACK 패킷의 불필요한 재전송을 피할 수 있다. 또한, CPL이 발생하는 경우, 제어된 Dup ACK 필터 접근법, 프로브 기반 접근법 및 CPL 프로브 접근법 중 적어도 하나에 기초하여 데이터 패킷들이 복구될 수 있다.In an embodiment, when the user equipment 101 handovers to the LTE region in the 5G region operating in millimeter wave (mmWave), BL may occur. Under these conditions, the legacy RTO may take 20 to 30 seconds or more to adapt to the handover situation. On the other hand, the user equipment 101 according to the exemplary embodiment of the present disclosure may avoid unnecessary retransmission of the ACK packet by applying a shift in the signal domain within 1 to 2 seconds. In addition, when CPL occurs, data packets may be recovered based on at least one of a controlled Dup ACK filter approach, a probe-based approach, and a CPL probe approach.

도 8은 본 개시의 일 실시예에 따른 필터 방법(filter method)을 이용하여, 연속 패킷 손실(consecutive packet loss, CPL)의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시를 도시한다.8 illustrates an example for recovering missing data packets when a continuous packet loss (CPL) occurs using a filter method according to an embodiment of the present disclosure.

도 8을 참조하면, CPL의 발생 시, CP(cellular processor) 필터는 Dup ACK의 전송 속도를 관리함으로써 하나 이상의 누락된 데이터 패킷들을 복구할 수 있다. Dup ACK은 핸드오버 이벤트의 발생을 결정하고, 핸드오버 이벤트 결정 시 핸드오버 시간을 계산함으로써 관리될 수 있다. 일 실시예에서, CP 필터로 전송되는 TDA의 수는, RTO가 만료되기 전에 계산된 TDA가 공유되도록, 서버에서 학습된 혼잡 윈도우에 기초하여 결정될 수 있다. 이에 따라, 핸드오버 시간에 기초하여 전송될 TDA의 수가 조정될 수 있다. 일 실시예에서, 조정(adjusting)은 TDA의 수를 조정(tuning)하거나 제어하는 것을 포함할 수 있다.Referring to FIG. 8, when CPL occurs, a cellular processor (CP) filter may recover one or more missing data packets by managing a transmission rate of a Dup ACK. Dup ACK can be managed by determining the occurrence of a handover event and calculating a handover time when determining the handover event. In one embodiment, the number of TDAs transmitted to the CP filter may be determined based on the congestion window learned in the server so that the TDA calculated before the RTO expires is shared. Accordingly, the number of TDAs to be transmitted may be adjusted based on the handover time. In one embodiment, adjusting may include tuning or controlling the number of TDAs.

다른 손실 이벤트와 달리, 사용자 장비(101)가 핸드오버 하는 경우, 패킷은 연속적으로(consecutively) 손실될 수 있다. 이때, 손실은 산발적이지 않으므로(non sporadic), 서버에서 복구될 수 있다. 이를 참고하여 도 8에 도시된 CP 필터의 동작을 구체적으로 살펴보면 아래와 같다.Unlike other loss events, when the user equipment 101 handovers, packets may be continuously lost. At this time, the loss is not sporadic, so it can be recovered in the server. Referring to this, the operation of the CP filter shown in FIG. 8 will be described in detail below.

CP 필터는 핸드오버(handover, HO) 이벤트가 발생하였음을 감지할 수 있다. 이에 따라, CP 필터는 핸드오버 개시부터 핸드오버 완료까지의 시간을 의미하는 핸드오버 시간을 계산할 수 있다. 일 실시예에서, 필터 기반 접근법은 Dup ACK을 페이싱(pacing)하는데 사용될 수 있다. 일 실시예에서, CP 필터는 서버 측의 CWND를 인식하고, TDA를 페이싱할 수 있다. CP 필터는 타임아웃이 발생하기 전에 TDA가 공유되는지 확인하고, TDA를 기하급수적으로(exponentially) 감소시킴으로서, 서버를 실행(running)할 수 있다. 도 8에서는, 페이싱된(paced) Dup ACK가 동시에 CP 필터에서 출력되는 것으로 도시되었으나, 이에 제한되지 않는다. 즉, 페이싱된 Dup ACK은 필터로부터 동시에 출력되지 않고, 상이한 순서로 출력될 수 있다.The CP filter may detect that a handover (HO) event has occurred. Accordingly, the CP filter may calculate a handover time, which means a time from initiation of handover to completion of handover. In one embodiment, a filter-based approach can be used to pacing Dup ACKs. In one embodiment, the CP filter may recognize the CWND of the server side and pacing the TDA. The CP filter checks whether the TDA is shared before the timeout occurs, and exponentially reduces the TDA, thereby running the server. In FIG. 8, it is illustrated that the paced Dup ACK is simultaneously output from the CP filter, but is not limited thereto. That is, the paced Dup ACKs are not simultaneously output from the filter, but may be output in a different order.

도 9는 본 개시의 일 실시예에 따른 프로브 방법(probe method)을 이용하여, CPL의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시적인 시퀀스 다이어그램이다.9 is an exemplary sequence diagram for recovering missing data packets when CPL occurs, using a probe method according to an embodiment of the present disclosure.

도 9를 참조하면, 사용자 장비(101)는 초기에 BL/CPL의 시작을 검출할 수 있다. 이후, BL/CPL의 검출에 대한 정보는 시그널링을 이용하여 서버로 지시될 수 있다. 이러한 조건에서, 서버는 시그널링 전에 TCP 메트릭 또는 네트워크 메트릭의 처리를 중단(halt)하거나 이를 저장할 수 있다. 일 실시예에서, 중단(halt)은 짧은 시간 동안 값이 고정되는(freezing) 것을 의미할 수 있다. 이때, 값은 외부 값으로 따로 저장되지는 않으나, 프로빙(proving) 중에는 따로 감소 또는 증가하지 않을 수 있다. 또한, 사용자 장비(101)는 RTO, SRTT, RWND(Receiver Window), 다음 예상되는 시퀀스 번호, ACK 번호 등과 같은 네트워크 파라미터의 처리를 중단하거나, 이를 저장할 수 있다. 예를 들면, CWND(Congestion Window)가 200인 경우, SSTHRESH(Slow-Start Threshold)는 250일 수 있고, CWND 값 및 SSTHRESH 값들은 저장될 수 있고, 프로브 성공이 끝날 때까지 처리가 중단될 수 있다.Referring to FIG. 9, the user equipment 101 may initially detect the start of BL/CPL. Thereafter, information on the detection of BL/CPL may be indicated to the server using signaling. In this condition, the server may halt or store the processing of TCP metrics or network metrics before signaling. In one embodiment, halt may mean that the value is frozen for a short period of time. In this case, the value is not separately stored as an external value, but may not be separately decreased or increased during probing. In addition, the user equipment 101 may stop processing or store network parameters such as RTO, SRTT, RWND (Receiver Window), next expected sequence number, ACK number, and the like. For example, when the CWND (Congestion Window) is 200, the SSTHRESH (Slow-Start Threshold) may be 250, the CWND value and the SSTHRESH values may be stored, and processing may be stopped until the probe is successful. .

일 실시예에서, 프로브된 데이터 패킷들(probed data packets)은 데이터 패킷들이 복구되고 성공 프로브 ACK이 수신될 때까지 ICMP(Internet Control Message Protocol) 메시지를 히트(hit)하거나, 드랍(drop)시킬 수 있다. 이러한 조건에서, 서버는 이전 값들로 데이터 패킷을 복원(restore)하고, 손실된 데이터 패킷들을 빠르게 재전송하여 빠른 복구를 시작할 수 있다.In one embodiment, probed data packets may hit or drop an Internet Control Message Protocol (ICMP) message until the data packets are recovered and a success probe ACK is received. have. In this condition, the server can restore data packets to previous values and quickly retransmit lost data packets to start quick recovery.

도 9에 도시된 사용자 장비(101) 및 서버의 동작을 구체적으로 살펴보면 아래와 같다. 먼저, 사용자 장비(101)는 BL/CPL의 시작을 검출할 수 있다. 이후, 사용자 장비(101)는 BL/CPL에 대한 정보를 서버로 시그널링할 수 있다. 이때, 사용자 장비(101)에서 서버로의 시그널링은 프로브 패킷의 전송을 의미할 수 있다. 일 실시예에서, BL/CPL에 대한 정보는 BL/CPL의 기간(period)에 대한 정보를 포함할 수 있다. 시그널링 이후, 서버는 사용자 장비(101)가 BL/CPL 페이즈(phase)에 있는 것을 인식할 수 있다. 서버는 시그널링 페이즈 이전에 TCP 메트릭의 처리를 중단 또는 이를 저장할 수 있다. 이때, TCP 메트릭의 처리의 중단은 TCP 메트릭 값을 특정 시간 동안 변경하지 않고 고정시키는 것을 의미할 수 있다.The operation of the user equipment 101 and the server illustrated in FIG. 9 will be described in detail below. First, the user equipment 101 may detect the start of BL/CPL. Thereafter, the user equipment 101 may signal information on BL/CPL to the server. In this case, signaling from the user equipment 101 to the server may mean transmission of a probe packet. In one embodiment, the information on the BL/CPL may include information on the period of the BL/CPL. After signaling, the server can recognize that the user equipment 101 is in the BL/CPL phase. The server may stop processing or store TCP metrics prior to the signaling phase. In this case, stopping the processing of the TCP metric may mean fixing the TCP metric value without changing it for a specific time.

일 실시예에서, 사용자 장비(101) 또한, 클라이언트측(client side) 파라미터의 처리를 중단, 또는 이를 저장할 수 있다. 예를 들면, 클라이언트 측 파라미터는, RTO, SRTT, RWND, 다음 예상되는 시퀀스 번호, ACK 등을 의미할 수 있다. 예를 들면, CWND 값은 200, SSTHRESH 값은 250일 수 있고, 이 값들은 프로빙 동작이 성공될 때까지 저장될 수 있다. 사용자 장비(101)는 BL/CPL의 종료를 검출할 수 있고, 서버로부터 성공 프로브 ACK(success probe ACK)이 수신될 수 있다. 서버는 저장된 값들을 이용하여 빠른 복구를 위한 데이터 재전송을 수행할 수 있다.In an embodiment, the user equipment 101 may also stop processing or store the processing of client side parameters. For example, the client-side parameter may mean RTO, SRTT, RWND, next expected sequence number, ACK, and the like. For example, the CWND value may be 200 and the SSTHRESH value may be 250, and these values may be stored until the probing operation is successful. The user equipment 101 may detect the termination of BL/CPL, and may receive a success probe ACK (ACK) from the server. The server can perform data retransmission for quick recovery using the stored values.

도 10은 본 개시의 일 실시예에 따른 프로브 방법을 이용하여, CPL의 발생 시, 누락된 데이터 패킷들을 복구하기 위한 예시적인 흐름도이다. 도 10에서, 서버는 무선 TCP 통신 네트워크에서, 데이터 패킷을 송신하는 송신단을 의미할 수 있고, 사용자 장비(101)는 데이터 패킷을 수신하는 수신단을 의미할 수 있으나, 이제 제한되지 않는다.10 is an exemplary flowchart for recovering missing data packets when CPL occurs, using a probe method according to an embodiment of the present disclosure. In FIG. 10, the server may refer to a transmitting end that transmits a data packet in a wireless TCP communication network, and the user equipment 101 may refer to a receiving end that receives a data packet, but is not limited thereto.

도 10을 참조하면, 사용자 장비(101)는 CPL 이벤트를 검출할 수 있다. 즉, 사용자 장비(101)는 서버로부터 데이터 패킷을 수신하는 동안, CPL 이벤트의 발생을 검출할 수 있다.Referring to FIG. 10, the user equipment 101 may detect a CPL event. That is, the user equipment 101 may detect the occurrence of a CPL event while receiving a data packet from the server.

단계 1005에서, 사용자 장비(101)는 실제 패킷의 처리를 중단할 수 있다. 예를 들면, CPL 이벤트가 검출되는 경우, 사용자 장비(101)는, 수신단으로서 서버로부터 데이터를 수신하던 오리지널 세션(original session)을 중단할 수 있다.In step 1005, the user equipment 101 may stop processing the actual packet. For example, when a CPL event is detected, the user equipment 101 may stop an original session that received data from a server as a receiving end.

단계 1010에서, 사용자 장비(101)는 서버로 지시할 수 있다. 예를 들면, 사용자 장비(101)는 서버로 CPL 이벤트의 검출을 지시할 수 있다. 이에 대응하여, 서버는 1040 단계에서 실제 송신 및 수신(TX/RX)을 중단할 수 있다.In step 1010, the user equipment 101 may instruct the server. For example, the user equipment 101 may instruct the server to detect a CPL event. In response to this, the server may stop actual transmission and reception (TX/RX) in step 1040.

단계 1015에서, 사용자 장비(101)는 프로브 패킷 시간을 전송할 수 있다. 즉, 사용자 장비(101)는 오리지널 세션과 독립적인 세션에서, 발신자 역할로 프로브 패킷을 송신할 수 있다. 일 실시예에서, 프로브 패킷 시간 T는 RTT를 의미할 수 있다. 이때, 인덱스 N은 0일 수 있다. 서버는 1045 단계에서, 이전 CWND 및 이전 SSTHRESH를 저장할 수 있다.In step 1015, the user equipment 101 may transmit the probe packet time. That is, the user equipment 101 may transmit a probe packet in the role of a sender in a session independent from the original session. In one embodiment, the probe packet time T may mean RTT. In this case, the index N may be 0. The server may store the previous CWND and the previous SSTHRESH in step 1045.

단계 1020에서, 사용자 장비(101)는 프로브 성공 여부를 판단할 수 있다. 예를 들면, 사용자 장비(101)는 전송한 프로브 패킷에 대한 ACK을 서버로부터 수신하고, 프로브 전송 성공 여부를 판단할 수 있다. 예를 들면, 사용자 장비(101)가 프로브 전송 성공과 관련된 ACK을 수신하지 못하는 경우, 프로브 전송 실패를 결정하고, 1025 단계를 수행할 수 있다.In step 1020, the user equipment 101 may determine whether the probe is successful. For example, the user equipment 101 may receive an ACK for the transmitted probe packet from the server and determine whether the probe transmission is successful. For example, if the user equipment 101 does not receive an ACK related to a successful probe transmission, it may determine a probe transmission failure and perform step 1025.

1025 단계에서, 사용자 장비(101)는 프로브 패킷 시간 T를 N+T로 업데이트 할 수 있다. 또한, 사용자 장비(101)는 인덱스 N을 N+1로 업데이트할 수도 있다. 사용자 장비(101)가 프로브 전송 성공과 관련된 ACK을 수신하는 경우, 사용자 장비(101)는 프로브 전송 성공을 결정하고, 1030 단계를 수행할 수 있다.In step 1025, the user equipment 101 may update the probe packet time T to N+T. In addition, the user equipment 101 may update the index N to N+1. When the user equipment 101 receives the ACK related to the success of the probe transmission, the user equipment 101 may determine the success of the probe transmission and perform step 1030.

1030 단계에서, 사용자 장비(101)는 프로브 완료를 결정할 수 있다. 즉, 사용자 장비(101)는 프로브 패킷 전송의 성공을 결정한 후, 프로브 패킷 전송의 완료를 결정할 수 있다. 이에 대응하여, 1050 단계에서, 서버는 이전 CWND 및 이전 SSTHRESSH를 사용할 수 있다.In step 1030, the user equipment 101 may determine completion of the probe. That is, after determining the success of the probe packet transmission, the user equipment 101 may determine the completion of the probe packet transmission. Correspondingly, in step 1050, the server may use the previous CWND and the previous SSTHRESSH.

1035 단계에서, 사용자 장비(101)는 실제 패킷을 시작할 수 있다. 즉, 사용자 장비(101)는 오리지널 세션에서, 서버로부터 실제 데이터 패킷을 수신할 수 있다.In step 1035, the user equipment 101 may start an actual packet. That is, the user equipment 101 may receive an actual data packet from the server in the original session.

도 11은 본 개시의 일 실시예에 따른 BL 발생 시, RTO 설정과 관련된 성능 그래프이다.11 is a performance graph related to RTO setting when BL occurs according to an embodiment of the present disclosure.

도 11을 참조하면, 도 11에 도시된 그래프는 사용자와 관련된 사용자 장비(101)가 양호한 신호 영역(good signal area)에서, 약한 신호 영역(weak signal area)으로 이동하는 상황을 나타낼 수 있다. 예를 들면, 도 11의 상황은 사용자 장비(101)가 밀리미터 웨이브(mmWave)로 동작하는 5G 영역에서, LTE 영역으로 핸드오버 하는 상황을 의미할 수 있다. 이러한 조건에서, 레거시(legacy) RTO는 핸드오버 상황에 적응하기 위해 20초에서 30초 이상의 시간이 걸릴 수 있다. 반면, 본 개시의 실시예에 따른 사용자 장비(101)는 1초 내지 2초 내에 신호 영역에서의 시프트(shift)를 적용시킴으로써 ACK 패킷의 불필요한 재전송을 피할 수 있다. 또한, CPL이 발생하는 경우, 제어된 Dup ACK 필터 접근법, 프로브 기반 접근법 및 CPL 프로브 접근법 중 적어도 하나에 기초하여 데이터 패킷들이 복구될 수 있다.Referring to FIG. 11, the graph shown in FIG. 11 may represent a situation in which a user equipment 101 related to a user moves from a good signal area to a weak signal area. For example, the situation of FIG. 11 may refer to a situation in which the user equipment 101 is handed over to the LTE area in the 5G area operating in millimeter wave (mmWave). Under these conditions, the legacy RTO may take 20 to 30 seconds or more to adapt to the handover situation. On the other hand, the user equipment 101 according to the exemplary embodiment of the present disclosure may avoid unnecessary retransmission of the ACK packet by applying a shift in the signal domain within 1 to 2 seconds. In addition, when CPL occurs, data packets may be recovered based on at least one of a controlled Dup ACK filter approach, a probe-based approach, and a CPL probe approach.

도 12는 본 개시의 일 실시예에 따른 CPL 발생 시, RTO 설정과 관련된 성능 그래프이다.12 is a performance graph related to RTO setting when CPL occurs according to an embodiment of the present disclosure.

도 12를 참조하면, 도 12에 도시된 그래프는 사용자와 관련된 사용자 장비(101)가 약한 신호 영역에서 양호한 신호 영역으로 이동하는 상황에 대해 도시한다. 이러한 조건에서, 사용자 장비(101)는 수정된 RTO를 적용시킬 수 있다. 도 11에 도시된 바와 같이, 본 개시에서 사용자 장비(101)와 관련된 새로운 RTO 그래프(1210)는, 레거시 RTO와 관련된 그래프보다, 현재의 RTT와 연관된 그래프(1220)에 더 가까울 수 있다. 따라서, 실제 손실이 발생한 경우, 사용자 장비(101)는 수정된 새로운 RTO를 사용하여 훨씬 더 신속하게 상황에 적응할 수 있다.Referring to FIG. 12, the graph shown in FIG. 12 shows a situation in which a user equipment 101 associated with a user moves from a weak signal area to a good signal area. In these conditions, the user equipment 101 can apply the modified RTO. As shown in FIG. 11, the new RTO graph 1210 associated with the user equipment 101 in the present disclosure may be closer to the graph 1220 associated with the current RTT than the graph associated with the legacy RTO. Thus, in the event of a real loss, the user equipment 101 can adapt to the situation much more quickly using the modified new RTO.

도 13은 본 개시의 일 실시예에 따른 사용자 장비의 동작 방법을 나타내는 흐름도이다. 도 13에서, 사용자 장비(101)는 무선 TCP 통신 네트워크에서 데이터 패킷을 수신하는 수신단을 의미할 수 있다. 또한, TCP 사용자 디바이스는 데이터 패킷을 송신하는 송신단을 의미할 수 있다.13 is a flowchart illustrating a method of operating user equipment according to an embodiment of the present disclosure. In FIG. 13, the user equipment 101 may refer to a receiving end that receives a data packet in a wireless TCP communication network. Also, the TCP user device may mean a transmitting end that transmits a data packet.

도 13을 참조하면, 1310 단계에서, 사용자 장비(101)는 TCP 사용자 디바이스로부터 데이터 패킷들을 수신할 수 있다. 즉, 사용자 장비(101)는 TCP 사용자 디바이스에 의해 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷을 수신할 수 있다. 일 실시예에서, 적어도 하나의 데이터 패킷은, 사용자 장비(101)에 포함된 수신 모듈(313)에 의해 수신될 수 있다.Referring to FIG. 13, in step 1310, the user equipment 101 may receive data packets from a TCP user device. That is, the user equipment 101 may receive at least one data packet from among a plurality of data packets transmitted by the TCP user device. In one embodiment, at least one data packet may be received by the receiving module 313 included in the user equipment 101.

1320 단계에서, 사용자 장비(101)는 이벤트 발생에 기초하여 수신된 데이터 패킷들 중 누락된 데이터 패킷을 식별할 수 있다. 일 실시예에서, 데이터 패킷의 누락을 발생시킬 수 있는 이벤트는 SL, BL 또는 CPL을 포함할 수 있다. 일 실시예에서, 누락된 데이터 패킷은 사용자 장비(101)에 포함된 데이터 패킷 식별 모듈(315)에 의해 식별될 수 있다.In step 1320, the user equipment 101 may identify a missing data packet among the received data packets based on the occurrence of the event. In one embodiment, an event that may cause a data packet to be dropped may include SL, BL or CPL. In one embodiment, missing data packets may be identified by a data packet identification module 315 included in user equipment 101.

1330 단계에서, 사용자 장비(101)는 RTO 타이머의 만료 시까지 누락된 데이터 패킷을 수신하기 위해 대기하는 시간 간격 동안 RTO 타이머를 개시할 수 있다. 일 실시예에서, RTO 타이머는 사용자 장비(101)에 포함된 RTO 타이머 개시 모듈(317)에 의해 생성 및 개시될 수 있다.In step 1330, the user equipment 101 may start the RTO timer during a time interval waiting to receive the missing data packet until the expiration of the RTO timer. In one embodiment, the RTO timer may be generated and started by the RTO timer start module 317 included in the user equipment 101.

1340 단계에서, 사용자 장비(101)는 복수의 데이터 패킷들이 전송되는 현재 네트워크 상태에 기초하여 네트워크 메트릭을 계산할 수 있다. 일 실시예에서, 네트워크 메트릭은 사용자 장비(101)에 포함된 네트워크 메트릭 계산 모듈(319)에 의해 계산될 수 있다.In operation 1340, the user equipment 101 may calculate a network metric based on a current network state in which a plurality of data packets are transmitted. In one embodiment, the network metric may be calculated by the network metric calculation module 319 included in the user equipment 101.

1350 단계에서, 사용자 장비(101)는 누락된 데이터 패킷을 수신하기 위해 계산된 네트워크 메트릭에 기초하여 수정된 RTO 타이머를 생성할 수 있다. 일 실시예에서, 수정된 RTO 타이머는 사용자 장비(101)에 포함된 수정된 RTO 생성 모듈(321)에 의해 생성될 수 있다. 사용자 장비(101)는 수정된 RTO 타이머 시간 동안, 누락된 하나 이상의 데이터 패킷에 대하여 서버로부터의 재전송을 기다릴 수 있다. 수정된 RTO 타이머에 의해, 무선 TCP 통신 시스템에서 데이터 패킷들의 송수신이 최적화될 수 있다.In step 1350, the user equipment 101 may generate a modified RTO timer based on the calculated network metric to receive the missing data packet. In one embodiment, the modified RTO timer may be generated by the modified RTO generation module 321 included in the user equipment 101. User equipment 101 may wait for retransmission from the server for one or more missing data packets during the modified RTO timer time. By the modified RTO timer, transmission and reception of data packets in a wireless TCP communication system can be optimized.

도 13에 도시된 방법은, 컴퓨터 실행 가능한 인스트럭션들의 일반적인 컨텍스트로 설명될 수 있다. 일반적으로, 컴퓨터 실행 가능한 인스트런션들은 특정 기능들을 수행하거나, 특정 추상적인 데이터 유형들을 구현하는 루틴들(routines), 프로그램들, 객체들(objects), 요소들(components), 데이터 구조들, 절차들, 모듈들 및 기능들을 포함할 수 있다. 도 13에 도시된 방법이 설명된 순서는, 제한적으로 해석되는 것을 의도하지 않으며, 임의의 수를 갖는 설명된 방법 블록들은, 방법을 구현하기 위해 임의의 순서로 결합될 수 있다. 또한, 본 개시에서 설명된 주제(subject matter)의 범위를 벗어나지 않고, 개별 블록들이 방법들로부터 삭제될 수 있다. 또한, 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다.The method shown in FIG. 13 can be described in the general context of computer-executable instructions. In general, computer-executable instructions are routines, programs, objects, components, data structures, and procedures that perform specific functions or implement specific abstract data types. S, modules, and functions. The order in which the method illustrated in FIG. 13 is described is not intended to be construed as limiting, and the described method blocks having any number may be combined in any order to implement the method. Further, individual blocks may be deleted from the methods without departing from the scope of the subject matter described in this disclosure. In addition, the method may be implemented in any suitable hardware, software, firmware, or a combination thereof.

도 14는 본 개시의 일 실시예에 따른 사용자 장비의 구체적인 블록도이다. 도 14에 도시된 사용자 장비(1400)는 도 1a에 도시된 사용자 장비(101)를 의미할 수 있고, 도 14에 도시된 통신 네트워크(1409)는 도 1a에 도시된 통신 네트워크(105)를 의미할 수 있고, 도 14에 도시된 사용자 디바이스(1414-1), 사용자 디바이스(1414-2) 및 사용자 디바이스(1414-N)(이하, 사용자 디바이스들(1414))은, 도 1a에 도시된 사용자 디바이스들을 의미할 수 있다. 14 is a detailed block diagram of user equipment according to an embodiment of the present disclosure. The user equipment 1400 shown in FIG. 14 may mean the user equipment 101 shown in FIG. 1A, and the communication network 1409 shown in FIG. 14 means the communication network 105 shown in FIG. 1A. In addition, the user device 1414-1, the user device 1414-2, and the user device 1414-N (hereinafter, user devices 1414) shown in FIG. 14 are the user devices shown in FIG. 1A. It can mean devices.

도 14를 참조하면, 사용자 장비(1400)는 중앙 처리 장치(central processing unit, CPU 또는 프로세서)(1402)를 포함할 수 있다. 프로세서(1402)는 무선 TCP 통신 시스템에서 데이터 패킷들의 전송을 최적화하기 위한 적어도 하나의 데이터 프로세서를 포함할 수 있다. 프로세서(1402)는 통합 시스템(intergrated system)(bus) 제어기, 메모리 관리 제어 유닛, 부동 소수점(floating point) 유닛, 그래픽 처리 유닛, 디지털 신호 처리 유닛과 같은 특수 처리 유닛 등을 포함할 수 있다.Referring to FIG. 14, the user equipment 1400 may include a central processing unit (CPU or processor) 1402. The processor 1402 may include at least one data processor for optimizing transmission of data packets in a wireless TCP communication system. The processor 1402 may include an integrated system (bus) controller, a memory management control unit, a floating point unit, a graphics processing unit, a special processing unit such as a digital signal processing unit, and the like.

프로세서(1402)는 입출력 인터페이스(1401)를 통해, 하나 이상의 입출력 디바이스들(도시 생략)과 통신하도록 배치될 수 있다. 입출력 인터페이스(1401)는, 오디오, 아날로그, 디지털, 모노 오디오(monoaural), RCA, 스테레오, IEEE-1394, 직렬 버스(serial bus), USB(universal serial bus), 적외선(infrared), PS/2, BNC, 동축(coaxial), 컴포넌트(component), 합성물(composite) 디지털 비주얼 인터페이스(digital visual interface, DVI), 고화질 멀티미디어 인터페이스(high-definition multimedia interface, HDMI), RF 안테나, S-비디오, VGA(Video Graphics Array), IEEE 802.n /b/g/n/x, 블루투스(Bluetooth), 셀룰러(예를 들어, 코드 분할 다중 엑세스(code-division multiple access, CDMA), HSPA+(high-speed packet access), GSM(global system for mobile communications), LTE(long-term evolution), 와이맥스 등)같은 통신 프로토콜 또는 방법을 제한 없이 지원할 수 있다.The processor 1402 may be arranged to communicate with one or more input/output devices (not shown) through the input/output interface 1401. The input/output interface 1401 is audio, analog, digital, mono audio (monoaural), RCA, stereo, IEEE-1394, serial bus, USB (universal serial bus), infrared, PS/2, BNC, coaxial, component, composite digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antenna, S-Video, VGA (Video) Graphics Array), IEEE 802.n /b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), HSPA+ (high-speed packet access)) , A communication protocol or method such as global system for mobile communications (GSM), long-term evolution (LTE), WiMAX, etc.) may be supported without limitation.

사용자 장비(1400)는 입출력 인터페이스(1401)를 사용하여, 하나 이상의 입출력 디바이스들과 통신할 수 있다. 예를 들어, 입력 디바이스들(1412)은 안테나, 키보드, 마우스, 조이스틱, (적외선) 리모컨, 카메라, 카드 리더기, 팩스 기기, 동글(dongle), 생체 인식기(biometric reader), 마이크로폰, 터치 스크린, 터치 패드, 트랙볼(trackball), 스타일러스(stylus), 스캐너, 저장 디바이스(storage device), 트랜시버, 비디오 디바이스/소스 등을 포함할 수 있다. 출력 디바이스들(1413)은 프린터, 팩스 기기, 비디오 디스플레이(예: 음극선 관(cathode ray tube, CRT), 액정 디스플레이(liquid crystal display, LCD), 발광 다이오드(light-emitting diode, LED), 플라즈마, 플라즈마 디스플레이 패널(plasma display panel, PDP), OLED(organic light-emitting diode display) 등) 및 오디오 스피커 등을 포함할 수 있다.The user equipment 1400 may communicate with one or more input/output devices using the input/output interface 1401. For example, the input devices 1412 include an antenna, a keyboard, a mouse, a joystick, a (infrared) remote control, a camera, a card reader, a fax machine, a dongle, a biometric reader, a microphone, a touch screen, and a touch device. Pads, trackballs, stylus, scanners, storage devices, transceivers, video devices/sources, and the like. Output devices 1413 include a printer, a fax machine, a video display (e.g., a cathode ray tube (CRT), a liquid crystal display (LCD)), a light-emitting diode (LED), a plasma, It may include a plasma display panel (PDP), an organic light-emitting diode display (OLED), and an audio speaker.

프로세서(1402)는 네트워크 인터페이스(1403)를 통해 통신 네트워크(1409)와 통신하도록 배치될 수 있다. 네트워크 인터페이스(1403)는 통신 네트워크(1409)와 통신할 수 있다. 네트워크 인터페이스(1403)는 직접 접속, 이더넷(Ethernet)(예를 들면, twisted pair 10/100/1000 Base T), 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 토큰 링, IEEE 802.11a/b/g/n/x 등을 제한 없이 사용할 수 있다. 통신 네트워크(1409)는 직접 상호 접속(direct interconnection), LAN(local area network), WAN(wide area network), 무선 네트워크(예: 무선 애플리케이션 프로토콜 사용) 및 인터넷 등을 제한 없이 포함할 수 있다. 네트워크 인터페이스(1403) 및 통신 네트워크(1409)를 사용하여, 사용자 장비(1400)는 사용자 디바이스(1414-1), 사용자 디바이스(1414-2) 및 사용자 디바이스(1414-N)와 같은 사용자 디바이스들(1414)과 통신할 수 있다. 네트워크 인터페이스(1403)는 직접 접속(direct connect), 이더넷(예: twisted pair 10/100/1000 Base T), 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 토큰 링, IEEE 802.11a/b/g/n/x 등을 포함하는 연결 프로토콜을 제한 없이 사용할 수 있다.The processor 1402 may be arranged to communicate with the communication network 1409 through the network interface 1403. The network interface 1403 may communicate with the communication network 1409. Network interface 1403 is direct connection, Ethernet (Ethernet) (for example, twisted pair 10/100/1000 Base T), transmission control protocol/Internet protocol (TCP/IP), token ring, IEEE 802.11a/b/ You can use g/n/x without limitation. The communication network 1409 may include, without limitation, direct interconnection, a local area network (LAN), a wide area network (WAN), a wireless network (eg, using a wireless application protocol), and the Internet. Using the network interface 1403 and the communication network 1409, the user equipment 1400 can be configured with user devices such as user device 1414-1, user device 1414-2, and user device 1414-N. 1414). The network interface 1403 is a direct connect, Ethernet (eg, twisted pair 10/100/1000 Base T), transmission control protocol/Internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g Connection protocols including /n/x can be used without any restrictions.

통신 네트워크(1409)는 직접 상호 접속, 전자 상거래(e-commerce) 네트워크, P2P(peer to peer) 네트워크, LAN, WAN, 무선 네트워크(예: 무선 애플리케이션 프로토콜 사용), 인터넷 및 Wi-Fi 등을 제한 없이 포함할 수 있다. 제1 네트워크 및 제2 네트워크는 전용 네트워크이거나, 또는 서로 통신하기 위하여 HTTP(Hypertext Transfer Protocol), TCP/IP, 무선 애플리케이션 프로토콜(Wireless Application Protocol, WAP)과 같은 다양한 프로토콜을 사용하는 상이한 유형의 네트워크들의 연관성을 나타내는 공유 네트워크일 수 있다. 또한, 제1 네트워크 및 제2 네트워크는 라우터(routers), 브릿지(bridges), 서버, 컴퓨팅 디바이스, 저장 디바이스 등을 포함하는 다양한 네트워크 디바이스들을 포함할 수 있다.The communication network 1409 restricts direct interconnect, e-commerce networks, peer to peer (P2P) networks, LANs, WANs, wireless networks (e.g. using wireless application protocols), Internet and Wi-Fi, etc. Can be included without. The first network and the second network are dedicated networks, or of different types of networks that use various protocols such as HTTP (Hypertext Transfer Protocol), TCP/IP, and Wireless Application Protocol (WAP) to communicate with each other. It may be a shared network showing association. Further, the first network and the second network may include various network devices including routers, bridges, servers, computing devices, storage devices, and the like.

일 실시예에서, 프로세서(1402)는 저장 인터페이스(1404)를 통해 메모리(1405)(예: RAM, ROM 등, 도 14에 도시되지 않음)와 통신하도록 배치될 수 있다. 저장 인터페이스(1404)는 SATA(serial advanced technology attachment), IDE(Integrated Drive Electronics), IEEE-1394, USB(Universal Serial Bus), 파이버 채널(fiber channel), SCSI(Small Computer Systems Interface) 등과 같은 연결 프로토콜을 제한 없이 사용하고, 메모리 드라이브, 이동식 디스크 드라이브(memory disc drives)를 포함하는 메모리(1405)에 연결할 수 있다. 메모리 드라이브는 드럼(drum), 자기 디스크 드라이브(magnetic disc drive), 광 자기 드라이브(magneto-optical drive), 광 드라이브(optical drive), RAID(Redundant Array of Independent Discs), 반도체를 이용한(solid state) 메모리 디바이스, 반도체를 이용한 드라이브 등을 포함할 수 있다.In one embodiment, the processor 1402 may be arranged to communicate with the memory 1405 (eg, RAM, ROM, etc., not shown in FIG. 14) through the storage interface 1404. The storage interface 1404 is a connection protocol such as serial advanced technology attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), fiber channel, Small Computer Systems Interface (SCSI), etc. Can be used without limitation, and can be connected to memory 1405, including memory drives and removable disk drives. Memory drives include drums, magnetic disc drives, magneto-optical drives, optical drives, RAID (Redundant Array of Independent Discs), and solid state It may include a memory device, a drive using a semiconductor, and the like.

메모리(1405)는 사용자 인터페이스(1406), 운영 체제(1407) 등을 제한 없이 포함하는 프로그램 또는 데이터페이스 컴포넌트들의 집합을 저장할 수 있다. 일 실시예에서, 사용자 장비(1400)는 본 개시에서 설명된 바와 같이 데이터, 변수, 레코드 등과 같은 사용자/애플리케이션 데이터를 저장할 수 있다. 이러한 데이터베이스는 Oracle 또는 Sybase와 같은 내결함성(fault-tolerant), 관계형(relational), 확장성(scalable), 보안 데이터베이스(secure databases)로 구현될 수 있다.The memory 1405 may store a set of program or database components including, without limitation, a user interface 1406, an operating system 1407, and the like. In one embodiment, user equipment 1400 may store user/application data such as data, variables, records, and the like as described in this disclosure. These databases can be implemented as fault-tolerant, relational, scalable, and secure databases such as Oracle or Sybase.

운영 체제(1407)는 사용자 장비(1400)의 리소스 관리 및 동작을 용이하게 할 수 있다. 예를 들어, 운영 체제는, APPLE MACINTOSHR OS X, UNIXR, UNIX-like system distributions (E.G., BERKELEY SOFTWARE DISTRIBUTIONTM (BSD), FREEBSDTM, NETBSDTM, OPENBSDTM, etc.), LINUX DISTRIBUTIONSTM (E.G., RED HATTM, UBUNTUTM, KUBUNTUTM, etc.), IBMTM OS/2, MICROSOFTTM WINDOWSTM (XPTM, VISTATM/7/8, 10 etc.), APPLER IOSTM, GOOGLER ANDROIDTM, BLACKBERRYR OS 등을 제한 없이 포함할 수 있다.The operating system 1407 may facilitate resource management and operation of the user equipment 1400. For example, the operating system is APPLE MACINTOSH R OS X, UNIX R , UNIX-like system distributions (EG, BERKELEY SOFTWARE DISTRIBUTION TM (BSD), FREEBSD TM , NETBSD TM , OPENBSD TM , etc.), LINUX DISTRIBUTIONS TM ( EG, RED HAT TM , UBUNTU TM , KUBUNTU TM , etc.), IBM TM OS/2, MICROSOFT TM WINDOWS TM (XP TM , VISTA TM /7/8, 10 etc.), APPLE R IOS TM , GOOGLE R ANDROID TM , BLACKBERRY R OS, etc. may be included without limitation.

일 실시예에서, 사용자 장비(1400)는 저장된 프로그램 컴포넌트를 웹 브라우저(1408)로 구현할 수 있다. 웹 브라우저(1408)는, MICROSOFT® INTERNET EXPLORERTM, GOOGLE® CHROMETM, MOZILLA® FIREFOXTM, APPLE® SAFARITM와 같은 하이퍼텍스트(hypertext) 시청 에플리케이션(hypertext viewing application)일 수 있다. 보안 웹 브라우징은 보안 HTTPS(Hypertext Transport Protocol), SSL(Secure Sockets Layer), TLS(Transport Layer Security)등을 사용하여 제공될 수 있다. 웹 브라우저(1408)는 AJAXTM, DHTMLTM, ADOBE® FLASHTM, JAVASCRIPTTM, JAVATM, APIs(Application Programming Interfaces)와 같은 기능들을 이용할 수 있다. 일부 실시예에서, 사용자 장비(101)는 프로그램 컴포넌트에 저장된 메일 서버를 구현할 수 있다. 메일 서버는 Microsoft Exchange 등과 같은 인터넷 메일 서버일 수 있다. 메일 서버는, ASPTM, ACTIVEXTM, ANSITM C++/C#, MICROSOFT®, NETTM, CGI SCRIPTSTM, JAVATM, JAVASCRIPTTM, PERLTM, PHPTM, PYTHONTM, WEBOBJECTSTM와 같은 기능들을 이용할 수 있다. 메일 서버는 IMAP(Internet Message Access Protocol), MAPI(Messaging Application Programming Interface), MICROSOFT® exchange, POP(Post Office Protocol), SMTP(Simple Mail Transfer Protocol) 등과 같은 통신 프로토콜을 이용할 수 있다. 일부 실시예들에서, 사용자 장비(1400)는 프로그램 컴포넌트에 저장된 메일 클라이언트를 구현할 수 있다. 메일 클라이언트는 APPLE® MAILTM, MICROSOFT® ENTOURAGETM, MICROSOFT® OUTLOOKTM, MOZILLA® THUNDERBIRDTM과 같은 메일 시청 어플리케이션(mail viewing application)일 수 있다.In one embodiment, the user equipment 1400 may implement the stored program component as a web browser 1408. Web browser 1408 may be, MICROSOFT ® INTERNET EXPLORER TM, GOOGLE ® CHROME TM, MOZILLA ® FIREFOX TM, APPLE ® SAFARI TM and hypertext (hypertext) watching epeulrikeyisyeon (hypertext viewing application) the same. Secure web browsing can be provided using secure HTTPS (Hypertext Transport Protocol), SSL (Secure Sockets Layer), TLS (Transport Layer Security), and the like. Web browser 1408 can take advantage of features such as AJAX TM, DHTML TM, ADOBE ® FLASH TM, JAVASCRIPT TM, JAVA TM, (Application Programming Interfaces) APIs. In some embodiments, user equipment 101 may implement a mail server stored in a program component. The mail server may be an Internet mail server such as Microsoft Exchange. The mail server can use features such as ASP TM , ACTIVEX TM , ANSI TM C++/C#, MICROSOFT ® , NET TM , CGI SCRIPTS TM , JAVA TM , JAVASCRIPT TM , PERL TM , PHP TM , PYTHON TM , WEBOBJECTS TM . Mail server may use a communication protocol such as (Internet Message Access Protocol) IMAP, (Messaging Application Programming Interface) MAPI, MICROSOFT ® exchange, POP (Post Office Protocol), SMTP (Simple Mail Transfer Protocol). In some embodiments, user equipment 1400 may implement a mail client stored in a program component. The mail client may be a mail viewing application such as APPLE ® MAIL TM , MICROSOFT ® ENTOURAGE TM , MICROSOFT ® OUTLOOK TM , MOZILLA ® THUNDERBIRD TM .

그러나, 도 14에 도시된 구성 요소 모두가 사용자 장비(1400)의 필수 구성 요소인 것은 아니다. 도 14에 도시된 구성 요소보다 많은 구성 요소에 의해 사용자 장비(1400)가 구현될 수도 있고, 도 14에 도시된 구성 요소보다 적은 구성 요소에 의해 사용자 장비(1400)가 구현될 수도 있다.However, not all of the components shown in FIG. 14 are essential components of the user equipment 1400. The user equipment 1400 may be implemented by more components than the components shown in FIG. 14, or the user equipment 1400 may be implemented by fewer components than the components shown in FIG. 14.

상술된 누락된 데이터 패킷의 복구 시 사용되는 스누프(SNOOP) 방법에 대해서 설명하면 다음과 같다. 스누프는 기지국(base station, BS)에서 확인되지 않은(un-acknowledged) TCP 세그먼트 정보를 유지하는 프로토콜을 의미할 수 있다. 일 실시예에서, ARQ SNOOP 에이전트(agent)는, 무선 랜 환경에서 TCP에 의한 링크 계층 AQR 기법을 이용하기 위하여 설계된 소프트웨어 모듈을 의미할 수 있다. 이러한 소프트웨어 모듈은 TCP와 MAC 계층 사이의 프로토콜 스택 내에서 작동할 수 있다.A description will be given of the SNOOP method used when recovering the above-described missing data packet. Snoop may mean a protocol that maintains un-acknowledged TCP segment information in a base station (BS). In one embodiment, the ARQ SNOOP agent may mean a software module designed to use a link layer AQR scheme using TCP in a wireless LAN environment. These software modules can operate within the protocol stack between the TCP and MAC layers.

패킷 손실 감지 및 무선 네트워크에서 패킷 손실 숨기기(BS에서 중복 패킷 드롭(dropping duplicate packet in the BS))와 같은 두 가지 메커니즘은 사용자 장비와 기지국 모두에서 수정이 필요할 수 있다.Two mechanisms, such as packet loss detection and packet loss hiding in the wireless network (dropping duplicate packet in the BS), may require modification at both the user equipment and the base station.

일 실시 예에서, W-TCP는 기지국에서 사용자 장비로 이동하도록 SNOOP를 조정할 수 있다. 일 실시 예에 따른 방법은, SNOOP 타이머를 계산하고, 무선 전송 오류로 인한 재전송을 폐기(discard)함으로써, 혼잡(congestion) 손실(loss) 이벤트로부터 송신자를 보호할 수 있다.In one embodiment, the W-TCP may adjust the SNOOP to move from the base station to the user equipment. The method according to an embodiment may protect a sender from a congestion loss event by calculating a SNOOP timer and discarding retransmission due to a radio transmission error.

본 개시의 일 실시예는, 무선 링크 에러로부터, 송신자인 사용자 디바이스를 보호(shield)할 수 있다. 또한, 본 개시의 일 실시예는, 링크 레이어의 오버헤드를 제거할 수 있다. 또한, 본 개시의 일 실시예는, 이벤트 기반이며, 따라서, 매우 적은 전력 소모를 필요로 할 수 있다. 본 개시의 일 실시예는 사용자 장비 레벨에서 데이터 전송을 최적화하기 위한 솔루션을 제공하며, 따라서, 기지국 또는 다른 네트워크 엔티티에서 임의의 수정의 필요성이 제거될 수 있다.According to an embodiment of the present disclosure, a user device as a sender may be shielded from a radio link error. Also, according to an embodiment of the present disclosure, overhead of a link layer may be removed. In addition, an embodiment of the present disclosure is event-based, and thus, may require very little power consumption. An embodiment of the present disclosure provides a solution for optimizing data transmission at the user equipment level, and thus the need for any modification at the base station or other network entity can be eliminated.

본 개시의 일 실시예에 따르면, 무선 통신 시스템에서 단말의 동작 방법은, 다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하는 단계; 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하는 단계; 및 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a method of operating a terminal in a wireless communication system includes: identifying an omission of at least one data packet among a plurality of data packets transmitted from another terminal; Determining an event that caused the at least one data packet to be dropped; And setting a length of a timer for receiving the at least one missing data packet based on a network metric corresponding to the determined event.

일 실시예에 따르면, 상기 이벤트는 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 또는 연속 패킷 손실(Consecutive Packet Loss, CPL) 중 적어도 하나를 포함할 수 있다.According to an embodiment, the event may include at least one of Spurious Loss (SL), Burst Loss (BL), or Consecutive Packet Loss (CPL).

일 실시예에 따르면, 상기 타이머의 길이를 설정하는 단계는, 상기 이벤트가 SL로 결정되는 경우, 상기 SL에 대응하는 네트워크 메트릭에 기초하여 상기 타이머의 길이를 설정하는 단계를 포함하고, 상기 SL에 대응하는 네트워크 메트릭은 추정된 SRTT 또는 RTTVAR 중 적어도 하나를 포함할 수 있다.According to an embodiment, the setting of the length of the timer includes setting the length of the timer based on a network metric corresponding to the SL when the event is determined as SL, and The corresponding network metric may include at least one of the estimated SRTT or RTTVAR.

일 실시예에 따르면, 상기 타이머의 길이를 설정하는 단계는, 상기 이벤트가 BL로 결정되는 경우, 상기 단말의 네트워크 상태에 대응하는 엣지 노드(edge node)의 상태를 결정하는 단계; 및 상기 결정된 엣지 노드의 상태 또는 이동성 파라미터 중 적어도 하나에 기초하여, 상기 타이머의 길이를 설정하는 단계를 더 포함할 수 있다.According to an embodiment, the setting of the length of the timer includes: when the event is determined as BL, determining a state of an edge node corresponding to a network state of the terminal; And setting the length of the timer based on at least one of the determined state of the edge node or the mobility parameter.

일 실시예에 따르면, 조정된 스누프(coordinated snoop) 및 ARQ(Automatic Repeat Request) 재전송에 기초하여, 상기 설정된 타이머의 길이 동안 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계를 더 포함할 수 있다.According to an embodiment, based on coordinated snoop and automatic repeat request (ARQ) retransmission, the step of receiving the at least one missing data packet during the set timer length may be further included. .

일 실시예에 따르면, 상기 이벤트가 CPL로 결정되는 경우, 상기 단말에서 상기 다른 단말로 전송되는 중복(duplicate, Dup) ACK의 전송 속도를 제어하는 단계를 더 포함할 수 있다.According to an embodiment, when the event is determined as CPL, the step of controlling the transmission rate of a duplicate (Dup) ACK transmitted from the terminal to the other terminal may be further included.

일 실시예에 따르면, 상기 Dup ACK의 전송 속도를 제어하는 단계는, 상기 단말의 핸드오버의 발생을 결정하는 단계; 상기 발생된 핸드오버에 소요되는 시간을 계산하는 단계; 및 상기 계산된 시간에 기초하여, TDA(Triple Dup ACK)의 개수를 조정하는 단계를 포함할 수 있다.According to an embodiment, the controlling of the transmission rate of the Dup ACK includes: determining occurrence of a handover of the terminal; Calculating a time required for the generated handover; And adjusting the number of Triple Dup ACKs (TDA) based on the calculated time.

일 실시예에 따르면, 상기 설정된 타이머의 길이 동안, 상기 다른 단말로부터 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계를 더 포함할 수 있다.According to an embodiment, it may further include receiving the at least one missing data packet from the other terminal during the set timer length.

일 실시예에 따르면, 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계는, 상기 이벤트가 BL 또는 CPL로 결정되는 경우, 상기 다른 단말로 프로브 패킷을 송신하는 단계; 및 상기 송신된 프로브 패킷에 대한 ACK 수신에 대응하여, 상기 다른 단말로부터 재전송된 적어도 하나의 누락된 데이터 패킷을 수신하는 단계를 더 포함할 수 있다.According to an embodiment, the receiving of the missing at least one data packet may include transmitting a probe packet to the other terminal when the event is determined as BL or CPL; And in response to receiving an ACK for the transmitted probe packet, receiving at least one missing data packet retransmitted from the other terminal.

본 개시의 일 실시예에 따르면, 무선 통신 시스템에서 단말은, 입출력 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하고, 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하고, 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정할 수 있다.According to an embodiment of the present disclosure, in a wireless communication system, a terminal includes an input/output interface; A memory for storing one or more instructions; And at least one processor that executes the one or more instructions stored in the memory, wherein the at least one processor identifies an omission of at least one data packet among a plurality of data packets transmitted from another terminal, and the An event that caused at least one data packet to be dropped may be determined, and a length of a timer for receiving the at least one missing data packet may be set based on a network metric corresponding to the determined event.

일 실시예에 따르면, 상기 이벤트는 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 또는 연속 패킷 손실(Consecutive Packet Loss, CPL) 중 적어도 하나를 포함할 수 있다.According to an embodiment, the event may include at least one of Spurious Loss (SL), Burst Loss (BL), or Consecutive Packet Loss (CPL).

일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이벤트가 SL로 결정되는 경우, 상기 SL에 대응하는 네트워크 메트릭에 기초하여 상기 타이머의 길이를 설정하고, 상기 SL에 대응하는 네트워크 메트릭은 추정된 SRTT 또는 RTTVAR 중 적어도 하나를 포함할 수 있다.According to an embodiment, when the event is determined as SL, the at least one processor sets the length of the timer based on a network metric corresponding to the SL, and the network metric corresponding to the SL is estimated It may include at least one of SRTT or RTTVAR.

일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이벤트가 BL로 결정되는 경우, 상기 단말의 네트워크 상태에 대응하는 엣지 노드(edge node)의 상태를 결정하고, 상기 결정된 엣지 노드의 상태 또는 이동성 파라미터 중 적어도 하나에 기초하여, 상기 타이머의 길이를 설정할 수 있다.According to an embodiment, when the event is determined as BL, the at least one processor determines a state of an edge node corresponding to the network state of the terminal, and the determined state or mobility of the edge node The length of the timer may be set based on at least one of the parameters.

일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 조정된 스누프(coordinated snoop) 및 ARQ(Automatic Repeat Request) 재전송에 기초하여, 상기 설정된 타이머의 길이 동안 상기 누락된 적어도 하나의 데이터 패킷을 수신할 수 있다.According to an embodiment, the at least one processor may receive the at least one missing data packet during the set timer length based on coordinated snoop and automatic repeat request (ARQ) retransmission. I can.

일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이벤트가 CPL로 결정되는 경우, 상기 단말에서 상기 다른 단말로 전송되는 중복(duplicate, Dup) ACK의 전송 속도를 제어할 수 있다.According to an embodiment, when the event is determined as CPL, the at least one processor may control a transmission rate of a duplicate (Dup) ACK transmitted from the terminal to the other terminal.

일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 상기 단말의 핸드오버의 발생을 결정하고, 상기 발생된 핸드오버에 소요되는 시간을 계산하고, 상기 계산된 시간에 기초하여, TDA(Triple Dup ACK)의 개수를 조정할 수 있다.According to an embodiment, the at least one processor determines the occurrence of handover of the terminal, calculates a time required for the generated handover, and based on the calculated time, TDA (Triple Dup ACK) The number of) can be adjusted.

일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 상기 설정된 타이머의 길이 동안, 상기 다른 단말로부터 상기 누락된 적어도 하나의 데이터 패킷을 수신할 수 있다.According to an embodiment, the at least one processor may receive the missing at least one data packet from the other terminal during the set timer length.

일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이벤트가 BL 또는 CPL로 결정되는 경우, 상기 다른 단말로 프로브 패킷을 송신하고, 상기 송신된 프로브 패킷에 대한 ACK 수신에 대응하여, 상기 다른 단말로부터 재전송된 적어도 하나의 누락된 데이터 패킷을 수신할 수 있다.According to an embodiment, the at least one processor transmits a probe packet to the other terminal when the event is determined to be BL or CPL, and in response to receiving an ACK for the transmitted probe packet, the other terminal At least one missing data packet retransmitted from may be received.

송신단으로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하는 단계; 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하는 단계; 및 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 패킷을 수신하기 위한 타이머의 길이를 설정하는 단계를 포함할 수 있다. Identifying an omission of at least one data packet from among a plurality of data packets transmitted from the transmitting end; Determining an event that caused the at least one data packet to be dropped; And setting a length of a timer for receiving the at least one missing packet based on a network metric corresponding to the determined event.

일 실시예에서, 상기 이벤트는 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 또는 연속 패킷 손실(Consecutive Packet Loss, CPL) 중 적어도 하나를 포함할 수 있다.In one embodiment, the event may include at least one of Spurious Loss (SL), Burst Loss (BL), or Consecutive Packet Loss (CPL).

일 실시예에 따른 상기 타이머의 길이를 설정하는 단계는, 상기 이벤트가 SL로 결정되는 경우, 상기 SL에 대응하는 네트워크 메트릭에 기초하여 상기 타이머의 길이를 설정하는 단계를 포함할 수 있다.Setting the length of the timer according to an embodiment may include setting the length of the timer based on a network metric corresponding to the SL when the event is determined as SL.

일 실시예에 따른 상기 타이머의 길이를 설정하는 단계는, 상기 이벤트가 BL로 결정되는 경우, 상기 수신단의 네트워크 상태에 대응하는 엣지 노드(edge node)의 상태를 결정하는 단계; 및 상기 결정된 엣지 노드의 상태 또는 이동성 파라미터 중 적어도 하나에 기초하여, 상기 타이머의 길이를 설정하는 단계를 더 포함할 수 있다.Setting the length of the timer according to an embodiment includes: when the event is determined to be BL, determining a state of an edge node corresponding to a network state of the receiving end; And setting the length of the timer based on at least one of the determined state of the edge node or the mobility parameter.

일 실시예에 따른 수신단의 동작 방법은, 조정된 스누프(coordinated snoop) 및 ARQ(Automatic Repeat Request) 재전송에 기초하여, 상기 설정된 타이머의 길이 동안 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계를 더 포함할 수 있다.An operating method of a receiving end according to an embodiment includes receiving the at least one missing data packet during the set timer length based on coordinated snoop and automatic repeat request (ARQ) retransmission. It may contain more.

일 실시예에 따른 수신단의 동작 방법은, 상기 이벤트가 CPL로 결정되는 경우, 상기 수신단에서 상기 송신단으로 전송되는 중복(duplicate, Dup) ACK의 전송 속도를 제어하는 단계를 더 포함할 수 있다.The operating method of the receiving end according to an embodiment may further include controlling a transmission rate of a duplicate (Dup) ACK transmitted from the receiving end to the transmitting end when the event is determined as CPL.

일 실시예에 따른 상기 Dup ACK의 전송 속도를 제어하는 단계는, 상기 수신단의 핸드오버의 발생을 결정하는 단계; 상기 발생된 핸드오버에 소요되는 시간을 계산하는 단계; 및 상기 계산된 시간에 기초하여, TDA(Triple Dup ACK)의 개수를 조정하는 단계를 포함할 수 있다.The controlling of the transmission rate of the Dup ACK according to an embodiment includes: determining the occurrence of a handover of the receiving end; Calculating a time required for the generated handover; And adjusting the number of Triple Dup ACKs (TDA) based on the calculated time.

일 실시예에 따른 수신단의 동작 방법은, 상기 설정된 타이머의 길이 동안, 상기 송신단으로부터 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계를 더 포함할 수 있다.The operating method of the receiving end according to an embodiment may further include receiving the at least one missing data packet from the transmitting end during the set timer.

일 실시예에 따른 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계는, 상기 이벤트가 BL 또는 CPL로 결정되는 경우, 상기 송신단으로 프로브 패킷을 송신하는 단계; 및 상기 송신된 프로브 패킷에 대한 ACK 수신에 대응하여, 상기 송신단으로부터 재전송된 적어도 하나의 누락된 데이터 패킷을 수신하는 단계를 더 포함할 수 있다.Receiving the at least one missing data packet according to an embodiment includes: when the event is determined as BL or CPL, transmitting a probe packet to the transmitter; And in response to receiving an ACK for the transmitted probe packet, receiving at least one missing data packet retransmitted from the transmitting end.

본 개시의 일 실시 예에 따르면, 무선 통신 시스템에서 수신단은, 입출력 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 송신단으로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하고, 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하고, 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 패킷을 수신하기 위한 타이머의 길이를 설정하도록 하는, 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함할 수 있다.According to an embodiment of the present disclosure, in a wireless communication system, a receiving end includes an input/output interface; A memory for storing one or more instructions; And identifying an omission of at least one data packet among a plurality of data packets transmitted from the transmitting end, determining an event that caused the omission of the at least one data packet, and based on a network metric corresponding to the determined event, It may include at least one processor that executes the one or more instructions to set a length of a timer for receiving the at least one missing packet.

일 실시예에서, 상기 이벤트는 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 또는 연속 패킷 손실(Consecutive Packet Loss, CPL) 중 적어도 하나를 포함할 수 있다.In one embodiment, the event may include at least one of Spurious Loss (SL), Burst Loss (BL), or Consecutive Packet Loss (CPL).

일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 이벤트가 SL로 결정되는 경우, 상기 SL에 대응하는 네트워크 메트릭에 기초하여 상기 타이머의 길이를 설정할 수 있다.In an embodiment, when the event is determined to be SL by executing the one or more instructions, the at least one processor may set the length of the timer based on a network metric corresponding to the SL.

일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 이벤트가 BL로 결정되는 경우, 상기 수신단의 네트워크 상태에 대응하는 엣지 노드(edge node)의 상태를 결정하고, 상기 결정된 엣지 노드의 상태 또는 이동성 파라미터 중 적어도 하나에 기초하여, 상기 타이머의 길이를 설정할 수 있다.In one embodiment, the at least one processor, when the event is determined as BL by executing the one or more instructions, determines a state of an edge node corresponding to the network state of the receiving end, and the The length of the timer may be set based on at least one of the determined state of the edge node or the mobility parameter.

일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 조정된 스누프(coordinated snoop) 및 ARQ(Automatic Repeat Request) 재전송에 기초하여, 상기 설정된 타이머의 길이 동안 상기 누락된 적어도 하나의 데이터 패킷을 수신할 수 있다.In one embodiment, the at least one processor, based on coordinated snoop and ARQ (Automatic Repeat Request) retransmission by executing the one or more instructions, the missing at least during the length of the set timer One data packet can be received.

일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 이벤트가 CPL로 결정되는 경우, 상기 수신단에서 상기 송신단으로 전송되는 중복(duplicate, Dup) ACK의 전송 속도를 제어할 수 있다.In one embodiment, the at least one processor, by executing the one or more instructions, when the event is determined as CPL, controls the transmission rate of a duplicate (Dup) ACK transmitted from the receiving end to the transmitting end. I can.

일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 수신단의 핸드오버의 발생을 결정하고, 상기 발생된 핸드오버에 소요되는 시간을 계산하고, 상기 계산된 시간에 기초하여, TDA(Triple Dup ACK)의 개수를 조정할 수 있다.In one embodiment, the at least one processor, by executing the one or more instructions, determines the occurrence of handover of the receiving end, calculates a time required for the generated handover, and based on the calculated time Thus, the number of TDA (Triple Dup ACK) can be adjusted.

일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 설정된 타이머의 길이 동안, 상기 송신단으로부터 상기 누락된 적어도 하나의 데이터 패킷을 수신할 수 있다.In an embodiment, the at least one processor may receive the at least one missing data packet from the transmitting end during the set timer length by executing the one or more instructions.

일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 이벤트가 BL 또는 CPL로 결정되는 경우, 상기 송신단으로 프로브 패킷을 송신하고, 상기 송신된 프로브 패킷에 대한 ACK 수신에 대응하여, 상기 송신단으로부터 재전송된 적어도 하나의 누락된 데이터 패킷을 수신할 수 있다.In one embodiment, the at least one processor, when the event is determined to be BL or CPL, by executing the one or more instructions, transmits a probe packet to the transmitter, and receives an ACK for the transmitted probe packet. Correspondingly, at least one missing data packet retransmitted from the transmitting end may be received.

본 개시의 일 실시예에 따르면, 컴퓨터로 읽을 수 있는 기록 매체는, 다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하는 동작; 상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하는 동작; 및 상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 동작을 수행하도록 하는 프로그램을 저장할 수 있다.According to an embodiment of the present disclosure, a computer-readable recording medium includes: identifying an omission of at least one data packet among a plurality of data packets transmitted from another terminal; Determining an event that caused the at least one data packet to be dropped; And a program for setting a length of a timer for receiving the at least one missing data packet based on a network metric corresponding to the determined event.

본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.An embodiment of the present disclosure may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable media may include computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media may typically contain computer readable instructions, data structures, or other data in a modulated data signal such as a program module.

본 개시에서, 용어 "컴퓨터 프로그램 제품(computer program product)" 또는 "컴퓨터로 읽을 수 있는 기록매체(computer readable medium)"는 메모리, 하드 디스크 드라이브에 설치된 하드 디스크, 및 신호 등의 매체를 전체적으로 지칭하기 위해 사용된다. 이들 "컴퓨터 프로그램 제품" 또는 "컴퓨터로 읽을 수 있는 기록매체"는 본 개시에 따른 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 누락된 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 명령어로 구성된 소프트웨어 컴퓨터 시스템에 제공하는 수단이다.In the present disclosure, the term "computer program product" or "computer readable medium" generally refers to a medium such as a memory, a hard disk installed in a hard disk drive, and a signal. Used for These “computer program products” or “computer-readable recording media” are software consisting of instructions for setting the length of a timer for receiving a missing data packet based on a network metric corresponding to a determined event according to the present disclosure. It is a means of providing a computer system.

또한, 본 개시에서, "부", "모듈" 등의 용어는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다. In addition, in the present disclosure, terms such as "unit" and "module" may be a hardware component such as a processor or a circuit, and/or a software component executed by a hardware configuration such as a processor. .

"부", "모듈"은 어드레싱될 수 있는 저장 매체에 저장되며 프로세서에 의해 실행될 수 있는 프로그램에 의해 구현될 수도 있다. 예를 들어, "부", "모듈" 은 소프트웨어 구성 요소들, 객체 지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들에 의해 구현될 수 있다.The "unit" and "module" are stored in an addressable storage medium and may be implemented by a program that can be executed by a processor. For example, "sub" and "module" refer to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and It can be implemented by procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.

본 개시에서 설명된 특정 실행들은 일 실시예 일 뿐이며, 어떠한 방법으로도 본 개시의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 및 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. The specific implementations described in the present disclosure are only an example, and do not limit the scope of the disclosure in any way. For brevity of the specification, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted.

또한, 본 개시에서, "a, b 또는 c 중 적어도 하나를 포함한다"는 "a만 포함하거나, b만 포함하거나, c만 포함하거나, a 및 b를 포함하거나, b 및 c를 포함하거나, a 및 c를 포함하거나, a, b 및 c를 모두 포함하는 것을 의미할 수 있다.In addition, in the present disclosure, “including at least one of a, b or c” means “including only a, only b, only c, including a and b, or including b and c, It may mean including a and c, or including all of a, b and c.

전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present disclosure is for illustrative purposes only, and those of ordinary skill in the art to which the present disclosure pertains will be able to understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present disclosure. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present disclosure. do.

Claims (19)

무선 통신 시스템에서 단말의 동작 방법에 있어서,
다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하는 단계;
상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하는 단계; 및
상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 단계를 포함하는 방법.
In the method of operating a terminal in a wireless communication system,
Identifying an omission of at least one data packet among a plurality of data packets transmitted from another terminal;
Determining an event that caused the at least one data packet to be dropped; And
And setting a length of a timer for receiving the at least one missing data packet based on a network metric corresponding to the determined event.
제1항에 있어서,
상기 이벤트는 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 또는 연속 패킷 손실(Consecutive Packet Loss, CPL) 중 적어도 하나를 포함하는 방법.
The method of claim 1,
The event includes at least one of Spurious Loss (SL), Burst Loss (BL), or Consecutive Packet Loss (CPL).
제2항에 있어서,
상기 타이머의 길이를 설정하는 단계는,
상기 이벤트가 SL로 결정되는 경우,
상기 SL에 대응하는 네트워크 메트릭에 기초하여 상기 타이머의 길이를 설정하는 단계를 포함하고,
상기 SL에 대응하는 네트워크 메트릭은 추정된 SRTT 또는 RTTVAR 중 적어도 하나를 포함하는 방법.
The method of claim 2,
Setting the length of the timer,
If the event is determined as SL,
Including the step of setting the length of the timer based on the network metric corresponding to the SL,
The network metric corresponding to the SL includes at least one of an estimated SRTT or RTTVAR.
제2항에 있어서,
상기 타이머의 길이를 설정하는 단계는,
상기 이벤트가 BL로 결정되는 경우,
상기 단말의 네트워크 상태에 대응하는 엣지 노드(edge node)의 상태를 결정하는 단계; 및
상기 결정된 엣지 노드의 상태 또는 이동성 파라미터 중 적어도 하나에 기초하여, 상기 타이머의 길이를 설정하는 단계를 더 포함하는 방법.
The method of claim 2,
Setting the length of the timer,
If the event is determined as BL,
Determining a state of an edge node corresponding to a network state of the terminal; And
The method further comprising setting a length of the timer based on at least one of the determined state of the edge node or a mobility parameter.
제4항에 있어서,
조정된 스누프(coordinated snoop) 및 ARQ(Automatic Repeat Request) 재전송에 기초하여, 상기 설정된 타이머의 길이 동안 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계를 더 포함하는 방법.
The method of claim 4,
The method further comprising receiving the at least one missing data packet during the set length of the timer, based on coordinated snoop and automatic repeat request (ARQ) retransmission.
제2항에 있어서,
상기 이벤트가 CPL로 결정되는 경우,
상기 단말에서 상기 다른 단말로 전송되는 중복(duplicate, Dup) ACK의 전송 속도를 제어하는 단계를 더 포함하는 방법.
The method of claim 2,
If the event is determined by CPL,
The method further comprising the step of controlling a transmission rate of a duplicate (Dup) ACK transmitted from the terminal to the other terminal.
제6항에 있어서,
상기 Dup ACK의 전송 속도를 제어하는 단계는,
상기 단말의 핸드오버의 발생을 결정하는 단계;
상기 발생된 핸드오버에 소요되는 시간을 계산하는 단계; 및
상기 계산된 시간에 기초하여, TDA(Triple Dup ACK)의 개수를 조정하는 단계를 포함하는 방법.
The method of claim 6,
Controlling the transmission rate of the Dup ACK,
Determining occurrence of handover of the terminal;
Calculating a time required for the generated handover; And
And adjusting the number of Triple Dup ACKs (TDA) based on the calculated time.
제2항에 있어서,
상기 설정된 타이머의 길이 동안, 상기 다른 단말로부터 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계를 더 포함하는 방법.
The method of claim 2,
And receiving the at least one missing data packet from the other terminal during the set timer length.
제8항에 있어서,
상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단계는,
상기 이벤트가 BL 또는 CPL로 결정되는 경우,
상기 다른 단말로 프로브 패킷을 송신하는 단계; 및
상기 송신된 프로브 패킷에 대한 ACK 수신에 대응하여, 상기 다른 단말로부터 재전송된 적어도 하나의 누락된 데이터 패킷을 수신하는 단계를 더 포함하는 방법.
The method of claim 8,
Receiving the at least one missing data packet,
If the event is determined as BL or CPL,
Transmitting a probe packet to the other terminal; And
And in response to receiving an ACK for the transmitted probe packet, receiving at least one missing data packet retransmitted from the other terminal.
무선 통신 시스템에서 단말에 있어서,
입출력 인터페이스;
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는,
다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하고,
상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하고,
상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 단말.
In a terminal in a wireless communication system,
Input/output interface;
A memory for storing one or more instructions; And
At least one processor for executing the one or more instructions stored in the memory,
The at least one processor,
Identifying omission of at least one data packet among a plurality of data packets transmitted from another terminal,
Determining an event that caused the at least one data packet to be dropped,
A terminal configured to set a length of a timer for receiving the at least one missing data packet based on a network metric corresponding to the determined event.
제10항에 있어서,
상기 이벤트는 가짜 손실(Spurious Loss, SL), 버스트 손실(Burst Loss, BL) 또는 연속 패킷 손실(Consecutive Packet Loss, CPL) 중 적어도 하나를 포함하는 단말.
The method of claim 10,
The event includes at least one of Spurious Loss (SL), Burst Loss (BL), or Consecutive Packet Loss (CPL).
제11항에 있어서,
상기 적어도 하나의 프로세서는,
상기 이벤트가 SL로 결정되는 경우,
상기 SL에 대응하는 네트워크 메트릭에 기초하여 상기 타이머의 길이를 설정하고,
상기 SL에 대응하는 네트워크 메트릭은 추정된 SRTT 또는 RTTVAR 중 적어도 하나를 포함하는 단말.
The method of claim 11,
The at least one processor,
If the event is determined as SL,
Set the length of the timer based on the network metric corresponding to the SL,
The network metric corresponding to the SL includes at least one of the estimated SRTT and RTTVAR.
제11항에 있어서,
상기 적어도 하나의 프로세서는,
상기 이벤트가 BL로 결정되는 경우,
상기 단말의 네트워크 상태에 대응하는 엣지 노드(edge node)의 상태를 결정하고,
상기 결정된 엣지 노드의 상태 또는 이동성 파라미터 중 적어도 하나에 기초하여, 상기 타이머의 길이를 설정하는 단말.
The method of claim 11,
The at least one processor,
If the event is determined as BL,
Determine the state of the edge node corresponding to the network state of the terminal,
A terminal configured to set the length of the timer based on at least one of the determined state of the edge node or a mobility parameter.
제13항에 있어서,
상기 적어도 하나의 프로세서는,
조정된 스누프(coordinated snoop) 및 ARQ(Automatic Repeat Request) 재전송에 기초하여, 상기 설정된 타이머의 길이 동안 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단말.
The method of claim 13,
The at least one processor,
Based on coordinated snoop and automatic repeat request (ARQ) retransmission, the terminal receives the at least one missing data packet for the length of the set timer.
제11항에 있어서,
상기 적어도 하나의 프로세서는,
상기 이벤트가 CPL로 결정되는 경우,
상기 단말에서 상기 다른 단말로 전송되는 중복(duplicate, Dup) ACK의 전송 속도를 제어하는 단말.
The method of claim 11,
The at least one processor,
If the event is determined by CPL,
A terminal that controls the transmission rate of a duplicate (Dup) ACK transmitted from the terminal to the other terminal.
제15항에 있어서,
상기 적어도 하나의 프로세서는,
상기 단말의 핸드오버의 발생을 결정하고,
상기 발생된 핸드오버에 소요되는 시간을 계산하고,
상기 계산된 시간에 기초하여, TDA(Triple Dup ACK)의 개수를 조정하는 단말.
The method of claim 15,
The at least one processor,
Determine the occurrence of handover of the terminal,
Calculate the time required for the generated handover,
Terminal for adjusting the number of TDA (Triple Dup ACK) based on the calculated time.
제11항에 있어서,
상기 적어도 하나의 프로세서는,
상기 설정된 타이머의 길이 동안, 상기 다른 단말로부터 상기 누락된 적어도 하나의 데이터 패킷을 수신하는 단말.
The method of claim 11,
The at least one processor,
During the length of the set timer, the terminal receives the at least one missing data packet from the other terminal.
제17항에 있어서,
상기 적어도 하나의 프로세서는,
상기 이벤트가 BL 또는 CPL로 결정되는 경우,
상기 다른 단말로 프로브 패킷을 송신하고,
상기 송신된 프로브 패킷에 대한 ACK 수신에 대응하여, 상기 다른 단말로부터 재전송된 적어도 하나의 누락된 데이터 패킷을 수신하는 단말.
The method of claim 17,
The at least one processor,
If the event is determined as BL or CPL,
Transmit a probe packet to the other terminal,
A terminal receiving at least one missing data packet retransmitted from the other terminal in response to receiving an ACK for the transmitted probe packet.
다른 단말로부터 송신된 복수의 데이터 패킷들 중 적어도 하나의 데이터 패킷의 누락을 식별하는 동작;
상기 적어도 하나의 데이터 패킷의 누락을 발생시킨 이벤트를 결정하는 동작; 및
상기 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 상기 누락된 적어도 하나의 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 동작을 수행하도록 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 기록 매체.
Identifying an omission of at least one data packet among a plurality of data packets transmitted from another terminal;
Determining an event that caused the at least one data packet to be dropped; And
A computer-readable recording medium storing a program for performing an operation of setting a length of a timer for receiving the at least one missing data packet based on a network metric corresponding to the determined event.
KR1020190071064A 2019-03-07 2019-06-14 Apparatus and method for transmitting and receiving data in a wireless communication system KR20200107717A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2019/017731 WO2020179993A1 (en) 2019-03-07 2019-12-13 Apparatus and method for transmitting and receiving data in wireless communication system
US16/718,323 US11153779B2 (en) 2019-03-07 2019-12-18 Apparatus and method for transmitting and receiving data based on an identified event in wireless communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201941008914 2019-03-07
IN201941008914 2019-03-07

Publications (1)

Publication Number Publication Date
KR20200107717A true KR20200107717A (en) 2020-09-16

Family

ID=72669544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190071064A KR20200107717A (en) 2019-03-07 2019-06-14 Apparatus and method for transmitting and receiving data in a wireless communication system

Country Status (1)

Country Link
KR (1) KR20200107717A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531210A (en) * 2022-02-03 2022-05-24 百果园技术(新加坡)有限公司 Data retransmission method and device, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531210A (en) * 2022-02-03 2022-05-24 百果园技术(新加坡)有限公司 Data retransmission method and device, electronic equipment and storage medium
CN114531210B (en) * 2022-02-03 2024-01-26 百果园技术(新加坡)有限公司 Data retransmission method, device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US10440614B2 (en) Interruptions in wireless communications
US10462702B2 (en) Apparatus and method for controlling transmission on high thoughput wireless network
CN106789718B (en) Data transmission congestion control method, equipment, server and programmable equipment
WO2019001042A1 (en) Data transmission method and related devices
US20170055176A1 (en) Pdcp transmitting entity, secondary base station, user equipment and associated methods
US20070230337A1 (en) Communication terminal and retransmission control method
US11917703B2 (en) Method and apparatus for configuring a secondary cell group (SCG) in a dual connectivity (DC) mode
US11153779B2 (en) Apparatus and method for transmitting and receiving data based on an identified event in wireless communication system
CN107809394B (en) System and method for transmitting data via a communication network
CN110557677A (en) Video transmission method and device
US10524175B2 (en) Data transmission method and network device
US10187841B1 (en) Method and system for switching data-paths in heterogeneous wireless communication networks
US20160127083A1 (en) Link Processing in Multipath Transmission Control Protocol and Mobile Terminal
US20030128672A1 (en) Transmission and flow control
KR101741003B1 (en) Method for communication using duplicated ack
US20240129384A1 (en) Methods and apparatus for recovering network association information
KR20200107717A (en) Apparatus and method for transmitting and receiving data in a wireless communication system
US9363696B2 (en) Analyzing device, analyzing method, and analyzing program
US11316648B2 (en) Method and system for data packet transmission in downlink
US10285085B2 (en) Method and computing device for facilitating and establishing network connectivity
WO2017107668A1 (en) Data reverse transmission method and device
US10020985B2 (en) System and method for effective and reliable lawful interception content transmission across networks
JP2016019198A (en) Communication apparatus, control method for communication apparatus, and program
US20220322163A1 (en) UE Assisted Data Forwarding in Conditional Handover
US20170170934A1 (en) Method and System for Exchanging Application Data Between a Console Device and one or More Remote Devices over WLAN Network