Methods, systems and storage media for adaptive multipath transmission in weak networks

By performing multipath probing and quality assessment on target servers or relay nodes and dynamically switching the primary path, the transmission problem of the QUIC protocol in weak network environments is solved. It enables switching to TCP tunnel transmission when UDP is unavailable, maintaining the low latency and multiplexing advantages of the QUIC protocol, and improving transmission efficiency and user experience.

CN121334039BActive Publication Date: 2026-03-13189CSP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-16
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

The existing QUIC protocol lacks effective path detection and adaptive switching methods in weak network environments, resulting in connection failures or fallback to low-performance traditional protocols, which cannot guarantee transmission availability and efficiency.

Method used

By performing multipath connectivity and quality probing on target servers or relay nodes, a candidate path set is established, and a high-priority path is selected based on the probing data. Network quality is periodically monitored, and the main path is dynamically switched. TCP tunnels are used to encapsulate QUIC packets to traverse UDP-blocked networks. Combined with exponentially weighted moving averages and difference thresholds to control path switching, adaptive multipath transmission is achieved.

Benefits of technology

In weak network environments, the low-latency connection and multiplexing advantages of the QUIC protocol are preserved to the maximum extent, significantly improving data transmission efficiency and user experience, avoiding connection reconstruction overhead and data jitter caused by frequent switching, and ensuring transmission reliability and performance optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121334039B_ABST
    Figure CN121334039B_ABST
Patent Text Reader

Abstract

This application relates to the field of network communication technology and discloses a method, system, and storage medium for adaptive multipath transmission in weak network environments. The method includes: performing multipath connectivity and quality detection on the target server; constructing a candidate set containing a first path with native UDP carrying QUIC, a second path with TCP tunnel encapsulated QUIC, and a third path with TCP combined with TLS; and initially selecting the primary path according to priority from high to low; periodically collecting and smoothing network quality indicators such as round-trip latency and packet loss rate during connection life; and when the monitoring data meets preset degradation conditions, reordering and switching the candidate paths using a hysteresis mechanism and a comprehensive quality scoring model. This invention, through multi-dimensional perception and dynamic strategies, solves the problem of QUIC failure caused by UDP blockage in firewall interference or weak network environments, maximizing the preservation of the advantages of the QUIC protocol without interrupting services, and significantly improving the reliability and smoothness of data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network communication technology, and in particular to an adaptive multipath data transmission technology for the Quick UDP Internet Connections (QUIC) protocol in weak network environments. Background Technology

[0002] The descriptions in this section are intended only to provide background information for the implementation of this application and should not be construed as an admission or implication that they constitute prior art.

[0003] Fast UDP Internet Connection (QUIC) is a modern transport layer network protocol built on top of the User Datagram Protocol (UDP). Due to its significant advantages such as low-latency connection establishment (0-RTT), multiplexing to avoid head-of-line blocking, and built-in encryption authentication, the QUIC protocol has been widely used in the third-generation Hypertext Transfer Protocol (HTTP / 3) and some high-performance file transfer scenarios. Publicly available technical documentation indicates that the proper functioning of the QUIC protocol depends entirely on the underlying network's support for UDP traffic.

[0004] However, in the complex real-world internet environment, the connectivity and quality of service (QoS) of UDP traffic are often difficult to guarantee. According to the Internet Engineering Task Force (IETF) guidelines on QUIC applicability, approximately 3% to 5% of global internet paths block or severely degrade UDP traffic. This phenomenon is particularly common in restricted network scenarios such as public Wireless Fidelity (WiFi) networks, enterprise intranet proxies, firewalls, and large-scale events. In these scenarios, UDP packets are highly susceptible to being dropped, rate-limited, or tampered with by firewall policies, resulting in a network environment characterized by high packet loss and high latency – a "weak network" characteristic.

[0005] To address the aforementioned issues of UDP unavailability or degradation, existing technologies typically employ simple fallback mechanisms. For example, current browser clients supporting HTTP / 3 only fall back to the traditional HTTP / 2 protocol, based on Transmission Control Protocol (TCP) and Transport Layer Security (TLS), after a complete failure or timeout in establishing a QUIC connection. This crude "black and white" fallback strategy has significant drawbacks: once a fallback occurs, the user completely loses the 0-RTT fast connection and multiplexing advantages offered by the QUIC protocol, resulting in a significant degrade in transmission performance. Furthermore, while Virtual Private Networks (VPNs) and general TCP tunneling technologies exist, VPNs are typically global proxy solutions, leading to high deployment complexity and insufficient flexibility; and general TCP tunneling technologies are not optimized for the concurrent streaming characteristics and traffic models of QUIC, resulting in less than ideal transmission efficiency. Summary of the Invention

[0006] This application provides a method, system, and storage medium for weak network adaptive multipath transmission based on the QUIC protocol. It solves the technical problem that the existing QUIC transmission mechanism fails to guarantee transmission availability and efficiency in weak network, restricted network, or UDP degraded environments due to the lack of effective path detection and adaptive switching methods, which leads to connection failure or the need to fall back to low-performance traditional protocols.

[0007] This application discloses a weak network adaptive multipath transmission method based on the QUIC protocol, including:

[0008] Perform connectivity and quality probes on target servers or relay nodes for multiple transmission paths to obtain probe data, including handshake results and network quality indicators.

[0009] Based on the detection data, the available paths are divided into a set of candidate paths, which includes: a first path carrying QUIC data packets based on the UDP protocol, a second path establishing a tunnel through a TCP connection or HTTPS connection and transmitting QUIC data packets within the tunnel, and a third path for non-QUIC transmission based on the TCP protocol combined with TLS encryption.

[0010] A primary path is selected from the candidate path set according to a preset priority, wherein the first path has a higher priority than the second path, and the second path has a higher priority than the third path.

[0011] During the connection's duration, network quality metrics for the current main path are periodically collected as monitoring data.

[0012] When the monitoring data meets the degradation conditions within a preset time window, the paths in the candidate path set are re-detected and sorted, and a new main path is selected.

[0013] In a preferred embodiment, the server of the second path uses a TCP-based QUIC encapsulation mechanism to add a TCP header to the QUIC data packet instead of a UDP header for transmission.

[0014] In a preferred embodiment, the network quality metrics include at least two of round-trip time, packet loss rate, and number of retransmissions;

[0015] The periodic data collection includes smoothing the round-trip delay using an exponentially weighted moving average.

[0016] In a preferred embodiment, re-probing and reordering the paths in the candidate path set further includes:

[0017] A comprehensive quality score is calculated based on the network quality indicators of each path, and the comprehensive quality score is a weighted sum of the network quality indicators.

[0018] The overall quality score is added to the priority bias value of each path to obtain the final score of each path;

[0019] Choose the path with the best final score as the new main path.

[0020] In a preferred embodiment, a minimum switching interval is set, and new path switching is prohibited when the time since the last path switching has not exceeded the minimum switching interval.

[0021] In a preferred embodiment, a difference threshold condition is set so that path switching is only allowed when the quality improvement of the candidate path relative to the current main path exceeds a preset difference threshold.

[0022] In a preferred embodiment, when the packet loss rate of the first path increases but does not reach the degradation condition, a compensation processing stage is initiated, which includes:

[0023] The following network characteristic parameters are statistically analyzed according to a preset time slice period: basic packet loss rate, packet loss burst index, and round-trip delay variation gradient; wherein, the packet loss burst index is the ratio of the consecutive packet loss event count to the total packet loss event count, used to characterize the degree of packet loss aggregation; the round-trip delay variation gradient is the difference between the smooth round-trip delay of the current period and the smooth round-trip delay of the previous period, divided by the smooth round-trip delay of the previous period.

[0024] The redundancy gain coefficient is calculated based on the network characteristic parameters. The redundancy gain coefficient is equal to the algebraic sum of the basic security base, the burst compensation term proportional to the packet loss burst index, and the congestion suppression term related to the round-trip delay variation gradient. The redundancy gain coefficient is constrained within a preset upper and lower boundary range. The burst compensation term is used to increase the redundancy gain coefficient when packet loss is in a continuous burst mode, and the congestion suppression term is used to decrease the redundancy gain coefficient when network congestion worsens.

[0025] The proportion of forward error correction redundant packets is calculated based on the redundancy gain coefficient and the basic packet loss rate, and forward error correction redundant packets are generated and sent according to the proportion.

[0026] The bandwidth overhead required for forward error correction is calculated and compared with the expected performance loss of switching to the second path. When the proportion of the forward error correction redundant packets exceeds the preset maximum allowable redundancy rate, or the bandwidth overhead exceeds the expected performance loss, it is determined that the first path cannot be effectively compensated by forward error correction, and a switch from the first path to the second path is triggered.

[0027] In a preferred embodiment, the periodic collection of network quality metrics for the current main path includes:

[0028] The client collects downlink network quality metrics to obtain client-side quality data;

[0029] The server collects the network quality indicators of the uplink and pushes the network quality indicators of the uplink to the client through QUIC frames to obtain server-side quality data.

[0030] The client-side quality data and the server-side quality data are weighted and calculated to obtain a comprehensive dual-end quality score, which is used as the monitoring data.

[0031] This application also discloses a weak network adaptive multipath transmission system based on the QUIC protocol, including:

[0032] processor;

[0033] Memory, used to store executable code in a computer;

[0034] The processor is configured to execute the computer-executable code to implement the method described above.

[0035] This application also discloses a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described above.

[0036] In the implementation of this application, by performing multi-path connectivity and quality detection on the target server, a priority-based candidate path set including native UDP / QUIC, TCP tunnel-encapsulated QUIC, and traditional TCP+TLS is established. Based on real-time monitoring data, dynamic degradation judgment and path reselection are performed. This effectively solves the technical problem that the existing QUIC protocol cannot work or suffers a sharp performance drop in weak network environments such as firewall interference, public WiFi speed limits, or UDP degradation by intermediate devices. Specifically, this solution breaks the traditional mechanism of only falling back when QUIC completely fails. By prioritizing the maintenance of native or tunneled QUIC connections, the advantages of QUIC protocol's low-latency connection (0-RTT) and multiplexing without head-of-line blocking are preserved to the maximum extent. Only when all QUIC methods fail does it degrade to TCP+TLS. Thus, while ensuring transmission reliability, it significantly improves data transmission efficiency and user experience in weak network environments.

[0037] Furthermore, by adopting a TCP-based QUIC encapsulation mechanism as the second-priority transmission path, QUIC packets can be carried using the excellent penetration capabilities of the TCP protocol in network environments where UDP traffic is strictly blocked or severely QoS-limited. This avoids UDP blocking by network devices while still preserving the encrypted flow control and multi-stream concurrency features of the QUIC protocol at the application layer, thus avoiding the high handshake costs of establishing traditional HTTP / 2 connections.

[0038] Furthermore, by collecting multi-dimensional network metrics such as round-trip delay, packet loss rate, and retransmission count, and applying the exponentially weighted moving average (EWMA) algorithm for smoothing, instantaneous jitter and random noise in network transmission can be effectively filtered out. This ensures that the path quality assessment results reflect the true long-term trend of the network status, thereby improving the robustness of the decision-making system and preventing misjudgments caused by occasional network fluctuations.

[0039] Furthermore, by constructing a comprehensive scoring model that includes weighted quality scores and priority bias values, a quantitative comparison benchmark can be provided for paths with different protocol attributes. This allows the system to automatically favor higher-priority paths (such as UDP paths) when path quality is similar, and only switch when the performance advantage of low-priority paths is sufficient to offset the preset bias value. This ensures optimal performance while maintaining the system's stickiness to the preferred protocol.

[0040] Furthermore, by setting a time-locking mechanism for minimum switching intervals, a cooling-off period can be forced after each path switch, effectively preventing the system from falling into high-frequency oscillations (Ping-Pong effect) between two paths with similar performance or severe network fluctuations, thereby reducing connection reconstruction overhead and data transmission jitter caused by frequent switching.

[0041] Furthermore, by introducing a switching judgment condition based on a difference threshold, that is, requiring the quality improvement of the candidate path to exceed a certain threshold before switching is allowed, a hysteresis loop of the decision logic can be constructed to ensure that each path migration has significant performance benefits and avoid paying high connection migration costs for negligible quality improvements.

[0042] Furthermore, by implementing multi-dimensional perception of network characteristics, including packet loss burst index and latency variation gradient, and dynamically adjusting the redundancy gain coefficient of forward error correction (FEC) accordingly, it is possible to intelligently distinguish whether the network is in a state of "random / malicious interference packet loss" or "physical congestion". In the former case, the redundancy ratio is increased to use bandwidth to exchange for reliability, while in the latter case, redundancy is suppressed to avoid aggravating congestion. Thus, targeted adaptive compensation is performed before the UDP path deteriorates completely, significantly extending the effective service time of the UDP path.

[0043] Furthermore, by establishing a dual-end collaborative quality monitoring mechanism, the server can push uplink quality data back through QUIC frames and perform weighted fusion with the client's downlink monitoring data. This can eliminate the blind spots in monitoring from the client's one-sided perspective, accurately identify and respond to complex network scenarios with severe asymmetry in uplink and downlink quality (such as uplink being restricted and downlink being unobstructed), and ensure the accuracy of end-to-end quality perception.

[0044] The various technical features disclosed in the above-described invention, the various technical features disclosed in the following embodiments and examples, and the various technical features disclosed in the accompanying drawings can be freely combined to form various new technical solutions (all of which should be considered as having been recorded in this specification), unless such a combination of technical features is technically infeasible. For example, in one example, feature A+B+C is disclosed, and in another example, feature A+B+D+E is disclosed. Features C and D are equivalent technical means that serve the same function, and technically only one needs to be used; it is impossible to use both simultaneously. Feature E can be technically combined with feature C. Therefore, the solution A+B+C+D should not be considered as having been recorded because it is technically infeasible, while the solution A+B+C+E should be considered as having been recorded. Attached Figure Description

[0045] Figure 1 This is a schematic flowchart of a weak network adaptive multipath transmission method based on the QUIC protocol according to an embodiment of this application;

[0046] Figure 2 This is a functional block diagram of a weak network adaptive multipath transmission system based on the QUIC protocol according to an embodiment of this application. Detailed Implementation

[0047] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in these embodiments can be combined with each other.

[0048] Example 1

[0049] This embodiment provides a weak network adaptive multipath transmission method based on the QUIC protocol. This method is applicable to data transmission scenarios between clients and servers, and is particularly suitable for situations with limited network environments such as public WiFi, enterprise proxies, firewalls, or exhibition scenarios. The process of this method is as follows: Figure 1 As shown.

[0050] In the path capability detection phase, in step 101, the client first performs connectivity and quality detection on multiple transmission paths to the target server or relay node to obtain detection data, including handshake results and network quality indicators. Specifically, the client attempts to establish three different types of transmission paths in sequence.

[0051] For the first path carrying QUIC packets via UDP, the client sends a QUIC Initial message to a designated port on the server. This message contains a connection identifier and encryption parameters generated by the client. If the server returns a valid QUIC Handshake message within a preset probe timeout period, the UDP connectivity probe is considered successful; in this embodiment, the UDP probe timeout is set to 3 seconds. Based on the successful connectivity probe, the client further collects the initial round-trip time and initial packet loss rate as quality probe data. The initial round-trip time is obtained by calculating the time difference between the sending time of the Initial message and the receiving time of the Handshake message, and the initial packet loss rate is obtained by sending multiple probe messages during the probe phase and calculating the response loss ratio. If the initial round-trip time does not exceed 300 milliseconds and the initial packet loss rate does not exceed 5%, the quality probe of the first path is considered successful, and it is marked as a candidate path.

[0052] For the second path, which establishes a tunnel via a TCP connection and transmits QUIC packets within the tunnel, the client first establishes a TCP connection with the tunnel server. Specifically, the client initiates a TCP three-way handshake with the tunnel server, and then establishes a TLS encrypted channel on the TCP connection to ensure transmission security. After the TLS handshake is completed, the client forwards QUIC packets to the target QUIC server through the encrypted tunnel. In this embodiment, the timeout for TCP tunnel probing is set to 5 seconds, which covers the total time spent on the TCP handshake, TLS handshake, and the first round trip of the QUIC packet. If the above process is successfully completed within the timeout period and a server response is received, the connectivity probe for the second path is considered successful. Regarding quality probing, the same method as for the first path is used to collect the initial round-trip time and initial packet loss rate, but it should be noted that the round-trip time of the tunnel path is usually higher than that of the direct connection path.

[0053] For third-path connections using non-QUIC transport based on TCP with TLS encryption, the client establishes an HTTP / 2 connection with the server using a standard TCP+TLS handshake. This path does not use the QUIC protocol but instead uses the traditional HTTP / 2 as the application layer protocol. The probe process includes a TCP three-way handshake, a TLS handshake, and the exchange of the HTTP / 2 connection frontier. If an HTTP / 2 connection is successfully established within a 5-second timeout, the third-path connectivity probe is considered successful. The method for collecting quality probe data is similar to the previous two paths.

[0054] After the detection is completed, in step 102, the client divides the available paths into a candidate path set based on the detection data. Let the candidate path set be... ,in Indicates the first path, Indicates the second path, This represents the third path. For each path... Define candidate flags When the path When connectivity detection is successful and quality detection passes. ;otherwise .

[0055] Then, proceeding to step 103, in the initial main path selection phase, the client selects the main path from the candidate path set according to a preset priority. This invention sets the priority of the first path higher than the second path, and the priority of the second path higher than the third path. This is because UDP-based QUIC transmission has advantages such as 0-RTT connection recovery, multiplexing, and connection migration, while TCP tunnels carrying QUIC, although sacrificing some performance, retain most of the QUIC characteristics. Traditional TCP+TLS completely loses the advantages of QUIC but has the widest compatibility. The main path selection logic can be expressed as: when... When choosing the first path As the main path; when and When choosing the second path As the main path; when and and When choosing the third path As the main path.

[0056] Following this, step 104 is initiated. During the connection's duration, the client enters the runtime quality monitoring phase, periodically collecting network quality metrics for the current main path as monitoring data. In this embodiment, the monitoring period is set to 200 milliseconds, meaning quality metrics are collected every 200 milliseconds. The collected network quality metrics include round-trip time (RTT), packet loss rate, and retransmission count. RTT is calculated using the timestamp information in the ACK frame of the QUIC protocol; packet loss rate is calculated as the difference between the number of data packets sent and the number of acknowledged data packets received within the statistical monitoring period; and retransmission count is obtained by the number of times the retransmission mechanism is triggered within the statistical monitoring period.

[0057] Then, proceed to step 105. When the monitoring data meets the degradation conditions within a preset time window, the path degradation judgment and reselection process is triggered. In this embodiment, the degradation conditions include one of the following three scenarios: the smooth round-trip latency exceeds 500 milliseconds for five consecutive monitoring periods; the packet loss rate exceeds 15% for five consecutive monitoring periods; and the error count exceeds 10 times for three consecutive monitoring periods. The above three scenarios are combined and judged using a logical OR relationship, meaning that satisfying any one of the scenarios determines that the path is degraded. Once the current main path is determined to be degraded, the client re-probes and sorts the paths in the candidate path set and selects a new main path. The re-probe process is the same as the initial probe, and the specific sorting method will be described in detail in subsequent embodiments.

[0058] Using the above method, this embodiment can automatically use the performance-advantageous QUIC protocol when UDP is available, and automatically switch to TCP tunnel or TCP+TLS transmission when UDP is unavailable or severely degraded, thereby maintaining the availability and performance of transmission in weak network environments.

[0059] Example 2

[0060] This embodiment, based on Embodiment 1, provides a detailed description of the specific implementation of the second path. In this embodiment, the server of the second path adopts a TCP-based QUIC encapsulation mechanism. This mechanism references the MsQuic QTIP (QUIC over TCP IP) specification, which adds a TCP header to QUIC packets instead of a UDP header for transmission, enabling QUIC packets to traverse network environments that only allow TCP traffic.

[0061] In terms of encapsulation format design, this embodiment adopts a length prefix encapsulation method. Specifically, before each QUIC packet is transmitted through the TCP tunnel, a 2-byte length field needs to be added to its beginning. This length field is encoded in big-endian order and indicates the byte length of the following QUIC packet. The encapsulated data format is: 2-byte length field + original QUIC packet. Since TCP is a byte-stream-oriented protocol rather than a datagram-oriented protocol, the introduction of the length prefix solves the boundary identification problem of QUIC packets in the TCP stream.

[0062] In terms of the encapsulation process, when a client needs to send a QUIC data packet via the second path, the transmission adaptation unit first calculates the byte length of the QUIC data packet to be sent, then encodes the length value into a 2-byte big-endian format, and then concatenates the length field with the QUIC data packet to form an encapsulated data block. Finally, the data block is written to the TCP connection's send buffer. To improve transmission efficiency, this embodiment supports batch encapsulation, meaning that multiple QUIC data packets can be encapsulated sequentially and written to the TCP send buffer together, with the TCP protocol handling the actual segmentation and transmission.

[0063] Regarding the decapsulation process, when the server or client receives data from the TCP connection, the tunnel management unit first reads a 2-byte length field from the receive buffer, parses the length value of subsequent QUIC packets, and then reads the corresponding number of bytes from the receive buffer based on this length value to form a complete QUIC packet. Finally, the decapsulated QUIC packet is handed over to the QUIC protocol stack for processing. Since TCP may segment data, the receiver needs to handle incomplete packets; that is, when the data in the receive buffer is insufficient to form a complete encapsulation unit, it needs to wait for subsequent data to arrive before decapsulation.

[0064] Regarding compatibility with standard QUIC, this embodiment utilizes a connection identifier mechanism to migrate QUIC connections between UDP and TCP tunnel paths. When a client switches from the first path to the second path, the client carries the original connection identifier in the first QUIC data packet sent after the switch. The server uses this connection identifier to associate data packets in the TCP tunnel with the existing QUIC connection context, thus achieving seamless connection state migration. This mechanism ensures that the application layer is unaware of changes in the underlying transmission path, guaranteeing a continuous user experience.

[0065] This embodiment also supports optional compression optimization. Considering the redundancy in the header of QUIC data packets, this embodiment can optionally compress the QUIC header during encapsulation. Specifically, for consecutive data packets within the same QUIC connection, fields such as the connection identifier and version number usually remain unchanged. Differential encoding can be used to transmit only the changed fields, thereby reducing the bandwidth overhead of tunnel transmission.

[0066] Example 3

[0067] This embodiment, based on Embodiment 1, provides a detailed explanation of the method for collecting network quality indicators and calculating path scores. In this embodiment, the network quality indicators include three types: round-trip time, packet loss rate, and retransmission count. The round-trip time is smoothed using an exponentially weighted moving average to eliminate the impact of instantaneous fluctuations on the judgment results.

[0068] Regarding the acquisition and smoothing of round-trip latency, the client calculates the average round-trip latency for that period at the end of each monitoring cycle. ,in Indicates the current main path. This indicates the current time. To eliminate instantaneous fluctuations caused by network jitter, this embodiment uses an exponentially weighted moving average to smooth the round-trip delay. The smoothed round-trip delay... Calculate using the following formula:

[0069]

[0070] in The smoothing coefficient is set to 0.8 in this embodiment. This value means that the measured value of the current period accounts for 20% of the weight, while the historical smoothed value accounts for 80% of the weight, thus effectively suppressing short-term fluctuations while maintaining sensitivity to network changes. For the first monitoring period, since there is no historical smoothed value, the measured value of the current period is directly used as the smoothing value. .

[0071] Regarding packet loss rate collection, the client counts the total number of data packets sent within each monitoring period. and the number of confirmed data packets received Number of lost packets Packet loss rate in the current period Similarly, the packet loss rate is also smoothed using an exponentially weighted moving average. The smoothed packet loss rate is... The calculation method is similar to that of round-trip delay, and the smoothing coefficient is also set to 0.8.

[0072] Regarding the collection of retransmission counts, the client counts the number of times the retransmission mechanism is triggered within each monitoring period. The retransmission mechanism is triggered in two ways: timeout retransmission and fast retransmission. Any event that causes a data packet to be retransmitted is counted in the retransmission count.

[0073] In calculating the overall quality score, this embodiment calculates the overall quality score based on the network quality indicators of each path. Let the path... At any moment The overall quality score is The calculation formula is as follows:

[0074]

[0075] in , , These are the weighting coefficients for round-trip delay, packet loss rate, and retransmission count, respectively. In this embodiment, , , It should be noted that, since the packet loss rate is typically a decimal between 0 and 1, to make it comparable in magnitude to round-trip time (usually tens to hundreds of milliseconds), this embodiment multiplies the packet loss rate by 1000 before participating in the weighted calculation. A lower overall quality score indicates better path quality.

[0076] In calculating the final score, this embodiment adds the overall quality score to the priority bias value of each path to obtain the final score for each path. Let the path... The priority bias value is The final score for:

[0077]

[0078] In this embodiment, the priority bias value of the first path The priority bias value of the second path The priority bias value of the third path The priority bias value reflects the inherent advantages and disadvantages of each path. Even if the overall quality score of the second path is comparable to that of the first path, the first path will still be selected first due to the existence of the bias value, which is in line with the performance advantage expected of the QUIC protocol.

[0079] Regarding path selection, the client chooses the path with the best final rating (i.e., the lowest final rating) as the new primary path. The selection of the new primary path can be represented as:

[0080]

[0081] Through the above scoring mechanism, this embodiment achieves quantitative evaluation and ranking of path quality, making path selection decisions objective and reproducible.

[0082] Example 4

[0083] This embodiment, based on Embodiments 1 and 3, provides a detailed explanation of the hysteresis control mechanism for path switching. To prevent frequent path switching due to short-term fluctuations in network quality, this embodiment sets up two hysteresis control methods: minimum switching interval and difference threshold condition.

[0084] Regarding the minimum handover interval, this embodiment sets a minimum handover interval. If the time since the last path switch does not exceed this minimum switch interval, a new path switch is prohibited. Let the time of the last path switch be... The current time is The time interval condition for path switching is:

[0085]

[0086] In this embodiment, the minimum switching interval Set to 10 seconds. This setting is based on the following considerations: the path switching process involves the migration of connection states and the retransmission of data, and frequent switching will lead to a decrease in transmission efficiency and a deterioration in user experience; at the same time, short-term fluctuations in network quality usually recover within a few seconds, and setting an appropriate minimum switching interval can filter out these short-term fluctuations.

[0087] Regarding the difference threshold condition, this embodiment sets a difference threshold condition, allowing path switching only when the quality improvement of the candidate path relative to the current main path exceeds a preset difference threshold. Let the current main path be... Candidate paths are The difference threshold conditions include two items: round-trip delay difference threshold and packet loss rate difference threshold. The round-trip delay difference condition is:

[0088]

[0089] The conditions for the difference in packet loss rate are:

[0090]

[0091] In this embodiment, the round-trip delay difference threshold Set to 50 milliseconds, packet loss rate difference threshold Set to 5%. Path switching will only be triggered when a candidate path shows a significant improvement in round-trip latency or packet loss rate compared to the current primary path. This design avoids unnecessary switching due to minor quality differences between paths.

[0092] The path switching lag control in this embodiment can be described using a state machine. The state machine includes two main states: a normal operation state and a degradation assessment state. In the normal operation state, the client continuously monitors quality. When the monitoring data meets the degradation conditions, it transitions to the degradation assessment state. In the degradation assessment state, the client first checks the time interval condition; if the time since the last switch is insufficient… If the current path is maintained and the system returns to normal operation, then if the time interval condition is met, the candidate paths are re-probeed and the final score of each path is calculated. Then, the difference threshold condition is checked. If the quality improvement of the optimal candidate path relative to the current main path does not exceed the difference threshold, then the current path is maintained and the system returns to normal operation. If the difference threshold condition is met, then a path switch is performed and the system is updated. Set the current time and return to normal operation.

[0093] Through the aforementioned hysteresis control mechanism, this embodiment ensures timely response to network quality deterioration while effectively avoiding frequent switching caused by short-term fluctuations, thus improving transmission stability.

[0094] Example 5

[0095] This embodiment, based on Embodiment 1, provides a detailed explanation of the compensation mechanism when the packet loss rate of the first path increases but has not yet reached the path switching condition. This embodiment introduces a dynamic forward error correction mechanism, which adaptively adjusts the sending ratio of FEC redundant packets according to the current network characteristic parameters to extend the availability time of the UDP path and avoid premature switching to the lower-performance TCP tunnel.

[0096] When the packet loss rate of the first path increases but does not reach the degradation condition, the client enters the compensation processing phase. During the compensation processing phase, the client statistically analyzes network characteristic parameters according to a preset time slice period. In this embodiment, the time slice period is... Set to 200 milliseconds. The statistical network characteristic parameters include three types: base packet loss rate, packet loss burst index, and round-trip delay variation gradient.

[0097] Base packet loss rate This is the ratio of the number of data packets lost to the total number of data packets sent within the current time slice. Let the total number of data packets sent within the time slice be... The number of lost data packets is ,but .

[0098] Packet loss suddenness index The value used to characterize the clustering of packet loss is defined as the ratio of the count of consecutive packet loss events to the total count of packet loss events. A consecutive packet loss event refers to a situation where the current packet is lost and the immediately preceding packet is also lost. Let the count of consecutive packet loss events be... The total number of packet loss events is ,but The packet loss burst index ranges from 0 to 1, where 0 indicates that all packet loss is random and 1 indicates that all packet loss is continuous burst. The introduction of the packet loss burst index enables the system to distinguish between packet loss caused by random noise and packet loss caused by specific interference (such as periodic blocking by firewalls), thereby adopting targeted compensation strategies.

[0099] Round-trip delay gradient This is used to determine whether a network is experiencing worsening congestion. It is defined as the difference between the smoothed round-trip time (RTT) of the current period and the smoothed RTT of the previous period, divided by the smoothed RTT of the previous period. Let the smoothed RTT of the current period be... The smooth round-trip time of the previous cycle was ,but:

[0100]

[0101] when A positive and large value indicates that network latency is rising sharply, and physical congestion may be occurring.

[0102] Based on the aforementioned network characteristic parameters, the client calculates the redundancy gain coefficient. The redundancy gain coefficient is equal to the algebraic sum of the basic safety base, the burst compensation term proportional to the packet loss burst exponent, and the congestion suppression term proportional to the round-trip delay gradient, and the redundancy gain coefficient is constrained within a preset upper and lower boundary range. The specific calculation formula is as follows:

[0103]

[0104] in As a basic security baseline, this embodiment uses a value of 1.1, which retains an additional 10% redundancy margin even in the event of random packet loss; The burst sensitivity weight is set to 0.6 in this embodiment, which is used to increase the redundancy gain coefficient when packet loss is in a continuous burst mode. The congestion suppression weight is set to 0.4 in this embodiment, which is used to reduce the redundancy gain coefficient when network congestion worsens. As the activation function, when hour ,otherwise In this embodiment, the activation threshold The value is 0.1; The boundary constraint function restricts the calculation results to a preset upper and lower boundary range. In this embodiment, the lower boundary is 1.0 and the upper boundary is 2.5.

[0105] Emergency Compensation Items The working principle is that when packet loss exhibits a continuous burst pattern, the recovery capability of XOR-based or Reed-Solomon-based FEC algorithms significantly decreases because the continuously lost data packets may exceed the error correction capability of FEC. Therefore, the more clustered the packet loss, the more redundancy is needed to cover the continuous gaps. (Congestion suppression term) The working principle is that when the round-trip delay increases sharply, it indicates that the link may be physically congested. At this time, blindly increasing FEC traffic will exacerbate the congestion and lead to "congestion collapse". Therefore, negative adjustment is needed to reduce the amount of data sent.

[0106] Based on the redundancy gain coefficient and the base packet loss rate, the client calculates the proportion of forward error correction redundant packets. :

[0107]

[0108] in The maximum allowable redundancy rate is set to 50% in this embodiment. The client generates forward error correction redundancy packets according to the calculated redundancy ratio and sends them. Specifically, the QUIC sender... Dynamically generate verification packets and interleave them into the data stream for transmission.

[0109] This embodiment also introduces a linkage judgment logic between FEC compensation and path switching. The client calculates the bandwidth overhead required for forward error correction and compares it with the expected performance loss of switching to the second path. When the proportion of forward error correction redundant packets exceeds the preset maximum allowable redundancy rate, or the bandwidth overhead exceeds the expected performance loss, it is determined that the first path cannot be effectively compensated by forward error correction, triggering a switch from the first path to the second path. Specifically, when When the packet loss rate is too high, it indicates that even with maximum redundancy, it is difficult to guarantee transmission quality. In this case, a more reliable TCP tunnel path should be switched.

[0110] Through the aforementioned dynamic FEC compensation mechanism, this embodiment can extend the usage time of the UDP path when the packet loss rate is high but still recoverable, avoiding frequent fallbacks to low-performance TCP tunnels and significantly improving the user experience in weak network environments.

[0111] Example 6

[0112] This embodiment, based on Embodiments 1 and 3, provides a detailed description of the dual-end collaborative path quality assessment mechanism. Considering that existing path quality monitoring primarily relies on the client's perspective, only perceiving the downlink quality status while struggling to quickly detect uplink (client-side transmission) quality deterioration, this embodiment introduces a server-assisted decision-making mechanism to achieve full-duplex network quality perception.

[0113] When periodically collecting network quality metrics for the current main path, the client collects downlink network quality metrics to obtain client-side quality data. The methods for collecting downlink round-trip latency, packet loss rate, and retransmission count are the same as in Example 3. Let the client-collected downlink overall quality score be... Its calculation method is consistent with the comprehensive quality score formula in Example 3.

[0114] Meanwhile, a path quality monitoring module also runs on the server side, collecting uplink network quality metrics. The uplink quality metrics monitored by the server include: packet loss rate of data packets received from the client (determined by statistically analyzing the continuity of sequence numbers of received data packets), reception jitter (determined by calculating changes in the arrival time interval of adjacent data packets), and out-of-order packet rate. The server pushes the collected uplink network quality metrics to the client via QUIC frames.

[0115] Regarding the selection of QUIC frames, this embodiment utilizes the Extension Frame mechanism of the QUIC protocol to transmit server-side quality data. Specifically, the server encodes uplink packet loss rate, jitter value, and out-of-order rate into a custom QUALITY_FEEDBACK frame, whose type identifier is an extended frame type in the range of 0x40 to 0x7f. The QUALITY_FEEDBACK frame format includes a frame type field, a sequence number field, an uplink packet loss rate field, an uplink jitter value field, and an uplink out-of-order rate field. The server sends QUALITY_FEEDBACK frames to the client at a fixed period (200 milliseconds in this embodiment), and the client parses the server-side quality data after receiving the frame.

[0116] The client performs a weighted calculation based on client-side and server-side quality data to obtain a comprehensive quality score, which serves as the monitoring data. Let the comprehensive uplink quality score collected and pushed by the server be... Dual-end comprehensive quality score The calculation formula is:

[0117]

[0118] in This represents the client-side weighting coefficient, which is adjusted according to the service type in this embodiment. For download-related services (such as file downloads and video playback), downlink quality is more important. The value is 0.7; for upload-related services (such as video streaming and file upload), uplink quality is more important. The value is 0.3; for interactive services (such as video conferencing and real-time communication), uplink and downlink are equally important. The value is 0.5. The client can automatically set this value based on the current session's service type. The value can also be explicitly specified by the application layer.

[0119] In determining path degradation and reselecting a path, this embodiment uses a comprehensive dual-end quality score instead of a single-end quality score. This improvement addresses the misjudgment problem caused by asymmetric routing (inconsistent uplink and downlink quality). For example, in some network environments, the downlink quality is good but the uplink is severely congested. If only client monitoring is relied upon, it is difficult to detect uplink problems in a timely manner. By introducing server-side quality feedback, the client can comprehensively grasp the quality status of both bidirectional links, thereby making more accurate path selection decisions.

[0120] This embodiment also supports server-initiated path switching suggestions. When the server detects severe uplink quality degradation (e.g., uplink packet loss rate consistently exceeding 20%), the server can set a switching suggestion flag in the QUALITY_FEEDBACK frame. Upon receiving this flag, the client can directly trigger the path reselection process without waiting for local degradation conditions to be met. This mechanism further improves the response speed to uplink issues.

[0121] Example 7

[0122] This embodiment provides a weak network adaptive multipath transmission system based on the QUIC protocol, used to implement the methods described in Embodiments 1 to 6. Figure 2 As shown, the system includes a processor and a memory, in which computer-executable code is stored, and the processor is configured to execute the computer-executable code to implement the above-described method.

[0123] In terms of hardware configuration, the system in this embodiment can be deployed on a variety of computing devices. When deployed as a client, the system can run on a personal computer, smartphone, tablet, or embedded device.

[0124] In terms of software architecture, such as Figure 2 As shown, the system's functional modules include a path detection unit (PP), a quality monitoring unit (QM), a policy decision unit (PD), a tunnel management unit (TM), and a transmission adaptation unit (TA). The path detection unit is responsible for the path capability detection function described in Embodiment 1, including UDP+QUIC detection, TCP tunnel detection, and TCP+TLS detection. Its implementation involves sending probe packets and receiving responses by calling the operating system's network socket interface. The quality monitoring unit is responsible for the network quality indicator collection and smoothing function described in Embodiment 3. Its implementation involves registering callback functions in the QUIC protocol stack to obtain the RTT estimate, packet loss statistics, and retransmission count within the protocol stack. The policy decision unit is responsible for the comprehensive quality score calculation and path selection function described in Embodiment 3, as well as the hysteresis control function described in Embodiment 4. Its implementation involves executing scoring algorithms and state machine logic based on the data provided by the quality monitoring unit. The tunnel management unit is responsible for the TCP tunnel establishment and QTIP encapsulation function described in Embodiment 2. Its implementation involves managing the TCP connection pool and performing encapsulation and decapsulation operations. The transmission adaptation unit is responsible for data forwarding and format adaptation between different paths. It is implemented by handing over the upper-layer data to the corresponding transmission channel for transmission according to the instructions of the policy decision unit.

[0125] Regarding inter-module interaction, the path detection unit outputs its detection results to the strategy decision unit, and the quality monitoring unit outputs its monitoring data to the strategy decision unit. The strategy decision unit makes path selection decisions based on the detection results and monitoring data, and issues control commands to the transmission adaptation unit and the tunnel management unit. The transmission adaptation unit interacts with the QUIC service (QS) and the HTTP / 2 service (HS), while the tunnel management unit interacts with the tunnel service (TS). When the dynamic FEC compensation function described in Embodiment 5 needs to be implemented, the strategy decision unit also needs to send the FEC redundancy rate parameter to the transmission adaptation unit. When the dual-end collaborative function described in Embodiment 6 needs to be implemented, the quality monitoring unit also needs to parse the QUALITY_FEEDBACK frame from the server and provide the server-side quality data to the strategy decision unit.

[0126] Regarding the storage medium, this embodiment provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the aforementioned method. The computer-readable storage medium can be a non-volatile storage medium, including but not limited to hard disk drives, solid-state drives, flash memory cards, optical discs (such as CD-ROMs and DVDs), or other forms of non-volatile memory. The computer-readable storage medium can also be a volatile storage medium, such as random access memory. The computer program can be stored in the storage medium in the form of source code, compiled object code, or intermediate code in a way that is a mixture of both.

[0127] The system in this embodiment can be deployed in various forms. When deployed as a standalone application, the system is installed on the user's device as an executable program, providing transparent multipath adaptation services between the application layer and the QUIC protocol stack. When deployed as a browser plugin, the system is integrated into browsers such as Edge and Chrome as a browser extension, providing weak network adaptation capabilities for the browser's HTTP / 3 connections. When deployed as a communication software plugin, the system is integrated into communication software such as Microsoft Teams as a plugin, providing network quality assurance for real-time audio and video communication. When deployed as an embedded SDK, the system is provided to third-party developers as a software development kit, which developers can integrate into their own applications to obtain weak network adaptation capabilities.

[0128] Furthermore, embodiments of this application also provide a computer program product, including computer-executable instructions that, when executed by a processor, implement the steps in the above-described method embodiments.

[0129] It should be noted that in this application, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element. In this application, if it refers to performing an action according to an element, it means performing the action at least according to that element, including two cases: performing the action only according to that element, and performing the action according to that element and other elements. Expressions such as "multiple," "repeatedly," and "various" include two, two times, two kinds, and more than two, more than two times, and more than two kinds.

[0130] The numbering used in describing the steps of a method does not inherently limit the order of these steps. For example, a step with a higher number does not necessarily have to be executed after a step with a lower number; it can be executed first and then second, or even in parallel, as long as this execution order is reasonable to someone skilled in the art. Similarly, multiple steps with consecutively numbered sequences (e.g., step 101, step 102, step 103, etc.) do not restrict other steps from being executed between them; for example, there can be other steps between step 101 and step 102.

[0131] This specification includes combinations of various embodiments described herein. Individual references to embodiments are made (e.g., "one embodiment," "some embodiments," or "preferred embodiments"); however, these embodiments are not mutually exclusive unless indicated to be mutually exclusive or are readily apparent to those skilled in the art. It should be noted that the word "or" is used in a non-exclusive sense throughout this specification unless the context explicitly indicates or requires it.

[0132] All references to this specification are considered to be incorporated integrally into the disclosure of this application so that they can serve as the basis for modifications if necessary. Furthermore, it should be understood that the above descriptions are merely preferred embodiments of this specification and are not intended to limit the scope of protection of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the scope of protection of one or more embodiments of this specification.

[0133] In some cases, the actions or steps described in the claims can be performed in a different order than that shown in the embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

Claims

1. A weak network adaptive multi-path transmission method based on a QUIC protocol, characterized in that, The method comprises the following steps: Performing connectivity detection and quality detection on the target server or relay node through multiple transmission paths, and obtaining detection data including handshake results and network quality indicators; According to the detection data, dividing the available paths into a candidate path set, which includes a first path based on UDP protocol to carry QUIC data packets, a second path to establish a tunnel through TCP connection or HTTPS connection and transmit QUIC data packets in the tunnel, and a third path based on TCP protocol combined with TLS encryption for non-QUIC transmission; the server of the second path adopts a TCP-based QUIC encapsulation mechanism to add a TCP header to the QUIC data packet to replace the UDP header for transmission; Selecting a main path from the candidate path set according to a preset priority, wherein the priority of the first path is higher than that of the second path, and the priority of the second path is higher than that of the third path; During the connection, periodically collecting network quality indicators of the current main path as monitoring data; When the monitoring data meets the degradation condition within a preset time window, re-detecting and ranking the paths in the candidate path set, and selecting a new main path; When the packet loss rate of the first path rises but does not reach the degradation condition, enter the compensation processing stage, which includes: Statistically calculating the following network characteristic parameters in a preset time slice period: basic packet loss rate, packet loss burst index, and round-trip delay change gradient; wherein the packet loss burst index is the ratio of continuous packet loss event count to total packet loss event count, which is used to represent the aggregation degree of packet loss; the round-trip delay change gradient is the difference between the smoothed round-trip delay of the current period and the smoothed round-trip delay of the last period divided by the smoothed round-trip delay of the last period; According to the network characteristic parameters, calculate the redundancy gain coefficient, which is equal to the algebraic sum of the basic security base, the burst compensation term proportional to the packet loss burst index, and the congestion suppression term related to the round-trip delay change gradient, and the redundancy gain coefficient is constrained within a preset upper and lower boundary range; wherein the burst compensation term is used to increase the redundancy gain coefficient when the packet loss is in a continuous burst mode, and the congestion suppression term is used to reduce the redundancy gain coefficient when the network congestion is intensified; According to the redundancy gain coefficient and the basic packet loss rate, calculate the proportion of forward error correction redundancy packets, and generate and send forward error correction redundancy packets according to the proportion; Calculate the bandwidth overhead required for forward error correction, and compare it with the expected performance loss of switching to the second path; when the proportion of forward error correction redundancy packets exceeds the preset maximum allowed redundancy rate, or the bandwidth overhead exceeds the expected performance loss, it is determined that the first path cannot be effectively compensated by forward error correction, and switching from the first path to the second path is triggered.

2. The method of claim 1, wherein, The network quality indicators include at least two of round-trip delay, packet loss rate, and retransmission times; The periodic collection includes: smoothing the round-trip delay by using exponential weighted moving average.

3. The method of claim 1, wherein, The re-probing and ranking of the paths in the candidate path set further comprises: calculating a comprehensive quality score according to the network quality indicators of each path, the comprehensive quality score being a weighted sum of the network quality indicators; adding the comprehensive quality score to a priority bias value of each path to obtain a final score of each path; selecting a path with the optimal final score as a new main path.

4. The method of claim 1, wherein, A minimum switching interval is set, and a new path switching is prohibited when the time from the last path switching does not exceed the minimum switching interval.

5. The method of claim 1, wherein, A difference threshold condition is set, and a path switching is allowed only when the quality improvement of a candidate path relative to the current main path exceeds the preset difference threshold.

6. The method of claim 1, wherein, The periodic collection of the network quality indicators of the current main path comprises: a client collects network quality indicators of a downlink to obtain client-side quality data; a server collects network quality indicators of an uplink and pushes the network quality indicators of the uplink to the client through a QUIC frame to obtain server-side quality data; a weighted calculation is performed according to the client-side quality data and the server-side quality data to obtain a two-end comprehensive quality score as the monitoring data.

7. A weak network adaptive multi-path transmission system based on a QUIC protocol, characterized in that, comprise: a processor; a memory for storing computer executable code; wherein the processor is configured to execute the computer executable code to implement the method of any one of claims 1 to 6.

8. A computer-readable storage medium, characterized in that, The storage medium has a computer program stored therein, and the computer program is executed by the processor to implement the method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Heterogeneous network convergence transmission method based on MPTCP and MPQUIC

    CN115277560A