×

Kind of congestion improvement method based on the QUIC protocol

  • US 10,326,698 B2
  • Filed: 05/23/2017
  • Issued: 06/18/2019
  • Est. Priority Date: 06/01/2016
  • Status: Active Grant
First Claim
Patent Images

1. A congestion improvement method based on QUIC (Quick UDP (user datagram protocol) Internet Connection) protocol, comprising the steps as follows:

  • Step 1;

    every time an ACK frame is received, using formula last_SRTT=SRTT to update a value of last SRTT (Smooth RTT (Round Trip Delay)) and update a value of current SRTT at the same time, wherein SRTT is smooth round trip delay and RTT is round trip delay of data packet;

    the last_SRTT is smooth round trip delay which is calculated by SRTT=0.875×

    SRTT+0.125×

    RTT when ACK is received last time;

    Step 2;

    determining if a congestion window stays in a slow start stage;

    if the congestion window stays in the slow start stage, conducting window growth in accordance with a slow start way;

    if the congestion window stays in a congestion avoidance phase, conducting window growth as follows;

    Step 2.1;

    determining network status as follows;

    if the congestion window stays in the congestion avoidance phase, evaluating diff which is a number of queuing packets in accordance with the SRTT and a minimum RTT to determine the network status;

    the diff being calculated by;

    Expected=cwnd/minRTT;

    Actual=cwnd/SRTT;

    diff=(Expected-Actual)×

    minRTT;

    where, cwnd is a congestion window value, minRTT is a measured value of the minimum RTT, SRTT is the smooth RTT, Expected is an expected throughput of the network, and Actual is an actual throughput capacity of the network;

    Step 2.2;

    conducting adaptive change of parameter α

    setting an original value of α

    as 1, wherein α

    is a parameter to determine the network status, origin_cwnd is a target congestion window value of a curve growth of a cubic curve, and the adaptive change is conducted by a self-adaptive change method of a as follows;

    1) if diff<

    α

    , SRTT is smaller than last_SRTT and α

    >

    1 at the same time, increasing origin_cwnd by 1;

    2) if diff<

    α

    , SRTT is bigger than last_SRTT and α

    >

    1 at the same time, reducing α

    by 1;

    3) if diff<

    α and

    α

    is equal to 1, increasing origin_cwnd by 1;

    4) if diff>

    α

    , SRTT is bigger than last_SRTT and at the same time α

    >

    1, reducing α

    by 1;

    5) if diff>

    α and

    SRTT is smaller than last_SRTT, increasing α

    by 1;

    Step 2.3;

    determining if the congestion window has reached maximum congestion window value;

    if the congestion window has not, continuing to conduct change of the congestion window;

    if the congestion window has, performing comparison between diff and α

    , as follows;

    if diff>

    α

    , taking no action to increase the maximum congestion window value;

    if diff<

    α

    , increasing the maximum congestion window value by max_cwnd=max_cwnd+100;

    at the same time, if cwnd>

    =300, setting epoch_start as 0, setting last_max_cwnd as the maximum congestion window value and setting α

    as 1, where, max_cwnd is a limited value of the maximum congestion window value, epoch_start is a moment when a packet was lost last time and last_max_cwnd is the maximum congestion window value at the packet loss.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×