Patent US5901138A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5901138A Expired / Lapsed US ⏱️ 0.0 years remaining

Process for improving the efficiency of high performance routing

Assignee: International Business Machines Corp
•
Filing: 1996-11-08
•
Granted: 1999-05-04
•
Expires: 2016-11-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A rate based flow and congestion control mechanism for packet communications whereby the acceleration and deceleration of the sending rate is moderated to be responsive to the traffic encountered. The method of the present invention also reduces oscillation in the transmission rate by being responsive to the characteristics of the network traffic and allowing burst intervals to be borrowed on a periodic basis.

Inventors

  • 👤 Lance Dana Bader
  • 👤 David Louis Kaminsky
  • 👤 Vachaspathi Peter Kompella
  • 👤 Robert Walter Scott

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 16:38
CPC Classifications
H; H04; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0478; H04L; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L2012/5619; H04L2012/562; H04L2012/5629; H04L2012/5631; H04L2012/5632; H04L2012/5635; H04L2012/5638; H04L2012/5646; H04L2012/565

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 290 words
A closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, each of said packets having an associated sequence number, said control system comprising: means at said receiving end node for determining the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; means for transmitting said lower rate from said receiving end node to said sending end node of said network; and means for adjusting the rate at which packets are launched from said sending end node on said connection in response to said lower rate, said means for adjusting comprising: means for switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; means at said sending end node to record a sequence number associated with the last packet sent prior to the switch to said alternate path; means at said receiving end node of determining if one or more of said packets were sent from said sending end node and not received at said receiving node, thereby being lost; means at said receiving end node for requesting that the sending end node resend any of said lost packets; and, means at said sending end node for comparing the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number said sending end node reduces said transmission rate of said network.
Claim 2
Dependent Claim 290 words
A closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, each of said packets having an associated sequence number, said control system comprising: means at said receiving end node for determining the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; means for transmitting said lower rate from said receiving end node to said sending end node of said network; and means for adjusting the rate at which packets are launched from said sending end node on said connection in response to said lower rate, said means for adjusting comprising: means for switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; means at said sending end node to record a sequence number associated with the last packet sent prior to the switch to said alternate path; means at said receiving end node of determining if one or more of said packets were sent from said sending end node and not received at said receiving node, thereby being lost; means at said receiving end node for requesting that the sending end node resend any of said lost packets; and, means at said sending end node for comparing the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number said sending end node reduces said transmission rate of said network.
Claim 3
Dependent Claim 271 words
A closed loop rate-based method for controlling data packet flow and congestion in a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: determining at said receiving end node the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; transmitting said lower rate from said receiving end node to said sending end node of said network; and, adjusting the rate at which the packets are launched from said sending end node on said connection in response to said lower rate, said adjusting step comprising the steps of: switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; recording, at said sending end node, a sequence number associated with the last packet sent prior to the switching to said alternate path; determining, at said receiving node, if one or more of said packets were sent from said sending end node and not received at said receiving end node, thereby being lost; requesting, but the receiving end node, that the sending end node resend any lost packets; and, comparing, at said sending end node, the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number, said sending end node reduces said transmission rate of said network.
Claim 4
Dependent Claim 271 words
A closed loop rate-based method for controlling data packet flow and congestion in a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: determining at said receiving end node the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; transmitting said lower rate from said receiving end node to said sending end node of said network; and, adjusting the rate at which the packets are launched from said sending end node on said connection in response to said lower rate, said adjusting step comprising the steps of: switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; recording, at said sending end node, a sequence number associated with the last packet sent prior to the switching to said alternate path; determining, at said receiving node, if one or more of said packets were sent from said sending end node and not received at said receiving end node, thereby being lost; requesting, but the receiving end node, that the sending end node resend any lost packets; and, comparing, at said sending end node, the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number, said sending end node reduces said transmission rate of said network.
Claim 5
Dependent Claim 305 words
A media containing programmable software implementing a closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, each of said packets having an associated sequence number, said control system comprising: programmable means at said receiving end node for determining the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; programmable means for transmitting said lower rate from said receiving end node to said sending end node of said network; and programmable means for adjusting the rate at which packets are launched from said sending end node on said connection in response to said lower rate, said programmable means for adjusting comprising: programmable means for switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; programmable means at said sending end node to record a sequence number associated with the last packet sent prior to the switch to said alternate path; programmable means at said receiving end node of determining if one or more of said packets were sent from said sending end node and not received at said receiving node, thereby being lost; programmable means at said receiving end node for requesting that the sending end node resend any of said lost packets; and, programmable means at said sending end node for comparing the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number said sending end node reduces said transmission rate of said network.
Claim 6
Dependent Claim 305 words
A media containing programmable software implementing a closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, each of said packets having an associated sequence number, said control system comprising: programmable means at said receiving end node for determining the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; programmable means for transmitting said lower rate from said receiving end node to said sending end node of said network; and programmable means for adjusting the rate at which packets are launched from said sending end node on said connection in response to said lower rate, said programmable means for adjusting comprising: programmable means for switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; programmable means at said sending end node to record a sequence number associated with the last packet sent prior to the switch to said alternate path; programmable means at said receiving end node of determining if one or more of said packets were sent from said sending end node and not received at said receiving node, thereby being lost; programmable means at said receiving end node for requesting that the sending end node resend any of said lost packets; and, programmable means at said sending end node for comparing the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number said sending end node reduces said transmission rate of said network.
Claim 7
Dependent Claim 290 words
A closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, each of said packets having an associated sequence number, said control system comprising: means at said receiving end node for determining the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; means for transmitting said lower rate from said receiving end node to said sending end node of said network; and means for adjusting the rate at which packets are launched from said sending end node on said connection in response to said lower rate, said means for adjusting comprising: means for switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; means at said sending end node to record a sequence number associated with the last packet sent prior to the switch to said alternate path; means at said receiving end node of determining if one or more of said packets were sent from said sending end node and not received at said receiving node, thereby being lost; means at said receiving end node for requesting that the sending end node resend any of said lost packets; and, means at said sending end node for comparing the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number said sending end node reduces said transmission rate of said network.
Claim 8
Dependent Claim 290 words
A closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, each of said packets having an associated sequence number, said control system comprising: means at said receiving end node for determining the lower of either the rate at which said packets are delivered from said network to said receiving end node or the rate at which said packets are delivered from said receiving end node to a connected user; means for transmitting said lower rate from said receiving end node to said sending end node of said network; and means for adjusting the rate at which packets are launched from said sending end node on said connection in response to said lower rate, said means for adjusting comprising: means for switching to an alternate path if said connection between said sending end node and said receiving end node is disrupted; means at said sending end node to record a sequence number associated with the last packet sent prior to the switch to said alternate path; means at said receiving end node of determining if one or more of said packets were sent from said sending end node and not received at said receiving node, thereby being lost; means at said receiving end node for requesting that the sending end node resend any of said lost packets; and, means at said sending end node for comparing the sequence numbers of said lost packets with said recorded sequence number and, only if said sequence numbers of said lost packets are greater than said recorded sequence number said sending end node reduces said transmission rate of said network.
Claim 9
Dependent Claim 194 words
A closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said control system comprising: means for adjusting the rate at which packets are launched from said sending end node on said connection, said means for adjusting comprising: means for setting an initial sending rate; means for defining an optimistic interval in terms of number of frames or packets transmitted without error or delay; means for defining an acceleration increment; means for defining a noise tolerance for said rate at which packets are launched; means for determining when an optimistic interval has been obtained and, incrementing said sending rate by said acceleration increment in response to obtaining said optimistic interval; means for determining when a packet is lost in said transmission and recording said send rate; and, means for decrementing said sending rate by a predetermined amount in response to a predetermined consecutive number of said lost packets within said noise tolerance of said sending rate and, correspondingly, decrementing said acceleration increment by a percentage of said previous acceleration increment.
Claim 10
Dependent Claim 194 words
A closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said control system comprising: means for adjusting the rate at which packets are launched from said sending end node on said connection, said means for adjusting comprising: means for setting an initial sending rate; means for defining an optimistic interval in terms of number of frames or packets transmitted without error or delay; means for defining an acceleration increment; means for defining a noise tolerance for said rate at which packets are launched; means for determining when an optimistic interval has been obtained and, incrementing said sending rate by said acceleration increment in response to obtaining said optimistic interval; means for determining when a packet is lost in said transmission and recording said send rate; and, means for decrementing said sending rate by a predetermined amount in response to a predetermined consecutive number of said lost packets within said noise tolerance of said sending rate and, correspondingly, decrementing said acceleration increment by a percentage of said previous acceleration increment.
Claim 11
Dependent Claim 178 words
A closed loop rate-based flow and congestion control method for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: adjusting the rate at which packets are launched from said sending end node on said connection, said adjusting comprising: setting an initial sending rate; defining an optimistic interval in terms of number of frames or packets transmitted without error or delay; defining an acceleration increment; defining a noise tolerance for said rate at which packets are launched; determining when an optimistic interval has been obtained and, incrementing said sending rate by said acceleration increment in response to obtaining said optimistic interval; determining when a packet is lost in said transmission and recording said sending rate; and, decrementing said sending rate by a predetermined amount in response to a predetermined consecutive number of said lost packets within said noise tolerance of said sending rate and, correspondingly, decrementing said acceleration increment by a percentage of said previous acceleration increment.
Claim 12
Dependent Claim 178 words
A closed loop rate-based flow and congestion control method for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: adjusting the rate at which packets are launched from said sending end node on said connection, said adjusting comprising: setting an initial sending rate; defining an optimistic interval in terms of number of frames or packets transmitted without error or delay; defining an acceleration increment; defining a noise tolerance for said rate at which packets are launched; determining when an optimistic interval has been obtained and, incrementing said sending rate by said acceleration increment in response to obtaining said optimistic interval; determining when a packet is lost in said transmission and recording said sending rate; and, decrementing said sending rate by a predetermined amount in response to a predetermined consecutive number of said lost packets within said noise tolerance of said sending rate and, correspondingly, decrementing said acceleration increment by a percentage of said previous acceleration increment.
Claim 13
Dependent Claim 208 words
Media containing programmable software comprising a closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said control system comprising: programmable means for adjusting the rate at which packets are launched from said sending end node on said connection, said programmable means for adjusting comprising: programmable means for setting an initial sending rate; programmable means for defining an optimistic interval in terms of number of frames or packets transmitted without error or delay; programmable means for defining an acceleration increment; programmable means for defining a noise tolerance for said rate at which packets are launched; programmable means for determining when an optimistic interval has been obtained and, incrementing said sending rate by said acceleration increment in response to obtaining said optimistic interval; programmable means for determining when a packet is lost in said transmission and recording said sending rate; and, programmable means for decrementing said sending rate by a predetermined amount in response to a predetermined consecutive number of said lost packets within said noise tolerance of said sending rate and, correspondingly, decrementing said acceleration increment by a percentage of said previous acceleration increment.
Claim 14
Dependent Claim 208 words
Media containing programmable software comprising a closed loop rate-based flow and congestion control system for a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said control system comprising: programmable means for adjusting the rate at which packets are launched from said sending end node on said connection, said programmable means for adjusting comprising: programmable means for setting an initial sending rate; programmable means for defining an optimistic interval in terms of number of frames or packets transmitted without error or delay; programmable means for defining an acceleration increment; programmable means for defining a noise tolerance for said rate at which packets are launched; programmable means for determining when an optimistic interval has been obtained and, incrementing said sending rate by said acceleration increment in response to obtaining said optimistic interval; programmable means for determining when a packet is lost in said transmission and recording said sending rate; and, programmable means for decrementing said sending rate by a predetermined amount in response to a predetermined consecutive number of said lost packets within said noise tolerance of said sending rate and, correspondingly, decrementing said acceleration increment by a percentage of said previous acceleration increment.
Claim 15
Dependent Claim 137 words
A closed loop rate-based method for controlling data packet flow and congestion in a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: determining a burst interval for said sending end node; determining a burst size for said sending end node; determining, when a packet is available for sending, whether the packet is capable of being sent within a next burst interval; and, borrowing time from the next burst interval of said sending end node, thereby allowing said packet to be sent during a current burst interval if said packet can be sent in its entirety within the next burst interval and a burst interval immediately previous to said current burst interval has not borrowed time.
Claim 16
Dependent Claim 137 words
A closed loop rate-based method for controlling data packet flow and congestion in a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: determining a burst interval for said sending end node; determining a burst size for said sending end node; determining, when a packet is available for sending, whether the packet is capable of being sent within a next burst interval; and, borrowing time from the next burst interval of said sending end node, thereby allowing said packet to be sent during a current burst interval if said packet can be sent in its entirety within the next burst interval and a burst interval immediately previous to said current burst interval has not borrowed time.
Claim 17
Dependent Claim 137 words
A closed loop rate-based method for controlling data packet flow and congestion in a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: determining a burst interval for said sending end node; determining a burst size for said sending end node; determining, when a packet is available for sending, whether the packet is capable of being sent within a next burst interval; and, borrowing time from the next burst interval of said sending end node, thereby allowing said packet to be sent during a current burst interval if said packet can be sent in its entirety within the next burst interval and a burst interval immediately previous to said current burst interval has not borrowed time.
Claim 18
Dependent Claim 137 words
A closed loop rate-based method for controlling data packet flow and congestion in a packet communications network providing a connection for the transmission of packets between a sending end node and a receiving end node of said network, said method comprising the steps of: determining a burst interval for said sending end node; determining a burst size for said sending end node; determining, when a packet is available for sending, whether the packet is capable of being sent within a next burst interval; and, borrowing time from the next burst interval of said sending end node, thereby allowing said packet to be sent during a current burst interval if said packet can be sent in its entirety within the next burst interval and a burst interval immediately previous to said current burst interval has not borrowed time.

References Cited (Backward Citations)

US5210740A Cited
US5590366A Cited
US5566208A Cited
US5671216A Cited
US5627970A Cited
US5719865A Cited
US5633861A Cited
US5650993A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-05-03 2002-11-02 2003-05-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-05-03 2006-11-02 2007-05-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-05-03 2010-11-02 2011-05-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag