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
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)
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 |