Data frame transmission method, data frame transmission device, computer program, and electronic device.
The data frame transmission method addresses latency and cost issues by proactively retransmitting frames using a cellular backup path, reducing long-tail latency and cellular data usage in real-time streaming applications.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2024-08-26
- Publication Date
- 2026-06-02
AI Technical Summary
Existing methods for data frame transmission in real-time streaming applications, such as cloud gaming, struggle to simultaneously achieve low latency and low cost due to fluctuations in Wi-Fi networks, leading to increased cellular data consumption and user costs.
A data frame transmission method that proactively retransmits frames exceeding a predetermined threshold using a cellular backup path, based on statistical analysis of previous frame transmission states, to reduce lag and minimize cellular data usage.
The method effectively reduces long-tail latency and cellular data consumption by timely retransmission, ensuring low latency and cost-efficient data frame transmission without requiring hardware modifications.
Smart Images

Figure 2026517962000001_ABST
Abstract
Description
[Technical Field]
[0001] Embodiments of the present invention claim priority based on a Chinese patent application with application number 202311423625.4 and filing date October 27, 2023, and all contents of said Chinese patent application are incorporated by reference to embodiments of the present invention.
[0002] The present invention relates to the field of computer technology, and more specifically to a method for transmitting data frames, a device for transmitting data frames, a storage medium, a computer program product, and an electronic device. [Background technology]
[0003] In real-time streaming application programs like cloud gaming, game data frames (e.g., video data frames) are transmitted to the user in real time during the game experience. To ensure a good gaming experience, data frame transmission must always maintain low latency, even at the tail (high quantile), to avoid long-tail latency, which can cause frequent lag in the game and severely impact the user experience.
[0004] In mobile device scenarios, achieving consistently low latency is difficult in Wi-Fi (Wireless Fidelity, a wireless network technology) networks due to their inherent variability. Currently, backup cellular paths are commonly used to mitigate the effects of wireless fluctuations in Wi-Fi paths. If data frame lag is detected in the Wi-Fi path transmission, the data frame can be switched to transmission via the cellular path. However, in this case, the transmission of the data frame already experiences lag, making it impossible to meet the performance requirements for consistently low latency. When it is necessary to mitigate the effects of wireless fluctuations in Wi-Fi paths, a large amount of cellular data must be consumed for data frame transmission. However, the use of large amounts of cellular data often exceeds user expectations, resulting in significant usage costs for the user.
[0005] Currently, no effective solution has been proposed to the above problem. [Overview of the Initiative]
[0006] Embodiments of the present invention provide a data frame transmission method, a data frame transmission device, a storage medium, a computer program product, and an electronic device that solve the technical problem of difficulty in simultaneously achieving a low lag rate (also called a stall rate) and low cost in data frame transmission.
[0007] The technical means of the embodiments of the present invention are as follows.
[0008] In one embodiment of the present invention, a method for transmitting a data frame performed by an electronic device, comprising the steps of: obtaining the transmission time length of a target data frame in the process of a transmitting device transmitting a target data frame to a receiving device using a first path; and determining a first time length threshold based on a first state probability group and a first lag condition probability group, wherein the first state probability group includes the probability that each transmission state in a first transmission state group appears in a first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, and the first transmission state set includes each data frame among the transmitted data frames The present invention provides a method comprising the steps of: a transmission state of a data frame, wherein the transmitted data frame is a data frame transmitted by the transmitting device to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in a data frame belonging to each transmission state in the first transmission state group among the transmitted data frames; and, if the transmission time length of the target data frame is greater than or equal to a first time length threshold, the transmitting device retransmits the target data frame to the receiving device using a second path, wherein the second path is a backup path of the first path.
[0009] In another embodiment of the present invention, a data frame transmission device comprises: a first acquisition unit that acquires the transmission time length of a target data frame in the process of a transmitting device transmitting a target data frame to a receiving device using a first path; and a first determination unit that determines a first time length threshold based on a first state probability group and a first lag condition probability group, wherein the first state probability group includes the probability that each transmission state in a first transmission state group appears in a first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, and the first transmission state set is the transmission of each data frame among the transmitted data frames The present invention provides a device comprising: a first determination unit, which includes a state, wherein the transmitted data frame is a data frame transmitted by the transmitting device to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in a data frame belonging to each transmission state in the first transmission state group among the transmitted data frames; and a transmitting unit, which, if the transmission time length of the target data frame is greater than or equal to a first time length threshold, retransmits the target data frame to the receiving device using a second path, wherein the second path is a backup path to the first path.
[0010] In some embodiments, a computer-readable storage medium is provided, in which a computer program is stored, and the computer program, when executed, implements the above-described method of transmitting data frames.
[0011] In some embodiments, the present invention provides a computer program product or computer program that includes computer instructions stored on a computer-readable storage medium, wherein the computer instructions, when read from the computer-readable storage medium and executed by the processor of the computer device, cause the computer device to perform the data frame transmission method described above.
[0012] In some embodiments, the present invention further provides an electronic device comprising a memory storing a computer program and a processor, wherein the processor is configured to implement the above-described method of transmitting data frames by executing the computer program.
[0013] In embodiments of the present invention, during the transmission of a target data frame via a first path, a first state probability group and a first lag condition probability group are obtained based on transmitted data frames transmitted before the target data frame via the first path. Here, the first state probability group includes the probability that each transmission state in the first transmission state group appears in the first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, and the first transmission state set includes the transmission state of each data frame among the transmitted data frames. A first time length threshold is determined based on the first state probability group and the first lag condition probability group. If the transmission time length of the target data frame is greater than or equal to the first time length threshold, it indicates that there is a high probability of lag occurring if the target data frame continues to be transmitted via the first path. In this case, the target data frame may be retransmitted using a second path. This allows for the acquisition of the transmission time of a single data frame, comparison of the transmission time with a first time length threshold, and proactive retransmission of data frames with a high probability of lag occurring if transmission continues, using a backup second path, thereby reducing the lag rate. Furthermore, the second path is used only for retransmitting data frames whose transmission time is greater than the first time length threshold. In other words, by setting a certain usage threshold for the second path, the lag rate can be reduced, and excessive use of the second path can be further avoided. Consequently, the technical effect of simultaneously satisfying low lag rate and low cost for data frame transmission is achieved, solving the technical problem that makes it difficult to simultaneously satisfy low lag rate and low cost for data frame transmission. [Brief explanation of the drawing]
[0014] The drawings described herein are intended to provide a further understanding of embodiments of the present invention and constitute part of the present invention. Exemplary aspects and descriptions of embodiments of the present invention are for illustrative purposes only and do not unduly limit embodiments of the present invention. [Figure 1] This is a schematic diagram of the quantiles of delay in video data frames at different transmission rates in related technologies. [Figure 2] This is a schematic diagram of the Kolmogorov-Smirnov distance and Kullback-Leibler variance between the feature probability distributions for the current minute and the past T minutes for each user's game time. [Figure 3] This is a schematic diagram (part 1) of the application environment for the data frame transmission method according to an embodiment of the present invention. [Figure 4] This is a flowchart of a data frame transmission method according to an embodiment of the present invention. [Figure 5] This is a schematic diagram of a data frame transmission system according to an embodiment of the present invention. [Figure 6] This is a schematic diagram illustrating the degradation of Wi-Fi path capacity that results in bursty data frame lag of several hundred milliseconds according to an embodiment of the present invention. [Figure 7] This is a schematic diagram (part 2) of the application environment for the data frame transmission method according to an embodiment of the present invention. [Figure 8] This is a schematic diagram of the transmission time length and path time length according to an embodiment of the present invention. [Figure 9] This is a schematic diagram showing the performance of each mode in the simulation experiment and the simultaneous execution of the Salsify congestion control algorithm. [Figure 10] This is a schematic diagram showing the performance of each mode in the simulation experiment and the simultaneous execution of the SQP congestion control algorithm. [Figure 11] This is a schematic diagram showing the results of actual online test experiments for each embodiment. [Figure 12] This is a block diagram of the configuration of a data frame transmission device according to an embodiment of the present invention. [Figure 13]This is a block diagram showing the configuration of an electronic device according to an embodiment of the present invention. [Figure 14] This is a block diagram showing the configuration of a computer system for an electronic device according to an embodiment of the present invention. [Modes for carrying out the invention]
[0015] To enable those skilled in the art to better understand the embodiments of the present invention, technical aspects of the embodiments of the present invention are described below clearly and completely in connection with the accompanying drawings of the embodiments of the present invention, although it will be clear that the embodiments described are only some, and not all, embodiments of the embodiments of the present invention. All other embodiments that can be used by those skilled in the art without creative work based on the embodiments of the embodiments of the present invention are within the scope of protection of the embodiments of the present invention.
[0016] Furthermore, terms such as "First," "Second," etc., in the description, claims, and drawings of the embodiments of the present invention are for distinguishing similar objects and are not necessarily intended to describe a specific order or sequence. Also, data used in such a way may be replaced as appropriate so that the embodiments of the embodiments of the present invention described herein can be carried out in an order other than that illustrated or described herein. In addition, the terms "includes" and "have" and their variations are intended to cover exclusive inclusion; for example, a process, method, system, product, or apparatus including a series of steps or units is not limited to those expressly described and may include other steps or units not expressly described or specific to these processes, methods, products, or apparatus.
[0017] First, the following explains some of the nouns or terms that appear in the description of the embodiments of the present invention.
[0018] Long-tail latency is a phenomenon in which the portion of latency values in a communication system that exceeds the mean value becomes longer. For high quantiles (e.g., 99th quantile, 999th quantile), the latency values become even longer, and these latency values are called long-tail latency. Quantiles are a concept in statistics that represents the distribution of data. In the field of communications, quantiles such as median, quartiles, and hundredth quantiles are commonly used. Taking the hundredth quantile as an example, the 99th quantile means that 99% of latency values are less than or equal to this value. In other words, only 1% of latency values are greater than the 99th quantile, and these latency values are generally considered long-tail latency.
[0019] Linear programming is a mathematical theory and method for studying the problem of finding the extrema of a linear objective function under linear constraints. Here, integer linear programming (ILP) refers to an integer linear programming method in which all decision variables must take integer values.
[0020] Transmission protocol: A protocol used to transmit data at the transmission layer. Currently, several different transmission protocols exist, each with different packet formats and transmission capabilities.
[0021] Congestion Control Algorithm (CCA): A network algorithm that prevents excessive data from being introduced into a network, thereby avoiding an increase in network load.
[0022] Round Trip Time (RTT): The time consumed to send and receive data over a network.
[0023] Timeout retransmission mechanism (RTO): This mechanism resumes transmission if a predetermined time has elapsed since the data was sent.
[0024] Acknowledgement character (ACK): In data communication, this is one of the transmission control characters issued by a receiving device to a transmitting device, indicating that the transmitted data has been received correctly.
[0025] Congestion Window (CWND): A Transmission Control Protocol (TCP) state variable that controls the amount of data that can be sent to the network before receiving an acknowledgment.
[0026] Multi-channel method: Multiple transmission channels (paths for transmitting data) are established between the client and the server, allowing data to be transmitted over a network via these multiple channels.
[0027] Multi-route scheduler: In a multi-channel system, the scheduler determines which channel to use to send data to the client.
[0028] Transmission connection: The transmission layer, end-to-end, confirms the connection established at both ends. It is a fundamental guarantee of the reliability of transmitted data. For example, a TCP connection.
[0029] An Internet Service Provider (ISP) is a telecommunications carrier that comprehensively provides internet connectivity, information services, and value-added services to a wide range of users.
[0030] The application scenarios for the data frame transmission method are broad, and in the following embodiments of the present invention, the data frame transmission method will be explained using a Wi-Fi path as the first path and a cellular path as the second path as an example, but the specific forms of the first and second paths are not limited. For example, the first and second paths may be wired paths, Bluetooth paths, infrared paths, Blu-ray paths, and virtual paths, etc.
[0031] To better understand the differences between the data frame transmission method according to the embodiment of the present invention and related technologies, the following will introduce and explain related technologies.
[0032] Achieving low latency in mobile live streaming, as mentioned above, is a goal consistently pursued in the world of live streaming, and the current methods for achieving this goal are as follows:
[0033] (Method 1) Congestion Control Method: In live streaming, the most widely used method for reducing data frame transmission delay is to use a complex Congestion Control Algorithm (CCA). The Congestion Control Algorithm achieves low latency by adjusting the amount of data sent to the network to reduce network congestion. However, it is difficult to achieve low long-tail latency when the Wi-Fi network of a mobile device fluctuates randomly.
[0034] (Method 2) Multi-channel scheme of related technology: While this method reduces data frame transmission delay by utilizing Wi-Fi and cellular paths, from the perspective of the actual performance of the method, the cellular cost of the method, and the deployability of the method, the multi-channel scheme of related technology is difficult to deploy widely and cannot meet the consistent low-latency performance requirements. The reasons are as follows:
[0035] (Reason i) Actual performance of the method: In the multi-channel method of related technology, the multi-path scheduler makes decisions only when packets are separated, and packet retransmission is left to the underlying loss recovery mechanism. Therefore, if the round-trip time (RTT) of the Wi-Fi path fluctuates, packet transmission delay is unavoidable. As a result, it is not possible to meet the performance requirement of consistent low latency.
[0036] (Reason ii) Cellular cost of the scheme: In the multi-channel scheme of related technology, attention is focused only on the performance of multiple paths, and in order to avoid as much as possible long-tail latency due to RTT fluctuations of data frames on Wi-Fi paths, data frames are often transmitted using cellular paths instead of Wi-Fi paths, ignoring the cellular data budget conditions of cellular paths. Currently, the data budget of cellular connections provided by Internet service providers (ISPs) is limited, and unlike the periodic billing model for Wi-Fi paths, the cost of using cellular paths is directly related to the amount of cellular data used. Users have expressed strong concerns about the amount of cellular data used. Therefore, from the perspective of the cellular cost of the scheme, the multi-channel scheme, which consumes a large amount of cellular data, is not suitable for widespread deployment.
[0037] (Reason iii) Deployment feasibility of the method: The multi-channel method of the related technology requires modification of the user device kernel or makes decisions based on values that do not exist in real-time streaming (e.g., volume video size and playback buffer usage). Therefore, the multi-channel method of the related technology cannot be widely deployed in real-time streaming applications.
[0038] Furthermore, the aforementioned related technologies have the following technical problems.
[0039] 1. Congestion control method In real-time streaming, congestion control algorithms cannot guarantee consistently low latency for data frames on the Wi-Fi path due to link fluctuations in the Wi-Fi path. Hereafter, the congestion control algorithm will simply be referred to as CCA. The main function of CCA is to adapt to changes in transmission path capacity, thus maintaining low transmission latency by rapidly reducing the rate at which data frames are transmitted and eliminating queuing delay or packet loss. However, because fluctuations in the Wi-Fi path increase the round-trip time (RTT), the Wi-Fi path cannot transmit data quickly. Therefore, even with the introduction of CCA, long-tail latency cannot be resolved. Figure 1 is a schematic diagram of the quantiles of delay for video data frames at different transmission rates in related technologies. As shown in Figure 1, we examine the quantiles of delay for video data frames at different transmission rates (512Kbps, 1Mbps, 2Mbps). In Figure 1, the horizontal axis is the data frame transmission delay Delay (ms), and the vertical axis is the quantile CDF (%) of delay for video data frames. Taking the transmission of video data frames over Wi-Fi 5GHz, Wi-Fi 2.4GHz, and Ethernet (Eth) in a wireless link as an example, the wireless link forces the CCA to maintain a very low transmission bitrate, which can fall below the video quality service requirements (i.e., 2Mbps). Even with low transmission bitrates, the data frame transmission delay (Delay) remains high (over 200ms), and the delay distribution is consistent across all low bitrates. Therefore, it becomes clear that in a fluctuating wireless network, the CCA cannot reduce the latency of live streaming applications. Thus, using a cellular path to mitigate the effects of wireless fluctuations in the Wi-Fi path is beneficial.
[0040] 2. Regarding the multi-channel system (1) Low latency cannot be achieved with multi-channel schemes in related technologies. Related technologies propose schemes for multi-path schemes (i.e., multi-channel schemes), but the focus is on maximizing throughput or minimizing request completion time. For example, multi-path schemes designed for latency-sensitive applications such as BLEST and RAVEN systems schedule packets across multiple paths and leave retransmission to the underlying loss recovery mechanism. However, packets scheduled on Wi-Fi paths can be significantly delayed before retransmission times out due to highly unpredictable increases in RTT, thus failing to meet low-latency performance requirements. Other systems, such as XLINK systems, use packet reintroduction to reduce data frame delivery latency, but they assume that the video block size is known and require a playback buffer occupancy level as a QoE signal, making them unsuitable for live streaming.
[0041] (2) When deploying a multi-channel system in practice, it is important to minimize the use of cellular data. For example, multi-route schedulers designed for interactive applications such as RAVEN use cellular routes for redundant frame transmission without considering the cost of cellular data. However, video frame transmission consumes a large amount of bandwidth, which can significantly increase the use of cellular data. Surveys of millions of online users indicate that cellular cost constraints are considered a critical design consideration for practical multi-route systems, rather than an accidental concern. Therefore, when designing a multi-route system for live streaming, it is important to minimize the use of cellular data.
[0042] (3) Deploying a multi-routing scheme requires modifying the kernel of the user's equipment, and such kernel-based multi-routing schemes cannot be widely deployed. Many related technologies for multi-routing schemes require modifying the kernel of the user's equipment. Modifying user equipment, network middleboxes, or custom hardware is not feasible for a service provider. Therefore, they cannot be widely deployed.
[0043] In light of the technical problems present in the aforementioned related technologies, embodiments of the present invention propose a data frame transmission method applicable to multi-path services for mobile live streaming services that can reduce long-tail latency, minimize cellular data usage, and enable large-scale deployment. The data frame transmission method according to embodiments of the present invention uses the Wi-Fi path as the primary path for data frame transmission and utilizes the cellular path by introducing a "data frame retransmission policy" and a "primary path switching policy." Two technical problems in dealing with RTT-variable paths using multi-paths are solved.
[0044] (Technical problem 1) The high level of RTT inflation due to wireless fluctuations in the Wi-Fi path cannot be predicted.
[0045] (Technical Issue 2) The use of cellular routes is severely restricted and should be reduced as much as possible.
[0046] These two technical issues make it difficult to determine when cellular routes should be used to mitigate the effects of RTT inflation.
[0047] To solve these technical problems, the Kolmogorov-Smirnov distance (KS distance) and Kullback-Leibler divergence (KL variance) between the feature probability distributions for the current minute and the past T minutes during each user's playtime were collected for a large number of users. Figure 2 is a schematic diagram of the KS distance and KL variance between the feature probability distributions for the current minute and the past T minutes during each user's gametime. As shown in Figure 2, the lag rate and delay of the data frame vary greatly among users, but based on the rule that it is stable for a certain period of time for a single user, the data frame transmission method according to an embodiment of the present invention classifies the statistical data of user sessions into different transmission states, creates a session probability model for each user, and quantifies the characteristics of various networks. Then, it plans using an integer linear programming problem (ILP) to reduce delay and limit the equilibrium of cellular data usage, with the state probability model as input. The data frame transmission method according to an embodiment of the present invention solves the linear naturalization problem to achieve consistent low-latency performance requirements and determines the appropriate timing to utilize the cellular path in order to minimize the cost of cell usage. The data frame transmission method according to an embodiment of the present invention can be fully implemented on an edge server without modifying the kernel of the user device, customizing the hardware, or customizing the network in order to achieve the deployment requirements.
[0048] Furthermore, the relevant information (including, but not limited to, user device information and user personal information) and data (including, but not limited to, display data and analytical data) related to the embodiments of the present invention are information and data authorized by the user or fully authorized by each party. For example, an interface is provided between the system and the user or organization involved, and before acquiring the relevant information, it is necessary to send an acquisition request to the aforementioned user or organization via the interface, receive consent feedback from the aforementioned user or organization, and then acquire the relevant information.
[0049] Embodiments of the present invention provide a method for transmitting data frames. In some embodiments, the above data frame transmission method can be applied to devices such as terminal devices or servers, but is not limited to these. A data frame transmission method applied to a terminal device will be described as an example. Figure 3 is a schematic diagram (part 1) of the application environment for the data frame transmission method according to an embodiment of the present invention. As shown in Figure 3, the process of using a cellular route in accordance with the above "data frame retransmission policy" is shown. Here, the target data frame f51 is a data frame currently being transmitted on a first route (primary route, e.g., Wi-Fi route) between a transmitting device and a receiving device, the transmission time length of f51 is T1, and the transmitted data frames (f41~f50) are data frames that the transmitting device sent to the receiving device before transmitting the target data frame. Based on the transmission state of each data frame in the transmitted data frames, a first state probability group and a first lag condition probability group are obtained, and based on the first state probability group and the first lag condition probability group, a first time length threshold is determined, and the transmission time length T1 of f51 is compared with the first time length threshold. If T1 is greater than or equal to a first time length threshold, f51 is retransmitted using a second path (backup path, e.g., cellular path) between the transmitter and receiver. The above process represents a "data frame retransmission policy" in the data frame transmission method, which applies to a single data frame. After f51, the data frame queue to be transmitted contains data frames that have not yet been transmitted (f52, ... f58, f59...), and each data frame is transmitted using the first path (primary path, e.g., Wi-Fi path) preferentially, and the "data frame retransmission policy" is applied to each data frame to determine whether retransmission via the second path (backup path, e.g., cellular path) is necessary.
[0050] This allows us to obtain a first time length threshold for a single data frame using previously transmitted data frames that precede it, compare the transmission time length of each data frame with the first time length threshold, and indicate that there may be lag in the data frame if the transmission time length is greater than or equal to the first time length threshold. Therefore, by retransmitting the data frame using a backup second path in a timely manner, the lag rate of data frame transmission can be reduced, and by setting a certain threshold for the use of the second path based on the first time length threshold, the use of the second path can be reduced, thereby lowering the cellular cost of data frame transmission.
[0051] In embodiments of the present invention, the above-mentioned terminal device may be a terminal device on which a target client is configured, and may include, but is not limited to, at least one of the following: mobile phones (e.g., Android phones, iOS phones), laptop computers, tablet computers, handheld computers, MIDs (Mobile Internet Devices), PADs, desktop computers, smart TVs, etc. The target client may be a video client, an instant communication client, a browser client, an educational client, etc. The above-mentioned network may include, but is not limited to, a wired network or a wireless network. Wired networks include local area networks, metropolitan area networks, and wide area networks. Wireless networks include Bluetooth, Wi-Fi, and other networks capable of wireless communication. The servers may be a single server, a group of servers, or a cloud server. The above are merely examples, and embodiments of the present invention are not limited thereto.
[0052] Figure 4 is a flowchart of a data frame transmission method according to an embodiment of the present invention. In some embodiments, as shown in Figure 4, the data frame transmission method includes the following steps.
[0053] Step S12: In the process in which the transmitting device transmits the target data frame to the receiving device using the first path, the transmission time length of the target data frame is obtained.
[0054] In the embodiments of the present invention, the transmitting device is the sender of the target data frame, the target data frame is transmitted via the transmitting device and received by the receiving device, and the receiving device is the receiver of the target data frame. In the example of cloud gaming, the transmitting device may be a game server, and the receiving device may be a user's terminal such as a personal computer or mobile phone.
[0055] In embodiments of the present invention, the first path may be the main path for transmitting data frames between a transmitting device and a receiving device, and in most cases, data frames are transmitted via the first path. The first path may be a Wi-Fi path. A Wi-Fi path is characterized by periodic billing for unlimited use of broadband resources for a certain period after payment, and is also characterized by the presence of radio fluctuations that can cause an increase in RTT. In embodiments of the present invention, a transmission method is proposed to improve the potential lag when the target data frame is transmitted via the first path, using a multi-channel transmission method to provide one or more backup paths (alternative paths) for the first path, and if lag occurs in the transmission of the target data frame via the first path, the target data frame is transmitted using a backup second path (described later), thereby reducing the lag rate of the data frame.
[0056] In the embodiments of the present invention, the target data frame is a data frame currently being transmitted, and is not yet transmitted to the receiving device. To avoid data frame transmission lag, the present invention predicts the likelihood of lag occurring if the target data frame is continued to be transmitted using the first path, based on the current transmission time of the target data frame. If lag is predicted to occur, the present invention promptly retransmits the target data frame using the second path. Unlike conventional techniques that passively switch paths to transmit data frames after lag occurs, the data frame transmission method according to the embodiments of the present invention is a proactive prediction method that predicts the probability of lag based on the transmission time of the target data frame and provides countermeasures in advance. Therefore, it can significantly reduce the probability of the user perceiving lag and improve the user experience.
[0057] Step S14: Determine a first time length threshold based on a first state probability group and a first lag condition probability group. Here, the first state probability group includes the probability that each transmission state in the first transmission state group appears in the first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, the first transmission state set includes the transmission state of each data frame among the transmitted data frames, the transmitted data frames are data frames that the transmitting device has transmitted to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in the data frames belonging to each transmission state in the first transmission state group among the transmitted data frames.
[0058] In an embodiment of the present invention, we take the example that the target data frame is f51 and the transmitted data frames are f41 to f50. As shown in Table 1 below, the transmission status of each data frame and whether or not a lag occurred in each data frame are recorded. Here, the transmission status may be any parameter that reflects the transmission delay of a single data frame during the transmission of data frames, such as the transmission delay of the data frame or the transmission time of the data frame. In Table 1, the transmission time of each data frame is used as the transmission status. For example, the transmission time of f41 is 120ms, and no lag occurred. The transmission time of f45 is 240ms, and a lag occurred.
[0059] [Table 1] From the data in Table 1 above, it can be seen that the first transmission state group includes the transmission state of each data frame among the transmitted data frames, that is, the first transmission state group is (120ms, 120ms, 130ms, 120ms, 240ms, 240ms, 130ms, 120ms, 240ms, 120ms). The first transmission state group includes each different transmission state in the first transmission state set. For example, S41, S42, S44, S48, and S50 are all 120ms and may be classified into the same transmission state S1, S43 and S47 are all 130ms and may be classified into the same transmission state S2, and S45, S46, and S49 are all 240ms and may be classified into the same transmission state S3. Therefore, the first transmission state group is S1, S2, and S3, and their values are 120ms, 130ms, and 240ms, respectively. The first state probability group is P(S1), P(S2), and P(S3). The first lag condition probability group is P(stall│S1), P(stall│S2), and P(stall│S3). Based on the first state probability group and the first lag condition probability group, the first time length threshold is determined. The specific calculation method will be described later.
[0060] Step S16: If the transmission time of the target data frame is greater than or equal to the first time length threshold, the transmitting device retransmits the target data frame to the receiving device using the second path. Here, the second path is a backup path to the first path.
[0061] In embodiments of the present invention, the second route is a backup route for the first route. The first route may be a Wi-Fi route, which is characterized by periodic billing for unlimited use of broadband resources over a certain period after payment, and is also characterized by the presence of radio fluctuations, which can cause an increase in RTT. The second route may be a cellular route, which is characterized by billing based on cellular data usage, i.e., the more you use it, the higher the fee, and is also characterized by relatively stable transmission, and can therefore be used as a backup route for the first route.
[0062] In embodiments of the present invention, by limiting the switching of the second path based on the relationship between the transmission time length of the target data frame and a first time length threshold, it is possible to reduce the lag rate, avoid excessive use of the second path, and reduce the cost consumption caused by using a backup path (cellular path).
[0063] To deepen understanding of the specific embodiments described in the examples, the design objectives of the data frame transmission method according to the embodiments of the present invention will be explained before beginning the detailed description of the following embodiments.
[0064] The data frame transmission method according to an embodiment of the present invention adopts the concept of using a Wi-Fi path (corresponding to the first path described above) as the primary path for data frame transmission in real-time streaming, and using a cellular path (corresponding to the second path described above) as a backup path when wireless fluctuations occur in the Wi-Fi path connection. The data frame transmission method according to an embodiment of the present invention aims to achieve the following objectives.
[0065] (Goal 1): Reduce long-tail latency caused by wireless fluctuations. As mentioned above, long-tail latency caused by wireless fluctuations in the Wi-Fi path, such as RTT increase, is a problem inherent to Wi-Fi paths, so it is also worthwhile to use cellular paths for data stream transmission. However, the high RTT increase of Wi-Fi paths is unpredictable, making it difficult to determine when to use an alternative path. If the timing of using the second path is not appropriate, not only will the long-tail latency problem not be solved, but a lot of the second path transmission resources will be wasted.
[0066] (Objective 2): Limit the use of cellular data on the cellular path. One intuitive way to utilize redundant paths (i.e., the first and second paths are redundant to each other) is to duplicate all data frames transmitted on the Wi-Fi path onto the cellular path. While this method ensures the lowest lag rate for data frame transmission, it consumes a large amount of cellular data and violates user constraints regarding cellular data consumption on the cellular path. Furthermore, due to a significant imbalance in path capacity, the cellular path may not be able to handle the additional traffic required to duplicate all frames, and forcing all data frames transmitted on the Wi-Fi path to be duplicated onto the cellular path could overload the cellular buffers of the cellular path. Therefore, the data frame transmission method of the embodiment of the present invention can limit the use of the cellular path in the above scenarios.
[0067] (Goal 3): Achieve large-scale deployment. The real-time streaming platform serves millions of users using various device models, operating systems, and Wi-Fi AP models. As a streaming service provider, it is not feasible to modify the core of user equipment, network middlebox, or custom hardware in the multi-channel transmission scheme of the related technology. The data frame transmission method according to the embodiment of the present invention modifies the game server and user application, but does not modify the user's hardware equipment, in order to be practically deployed on a large scale.
[0068] Based on the three objectives described above, embodiments of the present invention propose a data frame transmission system. Figure 5 is a schematic diagram of the data frame transmission system according to embodiments of the present invention. As shown in Figure 5, in order to address the objective of reducing long-tail latency using cellular routes while adhering to strict restrictions on the use of cellular data, first, a session probability model for each user is derived to capture the characteristics of each user using observations of network features. The balance between reducing tail latency and minimizing cellular costs is then transformed into an integer linear programming problem (ILP). Using the measured probability model as input, the integer linear programming problem is solved to determine when cellular routes should be used. As a multi-route transmission service scheme, cellular routes are utilized by two policies.
[0069] (Policy 1) Data frame retransmission policy: Detects moving data frames transmitted over the Wi-Fi path (which can be understood as the target data frames mentioned above) and promptly retransmits data frames that may cause significant delays over the Wi-Fi path.
[0070] (Policy 2) Primary Path Switching Policy: If the capacity of the Wi-Fi path decreases significantly, this policy may briefly switch the primary path from the Wi-Fi path to the cellular path, and all newly generated data frames may be transmitted via the cellular path. As shown in Figure 5, the data frame transmission system consists of two main components: a State Manager and a Multipath Agent module. Here, the State Manager detects the capacity of the Wi-Fi path and the cellular path and approximates a State Probability Model for each user. The approximated State Probability Model is: (outside 1) TIFF2026517962000003.tif11161 and (outside 2) Includes TIFF2026517962000004.tif9161, state probability model (Outside 3) TIFF2026517962000005.tif10161 corresponds to the data frame retransmission policy mentioned above and is a state probability model. (outside 4) TIFF2026517962000006.tif8161 corresponds to the primary path switching policy mentioned above. The following describes the state probability model in detail. State probability model provided by the State Manager (outside 5) TIFF2026517962000007.tif9161 and (outside 6) According to TIFF2026517962000008.tif6161, the Multipath Agent module continuously solves the generated integer linear programming problem (ILP Solver) to obtain the Frame Retransmission policy X1 (Strategy X1) and the Primary Path Switch policy X2 (Strategy X2), and then performs data frame retransmission and path switching. As shown in Figure 5, after the Data Frame Retransmission policy X1 and the Primary Path Switch policy X2 are determined, the current transmission time of the unacked data frame in transmission (unacked frame in-flight time T) is determined. i ) obtain and use the data frame retransmission policy to obtain each data frame (Frame) T i Determine whether or not it belongs to X1. For example, if transmission time lengths T1 and T2 belong to X1, the corresponding data frame is a retransmission data frame, and the retransmission data frame is retransmitted using the second path. Also, use the main path switching policy to determine whether T i The system determines whether T2 belongs to X2, and if T2 belongs to X2, it temporarily switches the primary path from the Wi-Fi path to the cellular path.
[0071] The following provides a detailed explanation of the state probability model.
[0072] In a real-time streaming session, the transmitter and receiver communicate along a network path (Wi-Fi path, cellular path) along the time axis. The transmitter continuously sends data frames, such as video data frames, to the receiver. The receiver provides feedback (ACK) regarding the arrival of data frames or specific time intervals. The transmitter can then derive several statistics based on this feedback (e.g., RTT, acknowledgment byte). The transmitter divides the data frames into several transmission states to effectively utilize this statistics and extract important information for determining the transmission mode. For example, the transmitted data frames in Table 1 above (e.g., f41, f42, f43, f44, f45, f46, f47, f48, f49, F50) each represent one transmission state S i Corresponds to (for example, f 41 The corresponding transmission state is S 41 (and belonging to S1 in the first transmission state group above), all different transmission states in the transmitted data frame are in the first transmission state group U={S i}year, (outside 7) This is TIFF2026517962000009.tif9161. For example, if the transmitting device selects (RTT, bandwidth) as the transmission state, U is a two-dimensional space, and each point in the space represents the transmission state. For each session, the network characteristics differ greatly, so the state probability distribution P(S i ) can vary greatly.
[0073] If a lag occurs in the data frame of the receiving device, the following feedback can be transmitted to the transmitting device to record the lag, providing information about the lag event. If a lag is defined as a lag event in all states of the receiving session, the overall data frame lag probability for the user session is given by equation (1).
[0074]
number
[0075] Based on the state probability model, the following details the backup path utilization policy (including the policy of data frame retransmission policy and the policy of switching the primary path).
[0076] To reduce long-tail latency and frame lag on the primary path, the transmitting device can utilize a backup path (i.e., a second path, the cellular path) for data frame transmission. The data frame retransmission policy X1 and the primary path switching policy X2 determine when the backup path should be used. Ideally, the backup path should only be used if there is a possibility of delay on the primary path (i.e., the second path, the Wi-Fi path). However, it is difficult to accurately predict whether a data frame will be delayed and cause lag until it is acknowledged by the receiving device. To effectively utilize the backup path, the data frame transmission method according to an embodiment of the present invention breaks down the problem of deriving the optimal utilization policy into two tasks.
[0077] (Task 1) Cover delayed data frames caused by radio fluctuations. The backup path utilization policy (which includes the data frame retransmission policy and the primary path switching policy) should minimize the false negative rate (FN) used by the determined backup path by ensuring that as many backup paths as possible are used to cover data frames that may be delayed. Here, the false negative rate is higher the more often a data frame is actually lagging but is judged not to use a backup path based on the backup path utilization policy. The false negative rate is the proportion of positive samples that are incorrectly predicted to be negative samples. In embodiments of the present invention, the false negative rate refers to the proportion of frames that are actually lagging and should use a backup path (positive sample), but are predicted not to use a backup path (negative sample).
[0078] (Task 2) Reduce the use of backup paths. Because excessive use of backup paths can lead to additional data usage and adverse effects (e.g., increased cellular data charges), backup paths should only be used when necessary. The backup path utilization policy should be designed to minimize the false positive rate (FP) of decisions. Here, the false positive rate is higher the more the data frame is judged to use a backup path based on the backup path utilization policy, even though the data frame is not actually lagging. The false positive rate is the proportion of samples for which the predicted result is a negative sample, out of samples for which the predicted result is a positive sample. In the embodiments of this application, the false positive rate is the proportion of data frames that are not lagging and do not need to use a backup path (negative sample), but are predicted to use a backup path (positive sample) as lag.
[0079] As explained in the "Detailed Explanation of the State Probability Model" above, the statistics of the data frame of the transmitter in the real-time streaming process are divided into different transmission states. These transmission states are used as decision points (to decide whether to retransmit the data frame and switch the primary path). Each transmission state S i Regarding x i This is used to indicate whether or not a backup path should be used for data frame transmission in order to mitigate data frame transmission delay on the first path, and x i =1 indicates a positive decision, and data frame transmission will be performed using the backup path. i =0 indicates a negative decision, and data frame transmission will proceed without using the backup path. The policy is to select several transmission states S from U. i This means selecting a transmission state, and the selected transmission state is X={S i ∈U│x i =1} is represented, and the remaining states are, (Outside 12) It is represented in TIFF2026517962000015.tif11161. Next, the state probability model M( (Outside 13) TIFF2026517962000016.tif10161 and (Outside 14) The optimal backup path utilization policy X (X1 and X2) is derived from TIFF2026517962000017.tif8161).
[0080] To achieve the above (Task 1), the false negative rate of policy X is shown in equation (2).
[0081]
number
[0082] In this case, the minimization function P(FN) is the maximization function f(X), as shown in equation (3).
[0083]
number
[0084]
number
[0085]
number
[0086]
number
[0087]
number
[0088] The multi-route agent module in Figure 5 plays a crucial role in determining whether to retransmit the data frame being sent over the cellular route and whether to switch the primary route from the Wi-Fi route to the cellular route. To make these decisions, the multi-route agent module uses the state probability model M( provided by the state manager). (Outside 17) TIFF2026517962000026.tif8161 and (Outside 18) Using TIFF2026517962000027.tif11161), we insert them into the ILP problem described by equation (7). Based on the fact that the output of the ILP problem is policy X(X1 and X2), the multipath agent module obtains the decisions necessary to reduce long-tail latency and minimize cellular cost.
[0089] In multi-channel schemes of related technologies, the multi-path scheduler typically only determines which transmission path to use to deliver new data when a packet leaves the network. On the other hand, unpredictable RTT increases on Wi-Fi paths can significantly delay scheduled packets. Therefore, to reduce long-tail delays, it is crucial to detect data frames in transmission and proactively retransmit them if delays are likely.
[0090] To eliminate tail delay as much as possible, the data frame transmission method according to an embodiment of the present invention introduces data frame retransmission at the application layer. If a data frame is transmitted via a first path and there is a high probability of delay, the data frame in transmission can be immediately retransmitted via a cellular path to prevent delay. Video data frames must be fully transmitted to the decoder to prevent degradation of video quality, depending on the interdependence of the codecs. Since any delayed packets within a video data frame will ultimately increase the delay of the data frame, retransmission of the entire data frame, rather than just packets, is selected. Furthermore, there is a strong relationship between the transmission time of an unverified data frame and the likelihood of significant delay in the data frame. This relationship is expressed in the state space U1. Use state probability model (Outside 19) This is quantified by TIFF2026517962000028.tif8161. Therefore, the state manager is a probabilistic model during the streaming process. (outside 20) As TIFF2026517962000029.tif10161 is continuously updated, the multi-route agent module solves the ILP problem and takes as input to obtain decision X1 (outside 21) TIFF2026517962000030.tif8161 is used continuously. The timer of the multi-path agent module continuously detects all unconfirmed data frames and their transmission time length T f The data frame that matches X1 (i.e., T f =S i The data (∈X1) is retransmitted. Here, the transmission time length T f This corresponds to the transmission time length of the target data frame. With this method, when the second path is used only to a limited extent, data frames that are likely to have lag can be spontaneously retransmitted using the second path, thereby reducing the transmission delay of the data frames.
[0091] Furthermore, the data frame transmission method according to the embodiment of the present invention introduces a primary path switching policy. Unlike the multi-path scheduler of related technologies, which schedules paths for each packet, the embodiment of the present invention, by default, selects the Wi-Fi path as the primary path and then schedules data frames on it, while the cellular path is used only when data frames with potential delays are required. However, in practice, severe capacity degradation of the Wi-Fi path occasionally occurs. Figure 6 is a schematic diagram of the capacity degradation of the Wi-Fi path that results in bursty data frame lag of several hundred milliseconds according to the embodiment of the present invention. As shown in Figure 6, capacity degradation occurs in the Wi-Fi path at time (around 15.3), and the data frame latency (Frame Delay) and RTT burst of data frames transmitted on the Wi-Fi path increase to 1700ms. This capacity degradation causes bursty frame lag of several hundred milliseconds, which can have a significant impact on the user experience.
[0092] To resolve this issue, the multi-route agent module can temporarily switch the primary route from the Wi-Fi route to the cellular route and stop transmitting new data frames on the degraded Wi-Fi route. Similar to this data frame retransmission policy process, the multi-route agent module resolves the ILP issue and obtains a decision X2 provided by the state manager. (outside 22) The file TIFF2026517962000031.tif8161 will be used continuously. When these two conditions are met, the primary path switchover will begin.
[0093] (Condition i) Transmission time T of the data frame that is transmitted first by the transmitting device and has not yet been confirmed to be received by the receiving device. l This matches X2 (i.e., T l =S i(∈X2). Here, the transmission time T2 of the data frame that is transmitted first by the transmitting device and whose reception has not yet been confirmed by the receiving device corresponds to the path time of the target data frame.
[0094] (Condition ii) The round-trip time (RTT) for the cellular route is lower than the round-trip time (RTT) for the Wi-Fi route.
[0095] In this case, the embodiment of the present invention transmits all newly generated data frames via the cellular path and stops the resolution of the ILP problem of the decision. Furthermore, the multi-path agent module immediately retransmits all data frames in transit on the Wi-Fi path via the cellular path. This is because a long delay may occur when a capacity degradation is detected. However, using the cellular path directly as the primary path violates cellular data limiting rules, and since the capacity degradation of the Wi-Fi path is short-lived, it is necessary to switch to the Wi-Fi path as quickly as possible. When new data frames are transmitted via the cellular path, the transmission queue for the Wi-Fi path can be emptied, and when there are fewer than two data frames in transit on the Wi-Fi path (the specific number can be set as needed, and two means that the capacity detection mechanism for the Wi-Fi path needs to ensure that there are at least two data frames in transit on the Wi-Fi path, as the number is small and it is difficult to statistically determine the rules), the transmission of probe data frames on the Wi-Fi path can be initiated to detect capacity improvement. If the Wi-Fi path capacity recovers (i.e., the transmission time length of data frames that the transmitting device sends fastest on the Wi-Fi path and that the receiving device has not yet confirmed is no longer at X2), the multi-path agent module switches the primary path back to the Wi-Fi path and restarts the ILP problem resolution process.
[0096] In some embodiments, determining a first time length threshold based on a first state probability group and a first lag condition probability group may be achieved as follows.
[0097] Step S21: Based on the first state probability group and the first lag condition probability group, a first time length threshold is determined from a pre-configured set of time length thresholds that satisfies the first lag constraint and the first path constraint. Here, the first path constraint includes that the utilization rate of the second path determined based on the first time length threshold is less than or equal to a pre-configured first utilization threshold. The first lag constraint includes that the lag rate of the first path determined based on the first time length threshold is the smallest from the first time length threshold subset. The first time length threshold subset includes the first time length threshold. The first time length threshold subset consists of time length thresholds in the time length threshold set that satisfy the first condition. The first condition is that the utilization rate of the second path determined based on the time length threshold is less than or equal to a pre-configured first utilization threshold.
[0098] In some applications, such as live streaming applications like cloud gaming, it is necessary to maintain consistently low latency even at the tail (high quantile). Long-tail latency causes video frames to frequently get stuck, severely impacting the user experience. In mobile device scenarios, achieving consistently low latency is difficult with Wi-Fi paths due to their variability. Cellular paths are currently available to mitigate the effects of wireless variability in Wi-Fi paths, but it is important to limit the use of cellular data when using multi-channel transmission.
[0099] Embodiments of the present invention aim to reduce long-tail latency and video data frame lag rates in real-time streaming on mobile terminals, while minimizing the use of cellular data on cellular routes. Embodiments of the present invention design two transmission states, a "data frame retransmission policy" and a "primary route switching policy," capture network characteristics by deriving a state probability model, and develop an integer linear programming (ILP) equalization for each user session to determine the timing of the "data frame retransmission policy" and the "primary route switching policy." Compared to other multi-channel transmission methods in related technologies, long-tail latency and lag rates can be significantly reduced, and conditions can be provided to limit cellular route switching according to the utilization rate of the second route, thereby saving cellular network data consumed.
[0100] In some embodiments, when the target data frame is f51 and the transmitted data frames are f41 to f50, the first state probability group is P(S1), P(S2), and P(S3), with values of 0.5, 0.2, and 0.3, respectively. The first lag condition probability group is P(stall│S1), P(stall│S2), and P(stall│S3), with values of 0.05, 0.02, and 0.09, respectively. A predetermined time-length threshold set can include each transmission state in the first transmission state group (including S1, S2, and S3, with values of 120ms, 130ms, and 240ms, respectively). The first lag constraint can be expressed as the maximization term (Maximize) in equation (7) above, but is not limited thereto, and the first path constraint can be expressed as the subject to term (Subject to) in equation (7) above, but is not limited thereto. The first time-length threshold may be, but is not limited to, policy X1 obtained by solving the integer linear programming (ILP) of equation (7) above.
[0101] In embodiments of the present invention, the first path constraint condition includes that the utilization rate of a second path, determined according to a first time-length threshold, is less than or equal to a preset first utilization threshold. Here, the utilization rate of the second path is given by Σ in equation (7) above. Si∈U P(S i )x i It may be expressed as, but is not limited to, Σ in equation (7) above. The pre-set first utilization threshold is Σ Si∈U P(stall│S i )P(S i It may also be expressed as δ, but is not limited to this.
[0102] In some embodiments, determining a first time length threshold based on a first state probability group and a first lag condition probability group may be achieved as follows.
[0103] Step S31: Based on the first state probability group and the first lag condition probability group, a first time length threshold subset that satisfies the first condition is determined from a pre-set set of time length thresholds. Here, the first condition is that the utilization rate of the second route determined based on the time length threshold is less than or equal to the pre-set first utilization rate threshold.
[0104] Step S32: Based on the first state probability group and the first lag condition probability group, the first time length threshold is determined from the first time length threshold subset. The lag rate of the first path determined from the first time length threshold subset based on the first time length threshold is the smallest.
[0105] In some embodiments, a first time-length threshold subset that satisfies the first condition is determined from a pre-configured time-length threshold set based on a first state probability group and a first lag condition probability group. For example, a first time-length threshold subset (S2, S3) that satisfies the first condition is determined from a pre-configured time-length threshold set (S1, S2, S3) based on a first state probability group (P(S1), P(S2), P(S3)) and a first lag condition probability group (P(stall│S1), P(stall│S2), P(stall│S3)).
[0106] In some embodiments, the first time-length threshold is determined in a first time-length threshold subset based on a first state probability group and a first lag condition probability group. For example, the first time-length threshold S2 is determined in a first time-length threshold subset (S2, S3) based on a first state probability group (P(S1), P(S2), P(S3)) and a first lag condition probability group (P(stall│S1), P(stall│S2), P(stall│S3)), i.e., X1=S2=130ms.
[0107] In some embodiments, determining a first time-length threshold subset that satisfies a first condition in a pre-configured time-length threshold set based on a first state probability group and a first lag condition probability group may be achieved as follows.
[0108] In some embodiments, if the time-length threshold set includes N time-length thresholds and the transmission state includes the transmission time length, the following steps determine whether the k-th time-length threshold among the N time-length thresholds satisfies the first condition, where k is a positive integer between 1 and N (inclusive).
[0109] Step S41: The k-th utilization rate of the second path is determined based on the first state probability group and the k-th retransmission parameter group. Here, each retransmission parameter in the k-th retransmission parameter group is used to indicate whether one of the M transmission time lengths is greater than the k-th time length threshold, the M transmission time lengths consist of each different transmission time length in the first set of transmission time lengths, the first set of transmission time lengths consists of the transmission time length of each data frame among the transmitted data frames, and M is a positive integer greater than or equal to 2.
[0110] Step S42: If the k-th utilization is less than or equal to a preset first utilization threshold, it is determined that the k-th time length threshold satisfies the first condition.
[0111] In some embodiments, taking the transmitted data frame in Table 1 above as an example, the time-length threshold set includes 120ms, 130ms, and 240ms, and there are three time-length thresholds. It is determined whether the second of the two time-length thresholds (i.e., 130ms) satisfies the first condition. That is, the second utilization rate of the second path is determined based on the first state probability group (P(S1), P(S2), P(S3)) and the second retransmission parameter group (x1, x2, x3, whose values are 0, 0, and 1). Here, each retransmission parameter in the second retransmission parameter group indicates whether the transmission time of one of the three transmission time lengths is greater than the second time-length threshold (i.e., 130ms), where 0 indicates that the corresponding transmission time is less than or equal to the second time-length threshold, and 1 indicates that the corresponding transmission time is greater than the second time-length threshold. For example, since transmission time length S1 = 120 ms is less than the second time length threshold (130 ms), the retransmission parameter x1 for transmission time length S1 = 120 ms is 0. Since transmission time length S2 = 130 ms is less than or equal to the second time length threshold (130 ms), the retransmission parameter x2 for transmission time length S2 = 130 ms is 0. Since transmission time length S3 = 240 ms is greater than the second time length threshold (130 ms), the retransmission parameter x3 for transmission time length S3 = 240 ms is 1. The three transmission time lengths include different transmission time lengths (i.e., 120ms, 130ms, 240ms, 240ms, 130ms, 120ms, 240ms, 120ms, 120ms) within the first transmission time length set (120ms, 120ms, 130ms, 120ms, 240ms, 120ms), and the first transmission time length set includes the transmission time length of each data frame in the transmitted data frame. If the second utilization is less than or equal to a preset first utilization threshold, it is determined that the second time length threshold satisfies the first condition.
[0112] In some embodiments, determining the k-th utilization rate of a second route based on a first state probability group and a k-th retransmission parameter group may be achieved as follows.
[0113] Step S51: If the first state probability group includes M state probabilities and the k-th retransmission parameter group includes M retransmission parameters, the M state probabilities and the M retransmission parameters are multiplied together to obtain M first multiplicative values. Here, the first transmission state group includes M different transmission time lengths in the first transmission time length set, each of the M retransmission parameters is used to indicate whether one of the M transmission time lengths is greater than the k-th time length threshold, the i-th first multiplicative value among the M first multiplicative values is equal to the value obtained by multiplying the i-th state probability among the M state probabilities by the i-th retransmission parameter among the M retransmission parameters, where i is a positive integer between 1 and M, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first transmission time length set, and the i-th retransmission parameter is used to indicate whether the i-th transmission time length among the M transmission time lengths is greater than the k-th time length threshold.
[0114] Step S52: Determine the sum of the M first multiplication values as the k-th utilization of the second path.
[0115] In an embodiment of the present invention, taking as an example the first state probability group described above is P(S1), P(S2), P(S3), and the second retransmission parameter group is x1, x2, x3, the second utilization rate of the second path is determined by multiplying M (values of 3) state probabilities and M (values of 3) retransmission parameters by each, obtaining M (values of 3) first multiplication values (i.e., P(S1)*x1, P(S2)*x2, P(S3)*x3), and determining the sum of the M (values of 3) first multiplication values, i.e., P(S1)*x1 + P(S2)*x2 + P(S3)*x3, as the second utilization rate of the second path, Σ Si∈U P(S i )x i It can be expressed as follows, where the values of i are 1, 2, and 3.
[0116] In some embodiments, the first utilization threshold is determined as follows:
[0117] Step S61: If the first state probability group contains M state probabilities and the first lag condition probability group contains M lag condition probabilities, the M state probabilities and the M lag condition probabilities are multiplied together to obtain M second multiplicative values. Here, the first transmission state group contains M distinct transmission time lengths in the first transmission time length set, the M lag condition probabilities include the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames, the i-th multiplicative value among the M second multiplicative values is equal to the value obtained by multiplying the i-th state probability among the M state probabilities and the i-th lag condition probability among the M lag condition probabilities, where i is a positive integer between 1 and M, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first transmission time length set, and the i-th lag condition probability is used to indicate the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames.
[0118] Step S62: The sum of M second multiplication values is multiplied by a preset coefficient to obtain the first utilization threshold.
[0119] In some embodiments, the first state probability group is P(S1), P(S2), P(S3), and the first lag condition probability group is P(stall│S1), P(stall│S2), P(stall│S3). As an example, the M (values of 3) state probabilities and the M (values of 3) lag condition probabilities are multiplied together to obtain M (values of 3) second multiplicative values (i.e., P(S1)*P(stall│S1), P(S2)*P(stall│S2), P(S3)*P(stall│S3). The sum of the M (values of 3) second multiplicative values (P(S1)*P(stall│S1)+P(S2)*P(stall│S2)+P(S3)*P(stall│S3)) is multiplied by a pre-set coefficient δ to obtain the first usage threshold Σ Si∈U P(stall│S i )P(S i )δ is obtained, where the values of i are 1, 2, and 3.
[0120] In some embodiments, the accuracy of determining the first utilization threshold is improved by determining the first utilization threshold based on multiple state probabilities. By setting the first utilization threshold, switching of cellular paths can be limited, saving cellular network data consumption in data transmission and reducing data transmission costs.
[0121] In some embodiments, determining a first time-length threshold from a first time-length threshold subset based on a first state probability group and a first lag condition probability group may be achieved as follows.
[0122] Step S71: If the first time-length threshold subset includes P time-length thresholds and the transmission state includes a transmission time length, the j-th lag rate of the first path is determined based on the j-th time-length threshold among the P time-length thresholds, where j is a positive integer between 1 and P. The step of determining the j-th lag rate includes determining the j-th lag rate based on the first lag condition probability group, the first state probability group, and the j-th retransmission parameter group, where each retransmission parameter in the j-th retransmission parameter group is used to indicate whether the transmission time length among the M transmission time lengths is greater than the j-th time-length threshold, the M transmission time lengths include each different transmission time length in the first transmission time length set, the first transmission time length set includes the transmission time length of each data frame among the transmitted data frames, and M is a positive integer between 2 and P.
[0123] Step S72: Determine the time length threshold with the smallest lag rate among the P time length thresholds and obtain the first time length threshold.
[0124] In some embodiments, the first time-length threshold subset may include S2 and S3, i.e., the first time-length threshold subset includes two time-length thresholds, i.e., S2 and S3, and the second lag rate of the second path is determined according to the j-th time-length threshold of the two time-length thresholds (for example, the value of j is 2 and the time-length threshold is S3) by the following steps: first lag condition probability group (P(stall│S1), P(stall│S2), P(stall│S3)), first state probability group (P(S1), P(S2), P(S3)), and second retransmission parameter group (x 1、 The second lag rate is determined according to x2, x3).
[0125] In some embodiments, determining the j-th lag rate based on a first lag condition probability group, a first state probability group, and a j-th retransmission parameter group may be achieved as follows.
[0126] Step S81: If the first state probability group includes M state probabilities, the first lag condition probability group includes M lag condition probabilities, the j-th retransmission parameter group includes M retransmission parameters, and the j-th path parameter group includes M path parameters, then the M lag condition probabilities, M state probabilities, M path parameters, and M retransmission parameters are multiplied together to obtain M third multipliers. Here, the first transmission state group includes M different transmission time lengths in the first transmission time length set, each of the M retransmission parameters is used to indicate whether the transmission time length among the M transmission time lengths is greater than the j-th time length threshold, each of the M path parameters is a path parameter of a second path determined based on the transmission time length among the M transmission time lengths, and the i-th third multiplier among the M third multipliers is obtained by multiplying the i-th lag condition probability among the M lag condition probabilities, the i-th state probability among the M state probabilities, the i-th path parameter among the M path parameters, and the i-th retransmission parameter among the M retransmission parameters. The i-th lag condition probability is the value obtained by multiplying the i-th retransmission parameter by the j-th lag condition probability, where i is a positive integer between 1 and M, the i-th lag condition probability is used to indicate the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first set of transmission time lengths, the i-th retransmission parameter is used to indicate whether the i-th transmission time length among the M transmission time lengths is greater than the j-th time length threshold, and the i-th path parameter is the path parameter of the second path determined based on the i-th transmission time length among the M transmission time lengths.
[0127] Step S82: Determine the j-th lag rate by summing the M third multiplicative values.
[0128] In an embodiment of the present invention, the value of M is 3 and the value of j is 2. The first state probability group includes three state probabilities (P(S1), P(S2), P(S3)), the first lag condition probability group includes three lag condition probabilities (P(stall│S1), P(stall│S2), P(stall│S3)), the second retransmission parameter group includes three retransmission parameters (x1, x2, x3), and the second path parameter group includes three path parameters (P backup (S1), P backup (S2), P backup If (S3)) is included, the three lag condition probabilities, three state probabilities, three path parameters, and three retransmission parameters are multiplied by each other to obtain three third multiplicative values, i.e., Σ Si∈U P(stall|S i )P(S i )P backup (S i )·x i Obtain the value of i, where i is 1, 2, or 3.
[0129] In some examples, the M path parameters are determined as follows:
[0130] Step S91: When the transmitting device sends a group of probe frames to the receiving device using a second path and obtains a group of RTT (Round Trip Time) corresponding to the group of probe frames, M path parameters are determined based on the RTT group, M transmission time lengths, and a pre-set target time length threshold. Here, the i-th path parameter among the M path parameters is the path parameter determined based on the RTT group, the i-th transmission time length among the M transmission time lengths, and the target time length threshold.
[0131] In some embodiments, the state manager shown in Figure 5 above can continuously detect the capacity of Wi-Fi and cellular routes for each user session. Two state probability models were created and managed for the multi-route agent module. (outside 23) TIFF2026517962000032.tif8161 and (outside 24) The filename is TIFF2026517962000033.tif8161. (Outside 25) TIFF2026517962000034.tif9161 is a data frame retransmission policy for data frame retransmission decisions, (outside 26) TIFF2026517962000035.tif7161 is a primary route switching policy for determining primary route switching. However, in practice, there are two technical problems.
[0132] (Technical problem i) What information should be extracted from the transmitting device statistics to form the state space?
[0133] (Technical problem ii) Despite the assumption that the overall frame lag rate is constant, P(stall│S i ) and P(S i How is the probability distribution of ) obtained?
[0134] Regarding the above (technical problem i), it relates to the formation of the state space, and in principle, all available information can be extracted from the statistical information of the transmitting device to form a high-dimensional state space. However, in deciding which information to use to form the state space, the present invention considers two factors.
[0135] (Factor i) A multidimensional state space increases the difficulty and complexity of maintaining a state probability model and deriving a backup path utilization policy based on it.
[0136] (Factor ii) Some of the statistical information, such as RTT and confirmed bytes, does not need to be included in the state space because it is used by CCA to maintain a low median delay.
[0137] Taking the two factors mentioned above into account, the technical problem proposed in the embodiments of the present invention chooses to use a one-dimensional state space for the two state probability models. Here, the state probability model of the data frame retransmission policy (outside 27) The state space corresponding to TIFF2026517962000036.tif7161 is the frame retransmission state space U1, and is the state probability model of the main path switching policy. (outside 28) The state space corresponding to TIFF2026517962000037.tif9161 is the main path switching state space U2.
[0138] Creation of frame retransmission state space U1: Transmission time length S of each data frame in the transmitted data frame i A state space is created using this to determine when data frame retransmission will occur on the cellular path. For example, the transmission time S of each data frame in the transmitted data frame. i We can calculate this and use this value to represent a single point in the state space U1. We choose to use the transmission time length of each data frame as the transmission state and create a state probability model from the state space U1. (outside 29) TIFF2026517962000038.tif9161 was derived, (Outside 30) TIFF2026517962000039.tif10161 can show the correlation between lag rate and data frame transmission time. On the other hand, the transmission status provides information necessary for subsequent data frame retransmission policies, enabling timely retransmission of data frames via backup paths.
[0139] Creation of the main path switching state space U2: State probability model of the main path switching policy (Outside 31) To derive TIFF2026517962000040.tif9161, a state space U2 can be formed using the path length of each data frame. Here, the path length of each data frame is the maximum transmission time of the data frame that was transmitted earliest and whose reception has not been confirmed by the receiving device, among the data frames currently being transmitted on the first path, when the corresponding data frame enters the first path. The corresponding path length of each data frame can reflect the current data frame transmission delay on the first path when each data frame enters the first path. Therefore, the state space U2 can reflect the data frame transmission delay of the main path and provide clues to the decrease in main path capacity and reference information regarding path switching. In practice, the state manager can periodically check the transmission time of all unconfirmed data frames on the first path and set the transmission time of the earliest transmitted data frame as the path length of all data frames currently being transmitted.
[0140] Furthermore, the state manager can also detect the capacity of the cellular path. In embodiments of the present invention, since the cellular path can be used as a backup path, the cellular path may also be affected by fluctuations that result in delays in the edge length of data frame transmission. Furthermore, the state manager can also detect the characteristics of the cellular path, estimate its capacity, and determine whether the data frame transmission is sufficient. Furthermore, the transmission time length of the data frame can be determined by the transmission state S. i To be used, transmission state S i In this case, the time S since the data frame was sent. i The time elapsed is 1000m. Therefore, in order to reduce long-tail latency, and to perform efficient data frame retransmission or primary path switching, the RTT of the cellular path must be 1000m. thresh -S i It must not exceed this. If the data frame transmission delay exceeds 200ms, the user experience may be degraded, so T threshThis can be set to 200ms. Additionally, the following equation (8) is used to evaluate the RTT as a measure of the backup path capacity.
[0141] P backup (S i )=P(RTT cell ≦T thresh -S i ) (8) Here, P backup (S i ) is a path parameter, and the backup path is in transmission state S i This shows the probability of satisfying the conditions for performing data frame transmission in S i T is the transmission time length over which the target data frame has already been transmitted via the first path. thresh This is the threshold at which users perceive lag, and T thresh -S i This indicates the maximum allowable transmission time (RTT) at which the user will not experience lag if the target data frame is retransmitted using the second path. Therefore, if the current target data frame is retransmitted using the second path, the RTT of the target data frame on the second path is... cell is T thresh -S i The following conditions indicate that users do not experience lag, and that retransmitting dataframes can effectively reduce long-tail latency:
[0142] In some embodiments, M path parameters are determined based on the RTT group, M transmission time lengths, and a pre-configured target time length threshold.
[0143] The i-th path parameter is determined based on the RTT group, the i-th transmission time length out of M transmission time lengths, and the target time length threshold, using the following steps.
[0144] Step S101: If the probe frame group contains Q probe frames and the RTT group contains Q RTTs, the i-th transmission time length is subtracted from the target time length threshold to obtain the i-th time length difference. Here, Q is a positive integer greater than or equal to 2, and the Q RTTs include the RTT corresponding to each probe frame among the Q probe frames.
[0145] Step S102: If the number of RTTs that are less than or equal to the i-th time difference out of Q is the i-th number, divide the i-th number by Q to obtain the i-th route parameter.
[0146] In embodiments of the present invention, as described above, P backup (S i ) is a path parameter, and the backup path is in transmission state S i This shows the probability of satisfying the conditions for data frame transmission, but since the cellular path acts as a backup path and feedback is intermittent, P(RTT) cell ≦T thresh -S i This cannot be passively obtained directly from information fed back from the receiving device. Therefore, the state manager can actively probe the RTT of the cellular path by periodically sending 8-byte probe messages (i.e., the probe frames described above) (e.g., at 50ms intervals). The overhead of the probe messages is theoretically less than 0.06%, which is low compared to the rate at which large video data frames (e.g., 60fps) are transmitted at high frame rates (typically over 4KB).
[0147] In the embodiments of the present invention, the target time length threshold is T in formula (8) above. thresh This may be the case, but is not limited to these, and the i-th transmission time length is S in equation (8) above. i This may be the case, but is not limited to these. Subtract the i-th transmission time length from the target time length threshold to obtain the difference of the i-th time length, i.e., T thresh -S ican be obtained. The value of Q is 10, the i-th number is 8, and among the 10 RTTs, the RTT cell is T thresh -S i shows that the number of RTTs that are below is 8. In this case, dividing 8 by 10, the i-th path parameter P backup (S i ) = 0.8 can be obtained.
[0148] In some embodiments, the first set of lag conditional probabilities is obtained as follows.
[0149] Step S111: Within a first predetermined period before the transmitting device transmits a target data frame, a plurality of data frames transmitted by the transmitting device to the receiving device and whose reception is confirmed by the receiving device are determined as transmitted data frames, and a first set of transmission states corresponding to the transmitted data frames is obtained.
[0150] Step S112: The ratio of the number of data frames in each transmission state in the first set of transmission states to the total number of transmitted data frames is determined as the probability that the corresponding transmission state appears in the first set of transmission states, and a first set of state probabilities is obtained.
[0151] Step S113: The ratio of the number of data frames in which a lag occurs in each transmission state in the first set of transmission states to the total number of the transmitted data frames is determined as the lag probability that a lag occurs in the corresponding transmission state, a set of lag probabilities is obtained, and the product of the lag probability and the state probability corresponding to each transmission state in the first set of transmission states is determined as the lag conditional probability of the corresponding transmission state, and a first set of lag conditional probabilities is obtained.
[0152] In some embodiments, the determination of the first set of state probabilities and the first set of lag conditional probabilities is related to a probability distribution derivation scheme. The first set of state probabilities and the first set of lag conditional probabilities are state probability models (Outer 32) derived by TIFF2026517962000041.tif9161, and the state probability model (Outer 33) TIFF2026517962000042.tif8161 includes the probability distributions of P(stall│S i ) and P(S i ). However, it is difficult to accurately describe P(stall│S i ) and P(S i ). First, P(stall│S i ) and P(S i ) may be arbitrary for different times of different users. And the state manager cannot predict future transmission states or lag events, and can only estimate the approximate distributions of P(stall│S i ) and P(S i ) from the historical transmission states. To solve this problem, the observation discussed in Figure 2, that is, the characteristics of the network are stable for a single user over a certain period, can be utilized. Based on this, it can be assumed that the probability distribution of the transmission states within a time window of a certain period is constant. Within the time window Δ (corresponding to the above-mentioned first predetermined period), for each transmission state S i and the corresponding lag event (the frequency of "whether there is a lag in transmission" aggregated in Table 1 above ( (Outer 34) TIFF2026517962000043.tif10161 and (Outer 35) TIFF2026517962000044.tif10161 represented) may be obtained. The probability distribution of the transmission states within the time window Δ is approximated using these frequencies. The approximated lag rate can be (Outer 36) derived from TIFF2026517962000045.tif8161 Equation (1). Thus, the state manager continuously updates the transmission states within the state manager. For each time window Δ, two approximated state probability models (Outer 37) TIFF2026517962000046.tif9161 and (Outside 38) Create and maintain TIFF2026517962000047.tif8161.
[0153]
number
[0154] In embodiments of the present invention, a plurality of data frames transmitted by the transmitting device to the receiving device and confirmed to have been received by the receiving device during a first pre-set period until the transmitting device transmits the target data frame are designated as transmitted data frames. Here, the first pre-set period may be, but is not limited to, the Time Window Approximation shown in Figure 5.
[0155] In an embodiment of the present invention, the ratio of the number of data frames for each transmission state in the first transmission state group to the total number of transmitted data frames is determined as the probability that the corresponding transmission state appears in the first transmission state set, and the first state probability group is obtained. As an example, Table 1 above is used to determine that the first transmission state group consists of S1, S2, and S3, with corresponding numbers of 5, 2, and 3 respectively, and the total number of transmitted data frames is 10, so the first state probability groups are 0.5, 0.2, and 0.3, respectively.
[0156] In an embodiment of the present invention, the ratio of the number of data frames in which lag occurs in each transmission state of the first transmission state group to the total number of transmitted data frames is determined as the lag probability for the corresponding transmission state, and a lag probability group is obtained. As an example, Table 1 above is used to determine the first transmission state group, S1, S2, and S3, whose values are 120ms, 130ms, and 240ms, respectively, and the number of data frames in which lag occurs in each transmission state is 0, 0, and 3, respectively. Since the total number of transmitted data frames is 10, the lag probability group is 0, 0, and 0.3.
[0157] In the embodiment of the present invention, the product of the lag probability and the state probability corresponding to each transmission state in the first transmission state group is determined as the lag condition probability of the corresponding transmission state, and the first lag condition probability group is obtained. Here, the first state probability group is P(S1), P(S2), and P(S3), and their values are known to be 0.5, 0.2, and 0.3. Since the lag probabilities corresponding to the first transmission state groups S1, S2, and S3 are 0, 0, and 0.3, respectively, the first lag condition probability group is 0, 0, and 0.09, respectively.
[0158] In some examples, the first route is switched to the second route as follows.
[0159] Step S121: In the process in which the transmitting device transmits the target data frame to the receiving device using the first path, the path time length of the target data frame is obtained. Here, the path time of each data frame is the maximum transmission time length of data frames being transmitted on the first path when the corresponding data frame enters the first path.
[0160] Step S122: Determine a second time length threshold based on the second state probability group and the second lag condition probability group. Here, the second state probability group includes the probability that each path state in the second path state group appears in the second path state set, the second path state group includes each different path state in the second path state set, the second path state set includes the path state of the first path when each data frame among the transmitted data frames enters the first path, the transmitted data frames are data frames that the transmitting device has transmitted to the receiving device before transmitting the target data frame, and the second lag condition probability group includes the probability that a lag occurs in the data frames belonging to each path state in the second path state group among the transmitted data frames.
[0161] Step S123: If the path time length of the target data frame is greater than or equal to the second time length threshold, and the current RTT (round trip time) of the second path is less than the RTT of the first path, the path used to transmit the data frame between the transmitting and receiving devices is switched from the first path to the second path. Here, the second path is a backup path for the first path.
[0162] Figure 7 is a schematic diagram (part 2) of the application environment for the data frame transmission method according to an embodiment of the present invention. As shown in Figure 7, the above reference "primary path switching policy" for using a cellular path is shown. Here, the target data frame f51 is a data frame currently being transmitted on a first path (primary path, e.g., Wi-Fi path) between the transmitting device and the receiving device, the path time length of f51 is T2, and the transmitted data frames (f41~f50) are data frames that the transmitting device sent to the receiving device before the target data frame. Based on the transmission state of each data frame in the transmitted data frames, a second state probability group and a second lag condition probability group are obtained, a second time length threshold is determined based on the second state probability group and the second lag condition probability group, and the path time length T2 of f51 is compared with the second time length threshold. If T2 is greater than or equal to the second time length threshold, and the current round-trip time (RTT) of the second path is less than the RTT of the first path, the path for transmitting data frames between the transmitter and receiver is switched from the first path to the second path (backup path, e.g., cellular path), and all untransmitted data frames (f52, ... f58, f59...) in the queue of data frames awaiting transmission are moved to the second path. The above process demonstrates the "primary path switching policy" in the data frame transmission method and applies to the transmission path.
[0163] In the embodiments of the present invention, in order to better understand the relationship and differences between the second state probability group and the first state probability group, the second lag condition probability group and the first lag condition probability group, and the second time length threshold and the first time length threshold, we will use as an example that the target data frame is f51 and the transmitted data frames are f41 to f50. As shown in Table 2 below, the transmission state of each data frame, whether or not a lag occurs in each data frame, and the path state of each data frame are recorded. Here, the transmission state may reflect the transmission delay of a single data frame while the data frame is being transmitted, and may be any parameter such as the data frame transmission delay or the path time length of the data frame, and the path state may be any parameter that can reflect the transmission delay of the first path while the data frame is being transmitted. Table 2 uses the path time length of each data frame as the path state based on Table 1. For example, the path time length of f41 is 120ms, and no lag occurs. The path time length of f45 is 240ms, and a lag occurs.
[0164] [Table 2] As shown in Table 2 above, each data frame has two parameters: transmission state and path state. Let's take the example that the transmission state is the transmission time and the path state is the path time. Figure 8 is a schematic diagram of the transmission time and path time according to an embodiment of the present invention. As shown in Figure 8, when data frame f47 enters the first path, the data frames currently being transmitted on the first path are f47, f48, and f49. Here, since f49 is the first data frame transmitted from one of the three transmitting devices, its transmission time is the longest, and the transmission times of f47, f48, and f49 are S47 (130 ms), S48 (120 ms), and S49 (240 ms), respectively. The path time length of data frame f47 is 240ms, which is the longest transmission time length among the data frames (f47, f48, f49) being transmitted on the first path when data frame f47 enters the first path. Therefore, the transmission time length S47 of data frame f47 is 130ms, and the path time length S47-1 is 240ms.
[0165] In some embodiments, determining a second time length threshold based on a second state probability group and a second lag condition probability group may be achieved as follows.
[0166] Step S131: Based on the second state probability group and the second lag condition probability group, a second time-length threshold that satisfies the second lag constraint and the second path constraint is determined from a pre-set time-length threshold set. Here, the second path constraint includes that the utilization rate of the second path determined based on the second time-length threshold is less than or equal to a pre-set second utilization threshold, the second lag constraint includes that the lag rate of the first path determined based on the second time-length threshold is the smallest from the second time-length threshold subset, the second time-length threshold subset includes the second time-length threshold, the second time-length threshold subset consists of time-length thresholds in the time-length threshold set that satisfy the second condition, the second condition being that the utilization rate of the second path determined based on the time-length threshold is less than or equal to a pre-set second utilization threshold.
[0167] In some embodiments, the process in S131 is similar to the process in S21 described above, with the difference being that the first state probability and the first lag condition probability group are based on the state probability model. (outside 45) Obtained based on TIFF2026517962000056.tif9161, (outside 46) TIFF2026517962000057.tif9161 is derived from the state space U1. Here, each S in U1 is i This represents the transmission time of the data frame. On the other hand, the second state probability and the second lag condition probability group are the state probability model. (outside 47) Obtained based on TIFF2026517962000058.tif9161, (outside 48) TIFF2026517962000059.tif9161 is derived from the state space U2. Here, each S in U2 is i This represents the transmission time of the data frame. Other processes are similar, but their explanations are omitted.
[0168] In some embodiments, determining a second time length threshold based on a second state probability group and a second lag condition probability group may be achieved as follows.
[0169] Step S141: Based on the second state probability group and the second lag condition probability group, a subset of second time length thresholds that satisfies the second condition is determined from a set of pre-configured time length thresholds. Here, the second condition is that the utilization rate of the second route determined based on the time length threshold is less than or equal to the pre-configured second utilization rate threshold.
[0170] Step S142: Based on the second state probability group and the second lag condition probability group, a second time-length threshold is determined from a second time-length threshold subset. Here, the lag rate of the first path determined from the second time-length threshold subset based on the second time-length threshold is the smallest.
[0171] In some embodiments, the process in S141 is the same as the process in S31 described above. The process in S142 is the same as the process in S32 described above. The difference is that the first state probability group and the first lag condition probability group are in the state probability model. (outside 49) Obtained based on TIFF2026517962000060.tif8161, (outside 50) TIFF2026517962000061.tif9161 is derived from the state space U1. Here, each S in U1 is i This represents the transmission time of the data frame. The second state probability group and the second lag condition probability group are the state probability model. (outside 51) Obtained based on TIFF2026517962000062.tif9161, (outside 52) TIFF2026517962000063.tif10161 is derived from the state space U2. Here, each S in U2 is i This represents the path time length of the data frame. Other processes are similar and will not be explained. Here, the second time length threshold corresponds to X2 in policy X above.
[0172] In some embodiments, determining a second time-length threshold subset that satisfies a second condition from a pre-configured set of time-length thresholds based on a second state probability group and a second lag condition probability group may be achieved as follows.
[0173] If the time-length threshold set includes R time-length thresholds and the transmission state includes path time length, we determine whether the t-th time-length threshold among the R time-length thresholds satisfies the second condition. Here, t is a positive integer between 1 and R (inclusive).
[0174] Step S151: Determine the t-th utilization rate of the second route based on the second state probability group and the t-th switching parameter group. Each switching parameter in the t-th switching parameter group is used to indicate whether one of the Y route time lengths is greater than the t-th time length threshold, where the Y route time lengths consist of each different route time length in the second route time length set, where the second route time length set consists of the route time length of each data frame in the transmitted data frames, and Y is a positive integer greater than or equal to 2.
[0175] Step S152: If the t-th utilization is less than or equal to a preset second utilization threshold, it is determined that the t-th time length threshold satisfies the second condition.
[0176] In some embodiments, the process in S151 is similar to the process in S41 above, and the process in S152 is similar to the process in S42 above. The difference is that the first state probability and the first lag condition probability group are in the state probability model. (outside 53) Obtained based on TIFF2026517962000064.tif8161, (outside 54) TIFF2026517962000065.tif10161 is derived from the state space U1. Here, each S in U1 is i This represents the transmission time of the data frame. On the other hand, the second state probability and the second lag condition probability group are the state probability model. (outside 55) Obtained based on TIFF2026517962000066.tif8161, (outside 56) TIFF2026517962000067.tif9161 is derived from the state space U2. Here, each S in U2 i represents the path time length of the data frame. The same applies to other processes, and the description is omitted.
[0177] In some embodiments, the second lag conditional probability group is obtained as follows.
[0178] Step S161: Within a second predetermined period before the transmitting device transmits the target data frame, a plurality of data frames transmitted by the transmitting device to the receiving device and confirmed by the receiving device are determined as transmitted data frames, and the second path state group corresponding to the transmitted data frames is obtained.
[0179] Step S162: Determine the ratio of the number of data frames in each path state in the second path state group to the total number of transmitted data frames as the probability that the corresponding path state appears in the second path state set, and obtain the second state probability group.
[0180] Step S163: Determine the ratio of the number of data frames in which a lag occurs in each path state in the second path state group to the total number of transmitted data frames as the lag probability that a lag occurs in the corresponding path state, obtain the lag probability group, and determine the ratio of the lag probability and the state probability corresponding to each path state in the second path state group as the lag conditional probability of the corresponding path state, and obtain the second lag conditional probability group.
[0181] In an embodiment of the present invention, the process of S161 is similar to the process of S111 described above, the process of S162 is similar to the process of S112 described above, and the process of S163 is similar to the process of S113 described above. The difference is that the first state probability group and the first lag conditional probability group are based on the state probability model (Outer 57) obtained based on TIFF2026517962000068.tif7161, (Outer 58) TIFF2026517962000069.tif9161 is derived from the state space U1. Here, each S in U1 is i This represents the transmission time of the data frame. On the other hand, the second state probability group and the second lag condition probability group are the state probability model. (outside 59) Obtained based on TIFF2026517962000070.tif8161, (outside 60) TIFF2026517962000071.tif9161 is derived from the state space U2. Here, each S in U2 is i This represents the path time length of the data frame. Other processes are similar and will not be explained.
[0182] In the embodiments of the present invention, the steps are described as a combination of operations for the sake of simplicity. However, those skilled in the art will recognize that, according to the embodiments of the present invention, some steps may be performed in a different order or simultaneously, and therefore the embodiments of the present invention are not limited to the order of operations described. Those skilled in the art will also recognize that, for operations and modules not necessarily required in the embodiments of the present invention, the embodiments described in the embodiments of the present invention are preferred.
[0183] According to the data frame transmission method of the present invention, it is possible to transmit data frames while satisfying the technical effects of low lag rate and low cost. The following shows a comparison of the effects of the data frame transmission method according to the embodiment of the present invention based on simulation experiments.
[0184] Test platform: Network simulations can be performed using mpshell and the multi-path extension version of Mahimahi. To demonstrate the relationship between the data frame transmission method according to an embodiment of the present invention and CCAs, this simulation experiment implemented two CCAs specifically for live streaming, namely Salsify and SQP. This simulation experiment collects Wi-Fi path and cellular path detection information based on the execution log of a user session. This simulation includes the bandwidth of the wireless network as perceived by the user, and an increase in RTT due to wireless fluctuations causes a sharp decrease in the bandwidth as perceived by the user. This simulation experiment plays each execution log for more than 10 minutes. This simulation case compares the data frame transmission method according to an embodiment of the present invention with the following multi-path transmission method.
[0185] (Method 1) Single Path (SP): All video data frames are transmitted via streaming exclusively on the Wi-Fi path.
[0186] (Method 2) minRTT: MPTCP's default multi-route scheduler schedules packets via the path with the lowest estimated RTT.
[0187] (Method 3) ECF: Provides the total available bandwidth for all routes using several relevant pieces of information about the route other than RTT (e.g., cwnd value). This method assumes that the underlying CCA is based on congestion windows and that the cwnd value is required for the determination. For rate-based CCA used in this method, the cwnd value is obtained by multiplying the transmit rate by the estimated RTT.
[0188] (Method 4) BLEST: Designed to avoid HoL blocking and erroneous retransmission by controlling buffer blocking. The cwnd value can be provided in the same way as above.
[0189] (Method 5) RAVEN: Duplicates packets across multiple paths.
[0190] The results of the test performance in this simulation incident are as follows:
[0191] Data frame delivery delay and data frame lag rate: In this simulation, the data frame transmission delay was measured for different CCAs, specifically for the above methods (1) to (5) (hereinafter abbreviated as other multipath methods) and the data frame transmission method according to an embodiment of the present invention (hereinafter abbreviated as embodiment of the present invention). Figure 9 is a schematic diagram of the performance of each embodiment and the simultaneous execution of the Salsify congestion control algorithm in the simulation experiment. Figure 10 is a schematic diagram of the performance of each embodiment and the simultaneous execution of the SQP congestion control algorithm in the simulation experiment. As shown in Figures 9(a) and 10(a), the median data frame delivery delay is similar for all multipath methods, but the embodiment of the present invention effectively reduces long-tail delay and is superior to the other multipath methods in two CCAs. Compared to using Wi-Fi only for data frame transmission, the embodiment of the present invention reduced the 99th quantile delay of Salsify and SQP by 50% and 65%, respectively. Accordingly, as shown in Figures 9(b) and 10(b), the embodiments of the present invention effectively reduced the data frame lag rate. In all multi-path schemes, the embodiments of the present invention achieved the lowest average frame stall rate (also known as lag rate), reducing the Salsify and SQP lag rates by 99.5% and 91.5%, respectively, compared to using only the Wi-Fi path (Method 1 above). This indicates that the embodiments of the present invention, in conjunction with different CCAs, effectively reduced long-tail latency and cellular data usage in live streaming. To evaluate the ability of the embodiments of the present invention to reduce cellular data usage, this simulation experiment calculated the ratio of the number of bytes transmitted over the cellular path to the total number of transmitted bytes for all multi-path schemes. As shown in Figures 9(c) and 10(c), in the entire multi-path scheme, the embodiment of the present invention achieved the lowest cellular data usage, with cellular data usage for Salsify and SQP being only 2.7% and 2.3%, respectively.Furthermore, compared to minRTT, which can effectively reduce the frame cut-off rate, the embodiments of the present invention reduced the cellular data usage of Salsify and SQP by 88.1% and 96.4%, respectively. This demonstrates that the embodiments of the present invention can effectively reduce cellular data usage without affecting performance, making it a viable option in application platform deployments.
[0192] In addition to the simulation experiments described above, the present invention conducted the following actual online test experiments.
[0193] Actual Online Test Experiment Setup: This actual online test experiment involved a large-scale A / B test to evaluate the performance of the embodiment of the present invention on the platform. In addition to the embodiment of the present invention and single-path Wi-Fi (SP), minRTT based on simulation results was deployed. Users were randomly assigned to each algorithm with equal probability. All other settings and implementations, such as CCA, remained unchanged. The A / B test was conducted over three weeks, with a total of 21,463 user sessions.
[0194] Actual Online Experiment Performance: Including data frame transmission delay and lag rate. Real-time services require interaction, so achieving consistently low latency is a critical requirement. To evaluate the data frame transmission delay performance in embodiments of the present invention, CDF graphs of data frame transmission delay and frame lag rate were plotted for all user sessions using three multi-path schemes. Figure 11 is a schematic diagram of the results of actual online test experiments for each embodiment. As shown in Figures 11(a) and 11(b), the median delay was similar across all schemes, but embodiments of the present invention performed better than SP and minRTT in reducing the 99th quantile delay, achieving reductions of 31.3% and 26.7%, respectively. Furthermore, regarding the critical delay long tail (i.e., frame delays of 200 milliseconds or more) that significantly impacts user experience, embodiments of the present invention were able to maintain the 99.9th quantile delay below 200 milliseconds, compared to SP and minRTT, where the 99th quantile delay exceeded 300 milliseconds. Therefore, the embodiments of the present invention were able to reduce the median lag rate for all user sessions by 95.1% and 90.1%, respectively, compared to SP and minRTT. These results indicate that the embodiments of the present invention can reduce long-tail latency and frame lag rate when RTT increases due to radio fluctuations, thereby improving the service experience for most mobile users. From a cellular cost perspective, in order to compare cellular data usage between the embodiments of the present invention and a baseline minRTT multi-route scheduler, this actual online test experiment calculated the ratio of the number of bytes transmitted by each user session over the cellular route to the total number of transmitted bytes. As shown in Figure 11(c), the frames of video data generated by the embodiments of the present invention averaged 6.6%, which is 1.7 times less than minRTT. Furthermore, the median cellular data usage rate generated by the embodiments of the present invention was 0.8% for all user sessions, which is 3.7 times less than minRTT. The reduction in cellular data usage can be attributed to two factors.First, embodiments of the present invention do not schedule all data frames on a path with a lower RTT, but only retransmit frames that may be delayed. Second, embodiments of the present invention strictly limit the cellular budget according to Equation (6) to generate a controlled cellular usage pattern. Note that, due to this limitation, embodiments of the present invention can limit the maximum cellular traffic data consumption and reduce it by 2.9 times compared to the minRTT scheduler. Regarding the user retention time of embodiments of the present invention, in order to show the impact on the user experience of embodiments of the present invention, the average retention times of three transmission methods are shown in FIG. 11(d). The results show that after deployment using embodiments of the present invention, the user retention time can be improved by an average of 52.9% and 19.2% compared to SP and minRTT, respectively.
[0195] Another aspect of embodiments of the present invention further provides a data frame transmission device for implementing the above-described data frame transmission method. FIG. 12 is a block diagram of the configuration of a data frame transmission device according to an embodiment of the present invention. As shown in FIG. 12, the device includes the following components.
[0196] The first acquisition unit 1202 acquires the transmission time length of the target data frame in the process of the transmission device transmitting the target data frame to the receiving device using the first path.
[0197] The first determination unit 1204 determines a first time length threshold based on a first state probability group and a first lag condition probability group. Here, the first state probability group includes the probability that each transmission state in the first transmission state group appears in the first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, the first transmission state set includes the transmission state of each data frame among the transmitted data frames, the transmitted data frames are data frames that the transmitting device has transmitted to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in the data frames belonging to each transmission state in the first transmission state group among the transmitted data frames.
[0198] If the transmission time of the target data frame is greater than or equal to a first time length threshold, the transmitting unit 1206 retransmits the target data frame to the receiving device using a second path via the transmitting device. Here, the second path is a backup path for the first path.
[0199] In some embodiments, the first determination unit includes the following components:
[0200] The first decision module determines a first time-length threshold that satisfies a first lag constraint and a first path constraint from a pre-configured set of time-length thresholds, based on a first state probability group and a first lag condition probability group. Here, the first path constraint includes that the utilization rate of a second path determined based on the first time-length threshold is less than or equal to a pre-configured first utilization threshold, the first lag constraint includes that the lag rate of a first path determined based on the first time-length threshold is the smallest from a first time-length threshold subset, the first time-length threshold subset includes a first time-length threshold, the first time-length threshold subset consists of time-length thresholds in the time-length threshold set that satisfy a first condition, the first condition being that the utilization rate of a second path determined based on the time-length threshold is less than or equal to a pre-configured first utilization threshold.
[0201] In some embodiments, the first determination unit includes the following components:
[0202] The second decision module determines a first time-length threshold subset that satisfies the first condition from a pre-configured set of time-length thresholds, based on the first state probability group and the first lag condition probability group. Here, the first condition is that the utilization rate of the second path, determined based on the time-length threshold, is less than or equal to a pre-configured first utilization rate threshold.
[0203] The third decision module determines a first time-length threshold from a first time-length threshold subset based on the first state probability group and the first lag condition probability group. Here, the lag rate of the first path determined based on the first time-length threshold from the first time-length threshold subset is the smallest.
[0204] In some embodiments, the second decision module determines whether the k-th time-length threshold among the N time-length thresholds satisfies the first condition, given that the time-length threshold set includes N time-length thresholds and the transmission state includes the transmission time length, where k is a positive integer between 1 and N (inclusive).
[0205] The step of determining whether the k-th time-length threshold satisfies the first condition is: A step of determining the k-th utilization rate of a second path based on a first state probability group and a k-th retransmission parameter group, wherein each retransmission parameter in the k-th retransmission parameter group is used to indicate whether one of M transmission time lengths is greater than a k-th time length threshold, the M transmission time lengths comprise each different transmission time length in a first set of transmission time lengths, the first set of transmission time lengths comprises the transmission time length of each data frame in the transmitted data frames, and M is a positive integer greater than or equal to 2. The step includes determining that the k-th time-length threshold satisfies a first condition if the k-th utilization is less than or equal to a preset first utilization threshold.
[0206] In some embodiments, the second decision module is: If the first state probability group contains M state probabilities and the k-th retransmission parameter group contains M retransmission parameters, then the M state probabilities and the M retransmission parameters are multiplied together to obtain M first multiplicative values, where the first transmission state group contains M distinct transmission time lengths in the first transmission time length set, each of the M retransmission parameters is used to indicate whether one of the M transmission time lengths is greater than the k-th time length threshold, the i-th first multiplicative value among the M first multiplicative values is equal to the value obtained by multiplying the i-th state probability among the M state probabilities by the i-th retransmission parameter among the M retransmission parameters, where i is a positive integer between 1 and M, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first transmission time length set, and the i-th retransmission parameter is used to indicate whether the i-th transmission time length among the M transmission time lengths is greater than the k-th time length threshold. The sum of the M first multiplication values is determined as the k-th usage rate of the second path.
[0207] In some embodiments, the apparatus further includes the following components:
[0208] The first multiplication unit, if the first state probability group includes M state probabilities and the first lag condition probability group includes M lag condition probabilities, multiplies the M state probabilities and the M lag condition probabilities respectively to obtain M second multiplication values. Here, the first transmission state group includes the M different transmission time lengths in the first transmission time length set, the M lag condition probabilities include the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames, the i-th multiplication value among the M second multiplication values is equal to the value obtained by multiplying the i-th state probability among the M state probabilities and the i-th lag condition probability among the M lag condition probabilities, where i is a positive integer between 1 and M, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first transmission time length set, and the i-th lag condition probability is used to indicate the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames.
[0209] The second multiplication unit multiplies the sum of M second multiplication values by a preset coefficient to obtain the first usage threshold.
[0210] In some embodiments, the third decision module is: If a first time-length threshold subset includes P time-length thresholds and a transmission state includes a transmission time length, the j-th lag rate of the first path is determined based on the j-th time-length threshold among the P time-length thresholds, where j is a positive integer between 1 and P. The step of determining the j-th lag rate includes determining the j-th lag rate based on a first lag condition probability group, a first state probability group, and a j-th retransmission parameter group, where each retransmission parameter in the j-th retransmission parameter group is used to indicate whether a transmission time length among M transmission time lengths is greater than the j-th time-length threshold, where M transmission time lengths include each different transmission time length in the first transmission time length set, where the first transmission time length set includes the transmission time length of each data frame among the transmitted data frames, where M is a positive integer between 2 and P. The first time length threshold is obtained by determining the time length threshold with the smallest lag rate among the P time length thresholds.
[0211] In some embodiments, the third decision module is: If the first state probability group contains M state probabilities, the first lag condition probability group contains M lag condition probabilities, the j-th retransmission parameter group contains M retransmission parameters, and the j-th path parameter group contains M path parameters, then the M lag condition probabilities, the M state probabilities, the M path parameters, and the M retransmission parameters are multiplied together to obtain M third multiplicative values, where the first transmission state group contains M different transmission time lengths in the first transmission time length set, each of the M retransmission parameters is used to indicate whether the transmission time length among the M transmission time lengths is greater than the j-th time length threshold, each of the M path parameters is a path parameter of a second path determined based on the transmission time length among the M transmission time lengths, and the i-th third multiplicative value among the M third multiplicative values is M The i-th lag condition probability is obtained by multiplying the i-th lag condition probability among the lag condition probabilities, the i-th state probability among the M state probabilities, the i-th path parameter among the M path parameters, and the i-th retransmission parameter among the M retransmission parameters, where i is a positive integer between 1 and M, the i-th lag condition probability is used to indicate the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first set of transmission time lengths, the i-th retransmission parameter is used to indicate whether the i-th transmission time length among the M transmission time lengths is greater than the j-th time length threshold, and the i-th path parameter is the path parameter of the second path determined based on the i-th transmission time length among the M transmission time lengths. The sum of M third multiplication values is determined as the j-th lag rate.
[0212] In some embodiments, the apparatus further includes the following components:
[0213] The second determination unit determines M path parameters based on the RTT group, M transmission time lengths, and a pre-set target time length threshold when the transmitting device transmits a group of probe frames to the receiving device using the second path and obtains a group of RTTs (round trip times) corresponding to the group of probe frames. Here, the i-th path parameter among the M path parameters is the path parameter determined based on the RTT group, the i-th transmission time length among the M transmission time lengths, and the target time length threshold.
[0214] In some embodiments, the second determination unit includes the following components.
[0215] The fourth decision module determines the i-th path parameter based on the RTT group, the i-th transmission time length out of M transmission time lengths, and the target time length threshold.
[0216] Specifically, the fourth decision module is: If the probe frame group contains Q probe frames and the RTT group contains Q RTTs, the i-th transmission time length is subtracted from the target time length threshold to obtain the i-th time length difference, where Q is a positive integer greater than or equal to 2, and the Q RTTs include the RTT corresponding to each probe frame among the Q probe frames. If the number of RTTs that have a time difference less than or equal to the i-th time difference out of Q is the i-th number, divide the i-th number by Q to obtain the i-th route parameter.
[0217] In some embodiments, the apparatus further includes the following components:
[0218] The third determination unit determines a plurality of data frames that have been transmitted by the transmitting device to the receiving device and whose reception has been confirmed by the receiving device within a first predetermined period before the transmitting device transmits the target data frame, as transmitted data frames, and acquires a first transmission state group corresponding to the transmitted data frames.
[0219] The fourth determination unit determines the ratio of the number of data frames in each transmission state in the first set of transmission states to the total number of transmitted data frames as the probability that the corresponding transmission state appears in the first set of transmission states, and obtains the first set of state probabilities.
[0220] The fifth determination unit determines the ratio of the number of data frames in which lag occurs in each transmission state in the first transmission state group to the total number of transmitted data frames as the lag probability in which lag occurs in the corresponding transmission state, and obtains a lag probability group. The product of the lag probability and the state probability corresponding to each transmission state in the first transmission state group is determined as the lag condition probability for the corresponding transmission state, and obtains a first lag condition probability group.
[0221] In some embodiments, the apparatus further includes the following components:
[0222] The second acquisition unit acquires the path time length of the target data frame during the process in which the transmitting device transmits the target data frame to the receiving device using the first path. Here, the path time of each data frame is the maximum transmission time length of data frames being transmitted on the first path when the corresponding data frame enters the first path.
[0223] The sixth decision unit determines a second time length threshold based on the second state probability group and the second lag condition probability group. Here, the second state probability group includes the probability that each path state in the second path state group appears in the second path state set, the second path state group includes each different path state in the second path state set, the second path state set includes the path state of the first path when each data frame among the transmitted data frames enters the first path, the transmitted data frames are data frames that the transmitting device has transmitted to the receiving device before transmitting the target data frame, and the second lag condition probability group includes the probability that a lag occurs in the data frames belonging to each path state in the second path state group among the transmitted data frames.
[0224] The switching unit switches the path for transmitting the data frame between the transmitting and receiving devices from the first path to the second path if the path time length of the target data frame is greater than or equal to the second time length threshold, and the current RTT (round trip time) of the second path is less than the RTT of the first path. Here, the second path is a backup path for the first path.
[0225] In some embodiments, the sixth determination unit includes the following components.
[0226] The fifth decision module determines a second time-length threshold from a pre-configured set of time-length thresholds that satisfies the second lag constraint and the second path constraint, based on the second state probability group and the second lag condition probability group. Here, the second path constraint includes that the utilization rate of the second path determined based on the second time-length threshold is less than or equal to a pre-configured second utilization threshold, the second lag constraint includes that the lag rate of the first path determined based on the second time-length threshold from a second time-length threshold subset is the smallest, the second time-length threshold subset includes the second time-length threshold, and the second time-length threshold subset consists of time-length thresholds in the time-length threshold set that satisfy the second condition, the second condition being that the utilization rate of the second path determined based on the time-length threshold is less than or equal to a pre-configured second utilization threshold.
[0227] In some embodiments, the sixth determination unit includes the following components.
[0228] The sixth decision module determines a second time-length threshold subset that satisfies the second condition from a pre-configured set of time-length thresholds, based on the second state probability group and the second lag condition probability group. Here, the second condition is that the utilization rate of the second route determined based on the time-length threshold is less than or equal to a pre-configured second utilization threshold.
[0229] The seventh decision module determines a second time-length threshold from a second time-length threshold subset based on the second state probability group and the second lag condition probability group. Here, the lag rate of the first path determined based on the second time-length threshold from the second time-length threshold subset is the smallest.
[0230] In some embodiments, the sixth decision module is: If the time-length threshold set includes R time-length thresholds (thresholds of time length) and the transmission state includes path time length, then we determine whether the t-th time-length threshold among the R time-length thresholds satisfies the second condition. Here, t is a positive integer between 1 and R (inclusive).
[0231] Specifically, the sixth decision module is: Based on the second state probability group and the t-th switching parameter group, the t-th utilization rate of the second route is determined, where each switching parameter in the t-th switching parameter group is used to indicate whether one of the Y route time lengths is greater than the t-th time length threshold, the Y route time lengths consist of each distinct route time length in the second route time length set, the second route time length set consists of the route time length of each data frame in the transmitted data frames, and Y is a positive integer greater than or equal to 2. If the t-th utilization is less than or equal to a pre-set second utilization threshold, it is determined that the t-th time length threshold satisfies the second condition.
[0232] In some embodiments, the apparatus further includes the following components:
[0233] The seventh determination unit determines a plurality of data frames that have been transmitted by the transmitting device to the receiving device and whose reception has been confirmed by the receiving device within a second predetermined period before the transmitting device transmits the target data frame as transmitted data frames, and obtains a second path state group corresponding to the transmitted data frames.
[0234] The eighth decision unit determines the ratio of the number of data frames in each path state in the second path state set to the total number of transmitted data frames as the probability that the corresponding path state appears in the second path state set, and obtains the second state probability set.
[0235] The ninth decision unit determines the ratio of the number of data frames in which lag occurs in each path state in the second path state group to the total number of transmitted data frames as the lag probability in which lag occurs in the corresponding path state, and obtains a lag probability group. It then determines the ratio of the lag probability to the state probability corresponding to each path state in the second path state group as the lag condition probability for the corresponding path state, and obtains a second lag condition probability group.
[0236] Another embodiment of the present invention further provides an electronic device for carrying out the data frame transmission method described above. The electronic device may be a terminal device or a server as shown in Figure 1. Embodiments of the present invention will be described using the example that the electronic device is a server. Figure 13 is a block diagram of the configuration of an electronic device according to an embodiment of the present invention. As shown in Figure 13, the electronic device includes a memory 1302 in which a computer program is stored and a processor 1304. The processor 1304 is configured to perform the steps in any embodiment of the above method by the computer program.
[0237] In embodiments of the present invention, the electronic device described above can be located in at least one network device among a plurality of network devices of a computer network.
[0238] In the embodiments of the present invention, the above-described processor can be configured to perform the following steps by a computer program.
[0239] Step S1: In the process of the transmitting device transmitting the target data frame to the receiving device using the first path, the transmission time length of the target data frame is obtained.
[0240] Step S2: Determine a first time length threshold based on a first state probability group and a first lag condition probability group. Here, the first state probability group includes the probability that each transmission state in the first transmission state group appears in the first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, the first transmission state set includes the transmission state of each data frame among the transmitted data frames, the transmitted data frames are data frames that the transmitting device has sent to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in the data frames belonging to each transmission state in the first transmission state group among the transmitted data frames.
[0241] Step S3: If the transmission time of the target data frame is greater than or equal to the first time length threshold, the transmitting device retransmits the target data frame to the receiving device using the second path. Here, the second path is a backup path to the first path.
[0242] Those skilled in the art will understand that in some embodiments, the structure shown in Figure 13 is merely illustrative, and the electronic device may be a smartphone (e.g., an Android phone, an iOS phone), a tablet, a handheld computer, or a terminal device such as a Mobile Internet Device (MID) or PAD. Figure 13 is not limited to the structure of the electronic device described above. For example, the electronic device may include more or fewer components (such as network interfaces) than those shown in Figure 13, or may have a different configuration than that shown in Figure 13.
[0243] Here, memory 1302 may be used to store software programs and modules, such as program instructions / modules, corresponding to the data frame transmission method and apparatus in the embodiment of the present invention, and processor 1304 realizes the data frame transmission method described above by executing various functional applications and data processing by executing the software programs and modules stored in memory 1302. Here, memory 1302 may include high-speed random memory, and may also include one or more non-volatile memories such as magnetic storage devices, flash memory, or other non-volatile solid-state memory. Here, memory 1302 may further include memory remotely provisioned to processor 1304 that can be connected to a terminal via a network in some examples. Examples of the above network include, but are not limited to, the Internet, corporate intranet, local area network, mobile communication network, and combinations thereof. Here, memory 1302 may be used to store information such as sample features of items and target virtual resource account numbers, although this is not particularly limited. Here, the memory 1302 may, for example, include the first acquisition unit 1202, the first determination unit 1204, and the transmission unit 1206 of the transmitting device including the data frame, as shown in Figure 13, but is not limited to these. Although not described here, it may also include other module units of the transmitting device including the data frame.
[0244] In some embodiments, the transmission device 1306 is configured to receive or transmit data over a network. Specific examples of the network may include wired and wireless networks. In one embodiment, the transmission device 1306 includes a network interface controller (NIC) which may be connected to other network devices and routers via a network cable for communication with the Internet or a local area network. In one embodiment, the transmission device 1306 is a radio frequency (RF) module for wireless communication with the Internet.
[0245] The electronic device further includes a display 1308 for displaying pending order information, and a connection bus 1310 for connecting various module components within the electronic device.
[0246] In other embodiments, a terminal device or server may be a node in a distributed system, which may be a blockchain system, a distributed system formed by multiple nodes being connected by network communication. In one embodiment, a peer-to-peer network can be formed between nodes, and any form of computing device, such as electronic devices like servers and terminals, can become a node in the blockchain system by participating in this peer-to-peer network.
[0247] Embodiments of the present invention provide a computer program product that includes a computer program / instructions, which include program code for performing the method shown in the flowchart. In such embodiments, the computer program may be downloaded and installed from a network via a communication unit 1409 and / or installed from a removable medium 1411. The various functions provided in one embodiment are performed when the computer program is executed by the central processing unit 1401.
[0248] The numbering of the above examples is for illustrative purposes only and does not indicate any superiority or inferiority among the examples.
[0249] Figure 14 is a block diagram of the configuration of a computer system for an electronic device according to an embodiment of the present invention.
[0250] The computer system 1400 of the electronic device shown in Figure 14 is merely an example and should not impose any limitations on the functions and scope of use of the embodiments of the present invention.
[0251] As shown in Figure 14, the computer system 1400 includes a central processing unit (CPU) 1401 that can perform various appropriate operations and processes according to programs stored in read-only memory 1402 (ROM) or programs loaded from memory unit 1408 into random access memory 1403 (RAM). The random access memory 1403 also stores various programs and data necessary for the operation of the system. The central processing unit 1401, read-only memory 1402, and random access memory 1403 are connected to each other via bus 1404. An input / output interface 1405 (i.e., I / O interface) is also connected to bus 1404.
[0252] The input / output interface 1405 is connected to an input unit 1406 consisting of a keyboard and mouse, an output unit 1407 consisting of a cathode ray tube (CRT) or liquid crystal display (LCD) and speakers, a storage unit 1408 including a hard disk, and a communication unit 1409 consisting of a network interface card such as a LAN card or modem. The communication unit 1409 performs communication processing via a network such as the internet. The driver 1410 is also connected to the input / output interface 1405 as needed. The driver 1410 is fitted with removable media 1411 such as magnetic disks, optical disks, magneto-optical disks, and semiconductor memory as needed, and computer programs read from there are installed in the storage unit 1408 as needed.
[0253] In particular, according to embodiments of the present invention, processes described in flowcharts of various methods may be implemented as computer software programs. Embodiments of the present invention include, for example, a computer program product which includes a computer program carried on a computer-readable medium containing program code for performing the methods shown in the flowchart. In embodiments of the present invention, the computer program can be downloaded and installed from a network via a communication unit 1409 and / or installed from a removable medium 1411. Various functions limited to the system of the present invention are performed when the computer program is executed by the central processing unit 1401.
[0254] According to one aspect of the present invention, a computer-readable storage medium is further provided, which allows a processor in a computer device to read computer instructions from the storage medium, and for the processor to execute computer instructions, causing the computer device to perform a data frame transmission method provided in the various arbitrary embodiments described above.
[0255] In embodiments of the present invention, the computer-readable storage medium described above may be configured to store a computer program for performing the following steps.
[0256] Step S1: In the process of the transmitting device transmitting the target data frame to the receiving device using the first path, the transmission time length of the target data frame is obtained.
[0257] Step S2: Determine a first time length threshold based on a first state probability group (state probabilities of the first group) and a first lag condition probability group (lag condition probabilities of the first group). Here, the first state probability group includes the probability that each transmission state in the first transmission state group appears in the first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, the first transmission state set includes the transmission state of each data frame among the transmitted data frames, the transmitted data frames are data frames that the transmitting device has sent to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in the data frames belonging to each transmission state in the first transmission state group among the transmitted data frames.
[0258] Step S3: If the transmission time of the target data frame is greater than or equal to the first time length threshold, the transmitting device retransmits the target data frame to the receiving device using the second path. Here, the second path is a backup path to the first path.
[0259] In embodiments of the present invention, those skilled in the art will understand that all or part of the steps of the various methods of the above embodiments may be performed by a program that instructs terminal device-related hardware via a computer-readable storage medium stored on a computer-readable storage medium that may include flash disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0260] The integrated unit of the embodiment of the present invention may be implemented as a software functional unit and, if sold or used as a separate product, may be stored on the computer-readable storage medium described above. The technical solutions of the embodiment of the present invention are based on the understanding that all or part of the steps of the various embodiments of the embodiment of the present invention can be embodied, essentially or as a part contributing to the related technology, in the form of a software product stored on a storage medium, which includes instructions for causing one or more computer devices (such as personal computers, servers, and network devices) to execute the instructions.
[0261] In the above embodiments of the present invention, emphasis has been placed on describing various embodiments, and parts not described in one embodiment can be referred to the relevant descriptions in other embodiments.
[0262] In some embodiments of the present invention, it should be understood that the disclosed clients may be implemented in other ways. The description of embodiments of the present invention is merely illustrative, such as unit divisions, and is merely a logical functional division; in practice, multiple units or components may be combined or integrated into another system, and some features may be ignored or not performed. Another point of this application is that the mutual combinations, direct combinations or communication connections illustrated or described may be indirect combinations or communication connections via some interface, unit or module, whether electrical or otherwise.
[0263] The units shown as separate components in this application may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected as needed in order to achieve the objectives of the embodiments of the present invention.
[0264] Furthermore, the functional units in each embodiment of the present invention may be integrated into a single processing unit, each unit may exist individually in physical form, or two or more units may be integrated into a single unit. Embodiments of the present invention may be implemented in the form of hardware or software functional units.
[0265] The embodiments of the present invention described above are merely preferred embodiments, and those skilled in the art should note that several improvements and modifications may be made without departing from the principles of the embodiments of the present invention, and these improvements and modifications should also be considered within the scope of protection of the embodiments of the present invention.
Claims
1. A method for transmitting data frames performed by electronic equipment, In the process in which a transmitting device transmits a target data frame to a receiving device using a first path, the steps include obtaining the transmission time length of the target data frame, A step of determining a first time length threshold based on a first state probability group and a first lag condition probability group, wherein the first state probability group includes the probability that each transmission state in a first transmission state group appears in a first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, the first transmission state set includes the transmission state of each data frame among the transmitted data frames, the transmitted data frames are data frames transmitted by the transmitting device to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in the data frames belonging to each transmission state in the first transmission state group among the transmitted data frames, A method comprising the step of, if the transmission time length of the target data frame is greater than or equal to the first time length threshold, the transmitting device retransmits the target data frame to the receiving device using a second path, wherein the second path is a backup path of the first path.
2. The step of determining a first time length threshold based on the first state probability group and the first lag condition probability group is: The process includes the step of determining a first time-length threshold that satisfies a first lag constraint and a first path constraint from a pre-set time-length threshold set based on a first state probability group and a first lag condition probability group, The method according to claim 1, wherein the first path constraint condition includes that the utilization rate of the second path determined based on the first time-length threshold is less than or equal to a preset first utilization threshold, the first lag constraint condition includes that the lag rate of the first path determined based on the first time-length threshold is the smallest from a subset of first time-length thresholds, the subset of first time-length thresholds includes the first time-length threshold, the subset of first time-length thresholds consists of time-length thresholds in the set of time-length thresholds that satisfy a first condition, the first condition being that the utilization rate of the second path determined based on the time-length threshold is less than or equal to a preset first utilization threshold.
3. The step of determining a first time length threshold based on the first state probability group and the first lag condition probability group is: A step of determining a first time-length threshold subset that satisfies a first condition from a set of pre-set time-length thresholds based on the first state probability group and the first lag condition probability group, wherein the first condition is that the utilization rate of the second path determined based on the time-length threshold is less than or equal to a pre-set first utilization rate threshold, The method according to claim 1, comprising the step of determining a first time length threshold from a first time length threshold subset based on the first state probability group and the first lag condition probability group, wherein the lag rate of the first path determined from the first time length threshold subset based on the first time length threshold is the smallest.
4. The step of determining a first time-length threshold subset that satisfies the first condition from a pre-set time-length threshold set based on the first state probability group and the first lag condition probability group is: If the set of time length thresholds includes N time length thresholds and the transmission state includes a transmission time length, the step of determining whether the k-th time length threshold among the N time length thresholds satisfies the first condition, wherein k is a positive integer between 1 and N, and is inclusive, The step of determining whether the k-th time length threshold satisfies the first condition is: A step of determining the k-th utilization rate of the second path based on the first state probability group and the k-th retransmission parameter group, wherein each retransmission parameter in the k-th retransmission parameter group is used to indicate whether one of the M transmission time lengths is greater than the k-th time length threshold, the M transmission time lengths comprise each different transmission time length in a first set of transmission time lengths, the first set of transmission time lengths comprises the transmission time length of each data frame in the transmitted data frames, and M is a positive integer of 2 or more, The method according to claim 3, comprising the step of determining that the k-th time length threshold satisfies the first condition if the k-th utilization rate is less than or equal to a preset first utilization rate threshold.
5. The step of determining the k-th utilization rate of the second route based on the first state probability group and the k-th retransmission parameter group is: If the first state probability group includes M state probabilities and the k-th retransmission parameter group includes M retransmission parameters, the step is to obtain M first multiplicative values by multiplying the M state probabilities and the M retransmission parameters, respectively, wherein the first transmission state group includes M different transmission time lengths in the first transmission time length set, and each of the M retransmission parameters is used to indicate whether the transmission time length among the M transmission time lengths is greater than the k-th time length threshold, and the M The i-th first multiplicative value among the first multiplicative values is equal to the value obtained by multiplying the i-th state probability among the M state probabilities by the i-th retransmission parameter among the M retransmission parameters, where i is a positive integer between 1 and M, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first set of transmission time lengths, and the i-th retransmission parameter is used to indicate whether the i-th transmission time length among the M transmission time lengths is greater than the k-th time length threshold, and The method according to claim 4, comprising the step of determining the sum of the M first multiplication values as the k-th utilization of the second path.
6. The first step is to obtain M second multiplicative values by multiplying the M state probabilities and the M lag condition probabilities, respectively, where the first state probability group includes M state probabilities and the first lag condition probability group includes M lag condition probabilities, the first transmission state group includes M different transmission time lengths in the first transmission time length set, the M lag condition probabilities include the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames, the i-th multiplicative value among the M second multiplicative values is equal to the value obtained by multiplying the i-th state probability among the M state probabilities and the i-th lag condition probability among the M lag condition probabilities, where i is a positive integer between 1 and M, the i-th state probability is the probability that the i-th transmission time length among the M transmission time lengths appears in the first transmission time length set, and the i-th lag condition probability is used to indicate the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames. The method according to claim 4, further comprising the step of obtaining the first utilization threshold by multiplying the sum of the M second multiplication values by a preset coefficient.
7. The step of determining a first time length threshold from a first time length threshold subset based on the first state probability group and the first lag condition probability group is: If the first time-length threshold subset includes P time-length thresholds and the transmission state includes a transmission time length, the step of determining the j-th lag rate of the first path based on the j-th time-length threshold among the P time-length thresholds, where j is a positive integer between 1 and P, and the step of determining the j-th lag rate includes the step of determining the j-th lag rate based on the first lag condition probability group, the first state probability group and the j-th retransmission parameter group, where each retransmission parameter among the j-th retransmission parameter group is used to indicate whether the transmission time length among M transmission time lengths is greater than the j-th time-length threshold, where the M transmission time lengths include each different transmission time length in the first set of transmission time lengths, where the first set of transmission time lengths includes the transmission time length of each data frame among the transmitted data frames, where M is a positive integer between 2 and P, The method according to claim 3, comprising the step of determining the time length threshold with the smallest lag rate among the P time length thresholds, and obtaining the first time length threshold.
8. The step of determining the j-th lag rate based on the first lag condition probability group, the first state probability group, and the j-th retransmission parameter group is: If the first state probability group includes M state probabilities, the first lag condition probability group includes M lag condition probabilities, the j-th retransmission parameter group includes M retransmission parameters, and the j-th path parameter group includes M path parameters, the step of obtaining M third multiplicative values is to multiply the M lag condition probabilities, the M state probabilities, the M path parameters, and the M retransmission parameters, respectively, the first transmission state group includes M different transmission time lengths in the first transmission time length set, each of the M retransmission parameters is used to indicate whether the transmission time length among the M transmission time lengths is greater than the j-th time length threshold, each of the M path parameters is a path parameter of the second path determined based on the transmission time length among the M transmission time lengths, and the i-th third multiplicative value among the M third multiplicative values is the previous Step A is a value obtained by multiplying the i-th lag condition probability out of M lag condition probabilities, the i-th state probability out of M state probabilities, the i-th route parameter out of M route parameters, and the i-th retransmission parameter out of M retransmission parameters, where i is a positive integer between 1 and M, the i-th lag condition probability is used to indicate the probability that a lag occurs in a data frame whose transmission time length is the i-th transmission time length among the transmitted data frames, the i-th state probability is the probability that the i-th transmission time length out of M transmission time lengths appears in the first set of transmission time lengths, the i-th retransmission parameter is used to indicate whether the i-th transmission time length out of M transmission time lengths is greater than the j-th time length threshold, and the i-th route parameter is a route parameter of the second route determined based on the i-th transmission time length out of M transmission time lengths, The method according to claim 7, comprising the step of determining the sum of the M third multiplication values as the j-th lag rate.
9. The method according to claim 8, further comprising the step of determining the M path parameters based on the RTT group, the M transmission time lengths and a pre-set target time length threshold, where the i-th path parameter among the M path parameters is a path parameter determined based on the RTT group, the i-th transmission time length among the M transmission time lengths and the target time length threshold.
10. The step of determining the M path parameters based on the RTT group, the M transmission time lengths, and the pre-set target time length threshold is as follows: The step includes determining the i-th path parameter based on the RTT group, the i-th transmission time length among the M transmission time lengths, and the target time length threshold, The step of determining the i-th path parameter is: If the group of probe frames includes Q probe frames and the group of RTTs includes Q RTTs, the step of obtaining the i-th time length difference is to subtract the i-th transmission time length from the target time length threshold, wherein Q is a positive integer of 2 or more, and the Q RTTs include the RTTs corresponding to each probe frame among the Q probe frames. The method according to claim 9, comprising the step of, if the number of RTTs among the Q RTTs that is less than or equal to the i-th time length difference is the i-th number, divide the i-th number by Q to obtain the i-th path parameter.
11. The steps include determining a plurality of data frames transmitted by the transmitting device to the receiving device and confirmed to have been received by the receiving device within a first predetermined period before the transmitting device transmits the target data frame as the transmitted data frame, and obtaining the first transmission state group corresponding to the transmitted data frame, The steps include determining the ratio of the number of data frames in each transmission state in the first transmission state group to the total number of transmitted data frames as the probability that the corresponding transmission state appears in the first transmission state set, and obtaining the first state probability group, The method according to claim 1, further comprising the steps of: determining the ratio of the number of data frames in which lag occurs in each transmission state in the first transmission state group to the total number of transmitted data frames as the lag probability in which lag occurs in the corresponding transmission state, and obtaining a lag probability group; determining the product of the lag probability and the state probability corresponding to each transmission state in the first transmission state group as the lag condition probability for the corresponding transmission state, and obtaining a first lag condition probability group.
12. In the process of a transmitting device transmitting a target data frame to a receiving device using a first path, the step of obtaining the path time length of the target data frame, wherein the path time of each data frame is the maximum transmission time length of data frames being transmitted on the first path when the corresponding data frame enters the first path; A step of determining a second time length threshold based on a second state probability group and a second lag condition probability group, wherein the second state probability group includes the probability that each path state in the second path state group appears in the second path state set, the second path state group includes each different path state in the second path state set, the second path state set includes the path state of the first path when each data frame among the transmitted data frames enters the first path, the transmitted data frames are data frames transmitted by the transmitting device to the receiving device before transmitting the target data frame, and the second lag condition probability group includes the probability that a lag occurs in the data frames belonging to each path state in the second path state group among the transmitted data frames, The method according to claim 1, further comprising the step of switching the path for transmitting a data frame between the transmitting device and the receiving device from the first path to the second path, where the path time length of the target data frame is greater than or equal to the second time length threshold, and the current RTT (round trip time) of the second path is less than the RTT of the first path, the second path is a backup path of the first path.
13. The step of determining a second time length threshold based on the second state probability group and the second lag condition probability group is: The process includes the step of determining a second time-length threshold that satisfies a second lag constraint and a second path constraint from a pre-set time-length threshold set based on a second state probability group and a second lag condition probability group, The method according to claim 12, wherein the second path constraint condition includes that the utilization rate of the second path determined based on the second time-length threshold is less than or equal to a preset second utilization threshold, the second lag constraint condition includes that the lag rate of the first path determined based on the second time-length threshold is the smallest from a subset of second time-length thresholds, the subset of second time-length thresholds includes the second time-length threshold, the subset of second time-length thresholds consists of time-length thresholds in the set of time-length thresholds that satisfy a second condition, the second condition being that the utilization rate of the second path determined based on the time-length threshold is less than or equal to a preset second utilization threshold.
14. The step of determining a second time length threshold based on the second state probability group and the second lag condition probability group is: A step of determining a subset of second time-length thresholds that satisfy a second condition from a set of pre-set time-length thresholds based on the second state probability group and the second lag condition probability group, wherein the second condition is that the utilization rate of the second path determined based on the time-length thresholds is less than or equal to a pre-set second utilization rate threshold. The method according to claim 12, comprising the step of determining a second time length threshold from a second time length threshold subset based on the second state probability group and the second lag condition probability group, wherein the lag rate of the first path determined from the second time length threshold subset based on the second time length threshold is the smallest.
15. The step of determining a second time-length threshold subset that satisfies the second condition from a pre-set time-length threshold set based on the second state probability group and the second lag condition probability group is: If the set of time length thresholds includes R time length thresholds and the transmission state includes a path time length, the step of determining whether the t-th time length threshold among the R time length thresholds satisfies the second condition, wherein t is a positive integer between 1 and R, and is inclusive, The step of determining whether the t-th time length threshold satisfies the second condition is: A step of determining the t-th utilization rate of the second route based on the second state probability group and the t-th switching parameter group, wherein each switching parameter in the t-th switching parameter group is used to indicate whether a route time length among Y route time lengths is greater than the t-th time length threshold, the Y route time lengths comprise each different route time length in a second set of route time lengths, the second set of route time lengths comprises the route time length of each data frame among the transmitted data frames, and Y is a positive integer of 2 or more, The method according to claim 14, comprising the step of determining that the t-th time length threshold satisfies the second condition if the t-th utilization rate is less than or equal to a preset second utilization rate threshold.
16. The steps include determining a plurality of data frames transmitted by the transmitting device to the receiving device and confirmed to have been received by the receiving device within a second predetermined period before the transmitting device transmits the target data frame as the transmitted data frame, and obtaining the second path state group corresponding to the transmitted data frame, The steps include determining the ratio of the number of data frames in each path state in the second path state group to the total number of transmitted data frames as the probability that the corresponding path state appears in the second path state set, and obtaining the second state probability group, The method according to claim 12, further comprising the steps of: determining the ratio of the number of data frames in which lag occurs in each path state in the second path state group to the total number of transmitted data frames as the lag probability in which lag occurs in the corresponding path state, and obtaining a lag probability group; determining the ratio of the lag probability to the state probability corresponding to each path state in the second path state group as the lag condition probability for the corresponding path state, and obtaining a second lag condition probability group.
17. A data frame transmission device, In the process in which a transmitting device transmits a target data frame to a receiving device using a first path, a first acquisition unit acquires the transmission time length of the target data frame, A first determination unit that determines a first time length threshold based on a first state probability group and a first lag condition probability group, wherein the first state probability group includes the probability that each transmission state in a first transmission state group appears in a first transmission state set, the first transmission state group includes each different transmission state in the first transmission state set, the first transmission state set includes the transmission state of each data frame among the transmitted data frames, the transmitted data frames are data frames transmitted by the transmitting device to the receiving device before transmitting the target data frame, and the first lag condition probability group includes the probability that a lag occurs in the data frames belonging to each transmission state in the first transmission state group among the transmitted data frames, A device comprising: a transmitting unit which, when the transmission time length of the target data frame is greater than or equal to the first time length threshold, retransmits the target data frame to the receiving device using a second path, wherein the second path is a backup path of the first path.
18. A computer program that causes a computer to perform the data frame transmission method described in any one of claims 1 to 16.
19. An electronic device comprising a memory storing a computer program and a processor, wherein the processor is configured to implement the data frame transmission method described in any one of claims 1 to 16 by executing the computer program.