← Back to Patent Explorer
US6757248B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Performance enhancement of transmission control protocol (TCP) for wireless network applications

Assignee: Nokia Inc
•
Filing: 2000-06-14
•
Granted: 2004-06-29
•
Expires: 2020-06-14
📄 Original PDF 🌐 Google Patents

Abstract

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.

Inventors

  • 👤 Xiang Li
  • 👤 Jing Wu
  • 👤 Shiduan Cheng
  • 👤 Jian Ma

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 11:42
CPC Classifications
H; H04; H04W; H04W28/00; H04W28/02; H04W28/10; H04L; H04L1/00; H04L1/12; H04L1/16; H04L1/18; H04L1/1829; H04L1/1858; H04L1/1867; H04L1/187; H04L1/188; H04L47/00; H04L47/10; H04L47/18; H04L47/19; H04L47/193; H04L47/26; H04L47/263; H04L47/27; H04L47/37; H04L69/00; H04L69/16; H04L69/163; H04L69/168; H04W28/0231; H04W28/0242; H04W8/00; H04W8/02; H04W8/04; H04W80/00

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 257 words
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.
Claim 2
Independent Claim 257 words
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.
Claim 3
Dependent Claim 27 words
The method as claimed in claim 1 , wherein said counter is set to record the number of times of packet re-transmission invoked by the duplicate ACKs.
Claim 4
Dependent Claim 38 words
The method as claimed in claim 1 , wherein said packet loss is due to the transmission error, when the value of the counter is no more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 5
Dependent Claim 23 words
The method as claimed in claim 1 , wherein said network corresponds to a TCP/IP packet-switched network for wireless and/or mobile network applications.
Claim 6
Dependent Claim 49 words
The method as claimed in claim 1 , wherein said slow start threshold Ssthresh is set to no more than Max(FlightSize/2, 2*SMSS), wherein said FlightSize indicates the amount of outstanding data in the network, and said SMSS indicates the size of a largest data segment that can be transmitted.
Claim 7
Dependent Claim 35 words
The method as claimed in claim 1 , wherein said packet loss is due to congestion, when the value of the counter is more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 8
Dependent Claim 49 words
The method as claimed in claim 6 , wherein said congestion window CWND is reduced to halve (½), and said slow start threshold Ssthresh is reduced to said congestion window to slow a transmission rate to avoid congestion in the network, when said packet loss is due to congestion.
Claim 9
Dependent Claim 29 words
The method as claimed in claim 1 , wherein said network corresponds to one or more TCP/ATM network, TCP/ISF network, and satellite network for wireless and/or mobile network applications.
Claim 10
Independent Claim 175 words
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.
Claim 11
Independent Claim 175 words
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.
Claim 12
Dependent Claim 27 words
The method as claimed in claim 9 , wherein said counter is set to record the number of times of packet re-transmission invoked by the duplicate ACKs.
Claim 13
Dependent Claim 38 words
The method as claimed in claim 9 , wherein said packet loss is due to the transmission error, when the value of the counter is no more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 14
Dependent Claim 35 words
The method as claimed in claim 9 , wherein said packet loss is due to congestion, when the value of the counter is more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 15
Dependent Claim 49 words
The method as claimed in claim 12 , wherein said congestion window CWND is reduced to halve (½), and said slow start threshold Ssthresh is reduced to said congestion window to slow a transmission rate to avoid congestion in the network, when said packet loss is due to congestion.
Claim 16
Dependent Claim 29 words
The method as claimed in claim 9 , wherein said network corresponds to one or more TCP/ATM network, TCP/ISF network, and satellite network for wireless and/or mobile network applications.
Claim 17
Dependent Claim 212 words
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.
Claim 18
Dependent Claim 212 words
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.
Claim 19
Dependent Claim 28 words
The data network as claimed in claim 15 , wherein said counter is set to record the number of times of packet re-transmission invoked by the duplicate ACKS.
Claim 20
Dependent Claim 39 words
The data network as claimed in claim 15 , wherein said packet loss is due to the transmission error, when the value of the counter is no more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 21
Dependent Claim 36 words
The data network as claimed in claim 15 , wherein said packet loss is due to congestion, when the value of the counter is more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 22
Dependent Claim 50 words
The data network as claimed in claim 15 , wherein said congestion window CWND is reduced to halve (½), and said slow start threshold Ssthresh is reduced to said congestion window to slow a transmission rate to avoid congestion in the network, when said packet loss is due to congestion.
Claim 23
Dependent Claim 176 words
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.
Claim 24
Dependent Claim 176 words
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.
Claim 25
Dependent Claim 29 words
The computer usable medium as claimed in claim 20 , wherein said counter is set to record the number of times of packet re-transmission invoked by the duplicate ACKs.
Claim 26
Dependent Claim 40 words
The computer usable medium as claimed in claim 20 , wherein said packet loss is due to the transmission error, when the value of the counter is no more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 27
Dependent Claim 37 words
The computer usable medium as claimed in claim 20 , wherein said packet loss is due to congestion, when the value of the counter is more than a pre-defined packet threshold indicating the threshold of packet loss.
Claim 28
Dependent Claim 51 words
The computer usable medium as claimed in claim 20 , wherein said congestion window CWND is reduced to halve (½), and said slow start threshold Ssthresh is reduced to said congestion window to slow a transmission rate to avoid congestion in the network, when said packet loss is due to congestion.
Claim 29
Dependent Claim 125 words
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.
Claim 30
Dependent Claim 125 words
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.
Claim 31
Dependent Claim 54 words
The host system as claimed in claim 25 , wherein the congestion window “CWND” is reduced to halve (½), and the slow start threshold “Ssthresh” is reduced to the congestion window to slow a transmission rate of data packets to avoid congestion in the network, when the data packet loss is due to congestion.
Claim 32
Dependent Claim 30 words
The host system as claimed in claim 25 , wherein said network corresponds to one or more TCP/ATM network, TCP/ISF network, and satellite network for wireless and/or mobile network applications.
Claim 33
Dependent Claim 145 words
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.
Claim 34
Dependent Claim 145 words
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.
Claim 35
Dependent Claim 55 words
The packet-switched telecommunication network as claimed in claim 28 , wherein the congestion window “CWND” is reduced to halve (½), and the slow start threshold “Ssthresh” is reduced to the congestion window to slow a transmission rate of data packets to avoid congestion in the network, when the data packet loss is due to congestion.
Claim 36
Dependent Claim 54 words
The packet-switched telecommunication network as claimed in claim 29 , wherein the slow start threshold Ssthresh is set to no more than Max(FlightSize/2, 2*SMSS), where the FlightSize indicates the amount of outstanding data in the network, and the SMSS indicates the size of a largest data segment that can be transmitted via the network.

References Cited (Backward Citations)

US5974028A Cited
US6535515B1 Cited
US6591382B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-06-29 2007-12-29 2008-06-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-06-29 2011-12-29 2012-06-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-06-29 2015-12-29 2016-06-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag