Method for scheduling mptcp data with minimum latency based on predicted packet arrival time
By calculating the arrival time of each data packet on each substream, the substream with the shortest arrival time is selected for data packet scheduling. The arrival time of data packets is predicted by combining link parameters, throughput, and network environment. This reduces the number of out-of-order data packets at the receiving end, lowers transmission latency, improves the reliability of multipath transmission, and meets the low latency requirements of real-time video services.
Patent Information
- Application Number
- CN202211595130.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-13
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2042-12-13
Smart Images

Figure CN116033481B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication technology, specifically relating to a minimum latency MPTCP data scheduling method based on predicted packet arrival time. Background Technology
[0002] Mobile internet applications are booming. Against the backdrop of ever-increasing global data traffic, communication services are no longer limited to traditional services like voice and SMS; they are also integrating video transmission into fields such as gaming, e-commerce, finance, and social networking. Multimedia services are sensitive to latency, with video signals requiring high latency control from acquisition and encoding to decoding and playback. In environments with poor link conditions, single-path network conditions are unstable. Similarly, in multi-link transmission networks, the network conditions of different transmission paths are highly asymmetrical, with differences in parameter performance and network jitter, leading to instability in one or more links, limited transmission rates, poor stability, and high latency. Furthermore, the large number of out-of-order packets remaining in the buffer puts enormous pressure on congestion window control, all of which contribute to the inability to meet efficiency and performance requirements in multi-link transmission.
[0003] Multi-link transmission can improve system bandwidth utilization and achieve reliable and efficient data transmission. To achieve concurrent multi-link transmission of media, in addition to the necessary multiple transmission paths, a corresponding multi-link transmission control mechanism is also required. Data scheduling algorithms distribute data packets to different links, ensuring that these packets arrive at the receiving end in as much order as possible, reducing the probability of retransmissions and minimizing the number of unnecessary data packets.
[0004] The main packet scheduling algorithms implemented in MultiPathTCP (MPTCP) are Round-robin and Minimum RTT. Round-robin immediately allocates the buffered packets to sub-streams through simple polling; Minimum RTT simply traverses all sub-streams, then obtains the RTT value from the received ACKs, and selects the sub-stream with the smallest RTT value to schedule packets. This method considers very few parameters, cannot cope with complex link conditions, and may result in a large amount of data in a certain sub-stream, leading to a large number of out-of-order packets at the receiving end.
[0005] The methods described above cannot alleviate the problem of out-of-order data packets, cannot cope with the dynamic changes in link conditions during multi-link transmission, and cannot solve the low latency requirements of real-time video services. Therefore, a data packet scheduling algorithm that meets the minimum latency requirement is essential. Summary of the Invention
[0006] This invention addresses the problem that the scheduling algorithm in MPTCP cannot meet the low latency requirements of real-time video services. It proposes a packet scheduling algorithm based on predicted minimum arrival time. This algorithm can calculate the arrival time of each packet in each substream and then select the substream with the minimum arrival time to schedule the packet, thereby reducing the number of out-of-order packets at the receiving end, reducing the impact of network jitter, reducing transmission latency, and meeting the latency requirements of real-time video services.
[0007] A minimum latency MPTCP data scheduling method based on predicted packet arrival time includes:
[0008] Step 1: During data transmission, the current data packet arrives at the sending buffer. The sending end obtains the round-trip time from the ACK returned after the last data transmission, and calculates the flight time of the data packet in sub-stream j based on the round-trip time, where j is a sub-stream in a multi-link connection, and there are a total of N sub-streams.
[0009] Step 2: Calculate the link parameters of sub-stream j;
[0010] Step 3: Calculate the throughput of substream j;
[0011] Step 4: Calculate network jitter using round-trip delay samples of sub-stream j;
[0012] Step 5: Calculate the total number of bytes of unsent data packets in the sending queue of substream j and the number of bytes of the current data packet, and calculate the time required to send both the unsent data packets and the current data packet.
[0013] Step 6: Based on the flight time of the data packet described in Step 1, the link parameters described in Step 2, the throughput described in Step 3, the network jitter described in Step 4, and the time required to send both the unsent data packets and the current data packet as described in Step 5, predict the arrival time T of the current data packet at the receiving end when the sub-stream j is scheduled. j ;
[0014] Step 7: Repeat steps 1 to 6 to calculate the arrival time T of the data packet at the receiver when scheduling the current data packet for all sub-streams j (1≤j≤N). j Select the substream with the smallest T value to schedule the current data packet;
[0015] Step 8: After the current data packet is scheduled, subsequent data packets arriving in the buffer will continue to be scheduled using steps 1 to 7.
[0016] In step 1, the flight time of data packets in substream j is calculated. The calculation formula is srtt j The smoothed RTT of subflow j is calculated using the formula: srtt j= α·srtt+(1-α)·rtt, where srtt is the smoothed rtt of the previous subflow j, and rtt is calculated from the most recent ACK packet. α is the weighted moving average (α, 0<α<1), which can be configured according to the link conditions (usually between 0.8 and 0.9).
[0017] In step 2, the link parameters of sub-flow j are calculated, that is, the packet loss rate of sub-flow j is calculated based on the data packet reception situation in the previous congestion window; secondly, the current congestion window of sub-flow j is obtained.
[0018] In step 3, the throughput of sub-stream j is calculated. j It can be calculated from the packet loss rate and congestion window of the sub-stream in step 2, and the calculation formula is: cwnd j For the current congestion window of substream j, loss j Let be the packet loss rate of substream j, and MSS be the maximum message length.
[0019] In step 4, the network jitter of sub-stream j The calculation method is as follows: That is, the maximum round-trip time (rtt) among the round-trip time samples recorded on subflow j in the previous congestion window. max With minimum round-trip time (RTT) min The difference.
[0020] In step 5, the total number of bytes in the substream j sending queue The calculation method is as follows: in, is the queue length in substream j;
[0021] In step 5, the current data packet size is the maximum segment length, i.e., bytes. packet =MSS.
[0022] Step 5 calculates the time required to send both the unsent data packets and the current data packets of substream j. The calculation method is as follows
[0023] In step 6, the time required for the current data packet to be transmitted from substream j to the receiving end. Where β j For packet loss feedback, the calculation method is: β j = (1+loss) j );T′ j To preliminarily calculate the time required for a data packet to be transmitted from the substream to the receiving end, the calculation method is as follows: Considering network jitter, update
[0024] The beneficial effects of this invention are:
[0025] This invention proposes a minimum latency MPTCP data scheduling method based on predicted packet arrival time. According to the transmission requirements of real-time video services (latency, number of out-of-order data packets), it selects the path with the minimum latency for data packets sent from the application layer, ensuring the low latency requirements of real-time video services. Furthermore, by scheduling data packets based on transmission latency, this invention also reduces head-of-line blocking, guarantees the bit rate required by real-time video services, alleviates link congestion, and improves the stability of link transmission. Attached Figure Description
[0026] Figure 1 This is a schematic diagram of data scheduling in this invention.
[0027] Figure 2 This is a flowchart of the minimum delay scheduling algorithm based on predicted packet arrival time in this invention. Detailed Implementation
[0028] The invention will be further explained below with reference to the accompanying drawings and specific implementation examples.
[0029] This invention provides a minimum latency MPTCP data scheduling method based on predicted packet arrival time. It relates to data scheduling technology using a multi-path transmission control protocol, specifically referring to calculating the arrival time of each data packet on different sub-streams and selecting the sub-stream with the shorter arrival time for data scheduling. This reduces the number of out-of-order data packets at the receiving end, lowers data transmission latency, improves the reliability of multi-path transmission, and meets the transmission requirements of real-time video services.
[0030] Data scheduling, such as Figure 1 As shown, data packets in the send buffer are scheduled to various substreams.
[0031] like Figure 2As shown, when the current data packet arrives at the sending buffer, the round-trip time (RTD) is obtained based on the ACKs returned by the receiver for each sub-stream. The flight time of data packets in each sub-stream is calculated based on the RTD. Link parameters for each sub-stream, including packet loss rate and congestion window, are statistically analyzed. The throughput of each sub-stream is calculated. Network jitter is calculated using previously recorded RTD samples for each sub-stream. The total number of bytes of unsent data packets in the sending queue of each sub-stream and the number of bytes of the current data packet are calculated. The time required for both unsent data packets and the current data packet to be sent is calculated. Considering packet loss feedback, the predicted arrival time of data packets at the receiver for each sub-stream is comprehensively calculated, and the sub-stream with the smallest value is selected to schedule the current data packet. This invention can reasonably schedule data packets based on the arrival time of each data packet in each sub-stream, thereby reducing the number of out-of-order data packets at the receiver, reducing transmission latency, and meeting the low-latency requirements of real-time video services. Specifically, it includes the following steps:
[0032] Step 1: Taking a sub-stream j in a multi-link connection as an example, during data transmission, the current data packet arrives at the sending buffer. The sending end obtains the round-trip time based on the ACK returned after the last data transmission, and calculates the flight time of the data packet in sub-stream j based on the round-trip time;
[0033] Step 1.1: Application layer data is sent to the transport layer. The current data packet arrives in the sender's send buffer. The sender obtains the round-trip time based on the ACK returned by the receiver.
[0034] Step 1.2: To ensure the scheduling algorithm dynamically adapts to the current network state, smoothed RTT is used in the calculation. The formula for calculating the smoothed RTT of subflow j is: srtt j =α·srtt+(1-α)·rtt,srtt j α is the smoothed RTT of the previous subflow j, which is obtained from the most recent ACK packet. α is the weighted moving average (α, 0 < α < 1), which can be configured according to the link conditions (usually between 0.8 and 0.9).
[0035] Step 1.3: Calculate the flight time of data packets in each substream based on the round-trip delay. The calculation method is as follows:
[0036] Step 2: Calculate the link parameters of sub-flow j; that is, calculate the packet loss rate of sub-flow j and the current congestion window of sub-flow j based on the packet reception situation in the previous congestion window.
[0037] Step 3: Calculate the total amount of data transmitted per unit time in substream j, i.e., throughput. j The calculation method is as follows: cwnd j For the current congestion window of substream j, loss jLet be the packet loss rate of substream j, and MSS be the maximum message length.
[0038] Step 4: Estimate the network jitter of sub-stream j caused by external factors or network congestion. When data within a congestion window is sent, each substream obtains a round-trip time (RTT) sample via the feedback ACK, and selects the maximum RTT from the sample. max With minimum round-trip time (RTT) min To estimate network jitter, i.e.
[0039] Step 5: Calculate the time required to send both the unsent data packets and the current data packets.
[0040] Step 5.1: Calculate the total number of bytes of data packets that have not yet been sent in the sending queue of each substream. Its value can be obtained from the length of the sending queue and the maximum segment length, and the calculation method is as follows: in, is the queue length in sub-stream j;
[0041] Step 5.2: Calculate the number of bytes in the current data packet, which is the maximum segment length (bytes). packet =MSS;
[0042] Step 5.3: Calculate the time required for substream j to send the current data packet. The calculation method is as follows
[0043] Step 6: Based on the flight time of the data packet described in Step 1, the link parameters described in Step 2, the throughput described in Step 3, the network jitter described in Step 4, and the time required to send both the unsent data packets and the current data packet as described in Step 5, predict the arrival time T of the current data packet at the receiving end when the sub-stream j is scheduled. j ;
[0044] Step 6.1: Taking into account the impact of network transmission environment and conditions on transmission, more accurately calculate the arrival time of data packets at the receiving end during sub-stream scheduling; calculate packet loss feedback β based on the feedback of sub-streams to link information. j = (1+loss) j );
[0045] Step 6.2: Preliminary calculation of the time T′ required for the data packet to be transmitted from substream j to the receiving end. j :
[0046] Considering network jitter, update
[0047] Step 6.3: To more closely approximate the actual transmission time, packet loss feedback for each sub-stream is used as an adjustment factor in the calculation. The final calculated time for the predicted data packets to arrive at the receiver for each sub-stream is...
[0048] Step 7: Repeat steps 1 to 6 to calculate the arrival time T of the data packet at the receiver when scheduling the current data packet for all sub-streams j (1≤j≤N). j Select the substream with the smallest T value to schedule the current data packet.
[0049] Step 8: At this point, the current data packets in the transmission buffer have been scheduled, and subsequent data packets arriving in the buffer will continue to be scheduled using the data packet scheduling method of this invention.
Claims
1. A minimum latency MPTCP data scheduling method based on predicted packet arrival time, characterized in that, Comprise: Step 1: in the process of data transmission, the current data packet arrives at the sending buffer, the sending end obtains the round-trip delay according to the ACK returned from the last data sending, and the flight time of the data packet in the sub-flow j is calculated according to the round-trip delay, wherein j is a sub-flow in the multi-link connection, and there are N sub-flows in total; The calculation formula of the flight time of the data packet in the sub-flow j is: ; wherein is the time of flight of a data packet in substream j; is the smoothed ; Step 2: statistics of the link parameters of the sub-flow j; wherein the link parameters include: packet loss rate and current congestion window; Step 3: calculate the throughput of the sub-flow j; In step 3 is: ; wherein, is the throughput of subflow j; is the current congestion window of subflow j, is the packet loss rate of subflow j, is the maximum packet length; Step 4: calculate the network jitter through the round-trip delay sample of the sub-flow j; Step 5: calculate the total number of bytes of the unsent data packet and the byte number of the current data packet in the sending queue of the sub-flow j, and calculate the time required to send the unsent data packet and the current data packet; Step 5.1: Calculate the total number of bytes of data packets not yet sent in the sending queue of sub-flow j : ; wherein, is the queue length in subflow j; Step 5.2: Calculate the number of bytes of the current packet, i.e. the maximum packet segment length, ; Step 5.3: Calculate the time required for both the unsent data packets on sub-flow j and the current data packet to be sent completely : ; Step 6: Predict the time when the current data packet arrives at the receiving end when the sub-flow j is scheduled according to the time of flight of the data packet in step 1, the link parameters in step 2, the throughput in step 3, the network jitter in step 4, and the time required to send both the unsent data packet and the current data packet in step 5 ; Step 6.1: Considering the influence of network transmission environment and conditions on transmission, in order to more accurately predict the time of data packet arriving at the receiving end when the sub-flow is scheduled, according to the feedback of sub-flow j to link information, calculate the packet loss feedback ; Step 6.2: Calculate the time required for the current packet to be transmitted to the receiving end in sub-flow j : ; Consider network jitter, The update update formula is: ; Step 6.3: Calculate the time for sub-flow j predicted data packet to arrive at the receiving end is : ; wherein, is the network jitter for sub-flow j; Step 7: Repeat the execution of steps 1-6 to calculate all sub-streams j, , when scheduling the current data packet, the time of the data packet arriving at the receiving end , select the sub-stream with the smallest T value to schedule the current data packet; Step 8: after the current data packet is scheduled, the data packets arriving in the buffer continue to execute steps 1-7 for data packet scheduling.
2. The minimum latency MPTCP data scheduling method based on predicted packet arrival time according to claim 1, characterized in that, The smoothing of the sub-streams j The calculation formula is: ; wherein is the smoothed value of the previous substream j , is then computed from the last ACK packet received; is the weighted moving average, and .
3. The minimum latency MPTCP data scheduling method based on predicted packet arrival time according to claim 1, characterized in that, In step 2, the link parameters of the sub-flow j are counted, that is, the packet loss rate of the sub-flow j is counted according to the reception condition of the data packet in the last congestion window; secondly, the current congestion window of the sub-flow j is obtained.
4. The minimum latency MPTCP data scheduling method based on predicted packet arrival time according to claim 1, characterized in that, the network jitter of the sub-flow j in step 4 is: i.e. the difference between the maximum round-trip time in the recorded round-trip time samples on the sub-flow j in the last congestion window and the minimum round-trip time .
Citation Information
Patent Citations
Adaptive MPTCP data scheduling method
CN106878192A
Multi-channel transmission scheduling method and system based on virtual sending queue
CN107302504A