Performance enhancement of transmission control protocol (TCP) for wireless network applications
First Claim
Patent Images
1. A method of flow control and congestion avoidance congestion in a network, comprising:
- transmitting, at a source node, data packets to a destination node, via at least an intermediate node;
receiving, at the destination node, data packets transmitted from the source node, via the intermediate node, and generating a duplicate ACK back to the source node to inform the source node that a data packet was received out-of-order in the network and serves as an indication that a data packet has been lost;
upon receipt of a designated number of duplicate ACKs, at the source node, determining that a data packet has been lost;
initializing a counter, at the source node, and recording a congestion window CWND, a slow start threshold Ssthresh, and a maximal sequence number SN that has been sent into the network;
upon receipt of a next duplicate ACK, at the source node, recording its acknowledged sequence number ACK_SN;
determining, at the source node, if the acknowledged sequence number ACK_SN is no more than a recorded sequence number SN;
if the acknowledged sequence number ACK_SN is more than the recorded sequence number SN, incrementing the counter, at the source node, and re-transmitting a lost packet;
if the acknowledged sequence number ACK_SN is no more than the recorded sequence number SN, determining if the packet loss is due to a transmission error; and
if the packet loss is due to the transmission error, setting, at the source node, the slow start threshold Ssthresh to Max(CWND, (Ssthresh+CWND)/2), wherein said CWND and Ssthresh exhibit values previously recorded.
1 Assignment
0 Petitions
Accused Products
Abstract
A new Fast Recovery Plus (FR+) mechanism, and associated method, for wireless and/or mobile network applications to control data flow and avoid network congestion in a TCP/IP packet-switched network.
-
Citations
30 Claims
-
1. A method of flow control and congestion avoidance congestion in a network, comprising:
-
transmitting, at a source node, data packets to a destination node, via at least an intermediate node;
receiving, at the destination node, data packets transmitted from the source node, via the intermediate node, and generating a duplicate ACK back to the source node to inform the source node that a data packet was received out-of-order in the network and serves as an indication that a data packet has been lost;
upon receipt of a designated number of duplicate ACKs, at the source node, determining that a data packet has been lost;
initializing a counter, at the source node, and recording a congestion window CWND, a slow start threshold Ssthresh, and a maximal sequence number SN that has been sent into the network;
upon receipt of a next duplicate ACK, at the source node, recording its acknowledged sequence number ACK_SN;
determining, at the source node, if the acknowledged sequence number ACK_SN is no more than a recorded sequence number SN;
if the acknowledged sequence number ACK_SN is more than the recorded sequence number SN, incrementing the counter, at the source node, and re-transmitting a lost packet;
if the acknowledged sequence number ACK_SN is no more than the recorded sequence number SN, determining if the packet loss is due to a transmission error; and
if the packet loss is due to the transmission error, setting, at the source node, the slow start threshold Ssthresh to Max(CWND, (Ssthresh+CWND)/2), wherein said CWND and Ssthresh exhibit values previously recorded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of flow control and congestion avoidance a source node in a network including a destination node, comprising:
-
upon receipt of duplicate ACKs from a destination node indicating that a data packet has been lost, re-setting a counter and recording a congestion window CWND, a slow start threshold Ssthresh, and a current maximal sequence number SN that has been sent into the network;
upon receipt of a next duplicate ACK, at the source node, recording its acknowledged sequence number ACK_SN;
determining if the acknowledged sequence number ACK_SN is no less than a recorded sequence number SN;
if the acknowledged sequence number ACK_SN is no less than the recorded sequence number SN, incrementing the counter, and re-transmitting a lost packet;
if the acknowledged sequence number ACK_SN is no more than the recorded sequence number SN, determining if the packet loss is due to a transmission error; and
if the packet loss is due to the transmission error, setting the slow start threshold Ssthresh to Max(CWND, (Ssthresh+CWND)/2), wherein said CWND and Ssthresh exhibit values previously recorded. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A data network for wireless and/or mobile network applications, comprising:
-
a source node for transmitting data packets;
a destination node for receiving the data packets from the source node and generating duplicate ACKs when the arrival of data packets is out-of-order; and
at least one intermediate node disposed between said source node and said destination node;
wherein said source node includes a Fast Recovery Plus (FR+) algorithm which, when activated upon receipt duplicate ACKs, performs the following;
initializing a counter and recording a congestion window CWND, a slow start threshold Ssthresh, and a current maximal sequence number SN that has been sent into the network;
upon receipt of a next duplicate ACK, recording its acknowledged sequence number ACK_SN;
determining if the acknowledged sequence number ACK_SN is no less than a recorded sequence number SN;
if the acknowledged sequence number ACK_SN is no less than the recorded sequence number SN, incrementing the counter, and re-transmitting a lost packet;
if the acknowledged sequence number ACK_SN is no more than the recorded sequence number SN, determining if the packet loss is due to a transmission error; and
if the packet loss is due to the transmission error, setting the slow start threshold Ssthresh to Max(CWND, (Ssthresh+CWND)/2), wherein said CWND and Ssthresh exhibit values previously recorded. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer readable medium having an enhanced Fast Recovery Plus (FR+) algorithm for wireless network applications, via a network, when executed by a host system, performs:
-
upon receipt of duplicate ACKs from a remote system, determining that a data packet has been lost;
initializing a counter, and recording a congestion window CWND, a slow start threshold Ssthresh, and a maximal sequence number SN that has been sent into the network;
upon receipt of a next duplicate ACK, recording its acknowledged sequence number ACK_SN;
determining if the acknowledged sequence number ACK_SN is no more than a recorded sequence number SN;
if the acknowledged sequence number ACK_SN is more than the recorded sequence number SN, incrementing the counter, and re-transmitting a lost packet;
if the acknowledged sequence number ACK_SN is no more than the recorded sequence number SN, determining if the packet loss is due to a transmission error; and
if the packet loss is due to the transmission error, setting the slow start threshold Ssthresh to Max(CWND, (Ssthresh+CWND)/2), wherein said CWND and Ssthresh exhibit values previously recorded.- View Dependent Claims (21, 22, 23, 24)
-
-
25. A host system comprising:
-
a processor for generating data;
a network module connected to a remote system, via a network, having a data recovery mechanism installed therein for flow control and congestion avoidance in the network, the data recovery mechanism, activated when a data packet has been lost, performing the following;
recording a congestion window “
CWND” and
a slow start threshold “
Ssthresh”
set to regulate a transmission rate of data packets to avoid congestion in the network;
determining if the data packet loss is due to a transmission error; and
if the data packet loss is due to a transmission error, setting the slow start threshold “
Ssthresh”
to Max(“
CWND”
, (“
Ssthresh”
+“
CWND”
)/2), wherein the congestion window “
CWND” and
the slow start threshold “
Ssthresh”
exhibit values previously recorded.- View Dependent Claims (26, 27)
-
-
28. A packet-switched telecommunication network comprising:
-
network nodes interconnected by transmission links;
user terminals connected to the network nodes, said user terminals acting as source nodes which transmit data packets and destination nodes which receive data packets;
wherein each user terminal includes a data recovery mechanism installed therein for flow control and congestion avoidance in the network, and activated when data packets have been lost, said data recovery mechanism performing the following;
recording a congestion window “
CWND” and
a slow start threshold “
Ssthresh”
set to regulate a transmission rate of data packets to avoid congestion in the network;
determining if the data packet loss is due to a transmission error; and
if the data packet loss is due to a transmission error, setting the slow start threshold “
Ssthresh”
to Max(“
CWND”
, (“
Ssthresh”
+“
CWND”
)/2), wherein the congestion window “
CWND” and
the slow start threshold “
Ssthresh”
exhibit values previously recorded.- View Dependent Claims (29, 30)
-
Specification