Method and apparatus for high precision data communication

The high-precision data communication method optimizes network performance by selecting network interfaces and applying redundant or merged transmission modes to minimize packet delivery delay and enhance reliability, addressing latency and jitter issues in mission-critical applications.

KR102992225B1Active Publication Date: 2026-07-15KT CORP

Patent Information

Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
KT CORP
Filing Date
2020-04-21
Publication Date
2026-07-15

Smart Images

  • Figure R1020200047929_ABST
    Figure R1020200047929_ABST
Patent Text Reader

Abstract

A method for ultra-precision data communication and an apparatus thereof are provided. This method is an ultra-precision data communication method for a terminal connected to a multiple network through a plurality of network interfaces, comprising: a step of determining a transmission mode that matches an application ID or destination information representing the service characteristics of the transmission packet when a transmission packet occurs; a step of, if the determined transmission mode is redundant transmission, selecting a combination of network interfaces in which the average delay time of the network interfaces included in each combination is minimized by combining the plurality of network interfaces; a step of, if the determined transmission mode is merged transmission, selecting a combination of network interfaces in which the deviation of the delay time of the network interfaces included in each combination is minimized by combining the plurality of network interfaces; and a step of transmitting the transmission packet redundantly or merging it using the selected network interface combination.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to an ultra-precision data communication method and an apparatus thereof. Background Technology

[0002] Generally, the propagation latency of packets received by a mobile terminal from a content server via access networks such as 5G networks, LTE (Long Term Evolution) networks, and Wi-Fi networks varies depending on the conditions of each access network and differs between each access network. This is because the relationship between each access network and the content server consists of various network elements (NE).

[0003] Each network element (NE) allocates network resources, which are simultaneously connected and shared by terminals, to multiple terminals rather than a single terminal. Each network element (NE) allocates network resources to terminals based on packet delivery priority control, packet scheduling, authorized connection load, and performance. As such, it is practically very difficult or impossible to implement transmission that always guarantees a uniform packet delivery delay in a network path composed of various network elements (NEs). This is because the allocation of network resources by each network element (NE) is variable due to queuing or buffering structures and the overall configuration factors of the traffic flow.

[0004] In addition, when transmitting packets through a single access network, the packet delivery delays available at the access network and the associated core network network element (NE) nodes may exceed the range required for smooth service operation. In such cases, fluctuations in the delivery delay of packets transmitted from the content server to the terminal may cause situations where smooth service operation is difficult, such as service interruptions. In particular, for services used in smart cities, smart factories, etc., which have hard real-time or mission-critical characteristics, to operate smoothly, the delivery delay of transmitted packets or signaling packets must be short, and data transmitted from the service server must reach the terminal with 100% reliability within a given time.

[0005] However, when transmitting packets over a single access network, if issues such as network congestion occur or the arrival time of transmitted packets is delayed, the entire service may be interrupted or the Quality of Experience (QoE) may deteriorate due to quality degradation. Furthermore, in the case of remote control services, disruptions in precise machine control can lead to catastrophic service failures.

[0006] Accordingly, to address the issues associated with using only a single access network, packet transmission services utilizing multiple access networks have been proposed. A representative example is aggregated transmission. Aggregated transmission involves transmitting data through multiple access networks; specifically, it involves sending a portion of the total packet to an arbitrary access network and another portion to a different access network, after which they are merged to restore the original packet. This method can improve efficiency compared to single-network transmission. However, among the multiple access networks, there is always a relatively faster one. Therefore, there are limitations in reducing the total latency for all packets to be transmitted in terms of restoring the original packet.

[0007] In addition, a specific service / application may not always require only the lowest latency. For example, if a specific service / application requires packets to be delivered within an average of 10 msec, stable service is possible when all packets are delivered within a latency of 10 msec. For example, if the five packet delivery delays are 6 ms, 7 ms, 8 ms, 9 ms, and 10 ms respectively, the average packet delivery delay is 8 ms, so the average packet delivery delay is within 10 msec due to network influence. However, if there is severe fluctuation and the distribution of packet delivery delays is large, for example, if the packet delivery delays are 8 ms, 8 ms, 10 ms, 12 ms, and 12 ms, the average packet delivery delay is 8 ms, but the stability of the service may not be guaranteed due to packets (12 ms) arriving later than the service request delay time of 10 ms. Therefore, the smooth operation of ultra-low latency services is possible only by minimizing packet delivery delay while simultaneously considering the arrival distribution (jitter) of the delivered packets.

[0008] However, packet transmission technology to date has primarily focused on minimizing latency. Even in the case of multipath transmission, there are limitations in that it aims only at unified transmission through the path with minimized latency. The problem to be solved

[0009] The problem that the present invention aims to solve is to provide an ultra-precision data communication method and apparatus capable of precise control of network performance by considering end-to-end (E2E) maximum packet delivery delay, deviation of delivery delay, and availability (reliability / survivability) according to service requirements. means of solving the problem

[0010] According to one feature of the present invention, a high-precision data communication method is a high-precision data communication method of a terminal connected to a multiple network through a plurality of network interfaces, comprising: a step of determining a transmission mode that matches an application ID or destination information representing the service characteristics of the transmission packet when a transmission packet is generated; a step of, if the determined transmission mode is redundant transmission, selecting a combination of network interfaces in which the average delay time of the network interfaces included in each combination is minimized by combining the plurality of network interfaces; a step of, if the determined transmission mode is merged transmission, selecting a combination of network interfaces in which the delay time deviation of the network interfaces included in each combination is minimized by combining the plurality of network interfaces; and a step of transmitting the transmission packet redundantly or merging it using the selected network interface combination.

[0011] The step of selecting a combination of network interfaces with the minimum average delay time includes the step of measuring the delay time and link capacity for each of the plurality of network interfaces, and the step of selecting a combination of network interfaces in which an objective function using each of the delay time and link capacity is minimized, wherein the objective function may be calculated such that the average delay time of the network interfaces included in each combination has a higher weight than the delay time deviation, and the total delay time, which is the sum of the average delay time and the delay time deviation, has a higher weight than the average link capacity of the network interfaces included in each combination.

[0012] The step of selecting a network interface combination with the minimum delay time deviation includes the step of measuring the delay time and link capacity for each of the plurality of network interfaces, and the step of selecting a network interface combination in which an objective function using each of the delay time and link capacity is minimized, wherein the objective function may be calculated such that the delay time deviation of the network interfaces included in each combination has a higher weight than the average delay time, and the average link capacity of the network interfaces included in each combination has a higher weight than the total delay time obtained by summing the average delay time and the delay time deviation.

[0013] The above duplicate transmission allows a portion of the transmission packet to be transmitted redundantly through all network interfaces included in the selected combination, and another portion of the transmission packet to be transmitted without duplication through some network interfaces included in the selected combination.

[0014] Among the above-mentioned network interfaces, a network interface having maximum network performance based on transmission speed or latency may be selected from among a plurality of network interfaces included in the selected combination.

[0015] After the above transmission step, the method may further include the step of receiving duplicate transmission packets using the selected network interface combination, and the step of discarding duplicate transmission packets received from the remaining network interfaces, excluding duplicate transmission packets received from the network interface having the minimum delay time among the network interfaces included in the selected network interface combination.

[0016] After the above transmission step, the method may further include the step of storing a transmission packet received using the above-described network interface combination in a receiving buffer, and the step of adjusting the speed of outputting the transmission packet stored in the receiving buffer to the application layer according to the transmission mode.

[0017] In the case of merge transmission, the above adjustment step can slow down the output speed as the difference in latency between interfaces within the selected network interface combination increases, and increase the output speed as the difference in latency decreases.

[0018] In the above adjustment step, in the case of redundant transmission, if packet loss occurs, the output speed is slowed down as the delay time difference between interfaces within the selected network interface combination increases as the delay time difference decreases, and the output speed is increased as the delay time difference decreases; and if there is no packet loss, the output speed can be adjusted based on the packet reception speed of the largest network interface with the highest link capacity among the interfaces within the selected network interface combination.

[0019] According to another feature of the present invention, a high-precision data communication method is a high-precision data communication method for a terminal connected to a multiple network through a plurality of network interfaces, comprising the steps of: determining a redundant transmission mode that matches an application ID or destination information representing the service characteristics of a transmission packet; determining a network interface combination that minimizes the average delay time by combining the plurality of network interfaces; and redundantly transmitting the transmission packet using the determined network interface combination. The step of transmitting may include redundantly transmitting a portion of the transmission packet through all network interfaces included in the selected combination, and transmitting another portion of the transmission packet without redundancy through some network interfaces included in the selected combination.

[0020] The above-determined transmitting step can check the available link capacity of network interfaces included in the above-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 transmission packet from the redundant transmission path.

[0021] The above-determining step may include: measuring the delay time and link capacity for each of a plurality of network interfaces; combining the plurality of network interfaces and calculating the deviation of the delay time, the average delay time, and the average link capacity for each combination using the delay time and the link capacity; and determining a combination of network interfaces such that an objective function is minimized by assigning a higher weight to the average delay time than the deviation of the delay time and assigning a higher weight to the total delay time (the sum of the average delay time and the deviation of the delay time) than to the average link capacity. Effects of the invention

[0022] According to the embodiment, by selecting and applying redundant transmission and merged transmission at the service application unit or packet flow unit during packet transmission, packet delivery delay can be minimized, and ultra-low latency services can be smoothly provided by considering various performance metrics such as packet arrival distribution (jitter) and transmission speed. Furthermore, by selectively applying redundant transmission and merged transmission, a service optimized in terms of two performance metrics—namely, latency and transmission speed—can be provided.

[0023] In addition, by transmitting duplicate packets through multiple paths, and by redundantly transmitting some of the packets over multiple paths while simultaneously transmitting the remaining packets through a single path with a large transmission capacity, it is possible to improve not only packet delivery delay and reliability but also transmission speed.

[0024] Furthermore, in the event of packet errors or packet loss, transmission reliability can be enhanced by utilizing packets delivered through other available paths. Therefore, transmission delay, speed, and reliability can be guaranteed when transmitting real-time applications required in smart factories and smart cities, or mission-critical applications.

[0025] In addition, by applying terminal-specific policies, network policies, and policies based on service requests, it can be integrated into the enterprise market as well as the mass market and applied to various products or services. Brief explanation of the drawing

[0026] FIG. 1 is a configuration diagram of an ultra-precision data communication system according to one embodiment of the present invention. FIG. 2 is a configuration diagram of an ultra-precision data communication system according to another embodiment of the present invention. FIG. 3 is a configuration diagram of a terminal according to an embodiment of the present invention. FIG. 4 is an illustrative diagram explaining redundant transmission according to one embodiment of the present invention. FIG. 5 is a diagram illustrating the delay time per wireless path according to an embodiment of the present invention. FIG. 6 is a configuration diagram of a gateway according to an embodiment of the present invention. FIG. 7 is a flowchart illustrating an ultra-precision data communication method according to an embodiment of the present invention. FIG. 8 is a diagram illustrating redundant transmission through multiple paths according to one embodiment of the present invention. FIG. 9 is a diagram illustrating redundant transmission through multiple paths according to another embodiment of the present invention. FIG. 10 is a diagram illustrating redundant transmission through multiple paths according to another embodiment of the present invention. Specific details for implementing the invention

[0027] Embodiments of the present invention are described below with reference to the attached drawings so that those skilled 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. Furthermore, in order to clearly explain the present invention in the drawings, parts unrelated to the explanation have been omitted, and similar parts throughout the specification are denoted by similar reference numerals.

[0028] Throughout the specification, when a part is described as "including" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0029] Additionally, terms such as “…part,” “…unit,” and “…module” described in the specification refer to a unit that processes at least one function or operation, and this may be implemented in hardware, software, or a combination of hardware and software.

[0030] The devices described in the present invention are composed of hardware including at least one processor, a memory device, a communication device, etc., and a program that is executed in combination with the hardware is stored in a designated location. The hardware has a configuration and performance capable of executing the method of the present invention. The program includes instructions that implement the method of operation of the present invention described with reference to the drawings, and executes the present invention in combination with hardware such as a processor and a memory device.

[0031] In this specification, "transmission or provision" may include not only direct transmission or provision but also indirect transmission or provision through another device or by using an alternative route.

[0032] Expressions described in the singular in this specification may be interpreted as singular or plural unless explicit expressions such as "one" or "single" are used.

[0033] In this specification, the same reference numeral refers to the same component regardless of the drawing, and "and / or" includes each of the mentioned components and all combinations of one or more.

[0034] In this specification, terms including ordinal numbers, such as first, second, etc., may be used to describe various components, but said components are not limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, the first component may be named the second component, and similarly, the second component may be named the first component.

[0035] In the flowchart described with reference to the drawings in this specification, the order of operations may be changed, several operations may be merged or some operations may be divided, and certain operations may not be performed.

[0036] In the specification, the terminal (Terminal / User equipment) connects to a base station of the access network / radio access network (RAN) and utilizes the network functions (NFs) of the core network. Here, depending on the access network, the base station may include an eNB (or eNodeB), a gNB (or next generation Node B), an AP (Access Point), etc.

[0037] The terminal can be a terminal of various forms and uses, such as a mobile terminal, IoT terminal, vehicle terminal, display terminal, broadcasting terminal, game terminal, etc.

[0038] Communication interfaces can be diverse. For example, communication interfaces may include short-range wireless network interfaces such as WiFi, WLAN (Wireless Local Area Network), and Bluetooth, and mobile communication network interfaces such as 3G, LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), and 5G, and terminal manufacturers may add various communication interfaces.

[0039] In this specification, WiFi interfaces, LTE interfaces, and 5G interfaces are described as examples, but communication interfaces are not limited thereto.

[0040] Embodiments of the present invention may be supported by standard documents related to at least one of the 3GPP (3rd Generation Partnership Project) 5G systems, such as 3GPP LTE (Long Term Evolution), LTE-A, 3GPP2, IEEE (Institute of Electrical and Electronics Engineers) systems, and FS_NextGen (Study on Architecture for Next Generation System). That is, steps or parts among the embodiments of the present invention that are not described in order to clearly reveal the technical concept of the present invention may be supported by said documents. Furthermore, all terms disclosed in this document may be explained by said standard documents.

[0041] Multi-path transmission is a transmission method that simultaneously uses heterogeneous network interfaces on mobile devices equipped with various network interfaces.

[0042] Among multipath transmissions, aggregation transmission is a technology that transmits data using at least two wireless paths simultaneously, processing data transmitted through each wireless path as a single session. Aggregation transmission can split data transmitted through a single path into multiple paths of homogeneous or heterogeneous networks, or combine data transmitted through multiple paths into a single path. This aggregation transmission can be called MultiNet Aggregation in the sense that it merges multiple networks.

[0043] Since merged transmission transmits data over multiple paths, the entire data can be divided and transmitted via separate wireless paths to improve transmission speed compared to transmission over a single network. For example, the transmitting side sends a portion of the data over an LTE network and another portion over a WiFi network, and then the receiving side merges the partial data received through each wireless path to restore the original entire data.

[0044] However, in the case of merged transmission, there is always a relatively faster wireless path among multiple paths. In other words, since the transmission speeds of each wireless path differ, there are limitations in reducing the total delay time for the data to be transmitted when considering the recovery of the entire original data.

[0045] Among multipath transmissions, redundant transmission is a technology that transmits the same data through at least two wireless paths.

[0046] There are two methods of redundant transmission. One method utilizes IP (Internet Protocol)-in-IP encapsulation and decapsulation technology. In this method, identical data—rather than partial data—is transmitted simultaneously over at least two wireless paths, and the receiving end acquires the data first from the wireless path with the relatively shorter transmission delay. Data generated by the application or service on the sending end is located within the inner IP payload of the IP packet, and this data is encapsulated into an external IP address for transmission. The external IP address is an address used for transmission and routing within the network through which the data is transmitted; for example, it may be the IP addresses of gateways or network devices in the core network. The receiving end decapsulates the encapsulated data to retrieve the original data.

[0047] At this time, the upper limit of the PMTU (Path Maximum Transmission Unit) for each wireless path is fixed. Therefore, there is data loss caused by IP-in-IP encapsulation / decapsulation, namely, overhead from the external IP header. Furthermore, the PMTU is configured differently for each wireless path. For example, it may be configured as LTE PMTU=1460 bytes / IPv4, WiFi PMTU=1500 bytes, 5G PMTU=1420 bytes / IPv6, etc. Therefore, to transmit the same data over multiple wireless paths, the size of the transmission data unit must be set based on the minimum value among the PMTUs of each wireless path, for example, 5G PMTU=1420 bytes / IPv6.

[0048] However, if IP-in-IP overhead is added, the actual data transfer rate is bound to decrease. This is because additional header overhead is required for encapsulation and decapsulation, meaning that more transmission volume is used even when sending the same data size. Of course, it is possible to use a PMTU larger than the determined minimum value, but in this case, fragmentation occurs at the IP level, which can be a factor in increasing transmission delay.

[0049] Furthermore, the IP-in-IP encapsulation / decapsulation method uses UDP (User Datagram Protocol) as the transport. Since UDP transmission lacks a procedure to verify whether data originating from the sender has successfully arrived at the receiver, there is a possibility that data may be lost along the way. Because this is a best-effort method susceptible to data loss due to congestion or other factors at intermediate nodes, it is inevitably at a disadvantage in terms of transmission reliability compared to cases using other transports (such as TCP).

[0050] Another method of redundant transmission is to use TCP (Transmission Control Protocol) as the transport. Because the TCP method includes a procedure at the transport layer to verify whether the sent data has been successfully delivered, it demonstrates higher performance in terms of reliability compared to the UDP method.

[0051] However, due to the nature of TCP, this method requires that if redundant transmission occurs across wireless paths and one path has a higher latency than another, the path with a relatively lower transmission speed must also transmit the same data. Therefore, if the transmission speed converges toward the path with the slower latency, the overall TCP transmission itself may become slower from an end-to-end perspective.

[0052] As described above, redundant transmission and merged transmission each have limitations when viewed solely for the purpose of reducing transmission delay time. Therefore, the embodiments of the present invention provide ultra-precision data communication that selectively applies redundant transmission and merged transmission according to service requirements.

[0053] Ultra-precision data communication is a method recently required by 5G killer applications such as smart cities and smart factories, and provides precise control of network performance, such as end-to-end (E2E) packet delivery maximum latency, latency variation, and availability (reliability / survivability), according to service requirements.

[0054] In this case, the ultra-precision data communication according to the embodiment of the present invention enables adaptive transmission to changing network conditions by selectively applying redundant transmission or merged transmission at the packet flow level as well as for service purposes.

[0055] In addition, according to an embodiment of the present invention, when redundant transmission is selected, redundant packets are transmitted through multiple wireless paths, and packets received from the wireless path with the shortest transmission delay time among each wireless path are processed first. Therefore, while minimizing the overall packet transmission delay, an even distribution through available paths for overall packet transmission is possible, thereby minimizing service fluctuation.

[0056] Furthermore, according to an embodiment of the present invention, a scheduling method is used in which, during redundant transmission, some packet sequences are redundantly transmitted over multiple wireless paths with different transmission speeds, while other packet sequences are transmitted without redundancy over a single wireless path with a relatively faster transmission speed (or higher transmission capacity). By doing so, the downward convergence problem that occurs when simply redundantly transmitting over multiple paths—namely, the loss problem where the overall transmission speed converges downward to a wireless path with a relatively slower transmission speed—can be mitigated. Moreover, benefits can be obtained not only in latency and reliability but also in transmission speed.

[0057] In addition, an embodiment of the present invention provides ultra-precision data communication by selecting at least two combinations of network interfaces from a plurality of network interfaces according to service requirements and network conditions, and selectively applying merged transmission or redundant transmission through them. Accordingly, reliable communication can be provided by minimizing the packet error rate that may occur due to packet drops, queue / buffer overflows, etc., which may occur at intermediate nodes having a best-effort transmission system.

[0059] 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.

[0060] FIG. 1 is a configuration diagram of an ultra-precision data communication system according to one embodiment of the present invention.

[0061] Referring to FIG. 1, the ultra-precision data communication system includes a terminal (100) and a Multi-Path Aggregation & Duplication (MPAD) gateway (200) connected to the terminal (100) via multiple networks. Here, the ultra-precision data communication is transmitted simultaneously via multiple paths, and since duplicate transmission and merged transmission are selectively applied, it can be called MPAD.

[0062] The terminal (100) is equipped with multiple communication interfaces and can be connected to the MPAD gateway (200) at any given time through the multiple communication interfaces. The terminal (100) can use three types of network interfaces: an LTE interface (101), a 5G interface (103), and a WiFi interface (105). Of course, it is not limited to these three types of network interfaces, nor is it necessary to have three. The terminal (100) is defined as a terminal capable of multipath transmission using at least two network interfaces.

[0063] The terminal (100) includes an MPAD agent (107), which performs packet scheduling to select a transmission mode between redundant transmission and merged transmission, and selects an optimal network interface combination. The MPAD agent (107) can be implemented as internal logic of the terminal. In this case, the MPAD agent (107) additionally performs authentication, state management, etc., which are fundamentally required for multipath transmission. Within the terminal, the MPAD agent (107) and various applications communicate via socket.

[0064] The MPAD gateway (200) is located at the interface of multiple networks, for example, at the interface of an LTE network (301), a 5G network (303), and a WiFi network (305). The MPAD gateway (200) is connected to a core network (400) and a WiFi network (305) to which the LTE network (301) and the 5G network (303) are connected. It is also connected to a content server (600) via the Internet (500).

[0065] Here, it is assumed that the content server (600) does not support multiple communication interfaces. The content server (600) is assumed to be a standard server that communicates via TCP (Transmission Control Protocol) over a single path. In this case, the MPAD agent (107) and the MPAD gateway (200) can explicitly specify the flow of packets through a proxy protocol. This structure can be applied to a centralized network deployment structure, such as a 5G central center.

[0066] The MPAD gateway (200) receives all packets destined for the Internet (500) through the core network (400) and WiFi network (305). At this time, the destination address of the received packet is the MPAD gateway (200) rather than the content server (600).

[0067] When the MPAD agent (107) implements a proxy function, the MPAD agent (107) changes the destination address of the packet to the MPAD gateway (200). The MPAD gateway (200) can operate as a proxy server that receives all multipath packets and forwards them to the content server (600). The MPAD gateway (200) is implemented as a proxy server and establishes a session through a signaling procedure with the terminal (100).

[0068] The terminal (100) and the MPAD gateway (200) transmit and receive data using a redundant transmission or merged transmission method.

[0069] If the terminal (100) uses multipath communication, it can transmit and receive data with the content server (600) through the MPAD gateway (200). If the terminal (100) uses singlepath communication, it can transmit and receive data with the content server (600) without using the MPAD gateway (200). Here, the content server (600) is assumed to be a general server that communicates via TCP using a single path.

[0070] When a service application is launched and a packet is generated, the MPAD agent (107) connects to the MPAD gateway (200) and performs the connection procedure. The MPAD agent (107) and the MPAD gateway (200) can exchange signaling information according to the SOCKS (Socket Secure) protocol defined in RFC1928 and RFC1929. Since proxy connection methods following the SOCKS protocol defined in RFC1928 and RFC1929 are well known, a detailed description is omitted.

[0071] When a session is created, the MPAD agent (107) is connected to the MPAD gateway (200) via multiple subflows. At this time, if the 5G network is the default network, the primary subflow is connected to the 5G network and the remaining wireless paths are connected via secondary subflows.

[0072] In an embodiment of the present invention, there may be four transmission methods as follows.

[0073] 1) Upward merge transmission: The MPAD agent (107) requests a session connection by specifying the transmission mode as merge transmission.

[0074] 2) Upward redundancy transmission: The MPAD agent (107) requests a session connection by specifying the transmission mode as redundancy transmission.

[0075] 3) Downward merge transmission: The MPAD agent (107) requests a session connection to port 10000 of the MPAD gateway (200).

[0076] 4) Downward redundancy transmission: The MPAD agent (107) requests a session connection to port 20000 of the MPAD gateway (200).

[0077] As such, whether to merge or duplicate transmission is determined based on the upstream / downstream transmission direction per session; as this is an implementation specificity, a method can be adopted to explicitly select the scheduler by modifying the socket program.

[0078] For example, the MPAD agent (107) can use the scheduling of the MPTCP (Multi-path Transmission Control Protocol), which is a redundant mode that transmits the same data to multiple networks separately, rather than a conventional RTT (round trip time) based optimal network selection method, that is, a redundant mode that transmits the same data to multiple networks separately, rather than a merged transmission.

[0079] Socket options for packet flow can be set to redundant transmission mode regardless of the system-wide packet scheduler settings.

[0080] Packet scheduling means determining which path each packet will be sent to among several paths that are actually transmittable. Therefore, even if a packet is determined to a specific transmission mode by a socket option, the MPAD agent (107), which is the scheduling entity, can duplicate the packet for redundant transmission or select the optimal path for merged transmission.

[0081] At this time, the scheduling entity is the MPAD agent (107) for uplink transmission and the MPAD gateway (200) for downlink transmission.

[0083] FIG. 2 is a configuration diagram of an ultra-precision data communication system according to another embodiment of the present invention.

[0084] At this time, FIG. 2 has a structure almost identical to FIG. 1, except that it illustrates a different embodiment regarding the arrangement structure of the MPAD gateway (200'). Therefore, the description of the same content as FIG. 1 will be omitted, and only the exemplary configuration different from FIG. 1 will be described.

[0085] The ultra-precision data communication system according to the embodiment of FIG. 2 corresponds to a non-proxy-based On-Path deployment structure. That is, the MPAD gateway (200') is deployed in-line on the routing path immediately after the core network (400) and operates without using a proxy protocol. In this case, the MPAD gateway (200') monitors in real time the packets transmitted and received between the core network (400) and / or WiFi network (305) and the Internet (500), and when a packet containing a pre-configured IP address and / or port is found, it intercepts the packet, establishes a session with the terminal (100') instead of the content server (600), and processes the packet using a multipath communication method.

[0086] This On-Path deployment structure is used in decentralized network deployment structures such as 5G edge centers.

[0087] The detailed operation of the terminal (100') and MPAD gateway (200') described in FIGS. 1 and 2 will be explained.

[0089] FIG. 3 is a configuration diagram of a terminal according to an embodiment of the present invention, FIG. 4 is an example diagram explaining redundant transmission according to one embodiment of the present invention, and FIG. 5 is a diagram explaining the delay time per wireless path according to an embodiment of the present invention.

[0090] First, referring to FIG. 3, the terminal (100) includes an LTE interface (101), a 5G interface (103), a WiFi interface (105), an MPAD agent (107, 107'), an application (109), a socket communication unit (111), a duplicate transmission processing unit (113), a merge transmission processing unit (115), and a single transmission processing unit (117).

[0091] The MPAD agent (107) refers to a configuration with a proxy function corresponding to the embodiment of FIG. 1, and the MPAD agent (107') refers to a configuration without a proxy function corresponding to the embodiment of FIG. 2.

[0092] When the MPAD agent (107) operates in proxy mode, it sets the destination address of the packet's outer IP header to the IP address of the MPAD gateway (200) that acts as the proxy server.

[0093] In addition, since the operation of the terminal (100) is common to both embodiments of FIG. 1 and FIG. 2, the common operation will be described below.

[0094] A terminal (100) can transmit packets through an LTE interface (101), a 5G interface (103), and a WiFi interface (105). In the case of a general transmission method, the terminal (100) transmits and receives service packets through one network interface selected by the highest routing priority among the LTE interface (101), the 5G interface (103), and the WiFi interface (105). If the latency of the selected highest routing path deteriorates, the terminal (100) must change to a second- or third-highest routing path; however, in the case of TCP, if the source address of the packet flow changes due to a change in routing, a new session must be added and used independently of the session currently being processed. Consequently, service interruption may occur. To compensate for this, a multi-path aggregation transmission protocol such as MPTCP can be used to split / aggregate packets based on the available transmission capacity of each network interface (101, 103, 105) depending on the situation. In such cases, for services that must transmit data within a specific time, such as mission-critical services that must guarantee hard real-time, the service may be vulnerable or unavailable due to fluctuations in latency. Accordingly, the terminal (100) can take advantage of packet delivery delay time by transmitting duplicate data without splitting the packet to be transmitted via multiple paths based on available network interfaces (101, 103, 105).

[0095] In an embodiment of the present invention, based on service requirements, an MPAD agent (107, 107') of a terminal (100) can select one of a transmission mode among duplicate transmission, merged transmission, and single transmission to transmit packets.

[0096] MPAD agents (107, 107') can select a transmission mode on an application unit and / or a packet flow unit. Although only one application (109) is shown in FIG. 3, there may be multiple applications (109), and in this case, MPAD agents (107, 107') can select different transmission modes for each application (109) according to the service purpose. That is, Application A may select only merged transmission, and Application B may select only redundant transmission. For example, an application (109) that provides a service sensitive to latency may only perform redundant transmission.

[0097] Additionally, the MPAD agent (107, 107') can select a transmission mode within a single application (109) on a packet flow basis. When viewing the entire data from the perspective of a single service application, single transmission, merged transmission, and duplicate transmission are mixed.

[0098] The MPAD agent (107, 107') can operate the corresponding sockets (111A, 111B, 111C) according to the transmission mode. However, when viewed from the perspective of the uplink, even for the same application (109), all sockets (111A, 111B, 111C) can be created, and the socket (111A, 111B, 111C) of the selected transmission mode can be operated on a packet flow basis.

[0099] In order for the application (109) of the terminal (100) to send and receive packets, it establishes socket communication with the MPAD agent (107, 107') responsible for internal communication of the terminal.

[0100] The socket communication unit (111) creates sockets (111A, 111B, 111C) for communication between the application (109) and the MPAD agent (107, 107'). The sockets (111A, 111B, 111C) are created by the programming code of the application (109) and differ depending on the transmission mode. The socket communication unit (111) creates a duplicate transmission socket (111A), a merged transmission socket (111B), and a single transmission socket (111C).

[0101] When the MPAD agent (107, 107') detects a socket connection of the application (109), it determines a transmission mode based on the purpose of the application (109) or destination information (IP address / port) of the packet flow, and connects the socket (111A, 111B, 111C) corresponding to the transmission mode to the application (109). Then, it schedules the packet flow received through the connected socket (111A, 111B, 111C) and outputs it to one of the duplicate transmission processing unit (113), the merge transmission processing unit (115), or the single transmission processing unit (117).

[0102] At this time, the MPAD agent (107, 107') controls the creation of sessions with the MPAD gateway (200), and creates sessions corresponding to each socket (111A, 111B, 111C) separately. That is, they create sessions classified into duplicate transmission sessions, merged transmission sessions, and single transmission sessions.

[0103] When a socket connection is requested by an application (109), the MPAD agent (107, 107') determines the transmission mode based on the destination IP address and destination port of the packet flow and connects the socket corresponding to the transmission mode. For example, if multiple packet flows are generated in a single application (109), the MPAD agent (107, 107') may select a redundant transmission mode for packet flows requiring low latency (e.g., control messages, etc.) and a merged transmission mode for packet flows requiring speed (e.g., media downloads, etc.). In this way, even within a single application (109), the redundant transmission mode and the merged transmission mode can be separated.

[0104] If there is a packet flow generated in the application (109), the MPAD agent (107, 107') can explicitly select a duplicate transmission mode, a merged transmission mode, or a single transmission mode by its own rules.

[0105] The MPAD agent (107, 107') stores a matching table in which the transmission mode is matched to the application ID or destination information representing the service characteristics of the packet. The service characteristics of the packet may include the application ID where the packet originated or the destination information of the packet (IP address and / or port). This matching table is stored in advance and may be updated in real time by an external server (not shown).

[0106] When the MPAD agent (107, 107') detects a socket connection request from the application (109), it can determine the destination information (IP address / port) and / or the transmission mode mapped to the application ID of the packet requested by the application (109).

[0107] When a socket is created, the MPAD agent (107, 107') opens the corresponding port and performs packet scheduling. A socket is defined by a protocol, an IP address, and a port number.

[0108] The application (109) is connected to the redundant transmission socket (111A), and the MPAD agent (107, 107') opens port #1 for multipath redundant transmission. The MPAD agent (107, 107') outputs the packet flow transmitted through the redundant transmission socket (111A) to the redundant transmission processing unit (113).

[0109] The duplicate transmission processing unit (113) performs duplicate transmission through available multiple paths for packet flows transmitted through the duplicate transmission socket (111A). At this time, the duplicate transmission processing unit (113) performs duplicate transmission through at least two network interfaces selected by the MPAD agent (107, 107').

[0110] The redundant transmission processing unit (113) includes an MPTCP or MPUDP layer (113A), a TCP / UDP layer (113B), an IP layer (113C), and an L2 / L1 layer (113D).

[0111] The TCP / UDP layer (113B) includes multiple subflow layers, and each subflow is mapped to a network interface (101, 103, 105). The MPTCP or MPUDP layer (113A) duplicates and distributes packets to be transmitted to each subflow layer (113B), and each subflow layer (113B) can process the packets received first with priority and discard the rest.

[0112] Each subflow layer (113B) operates in the same way as the existing TCP layer and is treated as a separate session.

[0113] The MPTCP or MPUDP layer (113A) divides the duplicate packets of each subflow into TCP segments or UDP segments. The IP layer (113C) corresponding to each subflow creates a packet with an IP header attached to the TCP segments or UDP segments. The packet is delivered to the MPAD gateway (200) via the network layer (113D) of L2 / L1. According to one embodiment, the MPAD agent (107, 107') can schedule the packets to transmit the entire packet flow equally and redundantly to each network interface (101, 103, 105).

[0114] According to another embodiment, the MPAD agent (107, 107') can schedule packets so that a portion of the packet is redundantly transmitted to a plurality of network interfaces (101, 103, 105), while another portion of the packet is transmitted without redundancy to the network interface (101, 103, 105) that has the fastest speed or the minimum latency among the plurality of network interfaces (101, 103, 105). That is, the MPAD agent (107, 107') can redundantly transmit packets to a plurality of network interfaces (101, 103, 105), while simultaneously transmitting some packets only to the network interface (101, 103, 105) with the largest transmission capacity. This redundant transmission method can eliminate losses that occur when simply redundant transmission results in downward convergence to the performance of the network interface with the slowest latency. When TCP is used as the transport layer, if one network interface among multiple network interfaces (101, 103, 105) has a higher latency than another network interface, the same packet must be sent to the path with the lower latency as well, so the transmission speed converges toward the path with the lower latency, which can slow down the overall TCP transmission itself. In order to compensate for this disadvantage of converging downward to the speed of the relatively slower network interface, by performing scheduling that duplicates some of the packets and sends more non-duplicate packets to the relatively faster network interface, benefits can be obtained not only in latency and reliability but also in transmission speed.

[0115] In addition, for duplicate packets, only the packet received with the lowest delay is accepted and slow-transmitting packets are discarded to guarantee low-latency transmission speeds, and bandwidth is expanded by delivering some packets only through the path with the minimum delay.

[0116] The duplicate transmission processing unit (113) can duplicate-transmit a portion of the packet flow to at least two network interfaces (101, 103, 105), and transmit the remainder, excluding a portion of the packet flow, only to at least one network interface (101, 103, 105) among the multiple network interfaces (101, 103, 105) that has the fastest transmission speed or the minimum transmission delay, without duplication. At this time, it may transmit without duplication to only one network interface (101, 103, 105), or it may be divided and transmitted without duplication to at least two network interfaces (101, 103, 105).

[0117] Referring to FIG. 4, when the original packet buffer (10) allocated by the redundant transmission socket (111A in FIG. 3) is filled with packet flows, the MPAD agent (107, 107') determines which packets to transmit to each of the multiple networks (301, 303, 305). Here, packets generated by an application (109 in FIG. 3) are stored in the original packet buffer (10).

[0118] At this time, the MPAD agent (107, 107') stores the packets stored in the original packet buffer (10) into the sub-flow's divided packet buffers (11, 13, 15). At this time, the MPAD agent (107, 107') can divide the original packet flow. That is, the MPAD agent (107, 107') distributes some packets (1, 2, 3) equally to the divided packet buffers (11, 13) to be transmitted to the 5G network (301) and LTE network (303), respectively, and distributes the remaining packets (4, 5) only to the divided packet buffer (15) to be transmitted to the WiFi network (305). That is, the MPAD agent (107, 107') can be scheduled to redundantly transmit some of the original packets (1, 2, 3) to the 5G network (301) and LTE network (303), and to transmit the rest (4, 5) only to the WiFi network (305).

[0119] The MPTCP or MPUDP layer (113A) divides the packets added to the split packet buffers (11, 13, 15) of each subflow into TCP segments or UDP segments. The IP layer corresponding to each subflow creates packets by attaching IP headers to the TCP segments or UDP segments. The packets are delivered to the MPAD gateway (200) via the network layer of L2 / L1.

[0120] Here, when redundant transmission is performed based on TCP, the MPTCP layer (113A) performs redundant transmission according to its own flow control procedure.

[0121] On the other hand, when redundant transmission is performed based on UDP, if the MPUDP layer (113A) transmits the packets redundantly, they may be judged as identical packets and discarded. Therefore, IP encapsulation is performed so that they can be recognized as redundant but different packets.

[0122] In addition, MPTCP and MPUDP can operate in combination.

[0123] In this way, when the socket option is applied in redundant transmission mode, the MPAD agent (107, 107') defines the amount of uplink data transmitted from the application (109) to be transmitted, whether identically or differently, according to the MTU (Maximum transmission unit) size mapped to each network interface (101, 103, 105), and specifies this at every packet scheduling time through the available network interface (101, 103, 105).

[0124] When TCP is used as the transport layer, high-reliability transmission is possible because, unlike redundant transmission methods using UDP as the transport, there is no transmission overhead such as IP-in-IP and no packet drops that can occur when using UDP. In addition, because TCP is used as the transport, highly reliable transmission is possible compared to the UDP transport method which transmits in a best-effort manner, and because it is TCP, there is an advantage of 100% reliable transmission.

[0125] Even though the MTU size determined by PMTU varies by path compared to the UDP transport method, the advantage that TCP can take is that it offers an advantage in terms of transmission speed because it eliminates overhead such as IP-in-IP, allowing for a larger amount of data to be transmitted at once (payload size).

[0126] The MPAD agent (107, 107') can prioritize the processing of packets transmitted from the network interface (101, 103, 105) with the minimum transmission delay among duplicate packets transmitted through multiple network interfaces (101, 103, 105). By doing so, packet transmission delay is minimized, and at the same time, the entire packet transmission can be evenly distributed through available paths, thereby minimizing fluctuations in the service.

[0127] The MPAD agent (107, 107') is connected to the application (109) via a merge transmission socket (111B) and opens port #2 for multipath merge transmission. The MPAD agent (107, 107') outputs the packet flow transmitted through the merge transmission socket (111B) to the merge transmission processing unit (115).

[0128] The merge transmission processing unit (115) performs merge transmission through available multiple paths for packet flows transmitted through the merge transmission socket (111B). At this time, the merge transmission processing unit (115) performs merge transmission through at least two network interfaces selected by the MPAD agent (107, 107').

[0129] The merge transmission processing unit (115) includes an MPTCP layer (115A), a TCP layer (115B), an IP layer (115C), and an L2 / L1 layer (115D).

[0130] The TCP layer (115B) includes multiple subflow layers, and each subflow is mapped to a network interface (101, 103, 105). Each subflow operates as an independent TCP session, so the MPTCP layer (115A) provides independent TCP connection control and congestion control functions for each subflow. The MPTCP layer (115A) performs connection control for multiple subflows, traffic distribution and retransmission processing between subflows, and packet alignment functions.

[0131] The TCP layer (115B) divides the packets of each subflow into TCP segments. The IP layer (115C) corresponding to each subflow creates a packet by attaching an IP header to the TCP segments. The packet is delivered to the MPAD gateway (200) via the network layer (115D) of L2 / L1.

[0132] The MPAD agent (107, 107') is connected to the application (109) via a single path transmission socket (111C), and the MPAD agent (107, 107') opens port #3 for single path transmission. The MPAD agent (107, 107') outputs the packet flow transmitted through the single path transmission socket (111C) to the single transmission processing unit (117).

[0133] The single transmission processing unit (117) includes a TCP layer (117A), an IP layer (117B), and an L2 / L1 layer (117C). The single transmission processing unit (117) may be connected to multiple network interfaces (101, 103, 105), but may be connected only to the default network interface (e.g., 105) rather than the optimal interface combination selection.

[0134] The TCP layer (117A) divides the packet into TCP segments. The IP layer (117B) creates a packet by attaching an IP header to the TCP segments. The packet is delivered to the content server (600) via the Internet (500) through the network layer (117C) of L2 / L1.

[0135] The MPAD agent (107, 107') can schedule packets in two ways when there is duplicate transmission.

[0136] According to one embodiment, when a packet flow is transmitted from an application (109), an MPAD agent (107, 107') can always transmit the same packet to a plurality of network interfaces (101, 103, 105). This method transmits according to the service requirements of the application (109). Since all packets are transmitted identically to a plurality of transmission networks (301, 303, 305), the latency can be reduced and transmission reliability can be increased.

[0137] According to another embodiment, when a packet flow is transmitted from an application (109), the MPAD agent (107, 107') transmits it to an available network interface among a plurality of network interfaces (101, 103, 105), but discards the packet for network interfaces where further transmission is impossible. That is, the MPAD agent (107, 107') can ignore duplicate transmission requests in accordance with network conditions, even if there is a request from the application (109). The MPAD agent (107, 107') can determine optimal scheduling by judging network conditions even if there is a request for duplicate transmission from the application (109). Therefore, this method can always select the optimal network while satisfying transmission speed and latency.

[0138] If the portion duplicated across multiple paths in proportion to the transmission volume of the path with the slower transmission speed is classified as a part of the total packet to be transmitted (hereinafter referred to as Packet Group A), Packet Group A is transmitted identically from the sender to all data paths regardless of the path. Packet Group A transmitted in this manner is delivered to all multiple paths prepared at the receiver; by taking only the data received with the lowest delay and discarding the data transmitted relatively slowly, the lowest delay transmission speed can be guaranteed in terms of transmission delay.

[0139] On the other hand, at the time of transmitting packet group A, if there exists a path among the multiple paths available for transmission that can send more packets, the MPAD agent (107, 107') can schedule the transmission of additional packets (hereinafter, packet group B) that are distinct from packet group A, which is transmitted redundantly, through that path. Unlike packet group A, which is transmitted through all paths regardless of the path, packet group B scheduled in this way is transmitted through only a portion of the paths. This is made possible by the inherent TCP or MPTCP subflow-unit sequence-based congestion control algorithm, and because the cwnd (contention window size), which is the amount that can be transmitted, is managed differently for each path, packet groups A and B are delivered differently depending on the path.

[0140] In addition, the MPAD agent (107, 107') can extend the applicable range of the transmission mode and the policy for processing it in various ways, such as by specific user, by specific location, or by specific address range.

[0141] Meanwhile, depending on the type of service, it may be more important to keep the packet reception period constant than to reduce the absolute delay time. However, network jitter is not a controllable value, and it is difficult to predict its changes. To solve this, the MPAD agent (107, 107') can keep the packet reception period constant by reducing the difference in reception periods through a buffer.

[0142] If there is a large difference in latency between different network interfaces (101, 103, 105) during the merge transmission process, packets may be received out of order. If these are immediately forwarded to the upper layer, it may be judged as packet loss. Furthermore, since the upper layer perceives it as a single interface transmission, it may be misjudged as a situation where network jitter is very high. To prevent this problem, the MPAD agent (107, 107') can store packets in a receiving buffer before forwarding them to the upper layer and adjust the forwarding speed. This allows for reordering in the buffer and enables packets to be forwarded at a constant speed, thereby reducing problems caused by jitter.

[0143] The MPAD agent (107, 107') can increase transmission efficiency while precisely matching the reception cycle by slowing down the speed of outputting packets to the upper layer as the difference in latency between network interfaces (101, 103, 105) is greater, and increasing the speed of outputting packets to the upper layer as the difference in latency between network interfaces (101, 103, 105) is smaller.

[0144] In the case of packet loss, consideration must be given to performance differences between interfaces, as in merged transmission. However, if a specific network interface (101, 103, 105) has a short latency and no loss, packets received through other network interfaces (101, 103, 105) can be discarded, and only packets received through the network interface (101, 103, 105) with the shortest latency need to be accepted. Therefore, the speed of delivering packets from the buffer to the upper layer can be adjusted based on the network interface (101, 103, 105) with the best performance. In this way, when determining the packet delivery speed to the upper layer in the case of redundant transmission, the minimum latency and the difference between network interfaces are combined.

[0145] Although not shown in the drawing, in FIG. 3, receive buffers are placed between the TCP / UDP layer (113B) and the MPTCP / MPUDP layer (113A) and between the TCP layer (115B) and the MPTCP layer (115A) on a sub-flow basis, and the difference in the receive cycle can be adjusted through the receive buffers. In merge transmission mode, the MPAD agent (107, 107') measures the difference in latency between network interfaces (101, 103, 105), and the greater the difference in latency, the relatively slower the speed of outputting packets from the TCP layer (115B) to the MPTCP layer (115A), and the smaller the difference in latency, the relatively faster the speed of outputting packets from the TCP layer (115B) to the MPTCP layer (115A).

[0146] The MPAD agent (107, 107') operates in the same way as in the merged transmission mode when packet loss occurs in the redundant transmission mode. On the other hand, when there is no packet loss, it adjusts the speed of outputting packets from the TCP layer (115B) to the MPTCP layer (115A) based on the network interface (101, 103, 105) with the best performance.

[0147] In addition, among multiple network interfaces (101, 103, 105), an optimal combination of network interfaces is selected to transmit packets. Accordingly, it is possible to minimize the packet error rate that may occur due to packet drops, queue / buffer overflows, etc., that may occur on an intermediate node having a best-effort transmission system, thereby providing highly reliable communication. The optimal combination of network interfaces can be transmitted adaptively according to changing network conditions.

[0148] Referring to FIG. 5, the MPAD agent (107, 107') defines the delay time for each network interface (101, 103, 105) as the difference between the transmission time of a packet transmitted through the individual network interface (101, 103, 105) between the terminal (100, 100') and the MPAD gateway (200) and the time until the arrival of the ACK for the same. Link capacity is defined as the maximum transmission capacity of each network interface (101, 103, 105) within a range where no packet loss occurs. These delay times and link capacities are continuously used to calculate the optimal combination of network interfaces.

[0149] The optimal combination of network interfaces can vary depending on whether the objective is redundant transmission aimed at reducing latency and increasing reliability, or merged transmission aimed at increasing bandwidth, and can also vary depending on the congestion control algorithm used.

[0150] For redundant transmission, interfaces with short absolute latency are selected, while for merged transmission, a combination of interfaces with large link capacity and small differences in latency can be selected.

[0151] Furthermore, the optimal network interface combination also varies depending on the congestion control algorithm. Among widely used algorithms, the Bottleneck Bandwidth and Round-trip Propagation Time (BBR) algorithm selects interface combinations by placing relatively more weight on link capacity than on differences in latency. Additionally, the CUBIC algorithm selects interface combinations by placing relatively more weight on differences in latency between network interfaces.

[0152] The optimal combination of network interfaces is determined through the following mathematical formula 1.

[0153]

[0154] Here, d i is the propagation delay of the network interface (i). C i is the link capacity of network interface (i). α and β are weights. n is the number of network interfaces. d max is the maximum acceptable delivery delay of the service. C min is the minimum capacity required by the service. δ is the scalability factor.

[0155] Mathematical Equation 1 is an equation that calculates the objective function value for all network interface combinations, namely {5G}, {LTE}, {WiFi}, {5G, LTE}, {5G, WiFi}, {WiFi, LTE}, and {5G, LTE, WiFi}. The MPAD agent (107, 107') can derive the optimal interface combination that minimizes the value of the objective function.

[0156] The objective function can determine whether to prioritize latency or link capacity based on weight factors.

[0157] The objective function is designed to allow selection of whether to prioritize minimum latency or the difference in latency between network interfaces. The MPAD agent (107, 107') can select the optimal combination by adjusting weights according to redundant / merged transmission and congestion control techniques.

[0158] of mathematical formula 1 is a formula for calculating the latency of network interfaces. Mathematical Equation 1 α is a formula for calculating the average link capacity of network interfaces. Therefore, you can increase α to give more weight to the latency of network interfaces or decrease α to give more weight to the link capacity of network interfaces.

[0159] of mathematical formula 1 is a formula that calculates the average latency of network interfaces. Mathematical Equation 1 is a formula for calculating the latency deviation of each network interface. Therefore, you can increase β to give weight to the average latency of the network interfaces, or decrease β to give weight to the latency deviation of each network interface.

[0160] The MPAD agent (107, 107') can increase α to give weight to interface delay or decrease α to give weight to interface link capacity. The MPAD agent (107, 107') can increase β to give weight to average delay time or decrease β to give weight to delay time deviation. That is, as β increases, link combinations with smaller average delay time are selected, and as β decreases, links with smaller delay time deviation are selected.

[0161] For example, maximum delay time (d max )=30ms, minimum link capacity(C min In a service where )=10Mbps, 5G latency(d 5g )=10ms, LTE latency(dlte )= 20ms, WiFi latency(d wifi )= 50ms and 5G link capacity(C 5g )=8Mbps, LTE link capacity(C lte )=5Mbps, WiFi link capacity(C wifi Let us assume the case where )=100Mbps. In this case, although the Wi-Fi link capacity is as high as 100Mbps, the Wi-Fi latency (d wifi ) This is the maximum service latency (d max Because it is larger than ), that link, i.e., the Wi-Fi link, is not selected.

[0162] In addition, for 5G or LTE, latency is satisfied for both, but the minimum service link capacity (C min Single-link transmission cannot be selected because it has a capacity smaller than ). Therefore, the {5G, LTE} combination is ultimately selected, through which redundant transmission and / or merged transmission are achieved. If WiFi latency (d wifi If the delay time condition is satisfied by ) becoming 20ms, then for any weight factor, Equation 1 is calculated for {WiFi}, {5G, LTE}, {5G, WiFi}, {LTE, WiFi}, and {5G, LTE, WiFi} to select the combination with the smallest value. In this way, the weight is determined by the importance of the average delay, delay deviation, and link capacity, respectively, according to the characteristics of the service.

[0163] The MPAD agent (107, 107') measures the delay time and link capacitor (or transmission capacity of the link) of each network interface at regular intervals and calculates Equation 1 using this.

[0164] At this time, the MPAD agent (107, 107') determines the condition to increase the relative weight between network interface delay and link capacity and the condition to increase the relative weight between delay time deviation and average delay time based on the destination information of the packet. The MPAD agent (107, 107') receives information from the application (109) regarding the condition to increase the weight between network interface delay and link capacity, and between delay time deviation and average delay time, and adjusts α and β based on this.

[0165] At this time, when the MPAD agent (107, 107') starts a merged transmission or a duplicate transmission, it can select an initial set of interfaces by utilizing prior information based on statistical information. To this end, the MPAD agent (107, 107') can organize and retain information on the average delay time and maximum throughput to the MPAD gateway (200) for each network interface in past communications at regular intervals. Past communications refer to all communications performed prior to a specific point in time when the application (109) is to transmit or receive packets (or a certain period in the past from there). In addition, the entities involved in the communication are the MPAD agent (107, 107') and the MPAD gateway (200). For example, when the terminal (100) intends to transmit a new packet, it uses the results of monitoring the average delay and throughput of each of the 5G, LTE, and Wi-Fi paths between the terminal (100) and the MPAD gateway (200) over the past three days.

[0166] By managing such information separately, it is possible to configure the optimal combination of network interfaces more efficiently by identifying performance / characteristic information for each network interface from the same historical time period and the long-term average performance of each network interface, in situations where it is difficult to predict the performance of each network interface at the start of transmission.

[0167] However, historical maximum throughput information may differ from the actual maximum link capacity when the volume of transmitted and received packets is less than the link capacity. Therefore, this should not be interpreted as an indicator of the maximum transmittable performance of the corresponding network interface.

[0168] If an initial network interface must be selected without utilizing prior information, the MPAD agent (107, 107') may use a method of randomly selecting one network interface to create a connection and then adding other network interfaces in sequence. In this case, the initial connection delay time is relatively fast.

[0169] In addition, the MPAD agent (107, 107') can select and apply a method of establishing a connection for the entire network interface and then transmitting packets. In this case, a wide bandwidth can be secured from the beginning.

[0170] Even after determining the initial interface, the MPAD agent (107, 107') continuously identifies and updates the optimal set of interfaces. The MPAD agent (107, 107') identifies the link characteristics (link capacity and latency) of individual interfaces, which can be determined from packet loss and RTT values ​​for network interfaces currently in use for transmission, and can be actively identified by transmitting some data to network interfaces that are not currently in use.

[0172] FIG. 6 is a configuration diagram of a gateway according to an embodiment of the present invention.

[0173] Referring to FIG. 6, the MPAD gateway (200, 200') receives a packet from a terminal (100) and transmits it to a content server (600), and transmits a packet received from the content server (600) to the terminal (100). It is assumed that the content server (600) does not support multiple communication interfaces. The MPAD gateway (200, 200') is a network device for multipath transmission. The gateway (200, 200') includes an LTE interface (201), a 5G interface (203), a WiFi interface (205), an Ethernet interface (207), an MPAD server engine (209), a duplicate transmission processing unit (211), a merge transmission processing unit (213), and a TCP transmission processing unit (215).

[0174] The duplicate transmission processing unit (211) includes an MPTCP / MPUDP layer (211A), a TCP / UDP layer (211B), an IP layer (211C), and an L2 / L1 layer (211D). The duplicate transmission processing unit (211) processes duplicate packets received from the terminal (100) and transmits them to the content server (600), and can duplicate packets received from the content server (600) and transmit duplicate packets to the terminal (100). The specific operation is the same as the operation of the terminal (100) described in FIGS. 3 to 5.

[0175] The merged transmission processing unit (213) includes an MPTCP layer (213A), a TCP layer (213B), an IP layer (213C), and an L2 / L1 layer (213D). The merged transmission processing unit (213) merges packets received through multiple communication interfaces and transmits them to a content server (600), and splits packets received from the content server (600) and transmits them to a terminal (100) through multiple communication interfaces. The specific operation is the same as the operation of the terminal (100) described in FIGS. 3 to 5.

[0176] The TCP transmission processing unit (215) includes a TCP layer (215A), an IP layer (215B), and an L2 / L1 layer (215C). The TCP transmission processing unit (215) performs communication with the content server (600) and corresponds to a single-path transmission operation, which is identical to the operation of the terminal (100) described in FIGS. 3 to 5. However, unlike FIG. 3, the TCP transmission processing unit (215) is connected to the content server (600) through an Ethernet interface (207).

[0177] The MPAD server engine (209) performs server operations corresponding to the MPAD agent (109). At this time, the MPAD server engine (209), like the MPAD agent (109), selects a transmission mode, selects an optimal network interface combination, and performs packet scheduling and reception processing for each transmission mode. However, since the MPAD server engine (209) does not know the network state experienced by the terminal (100) when selecting the transmission mode and the optimal network interface combination, it may operate according to the request of the terminal (100) or the request of the content server (600).

[0178] The MPAD server engine (209) can select a transmission mode / optimal network interface combination by applying a policy based on a request from the MPAD agent (107) to duplicate or merge a specific packet flow. Alternatively, the MPAD server engine (209) may select a transmission mode / optimal network interface combination based on the policy of the MPAD gateway (200, 200') itself. Alternatively, when the MPAD server engine (209) receives a packet flow from the content server (600), it may receive an on-demand request from the content server (600) to duplicate or merge the transmission and select a transmission mode based on this. At this time, it may receive an on-demand request for an optimal network interface combination as well as a transmission mode. To receive on-demand requests, the MPAD server engine (209) and the content server (600) and the MPAD gateway (200, 200') may establish a separate integration structure. The integration structure may use a mobile backend infrastructure or may establish a new dedicated structure.

[0180] FIG. 7 is a flowchart illustrating an ultra-precision data communication method according to an embodiment of the present invention.

[0181] Referring to FIG. 7, a computing device executing the operation of the MPAD agent (109, 109') and / or MPAD server engine (209, 209') described in FIG. 1 to 6 selects one transmission mode among redundant transmission, merged transmission, and single path on an application unit or packet flow unit (S101).

[0182] When redundant transmission or merged transmission is selected (S103), the computing device selects at least two combinations of network interfaces among multiple network interfaces by applying differential 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 (S105). At this time, step S105 uses the mathematical formula 1 described above.

[0183] The computing device performs redundant transmission or merged transmission through at least two selected network interfaces (S107).

[0184] On the other hand, when single-path transmission is selected, the computing device transmits packets via a single path through the default network interface (S109).

[0186] FIG. 8 is a diagram illustrating redundant transmission through multiple paths according to one embodiment of the present invention, illustrating a case where the latency of the 5G interface is minimized.

[0187] Referring to FIG. 8, it is assumed that a terminal (100, 100') can transmit through three types of network interfaces: 5G, LTE, and WiFi.

[0188] In the case of a general transmission method, the terminal (100, 100') transmits and receives packets through one network interface based on the highest routing priority among available network interfaces. However, if the latency of the highest routing network interface deteriorates, it must be changed to the next or next-next network interface.

[0189] However, in the case of the TCP protocol, if the routing path changes and the source address of the service changes, a new session must be added independently of the existing session, resulting in service interruption. To compensate for this, multipath aggregation transport protocols such as MPTCP can be used to split or aggregate data based on the available transmission capacity of each network interface depending on the situation. However, for services that must transmit packets within a specific time, such as mission-critical or hard real-time services, they may be vulnerable or unavailable due to fluctuations in latency.

[0190] Therefore, latency-sensitive services can minimize packet delivery delay by redundantly transmitting packets.

[0191] That is, in the packet scheduling step in which the MPAD gateway (200, 200') stores the received (incoming) data (e.g., packets 1 to 6) in a buffer and transmits it back to the terminal (100, 100'), the same duplicate data (packets 1 to 6) is transmitted respectively through the 5G, LTE, and WiFi paths connected to the terminal.

[0192] However, depending on the type of network interface and network conditions, the arrival time of packets varies for each interface. Let us assume the gray dotted line represents the point in time when a packet is received through the terminal-side network interface and can be delivered to the application (socket). In this scenario, the 5G interface has low latency, meaning packets 1, 2, and 3 are already available; the LTE interface only allows packet 1; while the WiFi interface has not yet received a single packet. In such a case, packets 1, 2, and 3 from the 5G interface, which have the lowest delivery latency, are delivered to the application (socket), while packet 1 received via the LTE interface is discarded. In other words, the application service is enabled through the 5G interface, which has the lowest transmission latency.

[0194] FIG. 9 is a diagram illustrating redundant transmission through multiple paths according to another embodiment of the present invention, illustrating a case where the WiFi transmission delay time is minimized.

[0195] At this point, the gray dotted line is assumed to represent the point in time when data is received through the terminal-side network interface and can be transmitted to the application (socket).

[0196] Referring to Fig. 9, the situation in Fig. 8 changes to a case where the transmission delay of the 5G interface increases and the transmission delay of the WiFi interface is relatively minimized.

[0197] At the terminal (100, 100') side, based on packets received from multiple available network interfaces, packets 1, 2, 3, and 4 of the WiFi interface that arrived first are taken first and delivered to the application (socket), while packet 1 of the 5G interface and packet 1 of the LTE interface that arrived later are discarded and the WiFi interface with the lowest transmission delay is taken. Therefore, the overall transmission delay of the packet can be minimized.

[0199] FIG. 10 is a diagram illustrating redundant transmission through multiple paths according to another embodiment of the present invention, and describes a transmission method that pursues high reliability.

[0200] At this point, the gray dotted line is assumed to represent the point in time when data is received through the terminal-side network interface and can be transmitted to the application (socket).

[0201] Referring to Figure 10, duplicate packets transmitted to a terminal via 5G, LTE, and WiFi interfaces are based on IP communication due to the characteristics of each network or intermediate nodes, so a drop may occur when the amount of incoming data increases due to the best effort characteristics of the IP protocol.

[0202] In addition, situations may arise during wireless access where smooth transmission is impossible due to packet errors or retransmissions caused by noise or interference.

[0203] Therefore, when duplicate packets transmitted as examples of 5G, LTE, and WiFi interfaces respectively reach the terminal (100, 100'), the missing packets for each network interface are ignored, and it is possible to combine them into the original packet based on the packet(s) that arrived normally.

[0204] Therefore, by performing multiple path redundant transmission according to the embodiment of the present invention, it is possible to process not only the gain in latency but also an alternative structure in the event of packet errors / drops.

[0206] The embodiments of the present invention described above are not implemented only through devices and methods, but may also be implemented through a program that realizes a function corresponding to the configuration of the embodiments of the present invention or a recording medium on which such program is recorded.

[0207] Although 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 improvements by those skilled in the art using the basic concept of the present invention as defined in the following claims also fall within the scope of the present invention.

Claims

Claim 1 A method for ultra-precision data communication of a terminal connected to multiple networks through multiple network interfaces, comprising: a step of determining a transmission mode that matches an application ID or destination information representing the service characteristics of a transmission packet from among a redundant transmission mode or a merged transmission mode; a step of calculating the value of an objective function including multiple parameters for each of a plurality of network interface combinations configurable using the plurality of network interfaces; a step of selecting a network interface combination among the plurality of network interface combinations in which the value of the objective function is minimized; and a step of redundantly transmitting or merging the transmission packet using the selected network interface combination, wherein the objective function, when the determined transmission mode is a redundant transmission mode, sets the weight for average delay time among the plurality of parameters higher than the weight for delay time deviation, and when the determined transmission mode is a merged transmission mode, sets the weight for delay time deviation among the plurality of parameters higher than the weight for average delay time. Claim 2 A super-precision data communication method according to claim 1, wherein the plurality of parameters include the average delay time, the delay time deviation, and the average link capacity, and the objective function is calculated such that, in the case of the redundant transmission mode, the total delay time, which is the sum of the average delay time and the delay time deviation, has a higher weight than the average link capacity of the network interface included in each network interface combination among the plurality of network interface combinations. Claim 3 A super-precision data communication method according to claim 2, wherein the plurality of parameters include the average delay time, the delay time deviation, and the average link capacity, and the objective function is calculated such that, in the case of the merged transmission mode, the average link capacity of the network interface included in each network interface combination among the plurality of network interface combinations has a higher weight than the total delay time summed by the average delay time and the delay time deviation. Claim 4 A super-precision data communication method according to claim 1, wherein the redundant transmission redundantly transmits a portion of the transmission packet through all network interfaces included in the selected combination, and transmits another portion of the transmission packet through some network interfaces included in the selected combination without redundancy. Claim 5 In paragraph 4, the above-mentioned partial network interface is a network interface having maximum network performance based on transmission speed or delay time selected from among a plurality of network interfaces included in the selected combination, in an ultra-precision data communication method. Claim 6 A method for ultra-precision data communication according to claim 1, further comprising, after the transmitting step, the step of receiving duplicate transmission packets using the selected network interface combination, and the step of discarding duplicate transmission packets received from the remaining network interfaces, excluding duplicate transmission packets received from the network interface having the minimum delay time among the network interfaces included in the selected network interface combination. Claim 7 A method for ultra-precision data communication according to claim 1, further comprising, after the transmitting step, the step of storing a transmission packet received using the selected network interface combination in a receiving buffer, and the step of adjusting the speed of outputting the transmission packet stored in the receiving buffer to the application layer according to the transmission mode. Claim 8 In claim 7, the adjusting step is a method for ultra-precision data communication in which, in the case of merged transmission, the output speed is slowed down as the difference in delay time between interfaces within the selected network interface combination is greater, and the output speed is increased as the difference in delay time is smaller. Claim 9 In claim 7, the adjusting step comprises, in the case of redundant transmission, slowing down the output speed as the delay time difference between interfaces within the selected network interface combination increases when packet loss occurs and increasing the output speed as the delay time difference decreases when packet loss does not occur, and adjusting the output speed based on the packet reception speed of the largest network interface with the highest link capacity among the interfaces within the selected network interface combination when there is no packet loss. Claim 10 A method for ultra-precision data communication of a terminal connected to multiple networks through multiple network interfaces, comprising: a step of determining a redundant transmission mode that matches an application ID or destination information representing the service characteristics of a transmission packet; a step of calculating the value of an objective function including multiple parameters for each of multiple network interface combinations configurable using the multiple network interfaces; a step of determining a network interface combination among the multiple network interface combinations such that the value of the objective function is minimized; and a step of redundantly transmitting the transmission packet using the determined network interface combination, wherein the objective function sets the weight for average delay time among the multiple parameters higher than the weight for delay time deviation, and the transmitting step comprises redundantly transmitting a part of the transmission packet through all network interfaces included in the determined network interface combination, and transmitting another part of the transmission packet without redundancy through some network interfaces included in the determined network interface combination. Claim 11 In claim 10, the transmitting step is a method for ultra-precision data communication that checks the available link capacity of network interfaces included in the determined network interface combination and excludes network interfaces whose available link capacity does not satisfy the minimum link capacity according to the service characteristics of the transmission packet from the redundant transmission path. Claim 12 In claim 10, the determining step comprises: measuring a delay time and a link capacity for each of a plurality of network interfaces; combining the plurality of network interfaces and calculating a deviation of the delay time, an average delay time, and an average link capacity for each combination using the delay time and the link capacity; and determining a combination of network interfaces such that an objective function is minimized by assigning a higher weight to the average delay time than the deviation of the delay time and assigning a higher weight to the total delay time (the sum of the average delay time and the deviation of the delay time) than the average link capacity.