KR20210129872A - Method and apparatus for high precision data communication - Google Patents

Method and apparatus for high precision data communication Download PDF

Info

Publication number
KR20210129872A
KR20210129872A KR1020200047929A KR20200047929A KR20210129872A KR 20210129872 A KR20210129872 A KR 20210129872A KR 1020200047929 A KR1020200047929 A KR 1020200047929A KR 20200047929 A KR20200047929 A KR 20200047929A KR 20210129872 A KR20210129872 A KR 20210129872A
Authority
KR
South Korea
Prior art keywords
delay time
transmission
network
packet
network interfaces
Prior art date
Application number
KR1020200047929A
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 KR1020200047929A priority Critical patent/KR20210129872A/en
Publication of KR20210129872A publication Critical patent/KR20210129872A/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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/41Flow control; Congestion control by acting on aggregated flows or links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Provided are a method and an apparatus for super-precision data communication. The method of the present invention is a method for super-precision data communication performed on a terminal linked to a multi network through a plurality of network interfaces, which comprises the following steps of: determining a transmission mode matched to information on an application ID or a destination, which represents service properties of a transmission packet when a transmission packet occurs; combining the network interfaces when the determined transmission mode is redundancy transmission to select a combination of the network interfaces where an average delay time of the network interfaces included in each combination is minimal; combining the network interfaces when the determined transmission mode is aggregation transmission to select a combination of the network interfaces where a deviation in the delay times of the network interfaces included in each combination is minimal; using the selected combination of the network interfaces to perform redundancy transmission or aggregation transmission of the transmission packet. Accordingly, the redundancy transmission or aggregation transmission is selectively applied to allow optimized service to be provided in terms of a delay time and a transmission speed.

Description

초정밀 데이터 통신 방법 및 그 장치{METHOD AND APPARATUS FOR HIGH PRECISION DATA COMMUNICATION}Ultra-precise data communication method and apparatus

본 발명은 초정밀 데이터 통신 방법 및 그 장치에 관한 것이다.The present invention relates to an ultra-precise data communication method and an apparatus therefor.

일반적으로, 이동통신 단말기가 5G망, LTE(Long Term Evolution)망, 와이파이(WiFi)망 등과 같은 액세스망을 통해 콘텐츠 서버로부터 수신하는 패킷의 전달 지연(propagation latency)은 각각의 액세스망의 상황에 따라 가변적이고, 각각의 액세스망 간에 차이가 있다. 이는 각각의 액세스망과 콘텐츠 서버 사이는 다양한 네트워크 요소(NE, Network Element) 들로 구성되기 때문이다.In general, the propagation latency of a packet that a mobile communication terminal receives from a content server through an access network such as 5G network, LTE (Long Term Evolution) network, Wi-Fi network, etc. depends on the situation of each access network. It is variable according to each access network, and there is a difference between each access network. This is because each access network and the content server are composed of various network elements (NEs).

각 네트워크 요소(NE)는 단말들이 동시 접속되어 공유하여 사용하는 네트워크 리소스를 하나의 단말이 아닌 복수의 단말로 할당한다. 각 네트워크 요소(NE)는 패킷 전달 우선 순위 제어 방식, 패킷 스케줄링 방식, 인가된 접속 부하 및 성능에 따라 네트워크 리소스를 단말들에 할당한다. 이처럼, 다양한 네트워크 요소(NE)들로 구성된 네트워크 경로에서 항상 균일한 패킷 전달 지연(Propagation delay)을 보장하는 전송을 구현하기는 현실적으로 매우 어렵거나 불가능하다. 왜냐하면, 각 네트워크 요소(NE)의 네트워크 리소스 할당은 큐잉 또는 버퍼링 구조, 그리고 트래픽 흐름의 전체 구간 구성 요인에 의해 가변적이기 때문이다.Each network element (NE) allocates a network resource shared and used by terminals simultaneously connected to a plurality of terminals instead of one terminal. Each network element NE allocates network resources to terminals according to a packet forwarding priority control method, a packet scheduling method, and an applied connection load and performance. As such, it is practically very difficult or impossible to implement transmission that guarantees always uniform packet propagation delay in a network path composed of various network elements NE. This is because the network resource allocation of each network element NE is variable depending on the queuing or buffering structure and the factors constituting the entire section of the traffic flow.

또한, 하나의 액세스망을 통해 패킷을 전송할때, 액세스망 및 이와 연관된 코어망의 네트워크 요소(NE) 노드들에서 제공 가능한 패킷 전달 지연이 서비스를 원활하게 수행할 수 있는 범위 밖으로 벗어날 수 있다. 이런 경우, 콘텐츠 서버에서 단말로 전달되는 패킷의 전달 지연이 변동되어 서비스가 멈추는 등 원활한 서비스 진행이 어려운 상황이 발생할 수 있다. 특히, 하드 리얼타임(hard real-time) 또는 미션 크리티컬(mission critical)한 특성을 갖는 스마트 시티, 스마트 팩토리 등에서 사용되는 서비스가 원활하게 동작하기 위해서는, 전송된 패킷 또는 시그널링 패킷의 전달 지연이 짧아야 함은 물론 서비스 서버에서 전송된 데이터가 단말까지 100% 신뢰성 있게 주어진 시간 내에 도달해야 한다.In addition, when transmitting a packet through one access network, the packet forwarding delay that can be provided by the network element (NE) nodes of the access network and the associated core network may be outside the range that can smoothly perform the service. In this case, it may be difficult to smoothly proceed with the service, such as when the delivery delay of a packet transferred from the content server to the terminal is changed and the service is stopped. In particular, in order for a service used in a smart city or a smart factory having hard real-time or mission critical characteristics to operate smoothly, the transmission delay of a transmitted packet or signaling packet must be short. Of course, the data transmitted from the service server must reach the terminal with 100% reliability within the given time.

그러나, 단일 액세스망을 통한 패킷 전송시 네트워크의 혼잡 상황 등의 문제가 발생하거나 전송된 패킷의 도달 시간이 지연되면 전체 서비스 자체가 중단되거나 품질 악화에 의한 QoE(Quality of Experience) 저하가 발생할 수 있다. 또한, 원격 제어 서비스의 경우, 정밀한 기계 제어의 차질로 치명적인 서비스 장애가 발생할 수 있다.However, when a problem such as network congestion occurs during packet transmission through a single access network or the arrival time of a transmitted packet is delayed, the entire service itself may be stopped or the quality of experience (QoE) may deteriorate due to deterioration of quality. . In addition, in the case of a remote control service, a fatal service failure may occur due to a disruption in precise machine control.

이와 같이, 단일 액세스망만 이용할 경우의 문제를 해결하고자, 다중 액세스망을 이용한 패킷 전송 서비스가 제안되었다. 대표적으로, 병합 전송(aggregated transmission)이 있다. 병합 전송은 복수의 액세스망을 통해 데이터를 전송하되, 전체 패킷 중 일부 패킷을 임의의 액세스망으로 전송하고, 다른 일부 패킷을 다른 액세스망으로 전송한 후, 이를 병합하여 원 패킷으로 복원하는 방식으로서, 단일망 전송시 대비 효율을 높일 수 있다. 하지만, 복수의 액세스망 중 상대적으로 빠른 액세스망은 항상 존재한다. 따라서, 원 패킷을 복원하는 측면에서 전송하고자 하는 모든 패킷에 대한 전체 지연 시간을 줄이기에는 한계점이 있다.As such, in order to solve the problem of using only a single access network, a packet transmission service using a multiple access network has been proposed. A typical example is aggregated transmission. Merge transmission is a method of transmitting data through a plurality of access networks, sending some packets out of all packets to a random access network, transmitting some other packets to another access network, merging them and restoring the original packet. , it is possible to increase the efficiency compared to single network transmission. However, a relatively fast access network among a plurality of access networks always exists. Therefore, there is a limit in reducing the overall delay time for all packets to be transmitted in terms of restoring the original packet.

또한, 특정 서비스/어플리케이션은 항상 최저 지연 시간만을 요구하지 않을 수도 있다. 가령, 특정 서비스/어플리케이션이 평균 10msec 이내로 패킷이 전달되어야 하는 경우, 모든 패킷이 10msec 지연 시간 이내로 전달되는 경우는 안정적인 서비스가 가능하다. 예를 들어, 5개의 패킷 전달 지연이 각각 6ms, 7ms, 8ms, 9ms, 10ms이면, 평균 패킷 전달 지연은 8ms이므로, 네트워크 영향에 의해 평균 패킷 전달 지연은 10msec 이내가 된다. 하지만, 파동(fluctuation)이 심해 패킷 전달 지연의 분포가 큰 경우, 예컨대, 패킷 전달 지연이 8ms, 8ms, 10ms, 12ms, 12ms인 경우, 평균 패킷 전달 지연은 8ms이지만, 서비스 요구 지연 시간인 10ms 보다 더 느리게 들어오는 패킷들(12ms)에 의해 서비스의 안정성이 보장될 수 없을 수 있다. 따라서, 패킷 전달 지연 최소화와 동시에 전달되는 패킷의 도착 분포(jitter)도 함께 고려해야 초저지연 서비스의 원활한 수행이 가능하다.Also, a particular service/application may not always require only the lowest latency. For example, when a specific service/application requires packets to be delivered within an average of 10 msec, a stable service is possible when all packets are delivered within a 10 msec delay time. For example, if the five packet delivery delays are 6ms, 7ms, 8ms, 9ms, and 10ms, respectively, the average packet delivery delay is 8ms, and therefore the average packet delivery delay is within 10msec due to network effects. However, when the distribution of packet delivery delay is large due to severe fluctuations, for example, when the packet delivery delay is 8ms, 8ms, 10ms, 12ms, or 12ms, the average packet delivery delay is 8ms, but it is less than the service request delay time of 10ms. The stability of the service may not be guaranteed by slower incoming packets (12ms). Therefore, it is possible to smoothly perform the ultra-low delay service by considering the minimization of packet delivery delay and the arrival distribution (jitter) of the transmitted packets at the same time.

하지만, 현재까지 패킷 전송 기술은 주로 지연 시간을 최소화하는데 초점이 맞추어져 있다. 다중 경로 전송의 경우에도 지연 시간이 최소화된 경로를 통해 일원화된 전송만을 목적으로 하는 한계점이 있다.However, up to now, packet transmission techniques have been mainly focused on minimizing the delay time. Even in the case of multi-path transmission, there is a limitation in that the purpose of unified transmission is only through a path with a minimized delay time.

본 발명이 해결하고자 하는 과제는 서비스 요구 사항에 따라 종단간(E2E, End-to-End) 최대 패킷 전달 지연, 전달 지연의 편차, 가용성(신뢰성/생존성)을 고려하여 네트워크 성능의 정밀한 제어가 가능한 초정밀 데이터 통신 방법 및 그 장치를 제공하는 것이다. The problem to be solved by the present invention is that precise control of network performance is possible in consideration of the maximum packet delivery delay, deviation of delivery delay, and availability (reliability/survivability) according to service requirements. An object of the present invention is to provide an ultra-precise data communication method and an apparatus therefor.

본 발명의 하나의 특징에 따르면, 초정밀 데이터 통신 방법은 복수의 네트워크 인터페이스를 통하여 다중망과 연결된 단말의 초정밀 데이터 통신 방법으로서, 전송 패킷이 발생하면, 상기 전송 패킷의 서비스 특성을 나타내는 어플리케이션 ID 또는 목적지 정보에 매칭되는 전송 모드를 결정하는 단계, 상기 결정한 전송 모드가 중복 전송인 경우, 상기 복수의 네트워크 인터페이스를 조합하여 각 조합에 포함된 네트워크 인터페이스의 평균 지연 시간이 최소인 네트워크 인터페이스 조합을 선택하는 단계, 상기 결정한 전송 모드가 병합 전송인 경우, 상기의 복수의 네트워크 인터페이스를 조합하여 각 조합에 포함된 네트워크 인터페이스의 지연 시간 편차가 최소인 네트워크 인터페이스 조합을 선택하는 단계, 그리고 선택한 네트워크 인터페이스 조합을 사용하여 상기 전송 패킷을 중복하여 전송하거나 또는 병합 전송하는 단계를 포함한다.According to one feature of the present invention, the ultra-precise data communication method is an ultra-precision data communication method of a terminal connected to a multi-network through a plurality of network interfaces. When a transport packet is generated, an application ID or destination indicating the service characteristics of the transport packet determining a transmission mode matching the information; if the determined transmission mode is redundant transmission, combining the plurality of network interfaces to select a network interface combination having the minimum average delay time of network interfaces included in each combination , when the determined transmission mode is merged transmission, combining the plurality of network interfaces to select a network interface combination having a minimum delay time deviation of network interfaces included in each combination, and using the selected network interface combination and transmitting the transport packets in duplicate or merged transmission.

상기 평균 지연 시간이 최소인 네트워크 인터페이스 조합을 선택하는 단계는, 상기 복수의 네트워크 인터페이스에 대하여 각각의 지연 시간 및 링크 용량을 측정하는 단계, 그리고 상기 각각의 지연 시간 및 링크 용량을 이용한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 선택하는 단계를 포함하고, 상기 목적함수는, 상기 각 조합에 포함된 네트워크 인터페이스의 평균 지연 시간이 지연 시간 편차보다 높은 가중치를 가지도록 계산되고, 상기 평균 지연 시간 및 상기 지연 시간 편차를 합한 총 지연 시간이 상기 각 조합에 포함된 네트워크 인터페이스의 평균 링크 용량보다 높은 가중치를 가지도록 계산될 수 있다.The step of selecting a network interface combination having the minimum average delay time includes measuring each delay time and link capacity for the plurality of network interfaces, and an objective function using each delay time and link capacity is the minimum. and selecting a network interface combination that becomes The total delay time including time deviations may be calculated to have a weight higher than the average link capacity of the network interfaces included in each combination.

상기 지연 시간 편차가 최소인 네트워크 인터페이스 조합을 선택하는 단계는, 상기 복수의 네트워크 인터페이스에 대하여 각각의 지연 시간 및 링크 용량을 측정하는 단계, 그리고 상기 각각의 지연 시간 및 링크 용량을 이용한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 선택하는 단계를 포함하고, 상기 목적함수는, 상기 각 조합에 포함된 네트워크 인터페이스의 지연 시간 편차가 평균 지연 시간 보다 높은 가중치를 가지도록 계산되고, 상기 평균 지연 시간 및 상기 지연 시간 편차를 합한 총 지연 시간 보다 상기 각 조합에 포함된 네트워크 인터페이스의 평균 링크 용량이 높은 가중치를 가지도록 계산될 수 있다.The step of selecting a network interface combination having the minimum delay time deviation includes measuring each delay time and link capacity for the plurality of network interfaces, and an objective function using each delay time and link capacity is the minimum. and selecting a network interface combination that becomes The average link capacity of the network interfaces included in each combination may be calculated to have a higher weight than the total delay time including time deviations.

상기 중복 전송은, 상기 전송 패킷의 일부는 상기 선택한 조합에 포함된 모든 네트워크 인터페이스를 통해 중복 전송하고, 상기 전송 패킷의 다른 부분은 상기 선택한 조합에 포함된 일부 네트워크 인터페이스를 통하여 중복하지 않고 전송할 수 있다.In the redundant transmission, a portion of the transport packet is transmitted over all network interfaces included in the selected combination, and another portion of the transport packet is transmitted without overlapping through some network interfaces included in the selected combination. .

상기 일부 네트워크 인터페이스는, 상기 선택한 조합에 포함된 복수의 네트워크 인터페이스 중에서 전송 속도 또는 지연 시간에 기초한 최대 네트워크 성능을 가진 네트워크 인터페이스가 선택될 수 있다.As for the some network interfaces, a network interface having the maximum network performance based on a transmission speed or a delay time may be selected from among a plurality of network interfaces included in the selected combination.

상기 전송하는 단계 이후, 상기 선택한 네트워크 인터페이스 조합을 사용하여 중복 전송 패킷을 수신하는 단계, 그리고 상기 선택한 네트워크 인터페이스 조합에 포함된 네트워크 인터페이스들 중에서 최소 지연 시간을 가지는 네트워크 인터페이스로부터 수신되는 중복 전송 패킷을 제외하고 나머지 네트워크 인터페이스로부터 수신되는 중복 전송 패킷을 폐기하는 단계를 더 포함할 수 있다.After the transmitting step, receiving a duplicate transport packet using the selected network interface combination, and excluding the duplicate transport packet received from a network interface having a minimum delay time among network interfaces included in the selected network interface combination and discarding duplicate transport packets received from the remaining network interfaces.

상기 전송하는 단계 이후, 상기 선택한 네트워크 인터페이스 조합을 사용하여 수신되는 전송 패킷을 수신 버퍼에 저장하는 단계, 그리고 상기 수신 버퍼에 저장된 전송 패킷을 어플리케이션 계층으로 출력하는 속도를 전송 모드에 따라 조정하는 단계를 더 포함할 수 있다.After the step of transmitting, storing a transmission packet received using the selected network interface combination in a reception buffer, and adjusting the speed of outputting the transmission packet stored in the reception buffer to the application layer according to the transmission mode may include more.

상기 조정하는 단계는, 병합 전송인 경우, 상기 선택한 네트워크 인터페이스 조합 내 인터페이스 간 지연 시간 차이가 클수록 출력 속도를 늦추고, 상기 지연 시간 차이가 작을수록 출력 속도를 증가시킬 수 있다.In the step of adjusting, in the case of merge transmission, the greater the delay time difference between the interfaces in the selected network interface combination, the slower the output speed, and the smaller the delay time difference, the higher the output speed.

상기 조정하는 단계는, 중복 전송인 경우, 패킷 손실이 발생하면 상기 선택한 네트워크 인터페이스 조합 내 인터페이스 간 지연 시간 편차가 클수록 출력 속도를 늦추고, 상기 지연 시간 편차가 작을수록 출력 속도를 증가시키며, 패킷 손실이 없으면, 상기 선택한 네트워크 인터페이스 조합 내 인터페이스들중에서 링크 용량이 가장 많은 큰 네트워크 인터페이스의 패킷 수신 속도를 기준으로 상기 출력하는 속도를 조정할 수 있다.In the adjusting step, in the case of redundant transmission, when packet loss occurs, the output speed is lowered as the delay time deviation between interfaces in the selected network interface combination is larger, and the output speed is increased as the delay time deviation is smaller, and the packet loss is reduced. If not, the output speed may be adjusted based on the packet reception speed of the network interface having the largest link capacity among the interfaces in the selected network interface combination.

본 발명의 다른 특징에 따르면, 초정밀 데이터 통신 방법은 복수의 네트워크 인터페이스를 통하여 다중망과 연결된 단말의 초정밀 데이터 통신 방법으로서, 전송 패킷의 서비스 특성을 나타내는 어플리케이션 ID 또는 목적지 정보에 매칭되는 중복 전송 모드를 결정하는 단계, 상기 복수의 네트워크 인터페이스를 조합하여 평균 지연 시간이 최소인 네트워크 인터페이스 조합을 결정하는 단계, 그리고 상기 결정한 네트워크 인터페이스 조합을 사용하여 상기 전송 패킷을 중복하여 전송하는 단계를 포함하고, 상기 전송하는 단계는, 상기 전송 패킷의 일부는 상기 선택한 조합에 포함된 모든 네트워크 인터페이스를 통해 중복 전송하고, 상기 전송 패킷의 다른 부분은 상기 선택한 조합에 포함된 일부 네트워크 인터페이스를 통하여 중복하지 않고 전송할 수 있다.According to another feature of the present invention, the ultra-precise data communication method is an ultra-precision data communication method of a terminal connected to a multi-network through a plurality of network interfaces, and a redundant transmission mode matching an application ID or destination information indicating a service characteristic of a transport packet. determining, combining the plurality of network interfaces to determine a network interface combination having a minimum average delay time, and repeatedly transmitting the transport packet using the determined network interface combination; In the step of, a part of the transport packet may be repeatedly transmitted through all network interfaces included in the selected combination, and another part of the transport packet may be transmitted without overlapping through some network interfaces included in the selected combination.

상기 전송하는 단계는, 상기 결정한 네트워크 인터페이스 조합에 포함된 네트워크 인터페이스들의 가용 링크 용량을 확인하고 상기 가용 링크 용량이 상기 전송 패킷의 서비스 특성에 따른 최소 링크 용량을 충족하지 못하는 네트워크 인터페이스는 중복 전송 경로에서 제외시킬 수 있다.In the transmitting step, the available link capacity of the network interfaces included in the determined network interface combination is checked, and the network interface whose available link capacity does not meet the minimum link capacity according to the service characteristic of the transport packet is a redundant transmission path. can be excluded.

상기 결정하는 단계는, 복수의 네트워크 인터페이스 각각에 대하여 지연 시간, 링크 용량을 측정하는 단계, 상기 복수의 네트워크 인터페이스를 조합하고, 상기 지연 시간 및 상기 링크 용량을 이용하여 각 조합 별로 네트워크 인터페이스의 지연 시간의 편차, 평균 지연 시간 및 평균 링크 용량을 계산하는 단계, 그리고 상기 평균 지연 시간을 상기 지연 시간의 편차보다 높은 가중치를 부여하고 상기 평균 지연 시간과 상기 지연 시간의 편차를 합한 총 지연 시간을 상기 평균 링크 용량보다 높은 가중치를 부여한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 결정하는 단계를 포함할 수 있다.The determining may include measuring a delay time and a link capacity for each of a plurality of network interfaces, combining the plurality of network interfaces, and using the delay time and the link capacity, a delay time of a network interface for each combination calculating the deviation, average delay time, and average link capacity of , and weighting the average delay time higher than the deviation of the delay time and calculating the average total delay time obtained by adding the deviation of the average delay time and the delay time to the average The method may include determining a network interface combination in which an objective function given a weight higher than the link capacity is minimized.

실시예에 따르면, 패킷 전송시 서비스 어플리케이션 단위 또는 패킷 플로우 단위로 중복 전송과 병합 전송 중에서 선택 적용함으로써, 패킷 전달 지연 최소화와 동시에 패킷의 도착 분포(jitter), 전송 속도 등 다양한 성능 척도를 고려하여 초저지연 서비스를 원활히 제공할 수 있다. 더불어, 중복 전송과 병합 전송의 선택 적용으로 두가지 성능 척도, 즉, 지연 시간, 전송 속도의 면에서 최적화된 서비스를 제공할 수 있다.According to the embodiment, when transmitting a packet, by selectively applying either overlapping transmission or merged transmission in a service application unit or a packet flow unit, packet delivery delay is minimized and at the same time, it is ultra-low in consideration of various performance measures such as packet arrival distribution (jitter) and transmission speed. Delayed service can be provided smoothly. In addition, by selectively applying redundant transmission and merged transmission, it is possible to provide a service optimized in terms of two performance measures, that is, delay time and transmission speed.

또한, 복수의 경로를 통해 중복된 패킷을 전달하되, 패킷의 일부는 복수의 경로로 중복 전송하고 나머지 패킷은 전송 용량이 큰 단일 경로로 동시에 전송함으로써, 패킷 전달 지연 및 신뢰도 뿐만 아니라 전송 속도를 향상시킬 수 있다. In addition, duplicate packets are transmitted through multiple paths, but some of the packets are duplicated through multiple paths and the remaining packets are transmitted simultaneously through a single path with a large transmission capacity, thereby improving packet transmission delay and reliability as well as transmission speed. can do it

또한, 패킷 에러나 패킷 누락 발생시 가용한 다른 경로를 통해 전달된 패킷을 통해 전송 신뢰성을 높일 수 있다. 따라서, 스마트 팩토리, 스마트 시티 등에서 요구하는 실시간성을 요구하는 응용이나 미션 크리티컬(mission-critical)한 응용의 전달시, 전송 지연, 전송 속도, 신뢰성을 보장할 수 있다.In addition, when a packet error or packet omission occurs, transmission reliability can be improved through a packet transmitted through another available path. Accordingly, it is possible to ensure transmission delay, transmission speed, and reliability when delivering applications requiring real-time performance or mission-critical applications required by smart factories, smart cities, and the like.

또한, 단말 자체 정책, 네트워크 정책, 그리고 서비스의 요청을 기반으로 한 정책을 적용하여 공중(mass) 마켓 뿐만 아니라 기업 마켓에 접목하여 다양한 상품 또는 서비스에 적용 가능하다.In addition, by applying the terminal's own policy, network policy, and policy based on service request, it can be applied to various products or services by grafting it to the corporate market as well as the mass market.

도 1은 본 발명의 한 실시예에 따른 초정밀 데이터 통신 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 초정밀 데이터 통신 시스템의 구성도이다.
도 3은 본 발명의 실시예에 따른 단말의 구성도이다.
도 4는 본 발명의 한 실시예에 따른 중복 전송을 설명하는 예시도이다.
도 5는 본 발명의 실시예에 따른 무선 경로 별 지연 시간을 설명하는 도면이다.
도 6은 본 발명의 실시예에 따른 게이트웨이의 구성도이다.
도 7은 본 발명의 실시예에 따른 초정밀 데이터 통신 방법을 나타낸 순서도이다.
도 8은 본 발명의 한 실시예에 따른 복수 경로를 통한 중복 전송을 설명하는 도면이다.
도 9는 본 발명의 다른 실시예에 따른 복수 경로를 통한 중복 전송을 설명하는 도면이다.
도 10은 본 발명의 또 다른 실시예에 따른 복수 경로를 통한 중복 전송을 설명하는 도면이다.
1 is a block diagram of an ultra-precision data communication system according to an embodiment of the present invention.
2 is a block diagram of an ultra-precision data communication system according to another embodiment of the present invention.
3 is a block diagram of a terminal according to an embodiment of the present invention.
4 is an exemplary diagram illustrating redundant transmission according to an embodiment of the present invention.
5 is a diagram for explaining a delay time for each radio path according to an embodiment of the present invention.
6 is a block diagram of a gateway according to an embodiment of the present invention.
7 is a flowchart illustrating an ultra-precision data communication method according to an embodiment of the present invention.
8 is a diagram illustrating redundant transmission through multiple paths according to an embodiment of the present invention.
9 is a diagram illustrating redundant transmission through multiple paths according to another embodiment of the present invention.
10 is a diagram for explaining redundant transmission through multiple paths according to another embodiment of the present invention.

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

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.

또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as “…unit”, “…group”, and “…module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. can

본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.The devices described in the present invention are composed of hardware including at least one processor, a memory device, a communication device, and the like, and a program executed in combination with the hardware is stored in a designated place. The hardware has the configuration and capability to implement the method of the present invention. The program includes instructions for implementing the method of operation of the present invention described with reference to the drawings, and is combined with hardware such as a processor and a memory device to execute the present invention.

본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.As used herein, "transmission or provision" may include not only direct transmission or provision, but also transmission or provision indirectly through another device or using a detour path.

본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In the present specification, expressions described in the singular may be construed in the singular or plural unless an explicit expression such as “a” or “single” is used.

본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.In this specification, the same reference numbers refer to the same components regardless of the drawings, and "and/or" includes each and every combination of one or more of the referenced components.

본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In this specification, terms including an ordinal number such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다. In the flowchart described with reference to the drawings in this specification, the order of operations may be changed, several operations may be merged, some operations may be divided, and specific operations may not be performed.

명세서에서 단말(Terminal/User equipment)은 접속망(Access Network)/무선 접속망(Radio Access network, RAN)의 기지국에 접속하여 코어망(Core Network)의 네트워크 기능들(Network Functions, NFs)을 이용한다. 여기서, 기지국은 접속망에 따라 eNB(또는 eNodeB), gNB(또는 next generation Node B), AP(Access Point) 등을 포함할 수 있다. In the specification, a terminal/user equipment accesses a base station of an access network/radio access network (RAN) and uses network functions (NFs) of a core network. Here, the base station may include an eNB (or eNodeB), a gNB (or a next generation Node B), an access point (AP), etc. according to an access network.

단말은 휴대 단말, IoT 단말, 차량 단말(vehicle), 디스플레이 단말, 방송 단말, 게임 단말 등 다양한 형태 및 용도의 단말일 수 있다. The terminal may be a terminal of various types and uses, such as a portable terminal, an IoT terminal, a vehicle terminal, a display terminal, a broadcasting terminal, and a game terminal.

통신 인터페이스는 다양할 수 있다. 예를 들면, 통신 인터페이스는 와이파이(WiFi)/무선랜(WLAN, Wireless Local Area Network)/블루투스(bluetooth) 등의 근거리 무선망 인터페이스, 그리고 3G/LTE(Long Term Evolution)/LTE-A(Long Term Evolution-Advanced)/5G 등의 이동통신망 인터페이스를 포함할 수 있고, 단말 제조사가 다양한 통신 인터페이스를 추가할 수 있다. The communication interface may vary. For example, the communication interface is a short-range wireless network interface such as Wi-Fi/Wireless Local Area Network (WLAN)/Bluetooth, and 3G/LTE (Long Term Evolution)/LTE-A (Long Term) It may include a mobile communication network interface such as Evolution-Advanced)/5G, and a terminal manufacturer may add various communication interfaces.

본 명세서에서는 WiFi 인터페이스, LTE 인터페이스, 5G 인터페이스를 예로 들어 설명하나, 통신 인터페이스가 이에 한정되는 것은 아니다.In this specification, a WiFi interface, an LTE interface, and a 5G interface will be described as examples, but the communication interface is not limited thereto.

본 발명의 실시예들은 3GPP(3rd Generation Partnership Project) LTE(Long Term Evolution), LTE-A, 3GPP2, IEEE(Institute of Electrical and Electronics Engineers) 시스템, FS_NextGen(Study on Architecture for Next Generation System)과 같은 3GPP 5G 시스템 중 적어도 하나와 관련된 표준 문서에 의해 뒷받침될 수 있다. 즉, 본 발명의 실시예들 중 본 발명의 기술적 사상을 명확히 드러내기 위해 설명하지 않은 단계들 또는 부분들은 상기 문서에 의해 뒷받침될 수 있다. 또한, 본 문서에서 개시하고 있는 모든 용어들은 상기 표준 문서에 의해 설명될 수 있다.Embodiments of the present invention are 3GPP (3rd Generation Partnership Project) Long Term Evolution (LTE), LTE-A, 3GPP2, IEEE (Institute of Electrical and Electronics Engineers) system, 3GPP such as FS_NextGen (Study on Architecture for Next Generation System). It may be supported by standard documents related to at least one of the 5G systems. That is, steps or parts not described in order to clearly reveal the technical spirit of the present invention among the embodiments of the present invention may be supported by the document. In addition, all terms disclosed in this document may be explained by the standard document.

다중 경로(Multi-Path) 전송은 다양한 네트워크 인터페이스를 탑재한 모바일 기기에서 이기종 네트워크 인터페이스를 동시에 사용하는 전송 방식이다. Multi-path transmission is a transmission method that simultaneously uses heterogeneous network interfaces in mobile devices equipped with various network interfaces.

다중 경로 전송 중에서 병합 전송(Aggregation Transmission)은 적어도 두개의 무선 경로를 동시에 사용하여 데이터를 전송하는 기술로서, 각각의 무선 경로로 전송된 데이터를 하나의 세션으로 처리한다. 병합 전송은 하나의 경로로 전송된 데이터를 복수의 동종 망 또는 복수의 이종 망의 경로로 분할하여 전송하거나, 복수의 경로로 전송된 데이터를 하나의 경로로 묶어 전송할 수 있다. 이러한 병합 전송은 복수의 망을 병합하는 의미에서 다중망 병합(MultiNet Aggregation) 이라고 부를 수 있다.Aggregation transmission among multi-path transmissions is a technology for transmitting data using at least two radio paths simultaneously, and processes data transmitted through each radio path as one session. In the merge transmission, data transmitted through a single path may be divided into paths of a plurality of homogeneous networks or a plurality of heterogeneous networks and transmitted, or data transmitted through a plurality of paths may be bundled into one path and transmitted. Such aggregation transmission may be called MultiNet Aggregation in the sense of merging a plurality of networks.

병합 전송은 복수의 경로로 데이터를 전송하므로, 단일망으로 전송할때와 대비하여 전송 속도를 개선하고자, 전체 데이터를 분할하여 각각의 무선 경로로 전송할 수 있다. 예를들어, 송신측에서 일부 데이터를 LTE 망으로 전송하고 다른 부분 데이터를 WiFi 망으로 전송한 후, 수신측에서 각 무선 경로를 통해 수신한 부분 데이터들을 병합하여 원래의 전체 데이터로 복원하는 것이다. Since merged transmission transmits data through a plurality of paths, in order to improve transmission speed compared to when transmitting through a single network, it is possible to divide the entire data and transmit it through each wireless path. For example, after the transmitting side transmits some data to the LTE network and the other partial data to the WiFi network, the receiving side merges the partial data received through each wireless path to restore the original whole data.

그런데, 병합 전송의 경우, 복수의 무선 경로 중에서 상대적으로 빠른 무선 경로가 항상 존재한다. 즉, 각 무선 경로의 전송 속도가 다르므로, 원 데이터 전체를 복원하는 측면에서 보면, 전송하고자 하는 데이터에 대한 전체 지연 시간을 줄이기에는 한계가 있다.However, in the case of merge transmission, a relatively fast radio path is always present among a plurality of radio paths. That is, since the transmission speed of each wireless path is different, there is a limit to reducing the overall delay time for the data to be transmitted in terms of restoring the entire original data.

다중 경로 전송 중에서, 중복 전송(Redundant Transmission)은 적어도 두개의 무선 경로를 통하여 동일한 데이터를 전송하는 기술이다. Among multi-path transmissions, redundant transmission is a technique for transmitting the same data through at least two radio paths.

중복 전송은 두가지 방식이 있다. 한가지 방식은 IP(Internet Protocol) -in-IP 캡슐화/역캡슐화(encapsulation and decapsulation) 기술을 사용하는 방식이다. 이 방식은 적어도 두개의 무선 경로로 부분 데이터가 아닌 동일 데이터를 동시에 전송하고, 수신측에서 상대적으로 전송 지연이 짧은 무선 경로의 데이터를 먼저 취득한다. 송신측의 어플리케이션 또는 서비스에서 발생한 데이터는 IP 패킷의 내부 IP 페이로드(Inner IP Payload)에 위치하고, 이 데이터는 외부 IP 주소로 캡슐화되어 전송된다. 외부 IP 주소는 데이터가 전송되는 망에서 전송 및 라우팅에 사용되는 주소로서, 예를들면, 게이트웨이나 코어망의 네트워크 장치들의 IP 주소일 수 있다. 수신측에서는 캡슐화된 데이터를 디캡슐화하여 원 데이터를 취득한다. There are two methods of redundant transmission. One method is to use Internet Protocol (IP)-in-IP encapsulation and decapsulation (encapsulation and decapsulation) technology. In this method, the same data, not partial data, is simultaneously transmitted through at least two radio paths, and data of a radio path having a relatively short transmission delay is first acquired at the receiving end. Data generated by the application or service on the sending side is located in the inner IP payload of the IP packet, and this data is encapsulated with an external IP address and transmitted. The external IP address is an address used for transmission and routing in a data transmission network, and may be, for example, IP addresses of network devices of a gateway or a core network. On the receiving side, the original data is obtained by decapsulating the encapsulated data.

이때, 각각의 무선 경로 별로 PMTU(Path Maximum Transmission Unit) 상한은 고정되어 있다. 따라서, IP-in-IP 캡슐화/역캡슐화에 의해서 차지하는 데이터의 손해, 즉, 외부 IP 헤더의 오버헤드가 존재한다. 게다가 각각의 무선 경로 별로 PMTU는 상이하게 구성되어 있다. 예를들어, LTE PMTU=1460 bytes/IPv4, WiFi PMTU=1500 bytes, 5G PMTU=1420 bytes/IPv6 등으로 구성될 수 있다. 따라서, 복수의 무선 경로로 동일한 데이터를 전송하기 위해서는 각각의 무선 경로의 PMTU 중 최소값, 예를들어, 5G PMTU=1420 bytes/IPv6 을 기준으로 전송 데이터 단위 크기를 설정해야 한다. In this case, the upper limit of the Path Maximum Transmission Unit (PMTU) for each radio path is fixed. Accordingly, there is a loss of data occupied by IP-in-IP encapsulation/decapsulation, that is, an overhead of an external IP header. In addition, the PMTU is configured differently for each radio path. For example, LTE PMTU=1460 bytes/IPv4, WiFi PMTU=1500 bytes, 5G PMTU=1420 bytes/IPv6, etc. may be configured. Therefore, in order to transmit the same data through a plurality of radio paths, a transmission data unit size should be set based on a minimum value among PMTUs of each radio path, for example, 5G PMTU=1420 bytes/IPv6.

그런데, IP-in-IP 오버헤드까지 추가되면, 실제 데이터 전송률은 더 낮아질 수 밖에 없다. 왜냐하면, 캡슐화/디캡슐화에 필요한 헤더 오버헤드가 추가로 필요하므로, 동일 데이터 크기를 보내더라도 더 많은 전송량이 사용된다. 물론, 결정된 PMTU 최소값 보다 더 큰 PMTU를 사용할 수 있으나, 이 경우 IP 레벨(level)에서 단편화(fragmentation)가 발생하므로 전송 지연 시간을 증가시키는 요인이 될 수 있다. However, if IP-in-IP overhead is added, the actual data transfer rate is inevitably lower. Because the header overhead required for encapsulation/decapsulation is additionally required, a larger amount of transmission is used even if the same data size is transmitted. Of course, a PMTU larger than the determined minimum PMTU value may be used, but in this case, fragmentation occurs at the IP level, which may increase the transmission delay time.

또한, IP-in-IP 캡슐화/역캡슐화 방식은 UDP(User Datagram Protocol)를 트랜스포트(transport)로 사용한다. UDP 전송은 송신단에서 출발한 데이터가 수신단에 정상적으로 도착하였는지를 확인하는 절차가 없기 때문에 중간에 데이터가 사라질 가능성이 존재한다. 이 방식은 중간 노드들에서 혼잡이나 기타 다른 요인에 의해 유실될 수 있는 best-effort 방식이므로 전송 신뢰도(reliability) 측면에서 다른 트랜스포트(TCP 등)를 사용하는 경우와 대비하면 불리할 수 밖에 없다. In addition, the IP-in-IP encapsulation/de-encapsulation method uses User Datagram Protocol (UDP) as a transport. In UDP transmission, there is a possibility that data may disappear in the middle because there is no procedure to check whether the data from the sending end has arrived normally at the receiving end. Since this method is a best-effort method that can be lost due to congestion or other factors in intermediate nodes, it is inevitably disadvantageous compared to the case of using another transport (TCP, etc.) in terms of transmission reliability.

중복 전송의 다른 방식은 TCP(Transmission Control Protocol)를 트랜스포트로 사용하는 방식이다. TCP 방식은 트랜스포트 계층에서 보낸 데이터가 정상적으로 전달 되었는지를 확인하는 절차를 포함하기 때문에 UDP 방식에 비해 신뢰도면에서는 높은 성능을 보인다.Another method of redundant transmission is a method of using Transmission Control Protocol (TCP) as a transport. The TCP method shows higher reliability than the UDP method because it includes a procedure to check whether the data sent from the transport layer is normally delivered.

그런데, 이 방식은 TCP의 특성상 무선 경로 별로 중복 전송시 어느 하나의 무선 경로가 다른 무선 경로 보다 지연 시간이 높은 경우, 상대적으로 전송 속도가 낮을 수도 있는 경로도 마찬가지로 동일한 데이터를 전송해야한다. 그러므로 전송 속도가 지연 시간이 느린 쪽으로 수렴되는 경우, 종단(end-to-end) 측면에서 전체 TCP 전송 자체가 느려질 수 있다. However, in this method, due to the characteristics of TCP, when one wireless path has a higher delay time than the other wireless path during overlapping transmission for each wireless path, the same data must be transmitted similarly to a path that may have a relatively low transmission speed. Therefore, if the transmission rate converges toward the slow latency side, the entire TCP transmission itself may be slowed in the end-to-end side.

이상 기재한 바와 같이, 중복 전송과 병합 전송은 전송 지연 시간을 줄이는 목적만으로 볼 때, 각각의 한계점이 있다. 따라서, 본 발명의 실시예에서는 중복 전송과 병합 전송을 서비스 요구 사항에 따라 선택적으로 적용하는 초정밀 데이터 통신을 제공한다. As described above, overlapping transmission and merged transmission have their respective limitations in view of only the purpose of reducing transmission delay time. Accordingly, an embodiment of the present invention provides ultra-precision data communication in which redundant transmission and merged transmission are selectively applied according to service requirements.

초정밀 데이터 통신은 최근, 스마트 시티, 스마트 팩토리 등 5G 킬러 애플리케이션에서 요구하는 방식으로서, 서비스 요구 사항에 따라 종단간(E2E, End-to-End) 패킷 전달 최대 지연 시간, 지연 시간의 편차, 가용성(신뢰성/생존성) 등 네트워크 성능의 정밀한 제어를 제공한다.Ultra-precision data communication is a method required by 5G killer applications such as smart cities and smart factories. It provides precise control of network performance such as reliability/survivability).

이때, 본 발명의 실시예에 따른 초정밀 데이터 통신은 서비스 목적 뿐만 패킷 플로우 단위로 중복 전송 또는 병합 전송을 선택 적용함으로써, 변화하는 네트워크 상태에 적응적인 전송이 가능하다.In this case, ultra-precision data communication according to an embodiment of the present invention enables adaptive transmission to a changing network state by selectively applying redundant transmission or merged transmission in units of packet flows as well as for service purposes.

또한, 본 발명의 실시예에 따르면, 중복 전송을 선택한 경우, 복수의 무선 경로를 통해 중복된 패킷을 전달하고, 각각의 무선 경로 중에서 전송 지연 시간이 가장 짧은 무선 경로로부터 수신된 패킷을 우선 처리한다. 따라서, 전체 패킷 전달 지연을 최소화하는 동시에 전체 패킷 전달이 가용한 경로를 통해서 고른 분포가 가능하여 서비스의 단편화(fluctuation)를 최소화할 수 있다.In addition, according to an embodiment of the present invention, when duplicate transmission is selected, duplicate packets are transferred through a plurality of radio paths, and a packet received from a radio path having the shortest transmission delay time among each radio path is prioritized. . Accordingly, while minimizing the overall packet delivery delay, it is possible to evenly distribute the entire packet through an available path, thereby minimizing service fragmentation.

또한, 본 발명의 실시예에 따르면, 중복 전송시 일부 패킷 시퀀스는 전송 속도가 다른 복수의 무선 경로로 중복 전송하고, 다른 패킷 시퀀스는 전송 속도가 상대적으로 빠른(혹은 전송 용량이 큰) 단일 무선 경로로 중복하지 않고 전송하는 스케줄링 방식을 사용한다. 이렇게 하면, 복수의 경로로 단순히 중복 전송할 때 발생하는 하향 수렴 문제, 즉, 전송 속도가 상대적으로 느린 무선 경로로 전체 전송 속도가 하향 수렴되는 손실 문제를 완화할 수 있다. 뿐만 아니라, 지연 시간 및 신뢰도 뿐만 아니라 전송 속도에 대해서도 이득을 취할 수 있다.In addition, according to an embodiment of the present invention, during overlapping transmission, some packet sequences are repeatedly transmitted through a plurality of wireless paths having different transmission rates, and other packet sequences are transmitted through a single wireless path having a relatively high transmission rate (or a large transmission capacity). It uses a scheduling method that transmits without overlapping. In this way, it is possible to alleviate the downlink convergence problem that occurs when simply redundant transmission through a plurality of paths, that is, the loss problem in which the overall transmission rate is down-converged to a wireless path having a relatively slow transmission speed. In addition, you can benefit not only in latency and reliability, but also in transmission speed.

또한, 본 발명의 실시예에서는 서비스 요구 사항 및 네트워크 상황에 따라 복수의 네트워크 인터페이스 중에서 적어도 2개의 네트워크 인터페이스 조합을 선택하고 이들을 통해 병합 전송 또는 중복 전송을 선택적으로 적용하는 초정밀 데이터 통신을 제공한다. 따라서, best effort 전달 체계를 가지는 중간 노드에서 발생될 수 있는 패킷 드롭(Packet Drop), 큐(Queue)/버퍼 오버플로우(Buffer Overflow) 등에 의해 발생 가능한 패킷 에러율을 최소화하여 신뢰도 높은 통신을 제공할 수 있다.In addition, an embodiment of the present invention provides ultra-precision data communication in which a combination of at least two network interfaces is selected from among a plurality of network interfaces according to service requirements and network conditions, and merged transmission or redundant transmission is selectively applied through them. Therefore, it is possible to provide reliable communication by minimizing the packet error rate that may occur due to packet drop, queue/buffer overflow, etc. that may occur in an intermediate node having a best-effort delivery system. have.

이제, 본 발명의 실시예에 따른 초정밀 데이터 통신 방법 및 그 장치에 대해 도면을 참고하여 설명한다.Now, an ultra-precision data communication method and apparatus according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 본 발명의 한 실시예에 따른 초정밀 데이터 통신 시스템의 구성도이다.1 is a block diagram of an ultra-precision data communication system according to an embodiment of the present invention.

도 1을 참조하면, 초정밀 데이터 통신 시스템은 단말(100), 그리고 단말(100)과 복수의 망으로 연결되는 MPAD(Multi-Path Aggregation & Duplication) 게이트웨이(200)를 포함한다. 여기서, 초정밀 데이터 통신은 다중 경로로 동시 전송하되, 중복 전송과 병합 전송을 선택적으로 적용하므로, MPAD라 불리울 수 있다.Referring to FIG. 1 , the ultra-precision data communication system includes a terminal 100 and a Multi-Path Aggregation & Duplication (MPAD) gateway 200 connected to the terminal 100 through a plurality of networks. Here, the ultra-precision data communication is simultaneously transmitted through multiple paths, but since redundant transmission and merged transmission are selectively applied, it may be referred to as MPAD.

단말(100)은 다중 통신 인터페이스를 구비하고, 다중 통신 인터페이스를 통해 한 시점에 MPAD 게이트웨이(200)에 연결될 수 있다. 단말(100)은 LTE 인터페이스(101), 5G 인터페이스(103) 및 WiFi 인터페이스(105)의 세가지 종류의 네트워크 인터페이스를 사용할 수 있다. 물론, 이와 같은 세가지 종류의 네트워크 인터페이스로 한정되는 것은 아니며, 반드시 세개여야 하는 것도 아니다. 단말(100)은 적어도 두개의 네트워크 인터페이스를 사용하여 다중 경로 전송이 가능한 단말이라 정의한다.The terminal 100 may have multiple communication interfaces, and may be connected to the MPAD gateway 200 at one time through the multiple communication interfaces. The terminal 100 may use three types of network interfaces: an LTE interface 101 , a 5G interface 103 , and a WiFi interface 105 . Of course, it is not limited to these three types of network interfaces, and it does not necessarily have to be three. The terminal 100 is defined as a terminal capable of multi-path transmission using at least two network interfaces.

단말(100)은 MPAD 에이전트(107)를 포함하는데, MPAD 에이전트(107)는 중복 전송과 병합 전송 중에서 전송 모드를 선택하는 패킷 스케줄링 및 최적의 네트워크 인터페이스 조합 선택을 수행한다. MPAD 에이전트(107)는 단말 내부 로직으로 구현될 수 있다. 이때, MPAD 에이전트(107)는 다중 경로 전송하는데 기본적으로 필요한 인증, 상태 관리 등을 추가로 수행한다. 단말 내부에서 MPAD 에이전트(107)와 각종 어플리케이션은 소켓(socket) 통신한다.The terminal 100 includes an MPAD agent 107, which performs packet scheduling for selecting a transmission mode among redundant transmission and merged transmission, and selection of an optimal network interface combination. The MPAD agent 107 may be implemented as a terminal internal logic. In this case, the MPAD agent 107 additionally performs authentication, status management, and the like, which are basically necessary for multi-path transmission. Inside the terminal, the MPAD agent 107 and various applications communicate through sockets.

MPAD 게이트웨이(200)는 다중망의 접점에 위치하는데, 예를들면, LTE망(301), 5G망(303), WiFi망(305)의 접점에 위치할 수 있다. MPAD 게이트웨이(200)는 LTE망(301) 및 5G망(303)이 연결된 코어망(400) 및 WiFi망(305)과 연결된다. 그리고 인터넷(500)을 통하여 콘텐츠 서버(600)에 연결된다. The MPAD gateway 200 is located at the contact point of multiple networks, for example, it may be located at the contact point of the LTE network 301 , the 5G network 303 , and the WiFi network 305 . The MPAD gateway 200 is connected to the core network 400 and the WiFi network 305 to which the LTE network 301 and the 5G network 303 are connected. And it is connected to the content server 600 through the Internet (500).

여기서, 콘텐츠 서버(600)는 다중 통신 인터페이스를 지원하지 않는다고 가정한다. 콘텐츠 서버(600는 단일 경로로 TCP(Transmission Control Protocol) 통신하는 일반적인 서버로 가정한다. 이때, MPAD 에이전트(107)와 MPAD 게이트웨이(200)는 프록시 프로토콜을 통해 명시적으로 패킷의 흐름을 지정할 수 있다. 이러한 구조는 5G 중앙 센터 등으로 중앙 집중(centralized)화된 네트워크 배치 구조에 적용될 수 있다.Here, it is assumed that the content server 600 does not support multiple communication interfaces. It is assumed that the content server 600 is a general server that communicates with Transmission Control Protocol (TCP) through a single path, at this time, the MPAD agent 107 and the MPAD gateway 200 may explicitly designate a packet flow through a proxy protocol. This structure can be applied to a centralized network deployment structure such as a 5G central center.

MPAD 게이트웨이(200)는 코어망(400) 및 WiFi망(305)을 통해 인터넷(500)으로 향하는 모든 패킷을 수신한다. 이때, 수신 패킷의 목적지 주소는 콘텐츠 서버(600)가 아닌 MPAD 게이트웨이(200)로 되어 있다.The MPAD gateway 200 receives all packets destined for the Internet 500 through the core network 400 and the WiFi network 305 . In this case, the destination address of the received packet is the MPAD gateway 200 rather than the content server 600 .

MPAD 에이전트(107)가 프록시 기능을 구현하는 경우, MPAD 에이전트(107)는 패킷의 목적지 주소를 MPAD 게이트웨이(200)로 변경한다. MPAD 게이트웨이(200)는 다중 경로 패킷을 모두 수신하여 콘텐츠 서버(600)로 전달하는 프록시 서버로 동작할 수 있다. MPAD 게이트웨이(200)는 프록시 서버로 구현되고, 단말(100)과의 시그널링 절차를 거쳐 세션을 연결한다.When the MPAD agent 107 implements the proxy function, the MPAD agent 107 changes the destination address of the packet to the MPAD gateway 200 . The MPAD gateway 200 may operate as a proxy server that receives all multi-path packets and delivers them to the content server 600 . The MPAD gateway 200 is implemented as a proxy server, and connects a session through a signaling procedure with the terminal 100 .

단말(100)과 MPAD 게이트웨이(200)는 중복 전송 또는 병합 전송 방식으로 데이터를 송수신한다. The terminal 100 and the MPAD gateway 200 transmit and receive data in a redundant transmission or a merge transmission method.

단말(100)은 다중 경로 통신을 사용하는 경우, MPAD 게이트웨이(200)를 통해 콘텐츠 서버(600)와 데이터를 송수신할 수 있다. 단말(100)은 단일 경로 통신을 사용하는 경우, MPAD 게이트웨이(200)를 통하지 않고 콘텐츠 서버(600)와 데이터를 송수신할 수 있다. 여기서, 콘텐츠 서버(600)는 단일 경로로 TCP 통신하는 일반적인 서버로 가정한다.When using multi-path communication, the terminal 100 may transmit/receive data to and from the content server 600 through the MPAD gateway 200 . The terminal 100 may transmit/receive data to and from the content server 600 without going through the MPAD gateway 200 when single-path communication is used. Here, it is assumed that the content server 600 is a general server that performs TCP communication through a single path.

MPAD 에이전트(107)는 서비스 어플리케이션이 구동되어 패킷이 발생하면, MPAD 게이트웨이(200)에 접속하고 연결 절차를 수행한다. MPAD 에이전트(107)와 MPAD 게이트웨이(200)는 RFC1928과 RFC1929에 정의된 SOCKS(Socket Secure) 프로토콜에 따라 시그널링 정보를 교환할 수 있다. RFC1928과 RFC1929에 정의된 SOCKS 프로토콜을 따르는 프록시 연결 방법은 공지되어 있으므로, 자세한 설명은 생략한다.The MPAD agent 107 connects to the MPAD gateway 200 and performs a connection procedure when a service application is driven and a packet is generated. The MPAD agent 107 and the MPAD gateway 200 may exchange signaling information according to the Socket Secure (SOCKS) protocol defined in RFC1928 and RFC1929. Since a proxy connection method conforming to the SOCKS protocol defined in RFC1928 and RFC1929 is known, a detailed description thereof will be omitted.

세션이 생성되면, MPAD 에이전트(107)는 MPAD 게이트웨이(200)와 복수의 서브플로우(subflow)로 연결된다. 이때, 5G 망이 디폴트 망이라면, 주 서브플로우(primary subflow)는 5G망과 연결되고 나머지 무선 경로들과는 부 서브플로우(secondary subflow)로 연결된다.When a session is created, the MPAD agent 107 is connected to the MPAD gateway 200 through a plurality of subflows. At this time, if the 5G network is the default network, the primary subflow is connected to the 5G network and the other radio paths are connected to the secondary subflow.

본 발명의 실시예에서, 전송 방식은 다음과 같이 4가지 방식이 있을 수 있다.In an embodiment of the present invention, there may be four transmission schemes as follows.

1) 상향 병합전송 : MPAD 에이전트(107)는 전송 모드를 병합 전송으로 지정하여 세션 연결 요청1) Uplink merge transmission: MPAD agent 107 sets the transmission mode to merge transmission and requests a session connection

2) 상향 중복전송 : MPAD 에이전트(107)는 전송 모드를 중복 전송으로 지정하여 세션 연결 요청2) Uplink redundant transmission: MPAD agent 107 designates the transmission mode as redundant transmission and requests a session connection

3) 하향 병합전송 : MPAD 에이전트(107)는 MPAD 게이트웨이(200)의 10000번 포트로 세션 연결 요청3) Downlink merge transmission: MPAD agent 107 requests a session connection to port 10000 of MPAD gateway 200

4) 하향 중복전송 : MPAD 에이전트(107)는 MPAD 게이트웨이(200)의 20000번 포트로 세션 연결 요청4) Downlink redundant transmission: MPAD agent 107 requests a session connection to port 20000 of MPAD gateway 200

이처럼, 세션별 상/하향 전송 방향에 따른 병합/중복 전송 여부가 결정되며, 이는 구현 특이 사항으로 소켓 프로그램을 수정하여 스케줄러를 명시적으로 선택할 수 있는 방법을 취할 수 있다.As such, whether merge/duplicate transmission is determined according to the up/down transmission direction for each session, which is an implementation specific matter, may take a method of explicitly selecting a scheduler by modifying the socket program.

예를들어, MPAD 에이전트(107)는 MPTCP(Multi-path Transmission Control Protocol)의 스케줄링을 기존 RTT(round trip time) 기반의 최적망 선택 방식, 즉, 병합 전송이 아닌 동일한 데이터를 복수망으로 각각 전송하는 중복 전송(redundant) 모드를 이용할 수 있다. For example, the MPAD agent 107 transmits the same data to multiple networks instead of the conventional round trip time (RTT)-based optimal network selection method for scheduling of the Multi-path Transmission Control Protocol (MPTCP), that is, merged transmission. A redundant transmission (redundant) mode may be used.

패킷 플로우에 대한 소켓 옵션은 시스템 전체 패킷 스케줄러 설정과는 무관하게 중복 전송 모드로 설정될 수 있다. The socket option for packet flow can be set to redundant transmission mode regardless of the system-wide packet scheduler setting.

패킷 스케줄링은 실제 전송 가능한 여러 경로 중에 각 패킷을 어느 경로로 보낼 것인지 결정하는 것을 의미하므로, 소켓 옵션으로 결정되어 패킷이 특정 전송 모드로 결정되더라도 스케줄링 주체인 MPAD 에이전트(107)는 패킷을 복제하여 중복 전송하거나 최적 경로를 선택하여 병합 전송을 할 수 있다. Packet scheduling means deciding which path to send each packet out of among multiple paths that can actually be transmitted. You can transmit or merge transmission by selecting an optimal path.

이때, 스케줄링 주체 상향링크 전송의 경우에는 MPAD 에이전트(107)이고, 하향링크 전송의 경우에는 MPAD 게이트웨이(200)이다.In this case, the scheduling subject is the MPAD agent 107 in the case of uplink transmission, and the MPAD gateway 200 in the case of downlink transmission.

도 2는 본 발명의 다른 실시예에 따른 초정밀 데이터 통신 시스템의 구성도이다.2 is a block diagram of an ultra-precision data communication system according to another embodiment of the present invention.

이때, 도 2는 도 1과 거의 유사한 구조를 가지며, 다만, MPAD 게이트웨이(200')의 배치 구조에 있어서 상이한 실시예를 도시한다. 따라서, 도 1과 동일한 내용은 설명을 생략하고, 도 1과 다른 실시예적 구성에 대해서만 설명하기로 한다.At this time, FIG. 2 has a structure substantially similar to that of FIG. 1, but shows a different embodiment in the arrangement structure of the MPAD gateway 200'. Accordingly, descriptions of the same contents as those of FIG. 1 will be omitted, and only exemplary configurations different from those of FIG. 1 will be described.

도 2의 실시예에 따른 초정밀 데이터 통신 시스템은 비프록시 기반의 On-Path 배치 구조에 해당한다. 즉, MPAD 게이트웨이(200')가 코어망(400) 바로 뒤 라우팅 경로 상(On-Path)에 인라인(In-line)으로 배치되어 프록시 프로토콜을 사용하지 않고 동작한다. 이 경우, MPAD 게이트웨이(200')는 코어망(400) 및/또는 WiFi망(305)이 인터넷(500)과 송수신하는 패킷을 실시간 감시하여 사전에 설정된 IP 주소 및/또는 포트가 포함된 패킷이 발견되면, 이를 가로채 콘텐츠 서버(600) 대신 단말(100')과 세션을 연결하고 다중 경로 통신 방식으로 패킷을 처리한다.The ultra-precision data communication system according to the embodiment of FIG. 2 corresponds to a non-proxy-based on-path arrangement structure. That is, the MPAD gateway 200 ′ is disposed in-line on the routing path immediately behind the core network 400 and operates without using a proxy protocol. In this case, the MPAD gateway 200 ′ monitors packets transmitted and received by the core network 400 and/or the WiFi network 305 to and from the Internet 500 in real time, and a packet including a preset IP address and/or port is displayed. If it is found, it intercepts it, connects a session with the terminal 100 ′ instead of the content server 600 , and processes the packet in a multi-path communication method.

이러한 On-Path 배치 구조는 5G 엣지 센터 등 분산(de-centralized)된 네트워크 배치 구조에 사용된다.This on-path deployment structure is used for a decentralized network deployment structure such as 5G edge centers.

도 1 및 도 2에서 설명한, 단말(100') 및 MPAD 게이트웨이(200')의 세부적인 동작에 대하여 설명한다.Detailed operations of the terminal 100 ′ and the MPAD gateway 200 ′ described in FIGS. 1 and 2 will be described.

도 3은 본 발명의 실시예에 따른 단말의 구성도이고, 도 4는 본 발명의 한 실시예에 따른 중복 전송을 설명하는 예시도이고, 도 5는 본 발명의 실시예에 따른 무선 경로 별 지연 시간을 설명하는 도면이다.3 is a block diagram of a terminal according to an embodiment of the present invention, FIG. 4 is an exemplary diagram illustrating redundant transmission according to an embodiment of the present invention, and FIG. 5 is a delay for each radio path according to an embodiment of the present invention. It is a diagram explaining time.

먼저, 도 3을 참조하면, 단말(100)은 LTE 인터페이스(101), 5G 인터페이스(103), WiFi 인터페이스(105), MPAD 에이전트(107, 107'), 어플리케이션(109), 소켓 통신부(111), 중복 전송 처리부(113), 병합 전송 처리부(115) 및 단일 전송 처리부(117)를 포함한다.First, referring to FIG. 3 , the terminal 100 includes an LTE interface 101 , a 5G interface 103 , a WiFi interface 105 , an MPAD agent 107 , 107 ′, an application 109 , and a socket communication unit 111 . , a duplicate transmission processing unit 113 , a merge transmission processing unit 115 , and a single transmission processing unit 117 .

MPAD 에이전트(107)는 도 1의 실시예에 대응하는 프록시 기능이 있는 구성을 의미하고, MPAD 에이전트(107')는 도 2의 실시예에 대응하는 프록시 기능이 없는 구성을 의미한다.The MPAD agent 107 means a configuration with a proxy function corresponding to the embodiment of FIG. 1 , and the MPAD agent 107 ′ means a configuration without a proxy function corresponding to the embodiment of FIG. 2 .

MPAD 에이전트(107)는 프록시 모드로 동작시, 패킷의 외부(OUTER) IP 헤더의 목적지 주소를 프록시 서버로 동작하는 MPAD 게이트웨이(200)의 IP 주소로 설정한다.When the MPAD agent 107 operates in the proxy mode, the destination address of the OUTER IP header of the packet is set to the IP address of the MPAD gateway 200 operating as a proxy server.

이외에 단말(100)의 동작은 도 1 및 도 2의 실시예에 모두 공통되므로, 공통된 동작에 대하여 이하 설명한다.In addition, since the operation of the terminal 100 is common to all the embodiments of FIGS. 1 and 2 , the common operation will be described below.

단말(100)은 LTE 인터페이스(101), 5G 인터페이스(103), WiFi 인터페이스(105)를 통해 패킷 전송을 할 수 있다. 일반적인 전송 방식의 경우, 단말(100)은 LTE 인터페이스(101), 5G 인터페이스(103), WiFi 인터페이스(105) 중에서 최상위 라우팅 우선순위에 의해 선택된 하나의 네트워크 인터페이스를 통해 서비스 패킷을 송수신한다. 선택된 최상위 라우팅 경로의 지연 시간이 악화되는 경우, 단말(100)은 차선, 혹은 차차선 라우팅 경로로 변경해야 하지만, TCP의 경우, 라우팅을 변경하여 패킷 플로우의 소스 주소(source address)가 변경되면 기존에 처리중인 세션과는 독립적으로 새로운 세션을 추가하여 사용하여야 한다. 따라서, 서비스 중단이 발생될 수 있다. 이를 보완하기 위해 MPTCP 등의 복수 경로 병합 전송 프로토콜을 사용하여 상황에 따라 패킷을 각 네트워크 인터페이스(101, 103, 105)의 가용한 전송량을 기반으로 패킷 분할/병합(segregation/aggregation)할 수 있다. 이와 같은 경우 특정 시간내에 데이터를 전송해야 하는, 예를들어 mission-critical, hard real-time을 보장해야하는 서비스의 경우, 지연 시간 변동에 따라 취약하거나 서비스가 불가능할 수 있다. 이에, 단말(100)은 가용한 네트워크 인터페이스(101, 103, 105)를 기반으로 복수 경로로 전송하고자 하는 패킷을 분할하지 않고 중복된 데이터를 전송하여 패킷 전달 지연 시간 측면의 이점을 취할 수 있다. The terminal 100 may transmit packets through the LTE interface 101 , the 5G interface 103 , and the WiFi interface 105 . In the case of a general transmission method, the terminal 100 transmits and receives a service packet through one network interface selected by the highest routing priority among the LTE interface 101 , the 5G interface 103 , and the WiFi interface 105 . When the delay time of the selected uppermost routing path deteriorates, the terminal 100 must change to the next or next lane routing path, but in the case of TCP, when the source address of the packet flow is changed by changing the routing, Independent of the session being processed, a new session should be added and used. Accordingly, service interruption may occur. In order to compensate for this, a multi-path aggregation transport protocol such as MPTCP may be used to segregate/aggregate packets based on the available transmission amount of each network interface 101 , 103 , 105 depending on the situation. In this case, in the case of a service that needs to transmit data within a specific time, for example, a mission-critical or hard real-time guarantee, the service may be vulnerable or unavailable depending on delay time fluctuations. Accordingly, the terminal 100 can take advantage of packet delivery delay time by transmitting duplicate data without dividing the packet to be transmitted through multiple paths based on the available network interfaces 101 , 103 , and 105 .

본 발명의 실시예에서는, 서비스 요구 사항을 기초로 단말(100)의 MPAD 에이전트(107, 107')가 중복 전송, 병합 전송, 단일 전송 중에서 하나의 전송 모드를 선택하여 패킷을 전송할 수 있다. In an embodiment of the present invention, the MPAD agents 107 and 107' of the terminal 100 may transmit a packet by selecting one transmission mode from among redundant transmission, merged transmission, and single transmission based on service requirements.

MPAD 에이전트(107, 107')는 어플리케이션 단위 및/또는 패킷 플로우 단위로 전송 모드를 선택할 수 있다. 도 3에서 어플리케이션(109)을 하나만 도시하였지만, 어플리케이션(109)은 복수개가 존재할 수 있고, 이 경우, MPAD 에이전트(107, 107')는 어플리케이션(109) 별로 서비스 목적에 따라 전송 모드를 달리 선택할 수 있다. 즉, A 어플리케이션은 병합 전송만 선택하고 B 어플리케이션은 중복 전송만 선택할 수도 있다. 예컨대, 지연 시간에 민감한 서비스를 제공하는 어플리케이션(109)은 중복 전송만 할 수 있다.The MPAD agents 107 and 107' may select a transmission mode on a per application basis and/or per packet flow basis. Although only one application 109 is illustrated in FIG. 3 , a plurality of applications 109 may exist. In this case, the MPAD agents 107 and 107 ′ can select different transmission modes for each application 109 according to the service purpose. have. That is, application A may select only merge transmission and application B may select only redundant transmission. For example, the application 109 that provides a service sensitive to delay time may only perform redundant transmission.

또한, MPAD 에이전트(107, 107')는 하나의 어플리케이션(109) 내에서 어플리케이션(109)은 패킷 플로우 단위로 전송 모드를 선택할 수 있다. 하나의 서비스 어플리케이션 관점에서 전체 데이터를 바라보면, 단일 전송, 병합 전송, 중복 전송이 혼재되어 있다.In addition, the MPAD agents 107 and 107' can select a transmission mode in one application 109 in units of packet flows. When looking at the entire data from the point of view of one service application, single transmission, merged transmission, and redundant transmission are mixed.

MPAD 에이전트(107, 107')는 전송 모드에 따라 해당 소켓(111A, 111B, 111C)을 구동할 수 있다. 다만, 상향링크 기준으로 볼 때, 동일한 어플리케이션(109)의 경우에도 소켓들(111A, 111B, 111C)을 모두 생성하고, 패킷 플로우 단위로 선택한 전송 모드의 소켓(111A, 111B, 111C)을 선택 구동할 수 있다.The MPAD agents 107 and 107' may drive the corresponding sockets 111A, 111B, and 111C according to the transmission mode. However, based on the uplink, all sockets 111A, 111B, and 111C are created even in the case of the same application 109, and the sockets 111A, 111B, and 111C of the transmission mode selected for each packet flow are selectively driven. can do.

단말(100)의 어플리케이션(109)이 패킷을 송수신하려면, 단말 내부의 통신을 담당하는 MPAD 에이전트(107, 107')와 소켓 통신을 연결한다. In order for the application 109 of the terminal 100 to transmit and receive packets, socket communication is connected with the MPAD agents 107 and 107' in charge of communication inside the terminal.

소켓 통신부(111)는 어플리케이션(109)과 MPAD 에이전트(107, 107') 간의 통신을 위한 소켓들(111A, 111B, 111C)을 생성한다. 소켓들(111A, 111B, 111C)은 어플리케이션(109)의 프로그래밍 코드에 의해 생성되며, 전송 모드 별로 상이하다. 소켓 통신부(111)는 중복 전송 소켓(111A), 병합 전송 소켓(111B), 단일 전송 소켓(111C)을 생성한다.The socket communication unit 111 creates sockets 111A, 111B, and 111C for communication between the application 109 and the MPAD agents 107 and 107'. The sockets 111A, 111B, and 111C are generated by the programming code of the application 109 and are different for each transmission mode. The socket communication unit 111 creates a redundant transmission socket 111A, a merge transmission socket 111B, and a single transmission socket 111C.

MPAD 에이전트(107, 107')는 어플리케이션(109)의 소켓 연결이 감지되면, 어플리케이션(109)의 목적 또는 패킷 플로우의 목적지 정보(IP 주소/포트)를 기초로 전송 모드를 결정하고, 그 전송 모드에 해당하는 소켓(111A, 111B, 111C)을 어플리케이션(109)과 연결한다. 그리고 연결된 소켓(111A, 111B, 111C)을 통해 전달받은 패킷 플로우를 스케줄링하여 중복 전송 처리부(113), 병합 전송 처리부(115), 단일 전송 처리부(117) 중 하나로 출력한다.When the socket connection of the application 109 is detected, the MPAD agents 107 and 107' determine the transmission mode based on the purpose of the application 109 or the destination information (IP address/port) of the packet flow, and the transmission mode The sockets 111A, 111B, and 111C corresponding to are connected to the application 109 . Then, the packet flow received through the connected sockets 111A, 111B, and 111C is scheduled and output to one of the duplicate transmission processing unit 113 , the merge transmission processing unit 115 , and the single transmission processing unit 117 .

이때, MPAD 에이전트(107, 107')는 MPAD 게이트웨이(200)와 세션 생성을 제어하는데, 각 소켓(111A, 111B, 111C)에 해당하는 세션들을 구분하여 생성한다. 즉, 중복 전송 세션, 병합 전송 세션, 단일 전송 세션으로 구분하여 생성한다.In this case, the MPAD agents 107 and 107' control session creation with the MPAD gateway 200, and separately create sessions corresponding to the sockets 111A, 111B, and 111C. That is, the duplicate transmission session, the merged transmission session, and the single transmission session are divided and generated.

MPAD 에이전트(107, 107')는 어플리케이션(109)으로부터 소켓 연결이 요청되면, 패킷 플로우의 목적지 IP 주소 및 목적지 포트에 기초하여 전송 모드를 결정하고, 전송 모드에 해당하는 소켓을 연결한다. 예를들어, 하나의 어플리케이션(109)에서 여러 패킷 플로우가 생성되는 경우, MPAD 에이전트(107, 107')는 저지연이 필요한 패킷 플로우(예, 제어 메시지 등)는 중복 전송 모드를 선택하고, 속도가 필요한 패킷 플로우(예, 미디어 다운로드 등)는 병합 전송 모드를 선택할 수 있다. 이처럼, 하나의 어플리케이션(109) 안에서도 중복 전송 모드와 병합 전송 모드로 나뉘어 질 수 있다.When a socket connection is requested from the application 109, the MPAD agents 107 and 107' determine the transmission mode based on the destination IP address and destination port of the packet flow, and connect the socket corresponding to the transmission mode. For example, when multiple packet flows are generated in one application 109, MPAD agents 107 and 107' select a redundant transmission mode for packet flows requiring low latency (eg, control messages, etc.), For packet flows (eg, media download, etc.) requiring As such, even within one application 109, it can be divided into a redundant transmission mode and a merged transmission mode.

MPAD 에이전트(107, 107')는 어플리케이션(109)에서 발생되는 패킷 플로우가 존재하면, 자체적인 규칙에 의해 명시적으로 중복 전송 모드 또는 병합 전송 모드 또는 단일 전송 모드를 선택할 수 있다.The MPAD agents 107 and 107' can explicitly select the redundant transmission mode, the merged transmission mode, or the single transmission mode by their own rules when there is a packet flow generated by the application 109 .

MPAD 에이전트(107, 107')는 패킷의 서비스 특성을 나타내는 어플리케이션 ID 또는 목적지 정보에 전송 모드가 매칭된 매칭 테이블을 저장한다. 패킷의 서비스 특성은 패킷이 발생한 어플리케이션 ID 또는 패킷의 목적지 정보(IP 주소 및/또는 포트)를 포함할 수 있다. 이 매칭 테이블은 사전에 저장된 것으로서, 외부 서버(미도시)에 의해 실시간 갱신될 수도 있다.The MPAD agents 107 and 107' store a matching table in which the transmission mode is matched to the application ID or destination information indicating the service characteristics of the packet. The service characteristics of the packet may include an application ID from which the packet is generated or destination information (IP address and/or port) of the packet. This matching table is stored in advance and may be updated in real time by an external server (not shown).

MPAD 에이전트(107, 107')는 어플리케이션(109)의 소켓 연결 요청이 감지되면, 어플리케이션(109)이 요구한 패킷의 목적지 정보(IP 주소/포트) 및/또는 어플리케이션 ID에 매핑된 전송 모드를 결정할 수 잇다.The MPAD agents 107 and 107' determine the transmission mode mapped to the destination information (IP address/port) and/or the application ID of the packet requested by the application 109 when the socket connection request of the application 109 is detected. can

MPAD 에이전트(107, 107')는 소켓이 생성되면, 해당 포트를 열고 패킷 스케줄링을 진행한다. 소켓은 프로토콜, IP 주소, 포트 넘버로 정의된다.When a socket is created, the MPAD agents 107 and 107' open a corresponding port and perform packet scheduling. A socket is defined by a protocol, an IP address, and a port number.

어플리케이션(109)과 중복 전송 소켓(111A)으로 연결되고, MPAD 에이전트(107, 107')는 다중 경로 중복 전송을 위한 포트 #1을 연다. MPAD 에이전트(107, 107')는 중복 전송 소켓(111A)을 통해 전달되는 패킷 플로우를 중복 전송 처리부(113)로 출력한다.The application 109 is connected to the redundant transmission socket 111A, and the MPAD agents 107 and 107' open port #1 for multi-path redundant transmission. The MPAD agents 107 and 107' output the packet flow transmitted through the redundant transmission socket 111A to the redundant transmission processing unit 113 .

중복 전송 처리부(113)는 중복 전송 소켓(111A)을 통해 전달되는 패킷 플로우를 대상으로 가용한 복수 경로를 통하여 중복 전송을 한다. 이때, 중복 전송 처리부(113)는 MPAD 에이전트(107, 107')에 의해 선택된 적어도 두개의 네트워크 인터페이스를 통하여 중복 전송을 한다. The redundant transmission processing unit 113 performs redundant transmission through a plurality of available paths for a packet flow transmitted through the redundant transmission socket 111A. In this case, the redundant transmission processing unit 113 performs redundant transmission through at least two network interfaces selected by the MPAD agents 107 and 107'.

중복 전송 처리부(113)는 MPTCP 또는 MPUDP 계층(113A), TCP/UDP 계층(113B), IP 계층(113C) 및 L2/L1 계층(113D)을 포함한다. The redundant transmission processing unit 113 includes an MPTCP or MPUDP layer 113A, a TCP/UDP layer 113B, an IP layer 113C, and an L2/L1 layer 113D.

TCP/UDP 계층(113B)은 다수의 서브플로우(subflow) 계층을 포함하며, 각 서브플로우는 네트워크 인터페이스(101, 103, 105)와 매핑된다. MPTCP 또는 MPUDP 계층(113A)은 각 서브플로우 계층(113B)으로 전송할 패킷들을 복제하여 분배하고, 각 서브플로우 계층(113B)에서 가장 먼저 전달받은 패킷들을 우선적으로 처리하고 나머지는 폐기할 수 있다.The TCP/UDP layer 113B includes a number of subflow layers, and each subflow is mapped with a network interface 101 , 103 , 105 . The MPTCP or MPUDP layer 113A may duplicate and distribute packets to be transmitted to each subflow layer 113B, and may preferentially process packets received first from each subflow layer 113B and discard the rest.

각 서브플로우 계층(113B)은 기존 TCP 계층과 동일하게 동작하고 별도의 세션으로 취급 받는다.Each subflow layer 113B operates the same as the existing TCP layer and is treated as a separate session.

MPTCP 또는 MPUDP 계층(113A)은 각 서브플로우의 복제 패킷을 TCP 세그먼트들 또는 UDP 세그먼트들로 분할한다. 각 서브플로우에 대응된 IP 계층(113C)은 TCP 세그먼트들 또는 UDP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층(113D)을 거쳐 MPAD 게이트웨이(200)에게 전달된다. 한 실시예에 따르면, MPAD 에이전트(107, 107')는 패킷 플로우 전부를 각 네트워크 인터페이스(101, 103, 105)에 동일하게 중복해서 전송하도록 패킷 스케줄링을 할 수 있다.The MPTCP or MPUDP layer 113A divides the duplicate packet of each subflow into TCP segments or UDP segments. The IP layer 113C corresponding to each subflow generates a packet in which an IP header is appended to TCP segments or UDP segments. The packet is delivered to the MPAD gateway 200 through the network layer 113D of L2/L1. According to one embodiment, the MPAD agents 107 and 107' may perform packet scheduling so that all packet flows are transmitted equally and redundantly to each network interface 101, 103, 105.

다른 실시예에 따르면, MPAD 에이전트(107, 107')는 패킷의 일부는 복수의 네트워크 인터페이스(101, 103, 105)로 중복 전송하고 패킷의 다른 부분은 복수의 네트워크 인터페이스(101, 103, 105) 중 가장 속도가 빠르거나 지연 시간이 최소인 네트워크 인터페이스(101, 103, 105)로 중복하지 않고 전송하도록 패킷 스케줄링할 수 있다. 즉, MPAD 에이전트(107, 107')는 복수 네트워크 인터페이스(101, 103, 105)에 패킷을 중복하여 전송하면서도, 일부 패킷은 전송 용량이 큰 네트워크 인터페이스(101, 103, 105)에만 동시 전송할 수 있다. 이와 같은 중복 전송 방식은 단순히 중복하여 전송하는 경우에 지연이 가장 느린 네트워크 인터페이스의 성능으로 하향 수렴되어 발생하는 손실을 없앨 수 있다. TCP를 트랜스포트 계층으로 사용할 경우, 복수의 네트워크 인터페이스(101, 103, 105) 중에서 하나의 네트워크 인터페이스가 다른 네트워크 인터페이스 보다 지연 시간이 큰 경우, 지연 시간이 작은 경로도 동일한 패킷을 보내야 하므로 전송 속도가 지연 시간이 느린 쪽으로 수렴되어 전체 TCP 전송 자체가 느려질 수 있다. 이처럼, 상대적으로 느린 네트워크 인터페이스의 속도로 하향 수렴되는 단점을 보완하기 위하여, 패킷의 일부는 중복 전송하고, 상대적으로 빠른 네트워크 인터페이스에는 중복되지 않은 패킷을 더 많이 보내게 하는 스케줄링을 함으로써, 지연 시간 및 신뢰도 뿐만 아니라 전송 속도에 대해서도 이득을 취할 수 있다.According to another embodiment, the MPAD agent (107, 107') transmits a portion of the packet redundantly to the plurality of network interfaces (101, 103, 105) and another portion of the packet to the plurality of network interfaces (101, 103, 105) Packets can be scheduled to be transmitted without overlapping to the network interfaces 101, 103, and 105 having the fastest speed or the least delay time among them. That is, the MPAD agents 107 and 107' transmit packets to multiple network interfaces 101, 103, and 105 in duplicate, while some packets can be simultaneously transmitted only to the network interfaces 101, 103, and 105 with a large transmission capacity. . Such a redundant transmission method can eliminate loss caused by down-converging to the performance of a network interface having the slowest delay in the case of simply overlapping transmission. When TCP is used as a transport layer, if one network interface among the plurality of network interfaces 101, 103, and 105 has a larger delay time than the other network interface, the same packet must be sent to a route with a low delay time, so the transmission speed is reduced. Latency converges to the slower side, which can slow down the entire TCP transmission itself. As such, in order to compensate for the disadvantage of downward convergence to the speed of a relatively slow network interface, some of the packets are transmitted redundantly, and scheduling is performed to send more non-duplicated packets to a relatively fast network interface. You can benefit not only from reliability but also for transmission speed.

또한, 중복 전송되는 패킷의 경우, 최저 지연으로 수신된 패킷만 취하고 느리게 전달되는 패킷은 폐기하여 저지연 전송 속도를 보장하고, 일부 패킷은 지연 시간이 최소인 경로로만 전달함으로써 대역폭을 넓히는 효과가 있다.In addition, in the case of redundantly transmitted packets, only the packets received with the lowest delay are taken and packets transmitted slowly are discarded to ensure low-latency transmission speed, and some packets are transmitted only through the path with the minimum delay time, thereby broadening the bandwidth. .

중복 전송 처리부(113)는 패킷 플로우의 일부는 적어도 두개의 네트워크 인터페이스(101, 103, 105)로 중복 전송하고, 패킷 플로우의 일부를 제외한 나머지는 복수의 네트워크 인터페이스(101, 103, 105) 중에서 가장 전송 속도가 빠르거나 또는 전달 지연이 최소인 적어도 하나의 네트워크 인터페이스(101, 103, 105)에만 중복하지 않고 전송할 수 있다. 이때, 하나의 네트워크 인터페이스(101, 103, 105)에만 중복하지 않고 전달할 수도 있고, 이를 분할하여 적어도 두개의 네트워크 인터페이스(101, 103, 105)에 중복하지 않고 전달할 수도 있다.The redundant transmission processing unit 113 duplicates a portion of the packet flow to at least two network interfaces 101, 103, and 105, and the remainder except for a portion of the packet flow is the most among the plurality of network interfaces 101, 103, and 105. It is possible to transmit without overlapping only to at least one of the network interfaces 101, 103, and 105 having a high transmission speed or a minimum transmission delay. In this case, it may be transmitted without overlapping only to one network interface 101 , 103 , and 105 , or it may be divided and transmitted to at least two network interfaces 101 , 103 , 105 without overlapping.

도 4를 참조하면, MPAD 에이전트(107, 107')는 중복 전송 소켓(도 3의 111A)에 의해 할당된 원본 패킷 버퍼(10)에 패킷 플로우가 채워지면, 복수의 망(301, 303, 305) 각각으로 전송할 패킷을 결정한다. 여기서, 원본 패킷 버퍼(10)에는 어플리케이션(도 3의 109)에서 생성된 패킷들이 저장된다.Referring to FIG. 4 , the MPAD agents 107 and 107 ′ when the original packet buffer 10 allocated by the redundant transmission socket ( 111A in FIG. 3 ) is filled with a packet flow, a plurality of networks 301 , 303 , 305 ) decides which packet to send to each. Here, packets generated by the application ( 109 in FIG. 3 ) are stored in the original packet buffer 10 .

이때, MPAD 에이전트(107, 107')는 원본 패킷 버퍼(10)에 저장된 패킷들을 서브플로우의 분할 패킷 버퍼(11, 13, 15)에 저장한다. 이때, MPAD 에이전트(107, 107')는 원본 패킷 플로우를 분할할 수 있다. 즉, MPAD 에이전트(107, 107')는 일부 패킷들(1, 2, 3)은 5G망(301), LTE망(303)으로 각각 전송할 분할 패킷 버퍼(11, 13)에 동일하게 분배하고, 나머지 패킷들(4, 5)은 WiFi망(305)으로 전송할 분할 패킷 버퍼(15)에만 분배한다. 즉, MPAD 에이전트(107, 107')는 원본 패킷 중 일부(1, 2, 3)는 5G망(301), LTE망(303)으로 중복 전송하고, 나머지(4, 5)는 WiFi망(305)으로만 단일 전송하도록 스케줄링 할 수 있다.At this time, the MPAD agents 107 and 107' store the packets stored in the original packet buffer 10 in the divided packet buffers 11, 13 and 15 of the subflow. At this time, the MPAD agents 107 and 107' may split the original packet flow. That is, the MPAD agent 107, 107' distributes some packets 1, 2, 3 equally to the divided packet buffers 11 and 13 to be transmitted to the 5G network 301 and the LTE network 303, respectively, The remaining packets 4 and 5 are distributed only to the divided packet buffer 15 to be transmitted to the WiFi network 305 . That is, the MPAD agents 107 and 107' duplicate some of the original packets (1, 2, 3) to the 5G network 301 and the LTE network 303, and the rest (4, 5) to the WiFi network 305 ) can be scheduled for a single transmission.

MPTCP 또는 MPUDP 계층(113A)은 각 서브플로우의 분할 패킷 버퍼(11, 13, 15)에 추가된 패킷을 TCP 세그먼트들 또는 UDP 세그먼트들로 분할한다. 각 서브플로우에 대응된 IP 계층은 TCP 세그먼트들 또는 UDP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층을 거쳐 MPAD 게이트웨이(200)에게 전달된다.The MPTCP or MPUDP layer 113A divides the packet added to the divided packet buffers 11, 13, and 15 of each subflow into TCP segments or UDP segments. The IP layer corresponding to each subflow generates a packet with an IP header attached to TCP segments or UDP segments. The packet is delivered to the MPAD gateway 200 through the L2/L1 network layer.

여기서, 중복 전송을 TCP 기반으로 수행하는 경우, MPTCP 계층(113A)은 자체 플로우 컨트롤(Flow Control) 절차에 따라 중복 전송을 한다. Here, when performing redundant transmission based on TCP, the MPTCP layer 113A performs redundant transmission according to its own flow control procedure.

반면, 중복 전송을 UDP 기반으로 수행하는 경우, MPUDP 계층(113A)은 패킷을 바로 중복해서 전송하면, 동일한 패킷으로 판단되어 버려질 수 있다. 따라서, 중복되지만 서로 다른 패킷으로 인식될 수 있도록 IP 캡슐화를 수행한다.On the other hand, in the case of performing redundant transmission based on UDP, if the MPUDP layer 113A directly duplicates a packet, it may be determined to be the same packet and discarded. Therefore, IP encapsulation is performed so that it can be recognized as overlapping but different packets.

또한, MPTCP와 MPUDP는 병합해서 동작할 수도 있다.Also, MPTCP and MPUDP may be merged to operate.

이와 같이 소켓 옵션이 중복 전송 모드로 적용된 상황이 되면 MPAD 에이전트(107, 107')는 어플리케이션(109)으로부터 전달된 상향 데이터를 각 네트워크 인터페이스(101, 103, 105) 별로 매핑된 MTU(Maximum transmission unit) 사이즈 별로 동일하게 또는 동일하지 않은 상황에 대하여 전송하고자 하는 양만큼을 정의하고, 가용한 네트워크 인터페이스(101, 103, 105)를 통해 매 패킷 스케줄링 시점에 이를 지정한다.In this way, when the socket option is applied in the redundant transmission mode, the MPAD agents 107 and 107' transmit the uplink data transmitted from the application 109 to the MTU (Maximum Transmission Unit) mapped for each network interface 101, 103, and 105. ) by size, the amount to be transmitted is defined for the same or unequal conditions, and this is specified at every packet scheduling time through the available network interfaces 101, 103, and 105.

트랜스포트 계층으로 TCP를 사용하는 경우, UDP를 트랜스포트로 사용하는 중복 전송 방식과는 달리 IP-in-IP 등의 전송 오버헤드 및 UDP를 사용함에 있어 발생 가능한 패킷 드롭(Packet Drop)이 없으므로, 고신뢰성 전송이 가능하다. 또한, TCP를 트랜스포트로 사용하기 때문에 Best-effort 방식으로 전송하는 UDP 트랜스포트 방식 대비 신뢰도 높은 전송이 가능하며 TCP이기 때문에 100% 신뢰도(reliable) 전송이 가능한 장점이 있다. In the case of using TCP as the transport layer, unlike the redundant transmission method using UDP as a transport, there is no transmission overhead such as IP-in-IP and possible packet drop when using UDP. High-reliability transmission is possible. In addition, since TCP is used as a transport, it is possible to transmit with higher reliability compared to the UDP transport method, which is transmitted using the best-effort method, and since it is TCP, there is an advantage that 100% reliable transmission is possible.

UDP 트랜스포트 방식 대비 PMTU에 의해 결정되는 MTU 크기가 경로별로 상이하더라도 TCP에 의해 취할 수 있는 장점은 IP-in-IP 등의 오버헤드가 없어 한번에 전송할 수 있는 전송 데이터의 양(payload 크기)이 크기 때문에 전송속도 측면에서 이득이 있다.Compared to the UDP transport method, even if the MTU size determined by the PMTU is different for each path, the advantage that TCP can take is that there is no overhead such as IP-in-IP, so the amount of transmission data (payload size) that can be transmitted at one time is large. Therefore, there is an advantage in terms of transmission speed.

MPAD 에이전트(107, 107')는 복수의 네트워크 인터페이스(101, 103, 105)를 통해 전달되는 중복 패킷 중에서 전달 지연이 최소인 네트워크 인터페이스(101, 103, 105)로부터 전달되는 패킷을 우선 처리할 수 있다. 이를 통해, 패킷 전달 지연을 최소화 하는 동시에 전체 패킷 전달이 가용한 경로를 통해서 고른 분포가 가능하게 하여 서비스의 파동(fluctuation)을 최소화할 수 있다.The MPAD agent (107, 107') may preferentially process a packet delivered from the network interface (101, 103, 105) with the minimum delivery delay among duplicate packets delivered through the plurality of network interfaces (101, 103, 105). have. Through this, it is possible to minimize packet delivery delay and at the same time enable even distribution of the entire packet through an available path, thereby minimizing service fluctuations.

MPAD 에이전트(107, 107')는 어플리케이션(109)과 병합 전송 소켓(111B)으로 연결되고, 다중 경로 병합 전송을 위한 포트 #2를 연다. MPAD 에이전트(107, 107')는 병합 전송 소켓(111B)을 통해 전달되는 패킷 플로우를 병합 전송 처리부(115)로 출력한다.The MPAD agents 107 and 107' are connected to the application 109 through the merge transmission socket 111B, and open port #2 for multi-path merge transmission. The MPAD agents 107 and 107' output the packet flow transmitted through the merge transmission socket 111B to the merge transmission processing unit 115 .

병합 전송 처리부(115)는 병합 전송 소켓(111B)을 통해 전달되는 패킷 플로우를 대상으로 가용한 복수 경로를 통하여 병합 전송을 한다. 이때, 병합 전송 처리부(115)는 MPAD 에이전트(107, 107')에 의해 선택된 적어도 두개의 네트워크 인터페이스를 통하여 병합 전송을 한다. The merge transmission processing unit 115 performs merge transmission through a plurality of available paths for a packet flow transmitted through the merge transmission socket 111B. In this case, the merge transmission processing unit 115 performs the merge transmission through at least two network interfaces selected by the MPAD agents 107 and 107'.

병합 전송 처리부(115)는 MPTCP 계층(115A), TCP 계층(115B), IP 계층(115C) 및 L2/L1 계층(115D)을 포함한다. The merge transmission processing unit 115 includes an MPTCP layer 115A, a TCP layer 115B, an IP layer 115C, and an L2/L1 layer 115D.

TCP 계층(115B)은 다수의 서브플로우(subflow) 계층을 포함하며, 각 서브플로우는 네트워크 인터페이스(101, 103, 105)와 매핑된다. 각각의 서브플로우(subflow)는 하나의 독립적인 TCP 세션으로 동작하여 MPTCP 계층(115A)은 서브플로우(subflow) 별로 독립적인 TCP 연결 제어 및 폭주제어 기능을 제공한다. MPTCP 계층(115A)은 다수의 서브플로우(subflow)들에 대한 연결 제어 및 서브플로우(subflow)간의 트래픽 분배와 재전송 처리 및 패킷 정렬 기능을 수행한다.The TCP layer 115B includes a number of subflow layers, each subflow mapped with a network interface 101 , 103 , 105 . Each subflow operates as an independent TCP session, so the MPTCP layer 115A provides independent TCP connection control and congestion control functions for each subflow. The MPTCP layer 115A performs connection control for a plurality of subflows, distribution of traffic between subflows, retransmission processing, and packet alignment functions.

TCP 계층(115B)은 각 서브플로우의 패킷을 TCP 세그먼트들로 분할한다. 각 서브플로우에 대응된 IP 계층(115C)은 TCP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층(115D)을 거쳐 MPAD 게이트웨이(200)에게 전달된다.The TCP layer 115B divides the packet of each subflow into TCP segments. The IP layer 115C corresponding to each subflow generates a packet with an IP header attached to TCP segments. The packet is delivered to the MPAD gateway 200 through the network layer 115D of L2/L1.

MPAD 에이전트(107, 107')는 어플리케이션(109)과 단일 경로 전송 소켓(111C)으로 연결되고, MPAD 에이전트(107, 107')는 단일 경로 전송을 위한 포트 #3을 연다. MPAD 에이전트(107, 107')는 단일 경로 전송 소켓(111C)을 통해 전달되는 패킷 플로우를 단일 전송 처리부(117)로 출력한다.The MPAD agents 107 and 107' are connected to the application 109 through a single-path transmission socket 111C, and the MPAD agents 107, 107' open port #3 for single-path transmission. The MPAD agents 107 and 107' output the packet flow transmitted through the single-path transmission socket 111C to the single transmission processing unit 117 .

단일 전송 처리부(117)는 TCP 계층(117A), IP 계층(117B), L2/L1 계층(117C)을 포함한다. 단일 전송 처리부(117)는 복수의 네트워크 인터페이스(101, 103, 105)에 연결될 수는 있으나, 최적의 인터페이스 조합 선택이 아닌 디폴트 네트워크 인터페이스(예, 105)에만 연결될 수 있다.The single transmission processing unit 117 includes a TCP layer 117A, an IP layer 117B, and an L2/L1 layer 117C. The single transmission processing unit 117 may be connected to a plurality of network interfaces 101 , 103 , and 105 , but may be connected only to a default network interface (eg, 105 ) rather than selecting an optimal interface combination.

TCP 계층(117A)은 패킷을 TCP 세그먼트들로 분할한다. IP 계층(117B)은 TCP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층(117C)을 거쳐 인터넷(500)을 통해 콘텐츠 서버(600)에게 전달된다.The TCP layer 117A divides the packet into TCP segments. The IP layer 117B generates a packet with an IP header appended to the TCP segments. The packet is delivered to the content server 600 via the Internet 500 via the L2/L1 network layer 117C.

MPAD 에이전트(107, 107')는 중복 전송시 두가지 방식으로 패킷 스케줄링을 할 수 있다.The MPAD agents 107 and 107' can schedule packets in two ways in case of redundant transmission.

한 실시예에 따르면, MPAD 에이전트(107, 107')는 어플리케이션(109)에서 패킷 플로우가 전달되면, 복수의 네트워크 인터페이스(101, 103, 105)에 항상 동일한 패킷을 송출할 수 있다. 이 방식은 어플리케이션(109)의 서비스 요구 사항대로 전송하는 방식이다. 모든 패킷이 복수의 전송망(301, 303, 305)으로 동일하게 전송되므로, 지연 시간 단축과 전송 신뢰성을 높일 수 있다.According to an embodiment, the MPAD agents 107 and 107' may always transmit the same packet to the plurality of network interfaces 101, 103, and 105 when a packet flow is transmitted from the application 109. This method is a method of transmitting according to the service requirements of the application 109 . Since all packets are transmitted equally to the plurality of transmission networks 301, 303, and 305, delay time can be reduced and transmission reliability can be improved.

다른 실시예에 따르면, MPAD 에이전트(107, 107')는 어플리케이션(109)에서 패킷 플로우가 전달되면, 복수의 네트워크 인터페이스(101, 103, 105) 중에서 가용한 네트워크 인터페이스로 전송하되 더 이상 송출이 불가능한 네트워크 인터페이스에 대해서는 해당 패킷을 폐기(discard)할 수 있다. 즉, MPAD 에이전트(107, 107')는 어플리케이션(109)의 요청이 있었음에도 네트워크 상황에 맞추어 중복 전송 요청을 무시할 수 있다. MPAD 에이전트(107, 107')는 어플리케이션(109)으로부터 중복 전송 요구가 있었어도 네트워크 상황을 판단하여 최적 스케줄링을 결정할 수 있다. 따라서, 이 방식은 전송 속도와 지연 시간을 만족시키면서 항상 최적의 망을 선택할 수 있다.According to another embodiment, when a packet flow is transmitted from the application 109, the MPAD agent 107, 107' transmits it to an available network interface among a plurality of network interfaces 101, 103, and 105, but transmission is no longer possible. For the network interface, the corresponding packet may be discarded. That is, the MPAD agents 107 and 107' may ignore the duplicate transmission request according to the network situation even though there is a request from the application 109 . The MPAD agents 107 and 107' may determine the optimal scheduling by judging the network condition even if there is a duplicate transmission request from the application 109. Therefore, this method can always select the optimal network while satisfying the transmission speed and delay time.

전송 속도가 느린 경로의 전송량에 비례하여 복수 경로로 중복 전송되는 부분이 전체 전송할 패킷의 일부분으로 구분(이하, 패킷 그룹 A)한다면, 패킷 그룹 A는 송신측에서 경로와 상관없이 모든 데이터 경로로 동일하게 전송된다. 이렇게 전송된 패킷 그룹 A는 수신측에 준비된 복수 경로로 모두 전달되는데, 이중 최저 지연으로 수신된 데이터만 취하고 상대적으로 느리게 전달된 데이터는 폐기(discard) 처리하여 전송지연 측면에서 최저 지연 전송 속도를 보장할 수 있다. In proportion to the transmission amount of the slow path, if the overlapping transmission through multiple paths is divided into a part of the entire packet to be transmitted (hereinafter, packet group A), packet group A is the same for all data paths regardless of the path at the sender. is transmitted Packet group A transmitted in this way is all delivered through multiple paths prepared to the receiving side. Of these, only the data received with the lowest delay is taken and the relatively slow transmitted data is discarded to ensure the lowest delay transmission rate in terms of transmission delay. can do.

반면, 패킷 그룹 A를 전송하는 시점에 MPAD 에이전트(107, 107')는 자신이 전송 가능한 복수 경로중 더 많은 패킷을 보낼 수 있는 경로가 존재하면, 그 경로로 중복 전송되는 패킷 그룹 A와는 구분되는 추가의 패킷(이하, 패킷 그룹 B)를 전송하도록 스케줄링 할 수 있다. 이렇게 스케줄링 된 패킷 그룹 B는 패킷 그룹 A가 경로와 상관없이 모든 경로로 전송하는 것과는 달리 일부분의 경로로만 전송되게 된다. 이는 TCP 본연 또는 MPTCP의 서브플로우 단위의 시퀀스 기반 혼잡 제어 알고리즘에 의해 가능하고, 전송 가능한 양인 cwnd(contention window size)가 각 경로 별로 다르게 관리되기 때문에 패킷 그룹 A와 B가 경로 별로 상이하게 전달된다.On the other hand, at the time of transmitting packet group A, the MPAD agents 107 and 107' are distinguished from packet group A, which is duplicately transmitted through that path, if there is a path through which more packets can be transmitted among the multiple paths it can transmit. It can be scheduled to transmit an additional packet (hereinafter, packet group B). Unlike packet group B, which is scheduled in this way, is transmitted through all paths regardless of path by packet group A, it is transmitted through only a part of the path. This is possible by the TCP inherent or sequence-based congestion control algorithm in subflow units of MPTCP, and since the transmittable amount, cwnd (contention window size), is managed differently for each path, packet groups A and B are delivered differently for each path.

또한, MPAD 에이전트(107, 107')는 특정 사용자별, 특정 위치별, 특정 주소 대역 별 등으로 다양한 방식으로 전송 모드의 적용 가능 범위와 이를 처리하기 위한 정책을 확장할 수 있다. In addition, the MPAD agents 107 and 107' can extend the applicable range of the transmission mode and the policy for handling it in various ways, such as for each specific user, for each specific location, for each specific address band, and the like.

한편, 서비스의 종류에 따라서는 절대적인 지연 시간을 줄이는 것보다 패킷 수신 주기가 일정한 것이 더 중요할 수 있다. 하지만, 네트워크의 지터(jitter)는 조절 가능한 값이 아니며, 그 변화를 예측하는 것도 어렵다. 이를 해결하기 위해, MPAD 에이전트(107, 107')는 버퍼를 통해 수신 주기의 차이를 줄임으로써, 패킷 수신 주기를 일정하게 할 수 있다.Meanwhile, depending on the type of service, it may be more important for the packet reception period to be constant than to reduce the absolute delay time. However, jitter in the network is not an adjustable value, and it is difficult to predict its change. To solve this problem, the MPAD agents 107 and 107' reduce the difference in the reception period through the buffer, thereby making the packet reception period constant.

병합 전송 과정에서 서로 다른 네트워크 인터페이스(101,103, 105)의 지연 시간 차이가 크다면 out-of-order로 패킷이 수신되는 일이 발생하는데, 이를 바로 상위 계층으로 전달하게 되면 패킷 로스(loss)로 판단하는 일이 일어날 수 있다. 그뿐만 아니라 상위에서는 단일 인터페이스 전송으로 파악하고 있기 때문에 네트워크의 지터(jitter)가 굉장히 큰 상황으로 오판하게 된다. 이러한 문제를 방지하기 위하여 MPAD 에이전트(107, 107')는 상위 계층으로 패킷을 전달하기 전에 수신 버퍼에 패킷을 저장하였다가 전달하는 속도를 조절할 수 있다. 그러면, 버퍼에서 재정렬(re-ordering)도 가능하고 일정한 속도로 패킷을 전달할 수 있기 때문에 지터(jitter)로 인한 문제가 줄어든다. If the delay time difference between the different network interfaces 101, 103, and 105 is large during the merge transmission process, packets are received out-of-order. things can happen In addition, since the upper level understands it as a single interface transmission, it is misjudged as a situation in which the jitter of the network is very large. In order to prevent this problem, the MPAD agents 107 and 107' can store the packet in the reception buffer before forwarding the packet to the upper layer and adjust the transmission speed. Then, re-ordering in the buffer is also possible and the problem due to jitter is reduced because packets can be delivered at a constant rate.

MPAD 에이전트(107, 107')는 네트워크 인터페이스(101, 103, 105) 간 지연 시간 차이가 클수록 상위 계층으로 패킷을 출력하는 속도를 늦추고, 네트워크 인터페이스(101, 103, 105) 간 지연 시간 차이가 작을수록 상위 계층으로 패킷을 출력하는 속도를 증가시킴으로써, 수신 주기를 정밀하게 맞추면서도 전송 효율을 높일 수 있다. The MPAD agent (107, 107') slows the speed of outputting packets to the upper layer as the delay time difference between the network interfaces (101, 103, 105) is larger, and the delay time difference between the network interfaces (101, 103, 105) is small. By increasing the speed at which packets are output to the higher layer, the transmission efficiency can be increased while precisely adjusting the reception period.

패킷 손실이 발생하는 경우에는 병합 전송에서와 같이 인터페이스 간 성능 차이에 대한 고려가 있어야 한다. 하지만, 특정 네트워크 인터페이스(101, 103, 105)의 지연 시간이 짧고 손실이 없는 경우, 다른 네트워크 인터페이스(101, 103, 105)를 통해 수신되는 패킷들을 폐기해버리고 지연 시간이 가장 짧은 네트워크 인터페이스(101, 103, 105)를 통해 수신된 패킷만 수용하면 되기 때문에 가장 성능이 좋은 네트워크 인터페이스(101, 103, 105)를 기준으로 버퍼에서 상위 계층으로 패킷을 전달하는 속도를 조절할 수 있다.이처럼, 중복 전송의 경우에는 상위 계층으로 패킷 전달 속도를 결정할 때, 최소 지연 시간과 네트워크 인터페이스 간 차이를 조합하여 결정한다.In case of packet loss, as in merged transmission, the performance difference between interfaces should be considered. However, if the delay time of a specific network interface 101, 103, 105 is short and there is no loss, packets received through the other network interfaces 101, 103, 105 are discarded and the network interface 101 with the shortest delay time , 103, and 105), it is necessary to accept only the packets received, so it is possible to adjust the speed of packet transfer from the buffer to the upper layer based on the network interfaces 101, 103, and 105 with the best performance. In this way, redundant transmission In the case of determining the packet forwarding speed to the upper layer, it is determined by combining the minimum delay time and the difference between the network interfaces.

도면에 도시하지 않았으나, 도 3에서 TCP/UDP 계층(113B)과 MPTCP/MPUDP 계층(113A) 사이 및 TCP 계층(115B)과 MPTCP 계층(115A)에 수신 버퍼를 서브플로우 별로 배치하고, 수신 버퍼들을 통해 수신 주기의 차이를 조정할 수 있다. MPAD 에이전트(107, 107')는 병합 전송 모드에서는 네트워크 인터페이스(101, 103, 105) 간 지연 시간 차이를 측정하여, 지연 시간 차이가 클수록 TCP 계층(115B)에서 MPTCP 계층(115A)으로 패킷을 출력하는 속도를 상대적으로 늦추고 지연 시간 차이가 작을수록 TCP 계층(115B)에서 MPTCP 계층(115A)으로 패킷을 출력하는 속도를 상대적으로 증가시킨다. Although not shown in the figure, in FIG. 3, a receive buffer is arranged between the TCP/UDP layer 113B and the MPTCP/MPUDP layer 113A and between the TCP layer 115B and the MPTCP layer 115A for each subflow, and the receive buffers are It is possible to adjust the difference in the reception period through The MPAD agents 107 and 107' measure the delay time difference between the network interfaces 101, 103, and 105 in the merge transmission mode, and as the delay time difference increases, the packet is output from the TCP layer 115B to the MPTCP layer 115A. The speed of outputting packets from the TCP layer 115B to the MPTCP layer 115A is relatively increased as the delay time difference is smaller.

MPAD 에이전트(107, 107')는 중복 전송 모드에서는 패킷 손실이 발생하는 경우 병합 전송 모드와 동일하게 동작한다. 반면, 패킷 손실이 없는 경우, 가장 성능이 좋은 네트워크 인터페이스(101, 103, 105)를 기준으로 TCP 계층(115B)에서 MPTCP 계층(115A)으로 패킷을 출력하는 속도를 조정한다.The MPAD agents 107 and 107' operate in the same manner as in the merged transmission mode when packet loss occurs in the redundant transmission mode. On the other hand, if there is no packet loss, the speed at which packets are output from the TCP layer 115B to the MPTCP layer 115A is adjusted based on the network interfaces 101, 103, and 105 with the best performance.

또한, 복수의 네트워크 인터페이스(101, 103, 105) 중에서 최적의 네트워크 인터페이스 조합을 선정하여 패킷 전송을 한다. 따라서, best effort 전달 체계를 갖는 중간 노드 상에서 발생될 수 있는 패킷 드럽, 큐/버퍼 오버플로우 등에 의해 발생 가능한 패킷 에러율을 최소화 가능하게 하여 신뢰도 높은 통신을 제공할 수 있다. 최적의 네트워크 인터페이스 조합은 변화하는 네트워크 상태에 따라 적응적으로 전송할 수 있다.In addition, an optimal combination of network interfaces is selected from among the plurality of network interfaces 101, 103, and 105 to transmit packets. Accordingly, it is possible to minimize a packet error rate that may occur due to a packet drop, a queue/buffer overflow, etc. that may occur on an intermediate node having a best-effort delivery system, thereby providing highly reliable communication. An optimal combination of network interfaces can be adaptively transmitted according to changing network conditions.

도 5를 참조하면, MPAD 에이전트(107, 107')는 각 네트워크 인터페이스(101, 103, 105)에 대한 지연 시간은 단말(100, 100')과 MPAD 게이트웨이(200) 사이에서 개별 네트워크 인터페이스(101, 103, 105)를 통해 전송된 패킷의 전송 시간과 그에 대한 ACK가 도착하는 시간까지의 차이이다. 링크 용량은 패킷 로스(loss)가 발생하지 않는 범위 내에서 각 네트워크 인터페이스(101, 103, 105)의 최대 전송 가능량으로 정의된다. 이러한 지연 시간 및 링크 용량은 지속적으로 최적의 네트워크 인터페이스 조합을 연산하는데 사용된다. Referring to FIG. 5 , the MPAD agents 107 and 107 ′ have delay times for each network interface 101 , 103 , 105 between the terminals 100 and 100 ′ and the MPAD gateway 200 and the individual network interfaces 101 . , 103, 105) is the difference between the transmission time of the packet transmitted through and the arrival time of the ACK. The link capacity is defined as the maximum transmittable amount of each network interface 101 , 103 , 105 within a range in which packet loss does not occur. This latency and link capacity are continually used to compute the optimal combination of network interfaces.

최적의 네트워크 인터페이스 조합은 목적이 지연 시간을 줄이고 신뢰도를 높이는 것이 목적인 중복 전송인지, 대역폭을 높이는 것이 중점 목표인 병합 전송인지에 따라서도 달라질 수 있으며, 사용하는 혼잡 제어 알고리즘에 따라서도 달라질 수 있다.The optimal combination of network interfaces may vary depending on whether the purpose of redundant transmission is to reduce latency and increase reliability, or whether to increase bandwidth is the main goal of merged transmission, and may also vary depending on the congestion control algorithm used.

중복 전송의 경우에는 절대적인 지연 시간이 짧은 인터페이스 위주로 선택하며, 병합 전송의 경우에는 링크 용량(link capacity)이 크면서도 서로의 지연 시간 차이가 작은 인터페이스 조합을 선택할 수 있다.In the case of redundant transmission, an interface having a short absolute delay time is mainly selected, and in the case of merge transmission, an interface combination having a large link capacity and a small delay time difference may be selected.

또한, 최적의 네트워크 인터페이스 조합은 혼잡 제어(congestion control) 알고리즘에 따라서도 변경되는데, 널리 사용되는 알고리즘 중 BBR(Bottleneck Bandwidth and Round-trip propagation time) 알고리즘은 지연 시간의 차이 보다 상대적으로 링크 용량(link capacity)에 비중을 두어 인터페이스 조합을 선택할 수 있다. 또한, CUBIC 알고리즘의 경우, 네트워크 인터페이스간 지연 시간의 차이에 상대적으로 비중을 더 두어 인터페이스 조합을 선택할 수 있다. In addition, the optimal network interface combination is also changed according to the congestion control algorithm. Among the widely used algorithms, the bottleneck bandwidth and round-trip propagation time (BBR) algorithm is relatively more effective than the difference in delay time. The interface combination can be selected by giving weight to the capacity). In addition, in the case of the CUBIC algorithm, the interface combination can be selected by giving a relatively greater weight to the difference in delay time between network interfaces.

최적의 네트워크 인터페이스 조합은 다음의 수학식 1을 통해 결정된다.An optimal network interface combination is determined through Equation 1 below.

Figure pat00001
Figure pat00001

여기서, di는 네트워크 인터페이스(i)의 전달 지연이다. Ci는 네트워크 인터페이스(i)의 링크 커패시티이다. α,β는 가중치이다. n은 네트워크 인터페이스의 개수이다. dmax는 서비스의 허용 가능한 최대 전달 지연이다. Cmin는 서비스에서 요구하는 최소 커패시티이다. δ는 스케일러블(scalable) 계수이다. Here, d i is the propagation delay of the network interface (i). C i is the link capacity of the network interface (i). α and β are weights. n is the number of network interfaces. d max is the maximum allowable propagation delay of the service. C min is the minimum capacity required by the service. δ is a scalable coefficient.

수학식 1은 모든 네트워크 인터페이스 조합, 즉, {5G}, {LTE}, {WiFi}, {5G, LTE}, {5G, WiFi}, {WiFi, LTE}, {5G, LTE, WiFi}에 대해 목적 함수(objective function) 값을 산출하는 식이다. MPAD 에이전트(107, 107')는 목적 함수의 값이 최소가 되는 최적 인터페이스 조합을 도출할 수 있다. Equation 1 is for all network interface combinations, that is, {5G}, {LTE}, {WiFi}, {5G, LTE}, {5G, WiFi}, {WiFi, LTE}, {5G, LTE, WiFi} It is an expression that calculates the value of the objective function. The MPAD agent 107, 107' may derive the optimal interface combination for which the value of the objective function is the minimum.

목적 함수는 가중치(weight factor)에 따라 지연 시간과 링크 용량 중 어느 것을 더 중시할 것인지 결정할 수 있다. The objective function may determine which of delay time and link capacity to be more important according to a weight factor.

목적 함수는 지연 시간 중에서도 최소 지연을 중시할 것인지 네트워크 인터페이스 간 지연 시간 차이를 중시할 것인지 선택 가능하도록 설계되어 있다. MPAD 에이전트(107, 107')는 중복/병합 전송 및 혼잡 제어 기법에 따라 가중치를 조절하여 최적 조합을 선택할 수 있다.The objective function is designed so that it is possible to select whether to value the minimum delay among the delay times or the delay time difference between network interfaces. MPAD agents 107 and 107' may select an optimal combination by adjusting weights according to overlap/merge transmission and congestion control schemes.

수학식 1의

Figure pat00002
은 네트워크 인터페이스들의 지연 시간을 계산하는 수식이다. 수학식 1의
Figure pat00003
은 네트워크 인터페이스들의 평균 링크 용량을 계산하는 수식이다. 따라서, α를 증가시켜 네트워크 인터페이스들의 지연 시간에 비중을 두거나 α를 감소시켜 네트워크 인터페이스들의 링크 용량에 비중을 둘 수 있다.of Equation 1
Figure pat00002
is a formula for calculating the delay time of network interfaces. of Equation 1
Figure pat00003
is an equation for calculating the average link capacity of network interfaces. Accordingly, it is possible to increase α to give weight to the delay time of the network interfaces, or decrease α to give weight to the link capacity of the network interfaces.

수학식 1의

Figure pat00004
은 네트워크 인터페이스들의 평균 지연 시간을 산출하는 수식이다. 수학식 1의
Figure pat00005
은 각 네트워크 인터페이스의 지연 시간 편차를 산출하는 수식이다. 따라서, β를 증가시켜 네트워크 인터페이스들의 평균 지연 시간에 비중을 두거나 β를 감소시켜 각 네트워크 인터페이스의 지연 시간 편차에 비중을 둘 수 있다.of Equation 1
Figure pat00004
is an equation for calculating the average delay time of network interfaces. of Equation 1
Figure pat00005
is a formula for calculating the delay time deviation of each network interface. Accordingly, increasing β may give weight to the average delay time of the network interfaces, or decreasing β may give weight to the delay time deviation of each network interface.

MPAD 에이전트(107, 107')는 α를 증가시켜 인터페이스 지연에 비중을 두거나 α를 감소시켜 인터페이스 링크 용량에 비중을 둘 수 있다. MPAD 에이전트(107, 107')는 β를 증가시켜 평균 지연 시간에 비중을 두거나 β를 감소시켜 지연 시간 편차에 비중을 둘 수 있다. 즉, β가 커질수록 평균 지연 시간이 작은 링크 조합을 선택하게 되고, β가 작아질수록 지연 시간의 편차가 작은 링크 위주로 선택한다.MPAD agents 107, 107' may increase α to weight the interface delay or decrease α to weight the interface link capacity. MPAD agents 107, 107' may increase β to weight the average delay time or decrease β to weight the delay time variance. That is, as β increases, a link combination with a small average delay time is selected, and as β decreases, a link with a small delay time deviation is mainly selected.

예를들어, 최대 지연 시간(dmax)=30ms, 최소 링크 용량(Cmin)=10Mbps 인 서비스에서, 5G 지연 시간(d5g)=10ms, LTE 지연 시간(dlte)= 20ms, WiFi 지연 시간(dwifi)= 50ms이고, 5G 링크 용량(C5g)=8Mbps, LTE 링크 용량(Clte)=5Mbps, WiFi 링크 용량(Cwifi)=100Mbps인 경우를 가정한다. 이때, Wifi의 링크 용량(capacity)이 100Mbps나 되지만 WiFi 지연 시간(dwifi)이 서비스 최대 지연 시간(dmax)보다 크기 때문에 해당 링크, 즉, 와이파이 링크는 선택되지 않는다. For example, in a service with maximum latency (d max )=30 ms, minimum link capacity (C min )=10 Mbps, 5G latency (d 5g )=10 ms, LTE latency (d lte )= 20 ms, WiFi latency Assume that (d wifi ) = 50 ms, 5G link capacity (C 5g ) = 8 Mbps, LTE link capacity (C lte ) = 5 Mbps, WiFi link capacity (C wifi ) = 100 Mbps. At this time, the Wifi link capacity (capacity) is 100 Mbps, but since the WiFi delay time (d wifi ) is larger than the service maximum delay time (d max ), the corresponding link, that is, the Wi-Fi link is not selected.

또한, 5G나 LTE의 경우, 지연 시간은 둘 다 만족하지만 서비스 최소 링크용량(Cmin)보다 작은 커패시티를 가지기 때문에 단일 링크 전송은 선택될 수 없다. 따라서, 결국 {5G, LTE} 조합이 선택되고, 이를 통하여 중복 전송 및/또는 병합 전송이 이루어진다. 만약, WiFi 지연 시간(dwifi)이 20ms가 되어 지연 시간 조건을 모두 만족한다면, 임의의 가중치(weight factor)에 대해 {WiFi}, {5G, LTE}, {5G, WiFi}, {LTE, WiFi}, {5G, LTE, WiFi}에 대해 수학식 1을 계산하여 값이 가장 작은 조합을 선택한다. 이와 같이, 가중치는 서비스의 특성에 따라 평균 지연, 지연 편차, 링크 용량(capacity) 각각의 중요성에 의해 결정된다. In addition, in the case of 5G or LTE, although both delay times are satisfied, single link transmission cannot be selected because it has a capacity smaller than the service minimum link capacity (C min ). Therefore, in the end, a {5G, LTE} combination is selected, through which redundant transmission and/or merged transmission is performed. If the WiFi delay time (d wifi ) becomes 20 ms and all delay conditions are satisfied, {WiFi}, {5G, LTE}, {5G, WiFi}, {LTE, WiFi for an arbitrary weight factor }, {5G, LTE, WiFi} is calculated by Equation 1 and a combination with the smallest value is selected. In this way, the weight is determined by the importance of each of the average delay, the delay deviation, and the link capacity according to the characteristics of the service.

MPAD 에이전트(107, 107')는 일정 주기마다 각 네트워크 인터페이스의 지연 시간 및 링크 커패시터(또는 링크의 전송 용량)을 측정하고, 이를 이용하여 수학식 1을 계산한다. The MPAD agents 107 and 107' measure the delay time of each network interface and the link capacitor (or the transmission capacity of the link) at regular intervals, and calculate Equation 1 using these.

이때, MPAD 에이전트(107, 107')는 패킷의 목적지 정보를 기초로 네트워크 인터페이스 지연과 링크 용량 중에서 상대적인 비중을 높게할 조건과 지연 시간 편차와 평균 지연 시간 중에서 상대적인 비중을 높게할 조건을 결정한다. MPAD 에이전트(107, 107')는 어플리케이션(109)으로부터 네트워크 인터페이스 지연과 링크 용량, 및 지연 시간 편차와 평균 지연 시간 중에서 비중이 높은 조건에 대한 정보를 제공받아 이를 기초로 α,β를 조정한다. At this time, the MPAD agents 107 and 107' determine a condition to increase the relative weight among network interface delay and link capacity and a condition to increase the relative weight among delay time deviation and average delay time based on the destination information of the packet. The MPAD agents 107 and 107' receive information from the application 109 on the network interface delay, link capacity, and the condition with high weight among delay time deviation and average delay time, and adjust α and β based on the information.

이때, MPAD 에이전트(107, 107')는 병합 전송 또는 중복 전송을 시작할 때, 통계적 정보 기반의 사전 정보를 활용하여 초기 인터페이스(interface) 집합을 선택할 수 있다. 이를 위해, MPAD 에이전트(107, 107')는 과거 통신에서의 각 네트워크 인터페이스 별로 MPAD 게이트웨이(200)까지 평균 지연 시간 및 최대 쓰루풋(max throughput) 정보를 일정 시간 단위로 정리하여 보유할 수 있다. 과거 통신이라 함은 어플리케이션(109)이 송수신할 패킷이 발생하는 특정 시점 이전에 수행되었던 통신 전체(혹은 그로부터 과거 일정 기간)를 의미한다. 또한, 그 통신의 주체는 MPAD 에이전트(107, 107')와 MPAD 게이트웨이(200)이다. 예를 들자면, 단말(100)이 새롭게 패킷을 전송 하고자 할 때, 최근 3일동안 단말(100)과 MPAD 게이트웨이(200)사이의 5G, LTE, Wi-Fi 경로 각각의 평균 지연 및 쓰루풋을 모니터링한 결과를 사용한다.In this case, the MPAD agents 107 and 107' may select an initial interface set by using statistical information-based prior information when starting merge transmission or duplicate transmission. To this end, the MPAD agents 107 and 107' may organize and retain the average delay time and max throughput information up to the MPAD gateway 200 for each network interface in the past communication in units of a predetermined time. The past communication refers to the entire communication (or a predetermined period in the past) that was performed before a specific point in time when a packet to be transmitted/received by the application 109 occurred. In addition, the subjects of the communication are the MPAD agents 107 and 107' and the MPAD gateway 200 . For example, when the terminal 100 wants to transmit a new packet, the average delay and throughput of each 5G, LTE, and Wi-Fi path between the terminal 100 and the MPAD gateway 200 is monitored for the last 3 days. use the result.

이와 같은 정보를 별도로 관리하면, 전송 시작시 각 네트워크 인터페이스별 성능을 예측하기 어려운 상황에서 과거 동일한 시간대의 네트워크 인터페이스 별 성능/특성 정보와 긴 시간(long-term)의 네트워크 인터페이스 별 평균 성능을 파악하여 보다 효율적으로 최적의 네트워크 인터페이스 조합을 구성할 수 있다. If such information is managed separately, it is difficult to predict the performance of each network interface at the start of transmission. The optimal combination of network interfaces can be configured more efficiently.

다만, 과거 최대 쓰루풋(max throughput) 정보는 송/수신 패킷량이 링크 용량(capacity)에 비해 적은 경우 실제 링크의 최대 용량(max capacity)과는 차이가 발생한다. 그러므로, 이를 해당 네트워크 인터페이스의 최대 전송 가능한 성능 지표로 해석해서는 안된다. However, in the past max throughput information, when the amount of transmission/reception packets is smaller than the link capacity, a difference occurs from the actual link max capacity. Therefore, it should not be interpreted as an indicator of the maximum transmittable performance of that network interface.

만약, 사전 정보를 활용하지 않고 초기 네트워크 인터페이스를 선택해야 하는 경우, MPAD 에이전트(107, 107')는 임의로 한 개의 네트워크 인터페이스를 선택하여 연결을 생성한 후 다른 네트워크 인터페이스를 차례로 추가해 나가는 방식을 사용할 수 있다. 이 경우 초기 접속 지연 시간이 상대적으로 빠른 특징을 가진다.If it is necessary to select an initial network interface without using prior information, the MPAD agents 107 and 107' randomly select one network interface, create a connection, and then add other network interfaces in sequence. have. In this case, the initial access delay time is relatively fast.

또한, MPAD 에이전트(107, 107')는 전체 네트워크 인터페이스에 대해 연결을 생성한 후 패킷을 전송하는 방식 중 선택하여 적용할 수 있다. 이 경우 초기부터 넓은 대역폭을 확보할 수 있다. In addition, the MPAD agents 107 and 107' can select and apply a packet transmission method after creating a connection for the entire network interface. In this case, a wide bandwidth can be secured from the beginning.

MPAD 에이전트(107, 107')는 초기 인터페이스를 결정한 후에도, 지속적으로 최적 인터페이스 집합을 파악하여 갱신한다. MPAD 에이전트(107, 107')는 개별 인터페이스의 링크 특성(링크 용량 및 지연 시간)을 파악하는데, 이는 현재 전송에 사용 중인 네트워크 인터페이스에 대해서는 패킷 손실(loss) 및 RTT 값으로부터 파악 가능하며, 현재 사용 중이지 않은 네트워크 인터페이스에는 일부 데이터를 전송하여 능동적으로 파악할 수 있다.The MPAD agents 107 and 107' continuously identify and update an optimal interface set even after determining the initial interface. MPAD agents 107 and 107' determine the link characteristics (link capacity and delay time) of individual interfaces, which can be identified from packet loss and RTT values for the network interface currently being used for transmission, and A network interface that is not busy can be actively identified by sending some data.

도 6은 본 발명의 실시예에 따른 게이트웨이의 구성도이다.6 is a block diagram of a gateway according to an embodiment of the present invention.

도 6을 참조하면, MPAD 게이트웨이(200, 200')는 단말(100)로부터 패킷을 수신하여 콘텐츠 서버(600)로 전달하고, 콘텐츠 서버(600)로부터 수신하는 패킷을 단말(100)로 전송한다. 콘텐츠 서버(600)는 다중 통신 인터페이스를 지원하지 않는다고 가정한다. MPAD 게이트웨이(200, 200')는 다중 경로 전송을 위한 네트워크 장치이다. 게이트웨이(200, 200')는 LTE 인터페이스(201), 5G 인터페이스(203), WiFi 인터페이스(205), 이더넷 인터페이스(207), MPAD 서버 엔진(209), 중복 전송 처리부(211), 병합 전송 처리부(213), TCP 전송 처리부(215)를 포함한다.Referring to FIG. 6 , the MPAD gateways 200 and 200 ′ receive packets from the terminal 100 and forward them to the content server 600 , and transmit the packets received from the content server 600 to the terminal 100 . . It is assumed that the content server 600 does not support multiple communication interfaces. MPAD gateways 200 and 200' are network devices for multi-path transmission. Gateways 200 and 200' are LTE interface 201, 5G interface 203, WiFi interface 205, Ethernet interface 207, MPAD server engine 209, duplicate transmission processing unit 211, merge transmission processing unit ( 213), and a TCP transmission processing unit 215 .

중복 전송 처리부(211)는 MPTCP/MPUDP 계층(211A), TCP/UDP 계층(211B), IP 계층(211C) 및 L2/L1 계층(211D)을 포함한다. 중복 전송 처리부(211)는 단말(100)로부터 수신한 중복 패킷을 처리한 후 콘텐츠 서버(600)로 전달하고 콘텐츠 서버(600)로부터 수신된 패킷을 복제하여 중복 패킷을 단말(100)로 전송할 수 있다. 구체적인 동작은 도 3 ~ 도 5에서 설명한 단말(100)의 동작과 동일하다.The redundant transmission processing unit 211 includes an MPTCP/MPUDP layer 211A, a TCP/UDP layer 211B, an IP layer 211C, and an L2/L1 layer 211D. The duplicate transmission processing unit 211 processes the duplicate packet received from the terminal 100 and then transmits it to the content server 600 , duplicates the packet received from the content server 600 , and transmits the duplicate packet to the terminal 100 . have. A specific operation is the same as that of the terminal 100 described with reference to FIGS. 3 to 5 .

병합 전송 처리부(213)는 MPTCP 계층(213A), TCP 계층(213B), IP 계층(213C) 및 L2/L1 계층(213D)을 포함한다. 병합 전송 처리부(213)는 복수의 통신 인터페이스를 통해 수신한 패킷을 병합하여 콘텐츠 서버(600)로 전달하고, 콘텐츠 서버(600)로부터 수신한 패킷을 분할하여 복수의 통신 인터페이스를 통해 단말(100)로 전송한다. 구체적인 동작은 도 3 ~ 도 5에서 설명한 단말(100)의 동작과 동일하다.The merge transmission processing unit 213 includes an MPTCP layer 213A, a TCP layer 213B, an IP layer 213C, and an L2/L1 layer 213D. The merge transmission processing unit 213 merges the packets received through the plurality of communication interfaces and transmits them to the content server 600 , and divides the packets received from the content server 600 to the terminal 100 through a plurality of communication interfaces. send to A specific operation is the same as that of the terminal 100 described with reference to FIGS. 3 to 5 .

TCP 전송 처리부(215)는 TCP 계층(215A), IP 계층(215B) 및 L2/L1 계층(215C)을 포함한다. TCP 전송 처리부(215)는 콘텐츠 서버(600)와의 통신을 수행하여 단일 경로 전송 동작에 해당하며, 도 3 ~ 도 5에서 설명한 단말(100)의 동작과 동일하다. 다만, TCP 전송 처리부(215)는 도 3과 달리 이더넷 인터페이스(207)를 통해 콘텐츠 서버(600)와 연결되는 점이 다르다.The TCP transmission processing unit 215 includes a TCP layer 215A, an IP layer 215B, and an L2/L1 layer 215C. The TCP transmission processing unit 215 corresponds to a single-path transmission operation by performing communication with the content server 600 , and is the same as the operation of the terminal 100 described with reference to FIGS. 3 to 5 . However, the TCP transmission processing unit 215 is different from FIG. 3 in that it is connected to the content server 600 through the Ethernet interface 207 .

MPAD 서버 엔진(209)은 MPAD 에이전트(109)에 대응하는 서버 동작을 수행한다. 이때, MPAD 서버 엔진(209) 역시 MPAD 에이전트(109)와 마찬가지로 전송 모드를 선택하고, 최적의 네트워크 인터페이스 조합을 선택하며, 패킷 스케줄링, 전송 모드 별 수신 처리를 수행한다. 다만, MPAD 서버 엔진(209)은 전송 모드 및 최적의 네트워크 인터페이스 조합 선택시 단말(100)이 경험하는 네트워크 상태를 모르므로, 단말(100)의 요청에 따르거나 또는 콘텐츠 서버(600)의 요구에 따라 동작할 수 있다.The MPAD server engine 209 performs a server operation corresponding to the MPAD agent 109 . At this time, the MPAD server engine 209, like the MPAD agent 109, also selects a transmission mode, selects an optimal network interface combination, and performs packet scheduling and reception processing for each transmission mode. However, since the MPAD server engine 209 does not know the network state experienced by the terminal 100 when selecting the transmission mode and the optimal network interface combination, it follows the request of the terminal 100 or responds to the request of the content server 600 . can operate accordingly.

MPAD 서버 엔진(209)은 MPAD 에이전트(107)로부터 특정 패킷 플로우를 중복 전송 또는 병합 전송해달라는 요청에 기초한 정책을 적용하여 전송 모드/최적의 네트워크 인터페이스 조합을 선택할 수 있다. 또는 MPAD 서버 엔진(209)은 MPAD 게이트웨이(200, 200') 자체의 정책에 의해 전송 모드/최적의 네트워크 인터페이스 조합을 선택할 수도 있다. 또는 MPAD 서버 엔진(209)은 콘텐츠 서버(600)로부터 패킷 플로우를 수신할 때, 콘텐츠 서버(600)로부터 중복 전송 또는 병합 전송 해달라는 on-demand 요청을 수신하여 이에 기초하여 전송 모드를 선택할 수 있다. 이때, 전송 모드 뿐만 아니라 최적의 네트워크 인터페이스 조합에 대한 on-demand 요청을 수신할 수 있다. MPAD 서버 엔진(209)은 on-demand 요청을 수신하기 위해서 콘텐츠 서버(600)와 MPAD 게이트웨이(200, 200')는 별도의 연동 구조를 구축할 수 있다. 연동 구조는 모바일 백엔드 인프라를 사용할 수도 있고, 전용 구조를 새로 구축할 수도 있다.The MPAD server engine 209 may select a transmission mode/optimal network interface combination by applying a policy based on a request to duplicate or merge a specific packet flow from the MPAD agent 107 . Alternatively, the MPAD server engine 209 may select a transport mode/optimal network interface combination according to the policy of the MPAD gateways 200 and 200' itself. Alternatively, when the MPAD server engine 209 receives a packet flow from the content server 600, it receives an on-demand request for duplicate transmission or merged transmission from the content server 600, and selects a transmission mode based thereon. . At this time, it is possible to receive an on-demand request for the optimal combination of network interfaces as well as the transmission mode. In order for the MPAD server engine 209 to receive an on-demand request, the content server 600 and the MPAD gateways 200 and 200' may establish a separate interworking structure. The interworking structure may use a mobile backend infrastructure, or a dedicated structure may be newly built.

도 7은 본 발명의 실시예에 따른 초정밀 데이터 통신 방법을 나타낸 순서도이다.7 is a flowchart illustrating an ultra-precision data communication method according to an embodiment of the present invention.

도 7을 참조하면, 도 1 ~ 도 6에서 설명한 MPAD 에이전트(109, 109') 및/또는 MPAD 서버 엔진(209, 209')의 동작을 실행하는 컴퓨팅 장치는 어플리케이션 단위 또는 패킷 플로우 단위로 중복 전송, 병합 전송 및 단일 경로 중에서 하나의 전송 모드를 선택한다(S101).Referring to FIG. 7 , the computing device executing the operations of the MPAD agents 109 and 109 ′ and/or the MPAD server engines 209 and 209 ′ described in FIGS. 1 to 6 is redundantly transmitted in units of applications or packet flows. , and selects one transmission mode from among merge transmission and single path (S101).

컴퓨팅 장치는 중복 전송 또는 병합 전송이 선택되면(S103), 전송 모드의 종류 및/또는 혼잡 제어 알고리즘의 종류에 따라 평균 지연 시간, 지연 시간 편차, 링크 커패시티에 가중치를 차등 적용하여 복수의 네트워크 인터페이스 중에서 적어도 두개의 네트워크 인터페이스 조합을 선택한다(S105). 이때, S105 단계는 앞서 설명한 수학식 1을 이용한다.When redundant transmission or merged transmission is selected (S103), the computing device applies different weights to the average delay time, delay time deviation, and link capacity according to the type of transmission mode and/or the type of congestion control algorithm to apply different weights to a plurality of network interfaces A combination of at least two network interfaces is selected from among (S105). In this case, step S105 uses Equation 1 described above.

컴퓨팅 장치는 선택한 적어도 두개의 네트워크 인터페이스를 통하여 중복 전송 또는 병합 전송을 수행한다(S107).The computing device performs redundant transmission or merged transmission through at least two selected network interfaces (S107).

반면, 컴퓨팅 장치는 단일 경로 전송이 선택되면, 디폴트 네트워크 인터페이스를 통하여 단일 경로로 패킷을 전송한다(S109).On the other hand, when single path transmission is selected, the computing device transmits the packet through a single path through the default network interface (S109).

도 8은 본 발명의 한 실시예에 따른 복수 경로를 통한 중복 전송을 설명하는 도면으로서, 5G 인터페이스의 지연 시간이 최소인 경우를 설명한다.8 is a diagram illustrating redundant transmission through multiple paths according to an embodiment of the present invention, and illustrates a case in which a delay time of a 5G interface is minimal.

도 8을 참조하면, 단말(100, 100')이 5G, LTE, WiFi의 세가지 종류의 네트워크 인터페이스를 통해 전송이 가능한 상황을 가정한다. Referring to FIG. 8 , it is assumed that the terminals 100 and 100 ′ can transmit through three types of network interfaces: 5G, LTE, and WiFi.

일반적인 전송 방식의 경우, 단말(100, 100')은 가용한 네트워크 인터페이스 중에서 최상위 라우팅 우선순위에 의해 하나의 네트워크 인터페이스를 통해 패킷을 송수신한다. 그러나, 최상위 라우팅 네트워크 인터페이스의 지연 시간이 악화되는 경우, 차선, 혹은 차차선 네트워크 인터페이스로 변경하여야 한다. In the case of a general transmission method, the terminals 100 and 100' transmit and receive packets through one network interface according to the highest routing priority among available network interfaces. However, if the delay time of the uppermost routing network interface is deteriorated, it is necessary to change to a suboptimal or suboptimal network interface.

하지만, TCP 프로토콜의 경우 라우팅 경로가 변경되어 서비스의 원천지 주소(source address)가 변경되면, 기존 세션과는 독립적으로 새로운 세션을 추가하여 하므로 서비스 중단이 발생된다. 이를 보완하기 위해 MPTCP 등의 다중 경로 병합 전송 프로토콜을 사용하여 상황에 따라 데이터를 각 네트워크 인터페이스의 가용한 전송량을 기반으로 분할/병합(segregation/aggregation)할 수 있다. 그러나, 특정 시간내에 패킷을 전송해야 하는, 예를들어 미션 크리티컬(mission-critical), 하드 리얼-타임(hard real-time)을 보장해야하는 서비스의 경우, 지연 시간 변동에 따라 취약하거나 서비스가 불가능할 수 있다. However, in the case of the TCP protocol, when the source address of a service is changed due to a change in the routing path, a new session is added independently of the existing session, so that the service is interrupted. To compensate for this, using a multi-path aggregation transport protocol such as MPTCP, data can be segregated/aggregated based on the available transmission amount of each network interface depending on the situation. However, in the case of a service that needs to transmit packets within a specific time, for example, mission-critical or hard real-time, it may be vulnerable or unavailable depending on delay time fluctuations. have.

따라서, 지연 시간에 민감한 서비스는 패킷을 중복 전송함으로써 패킷 전달 지연 시간을 최소화시킬 수 있다.Accordingly, the delay-sensitive service can minimize the packet delivery delay time by transmitting the packet redundantly.

즉, MPAD 게이트웨이(200, 200')는 수신(인입)된 데이터(예, 패킷 1번~6번)를 버퍼에 저장하고, 이를 다시 단말(100, 100')측으로 전송하는 패킷 스케줄링 단계에서, 단말이 연결된 5G, LTE, WiFi 경로를 통하여 동일한 중복 데이터(패킷 1번~6번)를 각각 전송한다. That is, the MPAD gateway (200, 200') stores the received (incoming) data (eg, packets No. 1 to No. 6) in a buffer, and transmits it back to the terminals 100 and 100'. In the packet scheduling step, The same redundant data (packets 1 to 6) is transmitted through the 5G, LTE, and WiFi routes to which the terminal is connected.

그런데, 네트워크 인터페이스의 종류 및 네트워크 상황에 따라 패킷은 각 네트워크 인터페이스 별로 도착하는 시점이 상이하다. 단말측 네트워크 인터페이스를 통해 인입되어 응용(소켓)으로 전달 가능한 시점을 회색 점선이라 가정한다. 이때, 5G 인터페이스는 지연 시간이 낮아 패킷 1번, 2번, 3번이 이미 가능한 상황이고, LTE 인터페이스는 패킷 1번만 가능하고, 반면 WiFi 인터페이스는 아직 하나의 패킷도 받지 못한 상황이다. 이와 같은 경우 전달 지연이 가장 낮은 5G의 패킷 1번, 2번, 3번을 응용(소켓)으로 전달하고, LTE 인터페이스를 통해 수신한 1번 패킷은 폐기(discard) 처리한다. 즉, 전송 지연이 가장 낮은 5G 인터페이스를 통해 응용 서비스가 가능하다. However, depending on the type of the network interface and the network condition, the arrival time of the packet is different for each network interface. It is assumed that the gray dotted line is the point at which it can be delivered through the terminal-side network interface and delivered to the application (socket). At this time, the 5G interface has a low latency, so packets 1, 2, and 3 are already possible, and the LTE interface is only capable of packet 1, whereas the WiFi interface has not yet received a single packet. In this case, packets 1, 2, and 3 of 5G with the lowest propagation delay are delivered to the application (socket), and packet 1 received through the LTE interface is discarded. That is, application services are possible through the 5G interface with the lowest transmission delay.

도 9는 본 발명의 다른 실시예에 따른 복수 경로를 통한 중복 전송을 설명하는 도면으로서, WiFi 전송 지연 시간이 최소인 경우를 설명한다.9 is a diagram for explaining redundant transmission through multiple paths according to another embodiment of the present invention, and describes a case in which WiFi transmission delay time is minimum.

이때, 단말측 네트워크 인터페이스를 통해 인입되어 응용(소켓)으로 전달 가능한 시점을 회색 점선이라 가정한다. In this case, it is assumed that a gray dotted line is a point in time that is received through the terminal-side network interface and can be delivered to an application (socket).

도 9를 참조하면, 도 8에서 상황이 변화하여 5G 인터페이스의 전송 지연이 높아지고 상대적으로 WiFi 인터페이스의 전송 지연이 최소화되는 경우를 나타낸다.Referring to FIG. 9 , the situation changes in FIG. 8 to increase the transmission delay of the 5G interface and relatively minimize the transmission delay of the WiFi interface.

단말(100, 100')측에서는 가용한 복수의 네트워크 인터페이스로부터 수신한 패킷을 기준으로 먼저 도착한 WiFi 인터페이스의 1번, 2번, 3번, 4번 패킷을 먼저 취하여 응용(소켓)으로 전달하고, 늦게 들어온 5G 인터페이스의 1번 패킷, LTE 인터페이스의 1번 패킷은 폐기 처리하여 가장 낮은 전송 지연을 갖는 WiFi 인터페이스를 취한다. 따라서, 패킷의 전체적인 전송 지연이 최소화(minimum)될 수 있다. On the terminal 100, 100' side, based on the packets received from a plurality of available network interfaces, packets #1, #2, #3, and #4 of the WiFi interface that arrive first are first taken and delivered to the application (socket), and later Packet 1 of the incoming 5G interface and packet 1 of the LTE interface are discarded and the WiFi interface with the lowest transmission delay is taken. Accordingly, the overall transmission delay of the packet can be minimized.

도 10은 본 발명의 또 다른 실시예에 따른 복수 경로를 통한 중복 전송을 설명하는 도면으로서, 고신뢰성을 추구하는 전송 방식을 설명한다.10 is a diagram for explaining redundant transmission through a plurality of paths according to another embodiment of the present invention, and describes a transmission method pursuing high reliability.

이때, 단말측 네트워크 인터페이스를 통해 인입되어 응용(소켓)으로 전달 가능한 시점을 회색 점선이라 가정한다. In this case, it is assumed that a gray dotted line is a point in time that is received through the terminal-side network interface and can be delivered to an application (socket).

도 10을 참조하면, 5G, LTE, WiFi 인터페이스를 통해 단말로 전송된 중복 패킷은 각 네트워크 특성이나 중간 노드들에 의해 IP 통신을 기반으로 하고 있기 때문에 IP 프로토콜의 특성이 Best effort 특성상 인입되는 데이터의 양이 증가하는 경우 drop이 발생될 수 있다. Referring to FIG. 10 , since the duplicate packets transmitted to the terminal through the 5G, LTE, and WiFi interfaces are based on IP communication by each network characteristic or intermediate nodes, the characteristics of the IP protocol are the best effort characteristics of incoming data. Drops may occur when the amount increases.

또한, 무선 액세스 상에서도 노이즈나 간섭 등에 의해 패킷 에러 또는 재전송 등에 의해 원할한 전송이 불가능한 상황은 발생될 수 있다. In addition, a situation in which smooth transmission is impossible due to a packet error or retransmission due to noise or interference may occur even on wireless access.

따라서, 5G, LTE, WiFi 인터페이스의 예로 각각 전달한 중복된 패킷이 단말(100, 100')에 도달되었을때, 네트워크 인터페이스 별로 누락된 패킷은 무시하고 정상적으로 도착한 패킷(들)을 기반으로 원래 패킷으로의 조합도 가능하다. Therefore, in the example of 5G, LTE, and WiFi interfaces, when the duplicate packets delivered respectively reach the terminals 100 and 100', the dropped packets for each network interface are ignored and the original packet is returned to the original packet based on the normally arrived packet(s). Combinations are also possible.

따라서, 본 발명의 실시예에 따른 복수 경로 중복 전송을 수행하면 지연 시간의 이득 뿐만 아니라 패킷 에러/드롭 등의 발생시에 대체 가능한 구조로 처리가 가능하다.Therefore, when the multi-path overlapping transmission according to the embodiment of the present invention is performed, it is possible to process in a substitutable structure when a packet error/drop occurs as well as a gain in delay time.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiment of the present invention described above is not implemented only through the apparatus and method, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded.

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

Claims (12)

복수의 네트워크 인터페이스를 통하여 다중망과 연결된 단말의 초정밀 데이터 통신 방법으로서,
전송 패킷이 발생하면, 상기 전송 패킷의 서비스 특성을 나타내는 어플리케이션 ID 또는 목적지 정보에 매칭되는 전송 모드를 결정하는 단계,
상기 결정한 전송 모드가 중복 전송인 경우, 상기 복수의 네트워크 인터페이스를 조합하여 각 조합에 포함된 네트워크 인터페이스의 평균 지연 시간이 최소인 네트워크 인터페이스 조합을 선택하는 단계,
상기 결정한 전송 모드가 병합 전송인 경우, 상기의 복수의 네트워크 인터페이스를 조합하여 각 조합에 포함된 네트워크 인터페이스의 지연 시간 편차가 최소인 네트워크 인터페이스 조합을 선택하는 단계, 그리고
선택한 네트워크 인터페이스 조합을 사용하여 상기 전송 패킷을 중복하여 전송하거나 또는 병합 전송하는 단계
를 포함하는, 초정밀 데이터 통신 방법.
As an ultra-precision data communication method of a terminal connected to a multi-network through a plurality of network interfaces,
When a transport packet is generated, determining a transport mode matching the application ID or destination information indicating the service characteristics of the transport packet;
When the determined transmission mode is redundant transmission, combining the plurality of network interfaces to select a network interface combination having the minimum average delay time of the network interfaces included in each combination;
When the determined transmission mode is merge transmission, combining the plurality of network interfaces to select a network interface combination in which the delay time deviation of the network interfaces included in each combination is minimum; and
Transmitting the transport packets redundantly or merged transmission using the selected network interface combination
Including, ultra-precision data communication method.
제1항에서,
상기 평균 지연 시간이 최소인 네트워크 인터페이스 조합을 선택하는 단계는,
상기 복수의 네트워크 인터페이스에 대하여 각각의 지연 시간 및 링크 용량을 측정하는 단계, 그리고
상기 각각의 지연 시간 및 링크 용량을 이용한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 선택하는 단계를 포함하고,
상기 목적함수는,
상기 각 조합에 포함된 네트워크 인터페이스의 평균 지연 시간이 지연 시간 편차보다 높은 가중치를 가지도록 계산되고, 상기 평균 지연 시간 및 상기 지연 시간 편차를 합한 총 지연 시간이 상기 각 조합에 포함된 네트워크 인터페이스의 평균 링크 용량보다 높은 가중치를 가지도록 계산되는, 초정밀 데이터 통신 방법.
In claim 1,
The step of selecting a network interface combination having the minimum average delay time comprises:
measuring each delay time and link capacity for the plurality of network interfaces; and
Selecting a network interface combination in which an objective function using each of the delay time and link capacity is minimized,
The objective function is
The average delay time of the network interfaces included in each combination is calculated to have a higher weight than the delay time deviation, and the total delay time that is the sum of the average delay time and the delay time deviation is the average of the network interfaces included in each combination. An ultra-precise data communication method, which is calculated to have a weight higher than the link capacity.
제1항에서,
상기 지연 시간 편차가 최소인 네트워크 인터페이스 조합을 선택하는 단계는,
상기 복수의 네트워크 인터페이스에 대하여 각각의 지연 시간 및 링크 용량을 측정하는 단계, 그리고
상기 각각의 지연 시간 및 링크 용량을 이용한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 선택하는 단계를 포함하고,
상기 목적함수는,
상기 각 조합에 포함된 네트워크 인터페이스의 지연 시간 편차가 평균 지연 시간 보다 높은 가중치를 가지도록 계산되고, 상기 평균 지연 시간 및 상기 지연 시간 편차를 합한 총 지연 시간 보다 상기 각 조합에 포함된 네트워크 인터페이스의 평균 링크 용량이 높은 가중치를 가지도록 계산되는, 초정밀 데이터 통신 방법.
In claim 1,
The step of selecting a network interface combination having the minimum delay time deviation comprises:
measuring each delay time and link capacity for the plurality of network interfaces; and
Selecting a network interface combination in which an objective function using each of the delay time and link capacity is minimized,
The objective function is
The delay time deviation of the network interfaces included in each combination is calculated to have a weight higher than the average delay time, and the average of the network interfaces included in each combination is higher than the total delay time that is the sum of the average delay time and the delay time deviation. An ultra-precise data communication method, wherein link capacity is calculated to have a high weight.
제1항에서,
상기 중복 전송은,
상기 전송 패킷의 일부를 상기 선택한 조합에 포함된 모든 네트워크 인터페이스를 통해 중복 전송하고, 상기 전송 패킷의 다른 부분은 상기 선택한 조합에 포함된 일부 네트워크 인터페이스를 통하여 중복하지 않고 전송하는, 초정밀 데이터 통신 방법.
In claim 1,
The duplicate transmission is
A high-precision data communication method, wherein a portion of the transport packet is repeatedly transmitted through all network interfaces included in the selected combination, and another portion of the transport packet is transmitted without overlapping through some network interfaces included in the selected combination.
제4항에서,
상기 일부 네트워크 인터페이스는,
상기 선택한 조합에 포함된 복수의 네트워크 인터페이스 중에서 전송 속도 또는 지연 시간에 기초한 최대 네트워크 성능을 가진 네트워크 인터페이스가 선택되는, 초정밀 데이터 통신 방법.
In claim 4,
Some of the network interfaces are
A high-precision data communication method in which a network interface having a maximum network performance based on a transmission speed or a delay time is selected from among a plurality of network interfaces included in the selected combination.
제1항에서,
상기 전송하는 단계 이후,
상기 선택한 네트워크 인터페이스 조합을 사용하여 중복 전송 패킷을 수신하는 단계, 그리고
상기 선택한 네트워크 인터페이스 조합에 포함된 네트워크 인터페이스들 중에서 최소 지연 시간을 가지는 네트워크 인터페이스로부터 수신되는 중복 전송 패킷을 제외하고 나머지 네트워크 인터페이스로부터 수신되는 중복 전송 패킷을 폐기하는 단계
를 더 포함하는, 초정밀 데이터 통신 방법.
In claim 1,
After the step of transmitting,
receiving duplicate transport packets using the selected network interface combination; and
Discarding duplicate transport packets received from the remaining network interfaces except for duplicate transport packets received from a network interface having a minimum delay time among network interfaces included in the selected network interface combination;
Further comprising a, ultra-precise data communication method.
제1항에서,
상기 전송하는 단계 이후,
상기 선택한 네트워크 인터페이스 조합을 사용하여 수신되는 전송 패킷을 수신 버퍼에 저장하는 단계, 그리고
상기 수신 버퍼에 저장된 전송 패킷을 어플리케이션 계층으로 출력하는 속도를 전송 모드에 따라 조정하는 단계
를 더 포함하는, 초정밀 데이터 통신 방법.
In claim 1,
After the step of transmitting,
storing transport packets received using the selected network interface combination in a receive buffer; and
Adjusting the output speed of the transmission packet stored in the reception buffer to the application layer according to the transmission mode
Further comprising a, ultra-precise data communication method.
제7항에서,
상기 조정하는 단계는,
병합 전송인 경우, 상기 선택한 네트워크 인터페이스 조합 내 인터페이스 간 지연 시간 차이가 클수록 출력 속도를 늦추고, 상기 지연 시간 차이가 작을수록 출력 속도를 증가시키는, 초정밀 데이터 통신 방법.
In claim 7,
The adjusting step is
In the case of merge transmission, the larger the delay time difference between the interfaces in the selected network interface combination, the slower the output speed, and the smaller the delay time difference, the higher the output speed is, the ultra-precise data communication method.
제7항에서,
상기 조정하는 단계는,
중복 전송인 경우, 패킷 손실이 발생하면 상기 선택한 네트워크 인터페이스 조합 내 인터페이스 간 지연 시간 편차가 클수록 출력 속도를 늦추고, 상기 지연 시간 편차가 작을수록 출력 속도를 증가시키며,
패킷 손실이 없으면, 상기 선택한 네트워크 인터페이스 조합 내 인터페이스들중에서 링크 용량이 가장 많은 큰 네트워크 인터페이스의 패킷 수신 속도를 기준으로 상기 출력하는 속도를 조정하는, 초정밀 데이터 통신 방법.
In claim 7,
The adjusting step is
In the case of redundant transmission, when packet loss occurs, the larger the delay time deviation between the interfaces in the selected network interface combination, the slower the output speed, and the smaller the delay time deviation, the higher the output speed.
If there is no packet loss, the output speed is adjusted based on the packet reception speed of a network interface having the largest link capacity among interfaces in the selected network interface combination.
복수의 네트워크 인터페이스를 통하여 다중망과 연결된 단말의 초정밀 데이터 통신 방법으로서,
전송 패킷의 서비스 특성을 나타내는 어플리케이션 ID 또는 목적지 정보에 매칭되는 중복 전송 모드를 결정하는 단계,
상기 복수의 네트워크 인터페이스를 조합하여 평균 지연 시간이 최소인 네트워크 인터페이스 조합을 결정하는 단계, 그리고
상기 결정한 네트워크 인터페이스 조합을 사용하여 상기 전송 패킷을 중복하여 전송하는 단계를 포함하고,
상기 전송하는 단계는,
상기 전송 패킷의 일부는 상기 선택한 조합에 포함된 모든 네트워크 인터페이스를 통해 중복 전송하고, 상기 전송 패킷의 다른 부분은 상기 선택한 조합에 포함된 일부 네트워크 인터페이스를 통하여 중복하지 않고 전송하는, 초정밀 데이터 통신 방법.
As an ultra-precision data communication method of a terminal connected to a multi-network through a plurality of network interfaces,
Determining a redundant transmission mode matching the application ID or destination information indicating the service characteristics of the transport packet;
combining the plurality of network interfaces to determine a network interface combination having a minimum average delay time; and
Transmitting the transport packet in duplicate using the determined network interface combination;
The transmitting step is
A portion of the transport packet is repeatedly transmitted through all network interfaces included in the selected combination, and another portion of the transport packet is transmitted without overlapping through some network interfaces included in the selected combination.
제10항에서,
상기 전송하는 단계는,
상기 결정한 네트워크 인터페이스 조합에 포함된 네트워크 인터페이스들의 가용 링크 용량을 확인하고, 상기 가용 링크 용량이 상기 전송 패킷의 서비스 특성에 따른 최소 링크 용량을 충족하지 못하는 네트워크 인터페이스는 중복 전송 경로에서 제외시키는, 초정밀 데이터 통신 방법.
In claim 10,
The transmitting step is
Check the available link capacity of the network interfaces included in the determined network interface combination, and exclude network interfaces whose available link capacity does not satisfy the minimum link capacity according to the service characteristics of the transport packet from the redundant transmission path. communication method.
제10항에서,
상기 결정하는 단계는,
복수의 네트워크 인터페이스 각각에 대하여 지연 시간, 링크 용량을 측정하는 단계,
상기 복수의 네트워크 인터페이스를 조합하고, 상기 지연 시간 및 상기 링크 용량을 이용하여 각 조합 별로 네트워크 인터페이스의 지연 시간의 편차, 평균 지연 시간 및 평균 링크 용량을 계산하는 단계, 그리고
상기 평균 지연 시간을 상기 지연 시간의 편차보다 높은 가중치를 부여하고 상기 평균 지연 시간과 상기 지연 시간의 편차를 합한 총 지연 시간을 상기 평균 링크 용량보다 높은 가중치를 부여한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 결정하는 단계
를 포함하는, 초정밀 데이터 통신 방법.
In claim 10,
The determining step is
measuring latency and link capacity for each of the plurality of network interfaces;
combining the plurality of network interfaces and calculating a delay time deviation, average delay time, and average link capacity of the network interfaces for each combination using the delay time and the link capacity, and
A network interface combination in which the objective function in which the average delay time is given a weight higher than the deviation of the delay time and the total delay time that is the sum of the average delay time and the deviation of the delay time is weighted higher than the average link capacity is the minimum step to determine
Including, ultra-precision data communication method.
KR1020200047929A 2020-04-21 2020-04-21 Method and apparatus for high precision data communication KR20210129872A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200047929A KR20210129872A (en) 2020-04-21 2020-04-21 Method and apparatus for high precision data communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200047929A KR20210129872A (en) 2020-04-21 2020-04-21 Method and apparatus for high precision data communication

Publications (1)

Publication Number Publication Date
KR20210129872A true KR20210129872A (en) 2021-10-29

Family

ID=78231372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200047929A KR20210129872A (en) 2020-04-21 2020-04-21 Method and apparatus for high precision data communication

Country Status (1)

Country Link
KR (1) KR20210129872A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023055144A1 (en) 2021-09-30 2023-04-06 주식회사 엘지에너지솔루션 Nonaqueous electrolyte comprising additive for nonaqueous electrolyte, and lithium secondary battery containing same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023055144A1 (en) 2021-09-30 2023-04-06 주식회사 엘지에너지솔루션 Nonaqueous electrolyte comprising additive for nonaqueous electrolyte, and lithium secondary battery containing same

Similar Documents

Publication Publication Date Title
AU2017383561B2 (en) Packet transmission system and method
US10594596B2 (en) Data transmission
US9386597B2 (en) QoE-aware traffic delivery in cellular networks
KR102242633B1 (en) Integrated circuit
US8755405B2 (en) Burst packet scheduler for improved ran efficiency in UMTS/HSPA networks
KR102442083B1 (en) Method and system for scheduling of packets in a bundling scenario based on TCP tunnels and unique TCP information
Evensen et al. A network-layer proxy for bandwidth aggregation and reduction of IP packet reordering
KR102111029B1 (en) Apparatus for multinet aggregation transmission, and packet scheduling method thereof
WO2010151193A1 (en) Method for efficient utilisation of the throughput capacity of an enb by using a cache
Vivekananda et al. A congestion avoidance mechanism in multimedia transmission over MANET using SCTP multi-streaming
WO2013126879A1 (en) A window regulator for improved performance in a communications network
KR20210129872A (en) Method and apparatus for high precision data communication
Zhuang et al. Multipath transmission for wireless Internet access–from an end-to-end transport layer perspective
Halepoto et al. Management of buffer space for the concurrent multipath transfer over dissimilar paths
Kucera et al. Latency as a service: Enabling reliable data delivery over multiple unreliable wireless links
Asiri A survey of multipath TCP scheduling schemes: Open challenges and potential enablers
JP5898321B2 (en) Method and apparatus for router-radio flow control
JP5306595B2 (en) COMMUNICATION CONTROL DEVICE, RADIO COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND RADIO COMMUNICATION METHOD
Kumar et al. Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol
Wang et al. Design consideration of router-to-radio interface in mobile networks
KR102058514B1 (en) Policy based path control system in multi-path environments
US20230254264A1 (en) Software-defined guaranteed-latency networking
Fahmi et al. BOOST: Transport-Layer Multi-Connectivity Solution for Multi-Wan Routers
Chen et al. On meeting deadlines in datacenter networks

Legal Events

Date Code Title Description
A201 Request for examination