KR20210129872A - Method and apparatus for high precision data communication - Google Patents
Method and apparatus for high precision data communication Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow 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
Description
본 발명은 초정밀 데이터 통신 방법 및 그 장치에 관한 것이다.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)
단말(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
단말(100)은 MPAD 에이전트(107)를 포함하는데, MPAD 에이전트(107)는 중복 전송과 병합 전송 중에서 전송 모드를 선택하는 패킷 스케줄링 및 최적의 네트워크 인터페이스 조합 선택을 수행한다. MPAD 에이전트(107)는 단말 내부 로직으로 구현될 수 있다. 이때, MPAD 에이전트(107)는 다중 경로 전송하는데 기본적으로 필요한 인증, 상태 관리 등을 추가로 수행한다. 단말 내부에서 MPAD 에이전트(107)와 각종 어플리케이션은 소켓(socket) 통신한다.The terminal 100 includes an
MPAD 게이트웨이(200)는 다중망의 접점에 위치하는데, 예를들면, LTE망(301), 5G망(303), WiFi망(305)의 접점에 위치할 수 있다. MPAD 게이트웨이(200)는 LTE망(301) 및 5G망(303)이 연결된 코어망(400) 및 WiFi망(305)과 연결된다. 그리고 인터넷(500)을 통하여 콘텐츠 서버(600)에 연결된다. The
여기서, 콘텐츠 서버(600)는 다중 통신 인터페이스를 지원하지 않는다고 가정한다. 콘텐츠 서버(600는 단일 경로로 TCP(Transmission Control Protocol) 통신하는 일반적인 서버로 가정한다. 이때, MPAD 에이전트(107)와 MPAD 게이트웨이(200)는 프록시 프로토콜을 통해 명시적으로 패킷의 흐름을 지정할 수 있다. 이러한 구조는 5G 중앙 센터 등으로 중앙 집중(centralized)화된 네트워크 배치 구조에 적용될 수 있다.Here, it is assumed that the
MPAD 게이트웨이(200)는 코어망(400) 및 WiFi망(305)을 통해 인터넷(500)으로 향하는 모든 패킷을 수신한다. 이때, 수신 패킷의 목적지 주소는 콘텐츠 서버(600)가 아닌 MPAD 게이트웨이(200)로 되어 있다.The
MPAD 에이전트(107)가 프록시 기능을 구현하는 경우, MPAD 에이전트(107)는 패킷의 목적지 주소를 MPAD 게이트웨이(200)로 변경한다. MPAD 게이트웨이(200)는 다중 경로 패킷을 모두 수신하여 콘텐츠 서버(600)로 전달하는 프록시 서버로 동작할 수 있다. MPAD 게이트웨이(200)는 프록시 서버로 구현되고, 단말(100)과의 시그널링 절차를 거쳐 세션을 연결한다.When the
단말(100)과 MPAD 게이트웨이(200)는 중복 전송 또는 병합 전송 방식으로 데이터를 송수신한다. The terminal 100 and the
단말(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
MPAD 에이전트(107)는 서비스 어플리케이션이 구동되어 패킷이 발생하면, MPAD 게이트웨이(200)에 접속하고 연결 절차를 수행한다. MPAD 에이전트(107)와 MPAD 게이트웨이(200)는 RFC1928과 RFC1929에 정의된 SOCKS(Socket Secure) 프로토콜에 따라 시그널링 정보를 교환할 수 있다. RFC1928과 RFC1929에 정의된 SOCKS 프로토콜을 따르는 프록시 연결 방법은 공지되어 있으므로, 자세한 설명은 생략한다.The
세션이 생성되면, MPAD 에이전트(107)는 MPAD 게이트웨이(200)와 복수의 서브플로우(subflow)로 연결된다. 이때, 5G 망이 디폴트 망이라면, 주 서브플로우(primary subflow)는 5G망과 연결되고 나머지 무선 경로들과는 부 서브플로우(secondary subflow)로 연결된다.When a session is created, the
본 발명의 실시예에서, 전송 방식은 다음과 같이 4가지 방식이 있을 수 있다.In an embodiment of the present invention, there may be four transmission schemes as follows.
1) 상향 병합전송 : MPAD 에이전트(107)는 전송 모드를 병합 전송으로 지정하여 세션 연결 요청1) Uplink merge transmission:
2) 상향 중복전송 : MPAD 에이전트(107)는 전송 모드를 중복 전송으로 지정하여 세션 연결 요청2) Uplink redundant transmission:
3) 하향 병합전송 : MPAD 에이전트(107)는 MPAD 게이트웨이(200)의 10000번 포트로 세션 연결 요청3) Downlink merge transmission:
4) 하향 중복전송 : MPAD 에이전트(107)는 MPAD 게이트웨이(200)의 20000번 포트로 세션 연결 요청4) Downlink redundant transmission:
이처럼, 세션별 상/하향 전송 방향에 따른 병합/중복 전송 여부가 결정되며, 이는 구현 특이 사항으로 소켓 프로그램을 수정하여 스케줄러를 명시적으로 선택할 수 있는 방법을 취할 수 있다.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
패킷 플로우에 대한 소켓 옵션은 시스템 전체 패킷 스케줄러 설정과는 무관하게 중복 전송 모드로 설정될 수 있다. 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
도 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
이러한 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
도 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
MPAD 에이전트(107)는 도 1의 실시예에 대응하는 프록시 기능이 있는 구성을 의미하고, MPAD 에이전트(107')는 도 2의 실시예에 대응하는 프록시 기능이 없는 구성을 의미한다.The
MPAD 에이전트(107)는 프록시 모드로 동작시, 패킷의 외부(OUTER) IP 헤더의 목적지 주소를 프록시 서버로 동작하는 MPAD 게이트웨이(200)의 IP 주소로 설정한다.When the
이외에 단말(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
본 발명의 실시예에서는, 서비스 요구 사항을 기초로 단말(100)의 MPAD 에이전트(107, 107')가 중복 전송, 병합 전송, 단일 전송 중에서 하나의 전송 모드를 선택하여 패킷을 전송할 수 있다. In an embodiment of the present invention, the
MPAD 에이전트(107, 107')는 어플리케이션 단위 및/또는 패킷 플로우 단위로 전송 모드를 선택할 수 있다. 도 3에서 어플리케이션(109)을 하나만 도시하였지만, 어플리케이션(109)은 복수개가 존재할 수 있고, 이 경우, MPAD 에이전트(107, 107')는 어플리케이션(109) 별로 서비스 목적에 따라 전송 모드를 달리 선택할 수 있다. 즉, A 어플리케이션은 병합 전송만 선택하고 B 어플리케이션은 중복 전송만 선택할 수도 있다. 예컨대, 지연 시간에 민감한 서비스를 제공하는 어플리케이션(109)은 중복 전송만 할 수 있다.The
또한, MPAD 에이전트(107, 107')는 하나의 어플리케이션(109) 내에서 어플리케이션(109)은 패킷 플로우 단위로 전송 모드를 선택할 수 있다. 하나의 서비스 어플리케이션 관점에서 전체 데이터를 바라보면, 단일 전송, 병합 전송, 중복 전송이 혼재되어 있다.In addition, the
MPAD 에이전트(107, 107')는 전송 모드에 따라 해당 소켓(111A, 111B, 111C)을 구동할 수 있다. 다만, 상향링크 기준으로 볼 때, 동일한 어플리케이션(109)의 경우에도 소켓들(111A, 111B, 111C)을 모두 생성하고, 패킷 플로우 단위로 선택한 전송 모드의 소켓(111A, 111B, 111C)을 선택 구동할 수 있다.The
단말(100)의 어플리케이션(109)이 패킷을 송수신하려면, 단말 내부의 통신을 담당하는 MPAD 에이전트(107, 107')와 소켓 통신을 연결한다. In order for the
소켓 통신부(111)는 어플리케이션(109)과 MPAD 에이전트(107, 107') 간의 통신을 위한 소켓들(111A, 111B, 111C)을 생성한다. 소켓들(111A, 111B, 111C)은 어플리케이션(109)의 프로그래밍 코드에 의해 생성되며, 전송 모드 별로 상이하다. 소켓 통신부(111)는 중복 전송 소켓(111A), 병합 전송 소켓(111B), 단일 전송 소켓(111C)을 생성한다.The
MPAD 에이전트(107, 107')는 어플리케이션(109)의 소켓 연결이 감지되면, 어플리케이션(109)의 목적 또는 패킷 플로우의 목적지 정보(IP 주소/포트)를 기초로 전송 모드를 결정하고, 그 전송 모드에 해당하는 소켓(111A, 111B, 111C)을 어플리케이션(109)과 연결한다. 그리고 연결된 소켓(111A, 111B, 111C)을 통해 전달받은 패킷 플로우를 스케줄링하여 중복 전송 처리부(113), 병합 전송 처리부(115), 단일 전송 처리부(117) 중 하나로 출력한다.When the socket connection of the
이때, MPAD 에이전트(107, 107')는 MPAD 게이트웨이(200)와 세션 생성을 제어하는데, 각 소켓(111A, 111B, 111C)에 해당하는 세션들을 구분하여 생성한다. 즉, 중복 전송 세션, 병합 전송 세션, 단일 전송 세션으로 구분하여 생성한다.In this case, the
MPAD 에이전트(107, 107')는 어플리케이션(109)으로부터 소켓 연결이 요청되면, 패킷 플로우의 목적지 IP 주소 및 목적지 포트에 기초하여 전송 모드를 결정하고, 전송 모드에 해당하는 소켓을 연결한다. 예를들어, 하나의 어플리케이션(109)에서 여러 패킷 플로우가 생성되는 경우, MPAD 에이전트(107, 107')는 저지연이 필요한 패킷 플로우(예, 제어 메시지 등)는 중복 전송 모드를 선택하고, 속도가 필요한 패킷 플로우(예, 미디어 다운로드 등)는 병합 전송 모드를 선택할 수 있다. 이처럼, 하나의 어플리케이션(109) 안에서도 중복 전송 모드와 병합 전송 모드로 나뉘어 질 수 있다.When a socket connection is requested from the
MPAD 에이전트(107, 107')는 어플리케이션(109)에서 발생되는 패킷 플로우가 존재하면, 자체적인 규칙에 의해 명시적으로 중복 전송 모드 또는 병합 전송 모드 또는 단일 전송 모드를 선택할 수 있다.The
MPAD 에이전트(107, 107')는 패킷의 서비스 특성을 나타내는 어플리케이션 ID 또는 목적지 정보에 전송 모드가 매칭된 매칭 테이블을 저장한다. 패킷의 서비스 특성은 패킷이 발생한 어플리케이션 ID 또는 패킷의 목적지 정보(IP 주소 및/또는 포트)를 포함할 수 있다. 이 매칭 테이블은 사전에 저장된 것으로서, 외부 서버(미도시)에 의해 실시간 갱신될 수도 있다.The
MPAD 에이전트(107, 107')는 어플리케이션(109)의 소켓 연결 요청이 감지되면, 어플리케이션(109)이 요구한 패킷의 목적지 정보(IP 주소/포트) 및/또는 어플리케이션 ID에 매핑된 전송 모드를 결정할 수 잇다.The
MPAD 에이전트(107, 107')는 소켓이 생성되면, 해당 포트를 열고 패킷 스케줄링을 진행한다. 소켓은 프로토콜, IP 주소, 포트 넘버로 정의된다.When a socket is created, the
어플리케이션(109)과 중복 전송 소켓(111A)으로 연결되고, MPAD 에이전트(107, 107')는 다중 경로 중복 전송을 위한 포트 #1을 연다. MPAD 에이전트(107, 107')는 중복 전송 소켓(111A)을 통해 전달되는 패킷 플로우를 중복 전송 처리부(113)로 출력한다.The
중복 전송 처리부(113)는 중복 전송 소켓(111A)을 통해 전달되는 패킷 플로우를 대상으로 가용한 복수 경로를 통하여 중복 전송을 한다. 이때, 중복 전송 처리부(113)는 MPAD 에이전트(107, 107')에 의해 선택된 적어도 두개의 네트워크 인터페이스를 통하여 중복 전송을 한다. The redundant
중복 전송 처리부(113)는 MPTCP 또는 MPUDP 계층(113A), TCP/UDP 계층(113B), IP 계층(113C) 및 L2/L1 계층(113D)을 포함한다. The redundant
TCP/UDP 계층(113B)은 다수의 서브플로우(subflow) 계층을 포함하며, 각 서브플로우는 네트워크 인터페이스(101, 103, 105)와 매핑된다. MPTCP 또는 MPUDP 계층(113A)은 각 서브플로우 계층(113B)으로 전송할 패킷들을 복제하여 분배하고, 각 서브플로우 계층(113B)에서 가장 먼저 전달받은 패킷들을 우선적으로 처리하고 나머지는 폐기할 수 있다.The TCP/
각 서브플로우 계층(113B)은 기존 TCP 계층과 동일하게 동작하고 별도의 세션으로 취급 받는다.Each
MPTCP 또는 MPUDP 계층(113A)은 각 서브플로우의 복제 패킷을 TCP 세그먼트들 또는 UDP 세그먼트들로 분할한다. 각 서브플로우에 대응된 IP 계층(113C)은 TCP 세그먼트들 또는 UDP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층(113D)을 거쳐 MPAD 게이트웨이(200)에게 전달된다. 한 실시예에 따르면, MPAD 에이전트(107, 107')는 패킷 플로우 전부를 각 네트워크 인터페이스(101, 103, 105)에 동일하게 중복해서 전송하도록 패킷 스케줄링을 할 수 있다.The MPTCP or
다른 실시예에 따르면, 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
또한, 중복 전송되는 패킷의 경우, 최저 지연으로 수신된 패킷만 취하고 느리게 전달되는 패킷은 폐기하여 저지연 전송 속도를 보장하고, 일부 패킷은 지연 시간이 최소인 경로로만 전달함으로써 대역폭을 넓히는 효과가 있다.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
도 4를 참조하면, MPAD 에이전트(107, 107')는 중복 전송 소켓(도 3의 111A)에 의해 할당된 원본 패킷 버퍼(10)에 패킷 플로우가 채워지면, 복수의 망(301, 303, 305) 각각으로 전송할 패킷을 결정한다. 여기서, 원본 패킷 버퍼(10)에는 어플리케이션(도 3의 109)에서 생성된 패킷들이 저장된다.Referring to FIG. 4 , the
이때, 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
MPTCP 또는 MPUDP 계층(113A)은 각 서브플로우의 분할 패킷 버퍼(11, 13, 15)에 추가된 패킷을 TCP 세그먼트들 또는 UDP 세그먼트들로 분할한다. 각 서브플로우에 대응된 IP 계층은 TCP 세그먼트들 또는 UDP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층을 거쳐 MPAD 게이트웨이(200)에게 전달된다.The MPTCP or
여기서, 중복 전송을 TCP 기반으로 수행하는 경우, MPTCP 계층(113A)은 자체 플로우 컨트롤(Flow Control) 절차에 따라 중복 전송을 한다. Here, when performing redundant transmission based on TCP, the
반면, 중복 전송을 UDP 기반으로 수행하는 경우, MPUDP 계층(113A)은 패킷을 바로 중복해서 전송하면, 동일한 패킷으로 판단되어 버려질 수 있다. 따라서, 중복되지만 서로 다른 패킷으로 인식될 수 있도록 IP 캡슐화를 수행한다.On the other hand, in the case of performing redundant transmission based on UDP, if the
또한, 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
트랜스포트 계층으로 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
병합 전송 처리부(115)는 병합 전송 소켓(111B)을 통해 전달되는 패킷 플로우를 대상으로 가용한 복수 경로를 통하여 병합 전송을 한다. 이때, 병합 전송 처리부(115)는 MPAD 에이전트(107, 107')에 의해 선택된 적어도 두개의 네트워크 인터페이스를 통하여 병합 전송을 한다. The merge
병합 전송 처리부(115)는 MPTCP 계층(115A), TCP 계층(115B), IP 계층(115C) 및 L2/L1 계층(115D)을 포함한다. The merge
TCP 계층(115B)은 다수의 서브플로우(subflow) 계층을 포함하며, 각 서브플로우는 네트워크 인터페이스(101, 103, 105)와 매핑된다. 각각의 서브플로우(subflow)는 하나의 독립적인 TCP 세션으로 동작하여 MPTCP 계층(115A)은 서브플로우(subflow) 별로 독립적인 TCP 연결 제어 및 폭주제어 기능을 제공한다. MPTCP 계층(115A)은 다수의 서브플로우(subflow)들에 대한 연결 제어 및 서브플로우(subflow)간의 트래픽 분배와 재전송 처리 및 패킷 정렬 기능을 수행한다.The
TCP 계층(115B)은 각 서브플로우의 패킷을 TCP 세그먼트들로 분할한다. 각 서브플로우에 대응된 IP 계층(115C)은 TCP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층(115D)을 거쳐 MPAD 게이트웨이(200)에게 전달된다.The
MPAD 에이전트(107, 107')는 어플리케이션(109)과 단일 경로 전송 소켓(111C)으로 연결되고, MPAD 에이전트(107, 107')는 단일 경로 전송을 위한 포트 #3을 연다. MPAD 에이전트(107, 107')는 단일 경로 전송 소켓(111C)을 통해 전달되는 패킷 플로우를 단일 전송 처리부(117)로 출력한다.The
단일 전송 처리부(117)는 TCP 계층(117A), IP 계층(117B), L2/L1 계층(117C)을 포함한다. 단일 전송 처리부(117)는 복수의 네트워크 인터페이스(101, 103, 105)에 연결될 수는 있으나, 최적의 인터페이스 조합 선택이 아닌 디폴트 네트워크 인터페이스(예, 105)에만 연결될 수 있다.The single
TCP 계층(117A)은 패킷을 TCP 세그먼트들로 분할한다. IP 계층(117B)은 TCP 세그먼트들에 IP 헤더를 붙인 패킷을 생성한다. 패킷은 L2/L1의 네트워크 계층(117C)을 거쳐 인터넷(500)을 통해 콘텐츠 서버(600)에게 전달된다.The
MPAD 에이전트(107, 107')는 중복 전송시 두가지 방식으로 패킷 스케줄링을 할 수 있다.The
한 실시예에 따르면, MPAD 에이전트(107, 107')는 어플리케이션(109)에서 패킷 플로우가 전달되면, 복수의 네트워크 인터페이스(101, 103, 105)에 항상 동일한 패킷을 송출할 수 있다. 이 방식은 어플리케이션(109)의 서비스 요구 사항대로 전송하는 방식이다. 모든 패킷이 복수의 전송망(301, 303, 305)으로 동일하게 전송되므로, 지연 시간 단축과 전송 신뢰성을 높일 수 있다.According to an embodiment, the
다른 실시예에 따르면, 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
전송 속도가 느린 경로의 전송량에 비례하여 복수 경로로 중복 전송되는 부분이 전체 전송할 패킷의 일부분으로 구분(이하, 패킷 그룹 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 에이전트(107, 107')는 특정 사용자별, 특정 위치별, 특정 주소 대역 별 등으로 다양한 방식으로 전송 모드의 적용 가능 범위와 이를 처리하기 위한 정책을 확장할 수 있다. In addition, the
한편, 서비스의 종류에 따라서는 절대적인 지연 시간을 줄이는 것보다 패킷 수신 주기가 일정한 것이 더 중요할 수 있다. 하지만, 네트워크의 지터(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
병합 전송 과정에서 서로 다른 네트워크 인터페이스(101,103, 105)의 지연 시간 차이가 크다면 out-of-order로 패킷이 수신되는 일이 발생하는데, 이를 바로 상위 계층으로 전달하게 되면 패킷 로스(loss)로 판단하는 일이 일어날 수 있다. 그뿐만 아니라 상위에서는 단일 인터페이스 전송으로 파악하고 있기 때문에 네트워크의 지터(jitter)가 굉장히 큰 상황으로 오판하게 된다. 이러한 문제를 방지하기 위하여 MPAD 에이전트(107, 107')는 상위 계층으로 패킷을 전달하기 전에 수신 버퍼에 패킷을 저장하였다가 전달하는 속도를 조절할 수 있다. 그러면, 버퍼에서 재정렬(re-ordering)도 가능하고 일정한 속도로 패킷을 전달할 수 있기 때문에 지터(jitter)로 인한 문제가 줄어든다. If the delay time difference between the
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
도면에 도시하지 않았으나, 도 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/
MPAD 에이전트(107, 107')는 중복 전송 모드에서는 패킷 손실이 발생하는 경우 병합 전송 모드와 동일하게 동작한다. 반면, 패킷 손실이 없는 경우, 가장 성능이 좋은 네트워크 인터페이스(101, 103, 105)를 기준으로 TCP 계층(115B)에서 MPTCP 계층(115A)으로 패킷을 출력하는 속도를 조정한다.The
또한, 복수의 네트워크 인터페이스(101, 103, 105) 중에서 최적의 네트워크 인터페이스 조합을 선정하여 패킷 전송을 한다. 따라서, best effort 전달 체계를 갖는 중간 노드 상에서 발생될 수 있는 패킷 드럽, 큐/버퍼 오버플로우 등에 의해 발생 가능한 패킷 에러율을 최소화 가능하게 하여 신뢰도 높은 통신을 제공할 수 있다. 최적의 네트워크 인터페이스 조합은 변화하는 네트워크 상태에 따라 적응적으로 전송할 수 있다.In addition, an optimal combination of network interfaces is selected from among the plurality of
도 5를 참조하면, MPAD 에이전트(107, 107')는 각 네트워크 인터페이스(101, 103, 105)에 대한 지연 시간은 단말(100, 100')과 MPAD 게이트웨이(200) 사이에서 개별 네트워크 인터페이스(101, 103, 105)를 통해 전송된 패킷의 전송 시간과 그에 대한 ACK가 도착하는 시간까지의 차이이다. 링크 용량은 패킷 로스(loss)가 발생하지 않는 범위 내에서 각 네트워크 인터페이스(101, 103, 105)의 최대 전송 가능량으로 정의된다. 이러한 지연 시간 및 링크 용량은 지속적으로 최적의 네트워크 인터페이스 조합을 연산하는데 사용된다. Referring to FIG. 5 , the
최적의 네트워크 인터페이스 조합은 목적이 지연 시간을 줄이고 신뢰도를 높이는 것이 목적인 중복 전송인지, 대역폭을 높이는 것이 중점 목표인 병합 전송인지에 따라서도 달라질 수 있으며, 사용하는 혼잡 제어 알고리즘에 따라서도 달라질 수 있다.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
여기서, 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')는 목적 함수의 값이 최소가 되는 최적 인터페이스 조합을 도출할 수 있다.
목적 함수는 가중치(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.
수학식 1의 은 네트워크 인터페이스들의 지연 시간을 계산하는 수식이다. 수학식 1의 은 네트워크 인터페이스들의 평균 링크 용량을 계산하는 수식이다. 따라서, α를 증가시켜 네트워크 인터페이스들의 지연 시간에 비중을 두거나 α를 감소시켜 네트워크 인터페이스들의 링크 용량에 비중을 둘 수 있다.of
수학식 1의 은 네트워크 인터페이스들의 평균 지연 시간을 산출하는 수식이다. 수학식 1의 은 각 네트워크 인터페이스의 지연 시간 편차를 산출하는 수식이다. 따라서, β를 증가시켜 네트워크 인터페이스들의 평균 지연 시간에 비중을 두거나 β를 감소시켜 각 네트워크 인터페이스의 지연 시간 편차에 비중을 둘 수 있다.of
MPAD 에이전트(107, 107')는 α를 증가시켜 인터페이스 지연에 비중을 두거나 α를 감소시켜 인터페이스 링크 용량에 비중을 둘 수 있다. MPAD 에이전트(107, 107')는 β를 증가시켜 평균 지연 시간에 비중을 두거나 β를 감소시켜 지연 시간 편차에 비중을 둘 수 있다. 즉, β가 커질수록 평균 지연 시간이 작은 링크 조합을 선택하게 되고, β가 작아질수록 지연 시간의 편차가 작은 링크 위주로 선택한다.
예를들어, 최대 지연 시간(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
MPAD 에이전트(107, 107')는 일정 주기마다 각 네트워크 인터페이스의 지연 시간 및 링크 커패시터(또는 링크의 전송 용량)을 측정하고, 이를 이용하여 수학식 1을 계산한다. The
이때, MPAD 에이전트(107, 107')는 패킷의 목적지 정보를 기초로 네트워크 인터페이스 지연과 링크 용량 중에서 상대적인 비중을 높게할 조건과 지연 시간 편차와 평균 지연 시간 중에서 상대적인 비중을 높게할 조건을 결정한다. MPAD 에이전트(107, 107')는 어플리케이션(109)으로부터 네트워크 인터페이스 지연과 링크 용량, 및 지연 시간 편차와 평균 지연 시간 중에서 비중이 높은 조건에 대한 정보를 제공받아 이를 기초로 α,β를 조정한다. At this time, the
이때, 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
이와 같은 정보를 별도로 관리하면, 전송 시작시 각 네트워크 인터페이스별 성능을 예측하기 어려운 상황에서 과거 동일한 시간대의 네트워크 인터페이스 별 성능/특성 정보와 긴 시간(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 에이전트(107, 107')는 전체 네트워크 인터페이스에 대해 연결을 생성한 후 패킷을 전송하는 방식 중 선택하여 적용할 수 있다. 이 경우 초기부터 넓은 대역폭을 확보할 수 있다. In addition, the
MPAD 에이전트(107, 107')는 초기 인터페이스를 결정한 후에도, 지속적으로 최적 인터페이스 집합을 파악하여 갱신한다. MPAD 에이전트(107, 107')는 개별 인터페이스의 링크 특성(링크 용량 및 지연 시간)을 파악하는데, 이는 현재 전송에 사용 중인 네트워크 인터페이스에 대해서는 패킷 손실(loss) 및 RTT 값으로부터 파악 가능하며, 현재 사용 중이지 않은 네트워크 인터페이스에는 일부 데이터를 전송하여 능동적으로 파악할 수 있다.The
도 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
중복 전송 처리부(211)는 MPTCP/MPUDP 계층(211A), TCP/UDP 계층(211B), IP 계층(211C) 및 L2/L1 계층(211D)을 포함한다. 중복 전송 처리부(211)는 단말(100)로부터 수신한 중복 패킷을 처리한 후 콘텐츠 서버(600)로 전달하고 콘텐츠 서버(600)로부터 수신된 패킷을 복제하여 중복 패킷을 단말(100)로 전송할 수 있다. 구체적인 동작은 도 3 ~ 도 5에서 설명한 단말(100)의 동작과 동일하다.The redundant
병합 전송 처리부(213)는 MPTCP 계층(213A), TCP 계층(213B), IP 계층(213C) 및 L2/L1 계층(213D)을 포함한다. 병합 전송 처리부(213)는 복수의 통신 인터페이스를 통해 수신한 패킷을 병합하여 콘텐츠 서버(600)로 전달하고, 콘텐츠 서버(600)로부터 수신한 패킷을 분할하여 복수의 통신 인터페이스를 통해 단말(100)로 전송한다. 구체적인 동작은 도 3 ~ 도 5에서 설명한 단말(100)의 동작과 동일하다.The merge
TCP 전송 처리부(215)는 TCP 계층(215A), IP 계층(215B) 및 L2/L1 계층(215C)을 포함한다. TCP 전송 처리부(215)는 콘텐츠 서버(600)와의 통신을 수행하여 단일 경로 전송 동작에 해당하며, 도 3 ~ 도 5에서 설명한 단말(100)의 동작과 동일하다. 다만, TCP 전송 처리부(215)는 도 3과 달리 이더넷 인터페이스(207)를 통해 콘텐츠 서버(600)와 연결되는 점이 다르다.The TCP
MPAD 서버 엔진(209)은 MPAD 에이전트(109)에 대응하는 서버 동작을 수행한다. 이때, MPAD 서버 엔진(209) 역시 MPAD 에이전트(109)와 마찬가지로 전송 모드를 선택하고, 최적의 네트워크 인터페이스 조합을 선택하며, 패킷 스케줄링, 전송 모드 별 수신 처리를 수행한다. 다만, MPAD 서버 엔진(209)은 전송 모드 및 최적의 네트워크 인터페이스 조합 선택시 단말(100)이 경험하는 네트워크 상태를 모르므로, 단말(100)의 요청에 따르거나 또는 콘텐츠 서버(600)의 요구에 따라 동작할 수 있다.The
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
도 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
컴퓨팅 장치는 중복 전송 또는 병합 전송이 선택되면(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
컴퓨팅 장치는 선택한 적어도 두개의 네트워크 인터페이스를 통하여 중복 전송 또는 병합 전송을 수행한다(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
일반적인 전송 방식의 경우, 단말(100, 100')은 가용한 네트워크 인터페이스 중에서 최상위 라우팅 우선순위에 의해 하나의 네트워크 인터페이스를 통해 패킷을 송수신한다. 그러나, 최상위 라우팅 네트워크 인터페이스의 지연 시간이 악화되는 경우, 차선, 혹은 차차선 네트워크 인터페이스로 변경하여야 한다. In the case of a general transmission method, the
하지만, 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
그런데, 네트워크 인터페이스의 종류 및 네트워크 상황에 따라 패킷은 각 네트워크 인터페이스 별로 도착하는 시점이 상이하다. 단말측 네트워크 인터페이스를 통해 인입되어 응용(소켓)으로 전달 가능한 시점을 회색 점선이라 가정한다. 이때, 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
도 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,
도 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
따라서, 본 발명의 실시예에 따른 복수 경로 중복 전송을 수행하면 지연 시간의 이득 뿐만 아니라 패킷 에러/드롭 등의 발생시에 대체 가능한 구조로 처리가 가능하다.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.
상기 평균 지연 시간이 최소인 네트워크 인터페이스 조합을 선택하는 단계는,
상기 복수의 네트워크 인터페이스에 대하여 각각의 지연 시간 및 링크 용량을 측정하는 단계, 그리고
상기 각각의 지연 시간 및 링크 용량을 이용한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 선택하는 단계를 포함하고,
상기 목적함수는,
상기 각 조합에 포함된 네트워크 인터페이스의 평균 지연 시간이 지연 시간 편차보다 높은 가중치를 가지도록 계산되고, 상기 평균 지연 시간 및 상기 지연 시간 편차를 합한 총 지연 시간이 상기 각 조합에 포함된 네트워크 인터페이스의 평균 링크 용량보다 높은 가중치를 가지도록 계산되는, 초정밀 데이터 통신 방법.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.
상기 지연 시간 편차가 최소인 네트워크 인터페이스 조합을 선택하는 단계는,
상기 복수의 네트워크 인터페이스에 대하여 각각의 지연 시간 및 링크 용량을 측정하는 단계, 그리고
상기 각각의 지연 시간 및 링크 용량을 이용한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 선택하는 단계를 포함하고,
상기 목적함수는,
상기 각 조합에 포함된 네트워크 인터페이스의 지연 시간 편차가 평균 지연 시간 보다 높은 가중치를 가지도록 계산되고, 상기 평균 지연 시간 및 상기 지연 시간 편차를 합한 총 지연 시간 보다 상기 각 조합에 포함된 네트워크 인터페이스의 평균 링크 용량이 높은 가중치를 가지도록 계산되는, 초정밀 데이터 통신 방법.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.
상기 중복 전송은,
상기 전송 패킷의 일부를 상기 선택한 조합에 포함된 모든 네트워크 인터페이스를 통해 중복 전송하고, 상기 전송 패킷의 다른 부분은 상기 선택한 조합에 포함된 일부 네트워크 인터페이스를 통하여 중복하지 않고 전송하는, 초정밀 데이터 통신 방법.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.
상기 일부 네트워크 인터페이스는,
상기 선택한 조합에 포함된 복수의 네트워크 인터페이스 중에서 전송 속도 또는 지연 시간에 기초한 최대 네트워크 성능을 가진 네트워크 인터페이스가 선택되는, 초정밀 데이터 통신 방법.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.
상기 전송하는 단계 이후,
상기 선택한 네트워크 인터페이스 조합을 사용하여 중복 전송 패킷을 수신하는 단계, 그리고
상기 선택한 네트워크 인터페이스 조합에 포함된 네트워크 인터페이스들 중에서 최소 지연 시간을 가지는 네트워크 인터페이스로부터 수신되는 중복 전송 패킷을 제외하고 나머지 네트워크 인터페이스로부터 수신되는 중복 전송 패킷을 폐기하는 단계
를 더 포함하는, 초정밀 데이터 통신 방법.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.
상기 전송하는 단계 이후,
상기 선택한 네트워크 인터페이스 조합을 사용하여 수신되는 전송 패킷을 수신 버퍼에 저장하는 단계, 그리고
상기 수신 버퍼에 저장된 전송 패킷을 어플리케이션 계층으로 출력하는 속도를 전송 모드에 따라 조정하는 단계
를 더 포함하는, 초정밀 데이터 통신 방법.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.
상기 조정하는 단계는,
병합 전송인 경우, 상기 선택한 네트워크 인터페이스 조합 내 인터페이스 간 지연 시간 차이가 클수록 출력 속도를 늦추고, 상기 지연 시간 차이가 작을수록 출력 속도를 증가시키는, 초정밀 데이터 통신 방법.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.
상기 조정하는 단계는,
중복 전송인 경우, 패킷 손실이 발생하면 상기 선택한 네트워크 인터페이스 조합 내 인터페이스 간 지연 시간 편차가 클수록 출력 속도를 늦추고, 상기 지연 시간 편차가 작을수록 출력 속도를 증가시키며,
패킷 손실이 없으면, 상기 선택한 네트워크 인터페이스 조합 내 인터페이스들중에서 링크 용량이 가장 많은 큰 네트워크 인터페이스의 패킷 수신 속도를 기준으로 상기 출력하는 속도를 조정하는, 초정밀 데이터 통신 방법.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.
상기 전송하는 단계는,
상기 결정한 네트워크 인터페이스 조합에 포함된 네트워크 인터페이스들의 가용 링크 용량을 확인하고, 상기 가용 링크 용량이 상기 전송 패킷의 서비스 특성에 따른 최소 링크 용량을 충족하지 못하는 네트워크 인터페이스는 중복 전송 경로에서 제외시키는, 초정밀 데이터 통신 방법.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.
상기 결정하는 단계는,
복수의 네트워크 인터페이스 각각에 대하여 지연 시간, 링크 용량을 측정하는 단계,
상기 복수의 네트워크 인터페이스를 조합하고, 상기 지연 시간 및 상기 링크 용량을 이용하여 각 조합 별로 네트워크 인터페이스의 지연 시간의 편차, 평균 지연 시간 및 평균 링크 용량을 계산하는 단계, 그리고
상기 평균 지연 시간을 상기 지연 시간의 편차보다 높은 가중치를 부여하고 상기 평균 지연 시간과 상기 지연 시간의 편차를 합한 총 지연 시간을 상기 평균 링크 용량보다 높은 가중치를 부여한 목적함수가 최소가 되는 네트워크 인터페이스 조합을 결정하는 단계
를 포함하는, 초정밀 데이터 통신 방법.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.
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)
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 |
-
2020
- 2020-04-21 KR KR1020200047929A patent/KR20210129872A/en active Search and Examination
Cited By (1)
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 |