MPQUIC path scheduling method and device

By constructing an MPQUIC packet scheduling model on a satellite-ground integrated heterogeneous path, taking into account the characteristics and bandwidth of each transmission path, an MPQUIC path scheduling method is proposed, which solves the problem of not being able to fully utilize high bandwidth paths in the prior art, and achieves a transmission effect with high throughput and low latency.

CN119743430APending Publication Date: 2025-04-01CHINA ACADEMY OF RAILWAY SCI CORP LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411870489.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

The existing MPQUIC path scheduling algorithms are insufficient when considering the path transmission capability (such as bandwidth), which leads to the inability to fully utilize high bandwidth paths in scenarios where path bandwidth differences are large, and uneven data allocation may occur, affecting throughput.

Method used

A MPQUIC path scheduling method is proposed. By constructing an MPQUIC packet scheduling model on a satellite-ground integrated heterogeneous path, comprehensively considering the characteristics of each transmission path to estimate the time required for each path to transmit the data packet, and minimizing the overall transmission time by reducing the transmission time difference between different paths.

Benefits of technology

This method can maximize throughput while avoiding performance degradation caused by path congestion, alleviate head-of-line blocking problems, and adapt to dynamic changes in the satellite-terrestrial network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743430A_ABST
    Figure CN119743430A_ABST
Patent Text Reader

Abstract

The invention relates to an MPQUIC path scheduling method and device, and belongs to the technical field of path scheduling, and the method comprises the steps: constructing an MPQUIC data packet scheduling model on a satellite-ground integrated heterogeneous path; formalizing a path scheduling problem aiming at minimizing the maximum transmission time of all paths; and executing an MPQUIC path scheduling algorithm of minimum transmission time estimation to obtain a data packet distribution strategy. The characteristics of each transmission path are comprehensively considered, the time required for transmitting the allocated data packet is estimated for each path, the overall transmission time is minimized by reducing the transmission time difference between different paths, the problem of head-of-queue blockage is relieved, and in order to adapt to the dynamic change of the satellite-ground network, not only is the time delay of the paths concerned, but also the time delay of the paths is reduced. And dynamic adjustment is carried out in combination with a congestion window of the path, so that performance reduction caused by path congestion is avoided while the throughput is maximized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of path scheduling, and in particular, relates to an MPQUIC path scheduling method and device. Background Art

[0002] There are three main classic MPQUIC path scheduling algorithms: the first is the MinRTT scheduling algorithm. It selects the path with the lowest RTT and available congestion window to transmit data packets. When the path is unavailable (for example, the congestion window is full), it will continue to select the path with the lowest RTT from the remaining available paths. However, the disadvantage of this algorithm is that it ignores the possibility of waiting for the path with the lowest RTT to become available again to shorten the overall transmission time; the second is the BLEST algorithm, which is similar to MinRTT under normal circumstances, but when the lowest RTT path is unavailable, it will evaluate whether to transmit data on the high RTT path or wait for the lowest RTT path to become available again through a waiting mechanism. The third is the ECF algorithm, which is similar to BLEST, but further calculates the benefits of reducing the idle time of the lowest RTT path, and reduces the number of out-of-order data packets by checking the arrival time of data packets on each path. However, neither BLEST nor ECF considers the transmission capacity of the path (such as bandwidth), which results in ECF being unable to fully utilize the resources of the high-bandwidth path in scenarios where the path bandwidth varies greatly, and may cause uneven data distribution problems, thereby affecting throughput. Summary of the invention

[0003] In view of the above deficiencies in the prior art, the purpose of the invention is to provide an MPQUIC path scheduling method and device, which comprehensively considers the characteristics of each transmission path to estimate the time required for each path to transmit the allocated data packet, and minimizes the overall transmission time by reducing the transmission time difference between different paths, thereby alleviating the head-of-line blocking problem. In order to adapt to the dynamic changes of the satellite-to-ground network, not only the path delay is paid attention to, but also the congestion window of the path is dynamically adjusted, thereby maximizing the throughput while avoiding the performance degradation caused by path congestion.

[0004] A first aspect of the present invention provides an MPQUIC path scheduling method, comprising:

[0005] Construct an MPQUIC data packet scheduling model on a satellite-ground integrated heterogeneous path;

[0006] Formalize the path scheduling problem with the goal of minimizing the maximum transmission time of all paths;

[0007] Implement the MPQUIC path scheduling algorithm with minimum transmission time estimation to obtain the packet allocation strategy.

[0008] Furthermore, in the above MPQUIC path scheduling method, a MPQUIC data packet scheduling model on a satellite-ground integrated heterogeneous path is constructed, including:

[0009] Get the congestion window and each path p in MPQUIC i The number of packets that have been sent in time slot τ but have not received an Ack;

[0010] According to the congestion window and each path p in MPQUIC i The number of packets that have been sent but not yet received an Ack in time slot τ determines the number of packets per path p in MPQUIC. i The available window in τ time slots;

[0011] Get each path p in MPQUIC i The smoothed round-trip delay at time slot τ, each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot and the number of packets allocated to each path p in MPQUIC within the time slot τ i The number of packets;

[0012] According to each path p in MPQUIC i At the beginning of the τ time slot, the number of unsent packets remaining in the buffer, the number of packets per path p in MPQUIC i The available window of τ time slots, the congestion window and the time slot τ are allocated to each path p in MPQUIC. i The number of packets determines the number of packets per path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet;

[0013] According to the number of transmission rounds and each path p in MPQUIC i The smoothed round-trip delay at time slot τ determines the MPQUIC path p for each path i Transfer the assigned x i τ The transmission time required for a data packet.

[0014] Furthermore, in the above MPQUIC path scheduling method, the path scheduling problem with the goal of minimizing the maximum transmission time of all paths is formalized, including:

[0015] Get the set of packets that need to be sent by MPQUIC in time slot τ, the set of allocation strategies of the scheduling algorithm in time slot τ, and the set of packets allocated to path p in time slot τ i The number of packets and the number of packets per path p in MPQUIC i Transfer the assigned x i τThe transmission time required for a data packet;

[0016] According to the set of packets that need to be sent by MPQUIC in time slot τ, the scheduling algorithm allocates the set of allocation strategies in time slot τ to path p in time slot τ. i The number of packets and the number of packets per path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet is formalized into the path scheduling problem with the goal of minimizing the maximum transmission time of all paths as follows:

[0017] minmax{T1,T1,…T n}

[0018]

[0019] Where p = {p1, p2, …, p n} represents the set of n available paths in MPQUIC, D τ represents the set of data packets that need to be sent by MPQUIC within the time slot τ, represents the allocation strategy set of the scheduling algorithm in time slot τ, x i τ represents the time slot τ allocated to path p i The number of packets, T i Represents each path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet, i = 1, 2, ... n.

[0020] Furthermore, in the above MPQUIC path scheduling method, the MPQUIC path scheduling algorithm of minimum transmission time estimation is executed to obtain a data packet allocation strategy, including:

[0021] Initialize each path p in MPQUIC i The current transmission time, the overall transmission time, and the time slot τ allocated to each path p i The number of packets, the number of remaining unassigned packets in the time slot τ, and the iteration step size;

[0022] Loop through each path p in MPQUIC i Get each path p i The current congestion window size, each path p i The number of unsent packets remaining in the buffer at the beginning of the τ time slot determines the number of packets per path p. i The smoothed round trip delay at time slot τ, each path p i The currently available window size and time step;

[0023] Traverse each path p in MPQUIC i When checking each path p i Is it currently available? If the check result is path p i is currently unavailable, then path p i The remaining unassigned packets in time slot τ are rescheduled; if the check result is path p i Currently available, calculate path p i Current transmission time, update path p i The current available window and overall transfer time;

[0024] Perform data packet allocation and path scheduling.

[0025] Furthermore, in the above MPQUIC path scheduling method, according to the congestion window and the path p i The number of packets that have been sent but not yet received an Ack in time slot τ determines the number of packets per path p in MPQUIC. i The available window in time slot τ is determined by the following formula:

[0026] Availcwnd i τ =cwnd i τ -unack i τ

[0027] According to each path p in MPQUIC i At the beginning of the τ time slot, the number of unsent packets remaining in the buffer, the number of packets per path p in MPQUIC i The available window of τ time slots, the congestion window and the time slot τ are allocated to each path p in MPQUIC. i The number of packets determines the number of packets per path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet is determined by the following formula:

[0028]

[0029] According to the number of transmission rounds and each path p in MPQUIC i The smoothed round-trip delay at time slot τ determines the MPQUIC path p for each path i Transfer the assigned x i τ The transmission time required for a data packet is determined by the following formula:

[0030]

[0031] Among them, sRTT i τ Represents each path p in MPQUIC i The smoothed round trip delay at time slot τ, cwnd i τ Indicates congestion window, unack i τ Represents each path p in MPQUIC i The number of packets that have been sent but have not received an Ack in the τ time slot, Availcwnd i τ Represents each path p in MPQUIC i The available window size in τ time slots, r i τ Represents each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot, X τ ={x1 τ ,x2 τ ,…,x n τ} represents the allocation strategy set of the scheduling algorithm in time slot τ, x i τ represents the time slot τ allocated to each path p in MPQUIC i Number of packets, Round i τ Represents each path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet, T i Represents each path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet, i = 1, 2, ... n.

[0032] Furthermore, in the above MPQUIC path scheduling method, the current transmission time of each path in MPQUIC, the overall transmission time, and the time slot τ allocated to each path p are initialized. i The number of packets, the number of remaining unassigned packets in the time slot τ, and the iteration step size include:

[0033] Initialize the current transmission time T of each path in MPQUIC i cur =0, the overall transmission time T total = 0, the time slot τ is allocated to path p i The number of packets x iτ = 0, the time slot τ is allocated to path p i The number of packets M = |D τ |, iteration step span = RTT i τ ;

[0034] Determine each path p i The smoothed round trip delay at time slot τ is determined by the following formula:

[0035] sRTT i τ =α·sRTT i τ-1 +(1-α)·RTT i τ

[0036] The current available window size for each path is determined by the following formula:

[0037] Availcwnd i τ =cwnd i τ -GetUnackPkt(p i )

[0038] The time step is determined by the following formula:

[0039] span = min{sRTT i τ ,span}

[0040] The path p i The number of remaining unassigned packets in the time slot τ is rescheduled by the following formula:

[0041] M=M+r i τ

[0042] Calculate path p i The current transmission time is calculated by the following formula:

[0043]

[0044] Update path p i The currently available window is updated by the following formula:

[0045] Availcwnd i τ =(r i τ -Availcwnd iτ )mod cwnd i τ

[0046] The overall transmission time is updated using the following formula:

[0047] T total =max{T total ,T i cur}

[0048] Among them, RTT i τ Indicates each path p currently measured i Smoothed round-trip delay at time slot τ, sRTT i τ Denotes each path p i The smoothed round trip delay at time slot τ, α∈[0,1] is the smoothing factor, sRTT i τ-1 Denotes each path p i The smoothed round trip delay in the previous time slot of time slot τ, T total Overall transmission time, GetUnackPkt(p i ) means getting the current path p through the function i The number of packets that have been sent but have not received an Ack in the τ time slot, r i τ Represents each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot, Availcwnd i τ Represents each path p in MPQUIC i In the available window of τ time slots, T i cur Represents the path p i The current transmission time, cwnd i τ Represents the path p i Current congestion window size, T total represents the overall transmission time, and M represents the number of remaining unassigned packets in the time slot τ.

[0049] Furthermore, in the above-mentioned MPQUIC path scheduling method, data packet allocation and path scheduling are performed, including:

[0050] Gradually increase the time step to assign as many packets as possible to the MPQUIC path without exceeding the overall transmission time, until further adding packets will exceed the overall transmission time or all packets have been assigned.

[0051] In a second aspect of the present invention, an MPQUIC path scheduling device is further provided, comprising:

[0052] Building module: used to build the MPQUIC data packet scheduling model on the satellite-ground integrated heterogeneous path;

[0053] Formalization module: used to formalize the path scheduling problem with the goal of minimizing the maximum transmission time of all paths;

[0054] Execution module and acquisition module: used to execute the MPQUIC path scheduling algorithm with minimum transmission time estimation and obtain the data packet allocation strategy.

[0055] According to a third aspect of the present invention, an electronic device is provided, comprising: a processor and a memory;

[0056] The processor is used to execute any one of the above MPQUIC path scheduling methods by calling the program or instruction stored in the memory.

[0057] According to a fourth aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a program or an instruction, and the program or the instruction enables a computer to execute any one of the above MPQUIC path scheduling methods.

[0058] The beneficial effects of the present invention are as follows: the present invention constructs an MPQUIC data packet scheduling model on a satellite-ground integrated heterogeneous path; formalizes the path scheduling problem with the goal of minimizing the maximum transmission time of all paths; and executes the MPQUIC path scheduling algorithm with minimum transmission time estimation to obtain a data packet allocation strategy. The present invention comprehensively considers the characteristics of each transmission path to estimate the time required for each path to transmit the allocated data packet, and minimizes the overall transmission time by reducing the transmission time difference between different paths, thereby alleviating the head-of-line blocking problem. In order to adapt to the dynamic changes of the satellite-ground network, not only the path delay is paid attention to, but also the path congestion window is dynamically adjusted in combination, thereby maximizing the throughput while avoiding the performance degradation caused by path congestion. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] The accompanying drawings are only used to illustrate specific embodiments and are not considered to limit the present invention. In the entire drawings, the same reference symbols represent the same components. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings.

[0060] Figure 1 A diagram of an MPQUIC path scheduling method provided by an embodiment of the present invention;

[0061] Figure 2A diagram of an MPQUIC path scheduling device provided by an embodiment of the present invention;

[0062] Figure 3 A schematic block diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0063] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. It should be understood that these descriptions are only exemplary and are not intended to limit the scope of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in the field without making creative work should fall within the scope of protection of the present invention.

[0064] Furthermore, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily obscuring the concepts disclosed in the present invention.

[0065] In the description of the present invention, the terms "first", "second", and "third" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be internal communication between two components. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0066] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of methods and systems consistent with some aspects of the present invention as detailed in the appended claims.

[0067] The present invention proposes an MPQUIC path scheduling method, device, electronic device and storage medium, which comprehensively considers the characteristics of each transmission path to estimate the time required for each path to transmit the assigned data packet, and minimizes the overall transmission time by reducing the transmission time difference between different paths, thereby alleviating the head-of-line blocking problem. In order to adapt to the dynamic changes of the satellite-to-ground network, not only the path delay is paid attention to, but also the congestion window of the path is dynamically adjusted, thereby maximizing the throughput while avoiding the performance degradation caused by path congestion.

[0068] Before introducing the embodiments of the present invention, professional terms involved in the present invention are first introduced.

[0069] MPQUIC (Multipath Quick UDP Internet Connections) is a multipath transport layer protocol.

[0070] MinRTT (Minimum Round-Trip Time) is a multi-path scheduling algorithm that prioritizes minimum RTT.

[0071] BLEST (Blocking estimation-based MPTCP scheduler) is a multipath scheduling algorithm based on blocking estimation.

[0072] ECF (Earliest Completion First) is a multi-path scheduling algorithm that prioritizes the earliest completion.

[0073] Method Embodiment

[0074] Figure 1 A diagram of an MPQUIC path scheduling method provided by an embodiment of the present invention.

[0075] In the first aspect of the present invention, a MPQUIC path scheduling method is proposed, combining Figure 1 , including three steps of S1 value S3:

[0076] S1: Construct an MPQUIC packet scheduling model on a satellite-ground integrated heterogeneous path.

[0077] Specifically, in an embodiment of the present invention, a MPQUIC data packet scheduling model on a satellite-ground integrated heterogeneous path is constructed, including:

[0078] Get the congestion window and each path p in MPQUIC i The number of packets that have been sent in time slot τ but have not received an Ack;

[0079] According to the congestion window and each path p in MPQUIC i The number of packets that have been sent but not yet received an Ack in time slot τ determines the number of packets per path p in MPQUIC. i The available window in τ time slots;

[0080] Get each path p in MPQUIC i The smoothed round-trip delay at time slot τ, each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot and the number of packets allocated to each path p in MPQUIC within the time slot τ i The number of packets;

[0081] According to each path p in MPQUIC i At the beginning of the τ time slot, the number of unsent packets remaining in the buffer, the number of packets per path p in MPQUIC i The available window of τ time slots, the congestion window and the time slot τ are allocated to each path p in MPQUIC. i The number of packets determines the number of packets per path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet;

[0082] The number of data transmission rounds and each path p in MPQUIC i The smoothed round-trip delay at time slot τ determines the MPQUIC path p for each path i Transfer the assigned x i τ The transmission time required for a data packet.

[0083] S2: Formalize the path scheduling problem with the goal of minimizing the maximum transmission time of all paths.

[0084] Specifically, in an embodiment of the present invention, a path scheduling problem with the goal of minimizing the maximum transmission time of all paths is formalized, including:

[0085] Get the set of packets that need to be sent by MPQUIC in time slot τ, the set of allocation strategies of the scheduling algorithm in time slot τ, and the set of packets allocated to path p in time slot τ i The number of packets and the number of packets per path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet;

[0086] According to the set of packets that need to be sent by MPQUIC in time slot τ, the scheduling algorithm allocates the set of allocation strategies in time slot τ to path p in time slot τ. i The number of packets and the number of packets per path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet is formalized into the path scheduling problem with the goal of minimizing the maximum transmission time of all paths as follows:

[0087] minmax{T1,T1,…T n}

[0088]

[0089] Where p = {p1, p2, …, p n} represents the set of n available paths in MPQUIC, D τ represents the set of data packets that need to be sent by MPQUIC within the time slot τ, represents the allocation strategy set of the scheduling algorithm in time slot τ, x i τ represents the time slot τ allocated to path p i The number of packets, T i Represents each path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet, i = 1, 2, ... n.

[0090] S3: Execute the MPQUIC path scheduling algorithm with minimum transmission time estimation to obtain the data packet allocation strategy.

[0091] Specifically, in an embodiment of the present invention, the MPQUIC path scheduling algorithm for minimum transmission time estimation is executed to obtain a data packet allocation strategy, including:

[0092] Initialize each path p in MPQUIC i The current transmission time, the overall transmission time, and the time slot τ allocated to each path p i The number of packets, the number of remaining unassigned packets in the time slot τ, and the iteration step size;

[0093] Loop through each path p in MPQUIC i Get each path p i The current congestion window size, each path p i The number of unsent packets remaining in the buffer at the beginning of the τ time slot determines the number of packets per path p. i The smoothed round trip delay at time slot τ, each path p i The currently available window size and time step;

[0094] Traverse each path p in MPQUIC i When checking each path p i Is it currently available? If the check result is path p i is currently unavailable, then path p i The remaining unassigned packets in time slot τ are rescheduled; if the check result is path p i Currently available, calculate path p i Current transmission time, update path p i The current available window and overall transfer time;

[0095] Perform data packet allocation and path scheduling.

[0096] Furthermore, in the above MPQUIC path scheduling method, according to the congestion window and the path p i The number of packets that have been sent but not yet received an Ack in time slot τ determines the number of packets per path p in MPQUIC. i The available window in time slot τ is determined by the following formula:

[0097] Availcwnd i τ =cwnd i τ -unack i τ

[0098] According to each path p in MPQUIC i At the beginning of the τ time slot, the number of unsent packets remaining in the buffer, the number of packets per path p in MPQUIC i The available window of τ time slots, the congestion window and the time slot τ are allocated to each path p in MPQUIC. i The number of packets determines the number of packets per path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet is determined by the following formula:

[0099]

[0100] According to the number of transmission rounds and each path p in MPQUIC i The smoothed round-trip delay at time slot τ determines the MPQUIC path p for each path i Transfer the assigned x i τ The transmission time required for a data packet is determined by the following formula:

[0101]

[0102] Among them, sRTT i τ Represents each path p in MPQUIC i The smoothed round trip delay at time slot τ, cwnd i τ Indicates congestion window, unack i τ Represents each path p in MPQUIC i The number of packets that have been sent but have not received an Ack in the τ time slot, Availcwnd i τ Represents each path p in MPQUIC i The available window size in τ time slots, ri τ Represents each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot, represents the allocation strategy set of the scheduling algorithm in time slot τ, x i τ represents the time slot τ allocated to each path p in MPQUIC i Number of packets, Round i τ Represents each path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet, T i Represents each path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet, i = 1, 2, ... n.

[0103] Furthermore, in the above MPQUIC path scheduling method, the current transmission time, the overall transmission time, and the time slot τ allocated to the path p of each path in the MPQUIC are initialized. i The number of packets, the set of packets that need to be sent by MPQUIC in the time slot τ, and the iteration step size include:

[0104] Initialize the current transmission time T of each path in MPQUIC i cur =0, the overall transmission time T total = 0, the time slot τ is allocated to path p i The number of packets x i τ =0, the number of unallocated data packets remaining in time slot τ is M=|D τ |, iteration step span = RTT i τ ;

[0105] Determine each path p i The smoothed round trip delay at time slot τ is determined by the following formula:

[0106] sRTT i τ =α·sRTT i τ-1 +(1-α)·RTT i τ

[0107] The current available window size for each path is determined by the following formula:

[0108] Availcwnd i τ =cwnd i τ -GetUnackPkt(p i )

[0109] The time step is determined by the following formula:

[0110] span = min{sRTT i τ ,span}

[0111] The path p i The remaining unassigned packets in the time slot τ are rescheduled by the following formula:

[0112] M=M+r i τ

[0113] Calculate path p i The current transmission time is calculated by the following formula:

[0114]

[0115] Update path p i The currently available window is updated by the following formula:

[0116] Availcwnd i τ =(r i τ -Availcwnd i τ )mod cwnd i τ

[0117] The overall transmission time is updated using the following formula:

[0118] T total =max{T total ,T i cur}

[0119] Among them, RTT i τ Indicates each path p currently measured i Smoothed round-trip delay at time slot τ, sRTT i τ Denotes each path p i The smoothed round trip delay at time slot τ, α∈[0,1] is the smoothing factor, sRTT iτ-1 Denotes each path p i The smoothed round trip delay in the previous time slot of time slot τ, T total Overall transmission time, GetUnackPkt(p i ) means getting the current path p through the function i The number of packets that have been sent but have not received an Ack in the τ time slot, r i τ Represents each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot, Availcwnd i τ Represents each path p in MPQUIC i In the available window of τ time slots, T i cur Represents the path p i The current transmission time, cwnd i τ Represents the path p i Current congestion window size, T total represents the overall transmission time, and M represents the number of remaining unassigned packets in the time slot τ.

[0120] Furthermore, in the above-mentioned MPQUIC path scheduling method, data packet allocation and path scheduling are performed, including:

[0121] Gradually increase the time step to assign as many packets as possible to the MPQUIC path without exceeding the overall transmission time, until further adding packets will exceed the overall transmission time or all packets have been assigned.

[0122] Specifically, in the embodiment of the present invention, the time step is gradually increased, and as many data packets as possible are allocated to the MPQUIC path under the constraint of not exceeding the overall transmission time, until further increasing the number of data packets will exceed the overall transmission time, or all data packets have been allocated. This means that when the path p i T i cur +sRTT i τ ≤T total When the number of unallocated data packets M in the time slot τ is greater than 0, the following two steps are executed repeatedly:

[0123] Step 1: For the current path p i Assign min(Availcwnd i τ ,M) number of packets, that is, x i τ =x iτ +min(Availcwnd i τ , M); Update the number of remaining packets M = M-min (Availcwnd i τ ,M); Update path p i Available window Availcwnd i τ =cwnd i τ ; Update path p i The transmission time T i cur =T i cur +sRTT i τ ;

[0124] Step 2: If there are still remaining packets, that is, M>0, the overall transmission time is T total Add a time step and then continue to execute step 1; if the data packet is allocated, that is, M<0, the result returns the allocation strategy for each path and the overall transmission time T total .

[0125] The above method is described below using two specific heterogeneous paths {p1, p2}. In this embodiment, both heterogeneous paths are available, and the set of data packets that need to be sent is D.

[0126] Initialize the current transmission time of the two paths Overall transmission time T total =0; The number of packets M that need to be transmitted in time slot τ, the iteration step span = RTT1 τ ;

[0127] Traverse two paths p1 and p2 and obtain the congestion window sizes of p1 and p2

[0128] Get the number of remaining packets of p1 and p2

[0129] Calculate the smoothed RTT value of the current path p1, p2:

[0130] sRTT1 τ =0.75·sRTT1 τ-1 +0.25 RTT1 τ

[0131] sRTT2 τ =0.75·sRTT2 τ-1 +0.25 RTT2τ ;

[0132] Calculate the available window size for the current path:

[0133]

[0134] Calculate the time step: span = min{sRTT1 τ ,sRTT2 τ}.

[0135] Check the availability of paths p1 and p2 and calculate the current transmission time of p1 and p2:

[0136]

[0137] Update the currently available windows of p1 and p2:

[0138]

[0139] Update overall transfer time:

[0140] Calculate the overall transmission time T total The MPQUIC path scheduling algorithm with the minimum transmission time estimate of the minimum path allocation strategy is as follows:

[0141]

[0142] The MPQUIC path scheduling algorithm with minimum transmission time estimation gradually increases the span time interval and does not exceed the overall transmission time T. total Under the constraint of , the algorithm will allocate as many packets as possible to the path until further adding packets will exceed the current overall transmission T total , or all data packets have been allocated. After each allocation, the remaining congestion window and transmission time of the path will be updated. The final output x1 and x2 are the number of data packets that need to be transmitted on the two paths.

[0143] Device Embodiment

[0144] Figure 2 A diagram of an MPQUIC path scheduling device provided in an embodiment of the present invention.

[0145] In a second aspect of the present invention, an MPQUIC path scheduling device is also proposed, combining Figure 2 ,include:

[0146] Construction module 21: used to construct the MPQUIC data packet scheduling model on the satellite-ground integrated heterogeneous path;

[0147] Formalization module 22: used to formalize the path scheduling problem with the goal of minimizing the maximum transmission time of all paths;

[0148] The execution module 23 and the acquisition module 24 are used to execute the MPQUIC path scheduling algorithm for minimum transmission time estimation and acquire the data packet allocation strategy.

[0149] According to a third aspect of the present invention, an electronic device is provided, comprising: a processor and a memory;

[0150] The processor is used to execute any one of the above MPQUIC path scheduling methods by calling the program or instruction stored in the memory.

[0151] According to a fourth aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a program or an instruction, and the program or the instruction enables a computer to execute any one of the above MPQUIC path scheduling methods.

[0152] Figure 3 It is a schematic block diagram of an electronic device provided by an embodiment of the present invention.

[0153] like Figure 3 As shown, the electronic device includes: at least one processor 301, at least one memory 302 and at least one communication interface 303. The various components in the electronic device are coupled together through a bus system 304. The communication interface 303 is used to transmit information between external devices. It can be understood that the bus system 304 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 304 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 3 Various buses are labeled as bus system 304 .

[0154] It can be understood that the memory 302 in this embodiment can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.

[0155] In some implementations, the memory 302 stores the following elements, executable units or data structures, or a subset thereof, or an extended set thereof: an operating system and application programs.

[0156] The operating system includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application includes various application programs, such as a media player (Media Player), a browser (Browser), etc., which are used to implement various application services. A program that implements any method in an MPQUIC path scheduling method provided in an embodiment of the present invention can be included in the application.

[0157] In an embodiment of the present invention, the processor 301 calls a program or instruction stored in the memory 302, specifically, a program or instruction stored in an application, and the processor 301 is used to execute the steps of each embodiment of an MPQUIC path scheduling method provided in an embodiment of the present invention.

[0158] Construct an MPQUIC data packet scheduling model on a satellite-ground integrated heterogeneous path;

[0159] Formalize the path scheduling problem with the goal of minimizing the maximum transmission time of all paths;

[0160] Implement the MPQUIC path scheduling algorithm with minimum transmission time estimation to obtain the packet allocation strategy.

[0161] Any method in the MPQUIC path scheduling method provided in an embodiment of the present invention can be applied to the processor 301, or implemented by the processor 301. The processor 301 can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 301 or instructions in the form of software. The above-mentioned processor 301 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.

[0162] The steps of any method in the MPQUIC path scheduling method provided by the embodiment of the present invention can be directly embodied as being executed by a hardware decoding processor, or being executed by a combination of hardware and software units in the decoding processor. The software unit can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 302, and the processor 301 reads the information in the memory 302 and completes the steps of the method in combination with its hardware.

[0163] Those skilled in the art will appreciate that although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features from different embodiments is meant to be within the scope of the present invention and to form different embodiments.

[0164] Those skilled in the art will appreciate that the description of each embodiment has its own emphasis, and for parts not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0165] Although the embodiments of the present invention are described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations all fall within the scope defined by the appended claims. The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art who is familiar with the technical field can easily think of various equivalent modifications or substitutions within the technical scope disclosed by the present invention, and these modifications or substitutions should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

[0166] The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed by the present invention, and these modifications or replacements should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims

1. A MPQUIC path scheduling method, characterized in that: include: Construct an MPQUIC data packet scheduling model on a satellite-ground integrated heterogeneous path; Formalize the path scheduling problem with the goal of minimizing the maximum transmission time of all paths; Implement the MPQUIC path scheduling algorithm with minimum transmission time estimation to obtain the packet allocation strategy.

2. The MPQUIC path scheduling method according to claim 1, characterized in that: The MPQUIC data packet scheduling model on the satellite-ground integrated heterogeneous path is constructed, including: Get the congestion window and each path p in MPQUIC i The number of packets that have been sent in time slot τ but have not received an Ack; According to the congestion window and each path p in MPQUIC i The number of packets that have been sent but not yet received an Ack in time slot τ determines the number of packets per path p in MPQUIC. i The available window in τ time slots; Get each path p in MPQUIC i The smoothed round-trip delay at time slot τ, each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot and the number of packets allocated to each path p in MPQUIC within the time slot τ i The number of packets; According to each path p in MPQUIC i At the beginning of the τ time slot, the number of unsent packets remaining in the buffer, the number of packets per path p in MPQUIC i The available window of τ time slots, the congestion window and the time slot τ are allocated to each path p in MPQUIC. i The number of packets determines the number of packets per path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet; According to the number of transmission rounds and each path p in MPQUIC i The smoothed round-trip delay at time slot τ determines the MPQUIC path p for each path i Transfer the assigned x i τ The transmission time required for a data packet.

3. The MPQUIC path scheduling method according to claim 1, characterized in that: The path scheduling problem with the goal of minimizing the maximum transmission time of all paths is formalized, including: Get the set of packets that need to be sent by MPQUIC in time slot τ, the set of allocation strategies of the scheduling algorithm in time slot τ, and the set of packets allocated to path p in time slot τ i The number of packets and the number of packets per path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet; According to the set of packets that need to be sent by MPQUIC in time slot τ, the scheduling algorithm allocates the set of allocation strategies in time slot τ to path p in time slot τ. i The number of packets and the number of packets per path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet is formalized into the path scheduling problem with the goal of minimizing the maximum transmission time of all paths as follows: minmax{T1,T1,…T n } Where p = {p1, p2, …, p n } represents the set of n available paths in MPQUIC, D τ represents the set of data packets that need to be sent by MPQUIC in time slot τ, X τ ={x1 τ ,x2 τ ,…,x n τ } represents the allocation strategy set of the scheduling algorithm in time slot τ, x i τ represents the time slot τ allocated to path p i The number of packets, T i Represents each path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet, i = 1, 2, ... n.

4. The MPQUIC path scheduling method according to claim 1, characterized in that: The MPQUIC path scheduling algorithm for performing minimum transmission time estimation obtains a data packet allocation strategy, including: Initialize each path p in MPQUIC i The current transmission time, the overall transmission time, and the time slot τ allocated to each path p i The number of packets, the number of remaining unassigned packets in the time slot τ, and the iteration step size; Loop through each path p in MPQUIC i Get each path p i The current congestion window size, each path p i The number of unsent packets remaining in the buffer at the beginning of the τ time slot determines the number of packets per path p. i The smoothed round trip delay at time slot τ, each path p i The currently available window size and time step; Traverse each path p in MPQUIC i When checking each path p i Is it currently available? If the check result is path p i is currently unavailable, then path p i The remaining unassigned packets in time slot τ are rescheduled; if the check result is path p i Currently available, calculate path p i Current transmission time, update path p i The current available window and overall transfer time; Perform data packet allocation and path scheduling.

5. The MPQUIC path scheduling method according to claim 2, characterized in that: According to the congestion window and path p i The number of packets that have been sent but not yet received an Ack in time slot τ determines the number of packets per path p in MPQUIC. i The available window in time slot τ is determined by the following formula: Availcwnd i τ =cwnd i τ -unack i τ According to each path p in MPQUIC i At the beginning of the τ time slot, the number of unsent packets remaining in the buffer, the number of packets per path p in MPQUIC i The available window of τ time slots, the congestion window and the time slot τ are allocated to each path p in MPQUIC. i The number of packets determines the number of packets per path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet is determined by the following formula: According to the number of transmission rounds and each path p in MPQUIC i The smoothed round-trip delay at time slot τ determines the MPQUIC path p for each path i Transfer the assigned x i τ The transmission time required for a data packet is determined by the following formula: Among them, sRTT i τ Represents each path p in MPQUIC i The smoothed round trip delay at time slot τ, cwnd i τ Indicates congestion window, unack i τ Represents each path p in MPQUIC i The number of packets that have been sent but have not received an Ack in the τ time slot, Availcwnd i τ Represents each path p in MPQUIC i The available window size in τ time slots, r i τ Represents each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot, X τ ={x1 τ ,x2 τ ,…,x n τ } represents the allocation strategy set of the scheduling algorithm in time slot τ, x i τ represents the time slot τ allocated to each path p in MPQUIC i Number of packets, Round i τ Represents each path p in MPQUIC i Transfer the assigned x i τ The number of transmission rounds required for a data packet, T i Represents each path p in MPQUIC i Transfer the assigned x i τ The transmission time required for a data packet, i = 1, 2, ... n.

6. The MPQUIC path scheduling method according to claim 4, characterized in that: Initialize the current transmission time of each path in MPQUIC, the overall transmission time, and the time slot τ allocated to path p i The number of packets, the set of packets that need to be sent by MPQUIC in the time slot τ, and the iteration step size include: Initialize the current transmission time of each path in MPQUIC Overall transmission time T total = 0, the time slot τ is allocated to path p i The number of packets x i τ =0, the number of unallocated data packets remaining in time slot τ is M=|D τ |, iteration step span = RTT i τ ; Determine each path p i The smoothed round trip delay at time slot τ is determined by the following formula: sRTT i τ =α·sRTT i τ-1 +(1-α)·RTT i τ The current available window size for each path is determined by the following formula: Available i τ =cwnd i τ -GetUnackPkt(p i ) The time step is determined by the following formula: span=min{sRTT i τ ,span} The path p i The remaining unassigned packets in the time slot τ are rescheduled by the following formula: M=M+r i τ Calculate path p i The current transmission time is calculated by the following formula: T i cur =[(r i τ -Availcwnd i τ ) / cwnd i τ ]·sRTT i τ Update path p i The currently available window is updated by the following formula: Availcwnd i τ =(r i τ -Availcwnd i τ )mod cwnd i τ The overall transmission time is updated using the following formula: Among them, RTT i τ Indicates each path p currently measured i Smoothed round-trip delay at time slot τ, sRTT i τ Denotes each path p i The smoothed round trip delay at time slot τ, α∈[0,1] is the smoothing factor, sRTT i τ-1 Denotes each path p i The smoothed round trip delay in the previous time slot of time slot τ, T total Overall transmission time, GetUnackPkt(p i ) means getting the current path p through the function i The number of packets that have been sent but have not received an Ack in the τ time slot, r i τ Represents each path p in MPQUIC i The number of unsent packets remaining in the buffer at the beginning of the τ time slot, Availcwnd i τ Represents each path p in MPQUIC i In the available window of τ time slots, Represents the path p i The current transmission time, cwnd i τ Represents the path p i Current congestion window size, T total represents the overall transmission time, and M represents the number of remaining unassigned packets in the time slot τ.

7. The MPQUIC path scheduling method according to claim 4, characterized in that: Perform packet allocation and path scheduling, including: Gradually increase the time step to assign as many packets as possible to the MPQUIC path without exceeding the overall transmission time, until further adding packets will exceed the overall transmission time or all packets have been assigned.

8. An MPQUIC path scheduling device, characterized in that: include: Building module: used to build the MPQUIC data packet scheduling model on the satellite-ground integrated heterogeneous path; Formalization module: used to formalize the path scheduling problem with the goal of minimizing the maximum transmission time of all paths; Execution module and acquisition module: used to execute the MPQUIC path scheduling algorithm with minimum transmission time estimation and obtain the data packet allocation strategy.

9. An electronic device, characterized in that: include: Processor and memory; The processor is used to execute the MPQUIC path scheduling method as described in any one of claims 1 to 7 by calling the program or instruction stored in the memory.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a program or instruction, and the program or instruction enables a computer to execute the MPQUIC path scheduling method as claimed in any one of claims 1 to 7.