Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Frost-resistant stand valve
Patent Number: 7,438,082 Issued on 10/21/2008 to Klee

Title: Valve for an inflatable and method of use
Patent Number: 7,438,081 Issued on 10/21/2008 to Chen

Title: System and method for dewatering an area
Patent Number: 7,438,080 Issued on 10/21/2008 to Johnson

Title: In-line gas purity monitoring and control system
Patent Number: 7,438,079 Issued on 10/21/2008 to Cohen,   et al.

Title: Sleeping bag and system
Patent Number: 7,438,078 Issued on 10/21/2008 to Woodruff,   et al.

Title: Sleeve-actuated umbrella
Patent Number: 7,438,077 Issued on 10/21/2008 to Wilson

Title: Dispenser device particularly for dishwashing machines
Patent Number: 7,438,076 Issued on 10/21/2008 to Cerruti,   et al.

Title: Spray arch controller for a carwash
Patent Number: 7,438,075 Issued on 10/21/2008 to Huntington,   et al.

Title: Method for assessing the condition of the spine
Patent Number: 7,438,074 Issued on 10/21/2008 to Toftness

Title: Air assistance apparatus for computing the airflow provided by only means of pressure sensors
Patent Number: 7,438,073 Issued on 10/21/2008 to Delache,   et al.

Title: Portable field anesthesia machine and control therefore
Patent Number: 7,438,072 Issued on 10/21/2008 to Izuchukwu

Title: Barbecue grill with folding shelves
Patent Number: 7,438,071 Issued on 10/21/2008 to Johnson,   et al.

Title: Archery bow having improved design to absorb shock and reduce vibration
Patent Number: 7,438,070 Issued on 10/21/2008 to Mancini

Title: Thermoplastic bow limb
Patent Number: 7,438,069 Issued on 10/21/2008 to Simonds

Title: Interactive device for process excellence training
Patent Number: 7,438,068 Issued on 10/21/2008 to Nanguneri

Title: Method of controlling engine using heated exhaust gas sensor
Patent Number: 7,438,067 Issued on 10/21/2008 to Saito,   et al.

Title: Method and device for controlling an internal combustion engine
Patent Number: 7,438,066 Issued on 10/21/2008 to Michalske,   et al.

Title: Breather device in engine
Patent Number: 7,438,065 Issued on 10/21/2008 to Matsushima,   et al.

Title: Mixture-lubricated internal combustion engine
Patent Number: 7,438,064 Issued on 10/21/2008 to Borchardt,   et al.

Title: Exhaust gas recirculation system of vehicle
Patent Number: 7,438,063 Issued on 10/21/2008 to Sohn,   et al.

Title: Flow passage switching valve
Patent Number: 7,438,062 Issued on 10/21/2008 to Okawa,   et al.

Title: Method and apparatus for estimating exhaust pressure of an internal combustion engine
Patent Number: 7,438,061 Issued on 10/21/2008 to Wang,   et al.

Title: System for detecting purge valve malfunction
Patent Number: 7,438,060 Issued on 10/21/2008 to Mc Lain

Title: Evaporative emission control system and method for small engines
Patent Number: 7,438,059 Issued on 10/21/2008 to Mills,   et al.

Title: Drain pipe in canister system
Patent Number: 7,438,058 Issued on 10/21/2008 to Ito,   et al.

Title: Fuel injection system
Patent Number: 7,438,057 Issued on 10/21/2008 to Scheurer,   et al.

Title: Method for setting initial compensation value in sensor complex module
Patent Number: 7,438,056 Issued on 10/21/2008 to Chae,   et al.

Title: Fuel injector to fuel rail connection
Patent Number: 7,438,055 Issued on 10/21/2008 to Xu,   et al.

Title: Fuel injector for a direct injection internal combustion engine
Patent Number: 7,438,054 Issued on 10/21/2008 to Petrone,   et al.

Title: Fuel delivery pipe
Patent Number: 7,438,053 Issued on 10/21/2008 to Serizawa

Title: Abnormality-determining device and method for fuel supply system, and engine control unit
Patent Number: 7,438,052 Issued on 10/21/2008 to Awano,   et al.

Title: Method and device for supplying internal combustion engines with fuel
Patent Number: 7,438,051 Issued on 10/21/2008 to Wachtendorf,   et al.

Title: Fuel injection system for an internal combustion engine
Patent Number: 7,438,050 Issued on 10/21/2008 to Allen

Title: System for determining the start of combustion in an internal combustion engine
Patent Number: 7,438,049 Issued on 10/21/2008 to Caretta,   et al.

Title: Fuel injection amount control apparatus for internal combustion engine
Patent Number: 7,438,048 Issued on 10/21/2008 to Onobayashi,   et al.

Title: Multi-cylinder engine
Patent Number: 7,438,047 Issued on 10/21/2008 to Kawasaki,   et al.

Title: Failure detection apparatus for variable valve timing and lift control system of internal combustion engine
Patent Number: 7,438,046 Issued on 10/21/2008 to Okubo,   et al.

Title: Method of operating an internal combustion engine
Patent Number: 7,438,045 Issued on 10/21/2008 to Herweg,   et al.

Title: Light-weight compact diesel engine
Patent Number: 7,438,044 Issued on 10/21/2008 to Webster,   et al.

Title: Internal combustion engine with auxiliary combustion chamber
Patent Number: 7,438,043 Issued on 10/21/2008 to Shiraishi,   et al.

Title: Method of stopping internal combustion engine
Patent Number: 7,438,042 Issued on 10/21/2008 to Kawada

Title: Connecting rod-crank piston pin for the carrying out of an eccentric connecting rod system preferably for internal-combustion engines
Patent Number: 7,438,041 Issued on 10/21/2008 to Renato

Title: Low floor type motorcycle
Patent Number: 7,438,040 Issued on 10/21/2008 to Sugita,   et al.

Title: Large-bore, medium-speed diesel engine having piston crown bowl with acute re-entrant angle
Patent Number: 7,438,039 Issued on 10/21/2008 to Poola,   et al.

Title: Cylinder liner and methods construction thereof and improving engine performance therewith
Patent Number: 7,438,038 Issued on 10/21/2008 to Azevedo,   et al.

Title: Internal combustion engine and liner installation ring
Patent Number: 7,438,037 Issued on 10/21/2008 to Oogake,   et al.

Title: Oil metering valve seal
Patent Number: 7,438,036 Issued on 10/21/2008 to Hesher,   et al.

Title: Cam drive apparatus having a magnetic gear
Patent Number: 7,438,035 Issued on 10/21/2008 to Farah

Title: Camshaft-adjusting device
Patent Number: 7,438,034 Issued on 10/21/2008 to Meintschel,   et al.

Title: Variable valve timing control apparatus for internal combustion engine and internal combustion engine including variable valve timing control apparatus
Patent Number: 7,438,033 Issued on 10/21/2008 to Moriya

Title: Method and device for controlling an internal combustion engine
Patent Number: 7,438,032 Issued on 10/21/2008 to Herold,   et al.

Title: Layout structure of hydraulic control valve for valve train in internal combustion engine
Patent Number: 7,438,031 Issued on 10/21/2008 to Kono,   et al.

Title: Actuator operated microvalves
Patent Number: 7,438,030 Issued on 10/21/2008 to Okojie

Title: Piston waveform shaping
Patent Number: 7,438,029 Issued on 10/21/2008 to Fox,   et al.

Title: Four stroke engine with a fuel saving sleeve
Patent Number: 7,438,028 Issued on 10/21/2008 to Warren

Title: Fluid transfer in reciprocating devices
Patent Number: 7,438,027 Issued on 10/21/2008 to Hinderks

Title: Cylinder block and internal combustion engine
Patent Number: 7,438,026 Issued on 10/21/2008 to Nakada,   et al.

Title: Ultra-expansion four-stroke internal combustion engine
Patent Number: 7,438,025 Issued on 10/21/2008 to Yang

Title: Wood-burning boiler
Patent Number: 7,438,024 Issued on 10/21/2008 to Bast

Title: Pet carrier access portal
Patent Number: 7,438,022 Issued on 10/21/2008 to Mirsky

Title: Inhalation therapy enclosure for small animals
Patent Number: 7,438,021 Issued on 10/21/2008 to Dietrich

Title: Combination major appliance and pet watering system
Patent Number: 7,438,020 Issued on 10/21/2008 to Palett,   et al.

Title: Integrated pneumatic actuator and pump for dispensing controlled amounts of a fluid
Patent Number: 7,438,019 Issued on 10/21/2008 to Lofink, Jr.,   et al.

Title: Confinement ring assembly of plasma processing apparatus
Patent Number: 7,438,018 Issued on 10/21/2008 to Son

Title: Method and apparatus to color vinyl slats
Patent Number: 7,438,017 Issued on 10/21/2008 to Jabbari,   et al.

Title: Method and device for launching into the water a means for life-saving at sea from a height greater than its maximum launch height
Patent Number: 7,438,016 Issued on 10/21/2008 to Dronne,   et al.

Title: Folding top assembly with safety and convenience features
Patent Number: 7,438,015 Issued on 10/21/2008 to Schwindaman

Title: Rigid inflatable boat with easy lifesaving
Patent Number: 7,438,014 Issued on 10/21/2008 to Kim

Title: Steering mechanism for small boat having multiple propulsion units
Patent Number: 7,438,013 Issued on 10/21/2008 to Mizutani

Title: Gas supply arrangement of a marine vessel and method of providing gas in a marine vessel
Patent Number: 7,438,012 Issued on 10/21/2008 to Kackur

Title: Apparatus and method for cutting sewn material in sewing machine
Patent Number: 7,438,011 Issued on 10/21/2008 to Kondo

Title: Thread spool and cap
Patent Number: 7,438,010 Issued on 10/21/2008 to Lyman

Title: Sewing machine clutch with removable locking pin
Patent Number: 7,438,009 Issued on 10/21/2008 to Grant

Title: Sewing machine
Patent Number: 7,438,008 Issued on 10/21/2008 to Anezaki

Title: Level cut loop looper and clip assembly
Patent Number: 7,438,007 Issued on 10/21/2008 to Hall

Congestion control in data networks Number:7,394,762 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Congestion control in data networks

Abstract: Disclosed are methods of congestion control in transmission of data in packets over a network link using a transport layer protocol, and transmission methods and protocol systems to implement such methods. The number of unacknowledged packets in transit is less than or equal to a congestion window value cwnd.sub.i which can be varied according to an additive-increase multiplicative-decrease (AIMD) law having an increase parameter .alpha..sub.i. In embodiments, .alpha..sub.i can be increased during each congestion epoch at a time after the start of a congestion epoch, or based on time since the start of a congestion epoch. In embodiments, a multiplicative decrease parameter .beta..sub.i can be set based on a characteristic(s) of a data flow(s) carried over the network link. For example, the value of .beta..sub.i may be set as the value of the round-trip time of data traversing the link or based on the minimum of the mean inter-packet time.

Patent Number: 7,394,762 Issued on 07/01/2008 to Leith,   et al.


Inventors: Leith; Douglas (Dublin, IE), Shorten; Robert N. (Dublin, IE)
Assignee: National University of Ireland Maynooth (Kildare, IE)
Appl. No.: 10/829,105
Filed: April 21, 2004


Current U.S. Class: 370/229 ; 370/235
Current International Class: G01R 31/08 (20060101); G06F 11/00 (20060101)
Field of Search: 370/229-231,233-236 725/93,96


References Cited [Referenced By]


Other References

Sally Floyd, Mark Handley and Jitendra Padhye, "A Comparison of Equation-Based and AIMD Congestion Control", ACIRI, May 12, 2000, pp. 1-4.quadrature..quadrature.. cited by examiner .
M. Allman, V. Paxson and W. Stevens, "TCP Congestion Control", Apr. 1999, The Internet Society (1999), p. 2. cited by examiner .
Dang-Hai Hoang and Dietrich Reschke, "TCP-friendly Exponential Congestion Control for Multimedia Communication", 2002, IEEE, p. 1589.quadrature..quadrature.. cited by examiner .
Wang, Ren, et als., "TCP Startup Performance in Large Bandwidth Delay Networks," Computer Science Department, University of California, Los Angeles, CA 90095. 2004. cited by other.

Primary Examiner: Shah; Chirag G
Assistant Examiner: Shivers; Ashley L
Attorney, Agent or Firm: Foley Hoag LLP

Claims



What is claimed is:

1. A method of congestion control in transmission of data in packets over a network link using a transport layer protocol, wherein a number of unacknowledged packets in transit in the link is less than or equal to a congestion window value cwnd.sub.i; comprising: a) varying the value of cwnd.sub.i according to an additive-increase multiplicative-decrease (AIMD) law having rate of increase parameter .alpha..sub.i, b) increasing the value of .alpha..sub.i during each congestion epoch, c) responsive to detection of network congestion during a kth congestion epoch at a time when the value of cwnd.sub.i is w.sub.i(k), setting the value of cwnd.sub.i to .beta..sub.iw.sub.i(k)-.delta. where .beta..sub.i is the multiplicative-decrease parameter and .delta.=0 initially and .delta..sub.i=.beta..sub.i(.alpha..sub.i.sup.H-.alpha..sub.i.sup.L) after an increase in the value of and .alpha..sub.i, and d) transmitting packets over the network link in accordance with the value of cwnd.sub.i set in step c).

2. A method of congestion control according to claim 1, further comprising increasing the value of .alpha..sub.i at a fixed time after the start of each congestion epoch.

3. A method of congestion control according to claim 2 further comprising calculating the fixed time as a fixed multiple of the round-trip time for a data packet to travel over the network link.

4. A method of congestion control according to claim 1 further comprising increasing the value of .alpha..sub.i at a plurality of fixed times after the start of each congestion epoch.

5. A method of congestion control according to claim 4 further comprising calculating each fixed time as a respective fixed multiple of the round-trip time for a data packet to travel over the network link.

6. A method of congestion control according to claim 1 further comprising setting the value of .alpha..sub.i to unity at the start of each congestion epoch.

7. A method of congestion control according to claim 1 comprising increasing .alpha..sub.i as a polynomial function of time from the start of a congestion epoch.

8. A method according to claim 1, further comprising during each congestion epoch, at a time prior to increase in the value of .alpha..sub.i, implementing transport control protocol (TCP) having standard congestion control.

9. A method of congestion control in transmission of data in packets over a network link using a transport layer protocol to transmit a plurality of data flows on the link there being a respective round-trip time RTT.sub.i associated with the ith data flow sharing the link, RTT.sub.i being the interval between a networking component placing a packet on the network link and its receiving an acknowledgement of receipt of the packet, the shortest round-trip time being designated RTT.sub.min,i and the greatest round-trip time being designated RTT.sub.max,i wherein: a number of unacknowledged packets in transit in the link is less than or equal to a congestion window value cwnd.sub.i; comprising: a) varying the value of cwnd according to an additive-increase multiplicative-decrease (AIMD) law having a multiplicative decrease parameter .beta..sub.i, b) setting the value of .beta..sub.i as .beta. ##EQU00016## and c) transmitting packets over the network link in accordance with the value of cwnd.sub.i.

10. A method of congestion control according to claim 9 further comprising monitoring the values of RTT.sub.min,i and RTT.sub.max,i and re-evaluating the value of .beta. ##EQU00017## periodically.

11. A method of congestion control according to claim 9 in which the additive-increase multiplicative-decrease law has rate of increase parameter .alpha..sub.i, and comprising varying .alpha..sub.i as a function of .beta..sub.i.

12. A method of congestion control according to claim 11 further comprising varying .alpha..sub.i as .alpha..sub.i=2(1-.beta..sub.i).
Description



BACKGROUND

1. Field

The disclosed methods and systems relate to congestion control in data networks. It has particular but not exclusive application to networks upon which data is communicated using a transport layer protocol that is a modification of and is compatible with the standard transmission control protocol (TCP).

2. Description of Relevant Art

A problem in the design of networks is the development of congestion control algorithms. Congestion control algorithms are deployed for two principal reasons: to ensure avoidance of network congestion collapse, and to ensure a degree of network fairness. Put simply, network fairness refers to the situation whereby a data source receives a fair share of available bandwidth, whereas congestion collapse refers to the situation whereby an increase in network load results in a decrease of useful work done by the network (usually due to retransmission of data).

Note that in this context "fairness" of access to a network does not necessarily mean equality of access. Instead, it means a level of access appropriate to the device in question. Therefore, it may be deemed fair to provide a high-speed device with a greater level of access to a channel than a slow channel because this will make better use of the capacity of the channel.

Past attempts to deal with network congestion resulted in the widely applied transmission control protocol. While the current TCP congestion control algorithm has proved remarkably durable, it is likely to be less effective on forthcoming networks that will feature gigabit-speed links and small buffer sizes. It may also be less effective where data is transmitted over long distances and comprises heterogeneous traffic originating from heterogeneous sources. These considerations have led to widespread acceptance that new congestion control algorithms must be developed to accompany the development of networking systems.

The task of developing such algorithms is not straightforward. In addition to the requirements discussed above, fundamental requirements of congestion control algorithms include efficient use of bandwidth, fair allocation of bandwidth among sources and that the network should be responsive rapidly to reallocate bandwidth as required. These requirements must be met while respecting key constraints including decentralized design (TCP sources have restricted information available to them), scalability (the qualitative properties of networks employing congestion control algorithms should be independent of the size of the network and of a wide variety of network conditions) and suitable backward compatibility with conventional TCP sources.

To place the disclosed methods and systems in context, the existing TCP network model will now be described. The TCP standard defines a variable cwnd that is called the "congestion window". This variable determines the number of unacknowledged packets that can be in transit at any time; that is, the number of packets in the `pipe` formed by the links and buffers in a transmission path. When the window size is exhausted, the source must wait for an acknowledgement (ACK) before sending a new packet. Congestion control is achieved by dynamically varying cwnd according to an additive-increase multiplicative-decrease (AIMD) law. The aim is for a source to probe the network gently for spare capacity and back-off its send rate rapidly when congestion is detected. A cycle that involves an increase and a subsequent back-off is termed a "congestion epoch". The second part is referred to as the "recovery phase".

In the congestion-avoidance phase, when a source i receives an ACK packet, it increments its window size cwnd.sub.i according to the additive increase law: cwnd.sub.i.fwdarw.cwnd.sub.i+.alpha..sub.i/cwnd.sub.i (1) where .alpha..sub.i=1 for standard TCP. Consequently, the source gradually ramps up its congestion window as the number of packets successfully transmitted grows. By keeping track of the ACK packets received, the source can infer when packets have been lost en route to the destination. Upon detecting such a loss, the source enters the fast recovery phase. The lost packets are retransmitted and the window size cwnd.sub.i of source i is reduced according to: cwnd.sub.i.fwdarw..beta..sub.icwnd.sub.i, (2) where .beta..sub.i=0.5 for standard TCP. It is assumed that multiple drops within a single round-trip time lead to a single back-off action. When receipt of the retransmitted lost packets is eventually confirmed by the destination, the source re-enters the congestion avoidance phase, adjusting its window size according to equation (1). In summary, on detecting a dropped packet (which the algorithm assumes is an indication of congestion on the network), the TCP source reduces its send rate. It then begins to gradually increase the send rate again, probing for available bandwidth. A typical window evolution is depicted in FIG. 1 (cwnd.sub.i at the time of detecting congestion is denoted by w.sub.i in FIG. 1).

Over the kth congestion epoch three important events can be discerned from FIG. 1. (A congestion epoch is defined here as a sequence of additive increases ending with one multiplicative decrease of cwnd.) These are indicated by t.sub.a(k); t.sub.b(k) and t.sub.c(k) in FIG. 1. The time t.sub.a(k) is the time at which the number of unacknowledged packets in the pipe equals .beta..sub.iw.sub.i(k). t.sub.b(k) is the time at which the pipe is full so that any packets subsequently added will be dropped at the congested queue. t.sub.c(k) is the time at which packet drop is detected by the sources. Time is measured in units of round-trip time (RTT). RTT is the time taken between a source sending a packet and receiving the corresponding acknowledgement, assuming no packet drop. Equation 1 corresponds to an increase in cwnd.sub.i of .alpha..sub.i packets per RTT.

The foregoing discussion relates to AIMD sources where the increase and decrease parameters .alpha..sub.i and .beta..sub.i are constant (although they may differ for each source). A number of recent proposals for high-speed networks vary the rate of increase and decrease as functions of window size or other values. The approach is readily extended to these protocols by extending the model to include time varying parameters .alpha..sub.i(k) and .beta..sub.i(k) and defining the model increase parameter to be an effective value, for example such that .alpha..sub.i(k)=(w.sub.i(k+1)-.beta..sub.iw.sub.i(k))/(t.sub.c(k)-t.sub.- a(k))

The current TCP congestion control algorithm described above may be inefficient on modem high-speed and long distance networks. On such links, the window sizes can be very large (perhaps tens of thousands of packets). Following a congestion event, the window size is halved and subsequently only increased by one packet per round-trip time. Thus, it can take a substantial time for the window size to recover, during which time the send rate is well below the capacity of the link. One possible solution is to simply make the TCP increase parameter .alpha..sub.i larger, thereby decreasing the time to recover following a congestion event and improving the responsiveness of the TCP flow. Unfortunately, this direct solution is inadmissible because of the requirement on lower speed networks for backward compatibility and fairness with existing TCP traffic. The requirement is thus for .alpha..sub.i to be large in high-speed networks but unity in low-speed ones, naturally leading to consideration of some form of mode switch. However, mode switching creates the potential for introducing undesirable dynamic behaviors in otherwise well behaved systems and any re-design of TCP therefore needs to be carried out with due regard to such issues.

SUMMARY

An aim of the disclosed methods and systems is to provide a protocol that improves upon TCP in high-speed networks while maintaining compatibility with existing systems.

From a first aspect, the disclosed methods and systems provide a method of congestion control in transmission of data in packets over a network link using a transport layer protocol, wherein: a) the number of unacknowledged packets in transit in the link is less than or equal to a congestion window value cwnd.sub.i for the ith flow; b) the value of cwnd.sub.i is varied according to an additive-increase multiplicative-decrease (AIMD) law having an increase parameter .alpha..sub.i, and the value of .alpha..sub.i is increased during each congestion epoch.

The method effectively operates in two modes during a congestion epoch. Initially, it operates in a low-speed mode that is compatible with conventional TCP. After the value of .alpha..sub.i is increased it operates in a high-speed mode in which it takes better advantage of a high-speed link than can conventional TCP. The initial compatibility with TCP ensures proper operation of the system in a network that includes both high-speed and low-speed data sources.

The value of may .alpha..sub.i increase at a fixed time after the start of each congestion epoch, for example as a fixed multiple of the round-trip time for a data packet to travel over the network link. As a development of this arrangement, the value of .alpha..sub.i may increase at a plurality of fixed times after the start of each congestion epoch. In this case, each fixed time may be calculated as a respective fixed multiple of the round-trip time for a data packet to travel over the network link.

Alternatively, the value of .alpha..sub.i may increase as a function of time from the start of a congestion epoch, for example, as a polynomial function of time from the start of a congestion epoch.

In embodiments, the value of .alpha..sub.i is unity at the start of each congestion epoch to ensure compatibility with standard TCP.

As a particular example, in a method embodying the disclosed methods and systems, upon detection of network congestion during a kth congestion epoch at a time when the value of cwnd.sub.i is w.sub.i(k), the value of cwnd.sub.i becomes .beta..sub.iw.sub.i(k)-.delta. where .delta.=0 initially and .delta..sub.i=.beta..sub.i(.alpha..sub.i.sup.H-.alpha..sub.i.sup.L) after an increase in the value of .alpha..sub.i.

The disclosed methods and systems also provide a method of transmitting data in packets over a network link and a networking component for transmitting data in packets over a network link that employ congestion control as defined above.

From another aspect, the disclosed methods and systems provide a method of congestion control in transmission of data in packets over a network link using a transport layer protocol, wherein: a) the number of unacknowledged packets in transit in the link is less than or equal to a congestion window value cwnd.sub.i for the ith flow; b) the value of cwnd.sub.i is varied according to an additive-increase multiplicative-decrease (AIMD) law having a multiplicative decrease parameter .beta..sub.i, and c) the value of .beta..sub.i is set as a function of one or more characteristics of one or more data flows carried over the network link.

This provides an adaptive backoff that can further enhance the effectiveness of congestion control by way of the disclosed methods and systems.

In such embodiments, the value of .beta..sub.i is typically set as a function of the round-trip time of data traversing the link. For example, in cases in which the link carries a plurality of data flows, there is a round-trip time RTT.sub.i associated with the ith data flow sharing the link, the shortest round-trip time being designated RTT.sub.min,i and the greatest round-trip time being designated RTT.sub.max,i, the value of .beta..sub.i may be set as

.beta. ##EQU00001## This may be on-going during transmission, such that the values of RTT.sub.min,i and RTT.sub.max,i are monitored and the value of

.beta. ##EQU00002## is re-evaluated periodically.

To ensure fairness of access, the additive-increase parameter .alpha..sub.i may be varied as a function of .beta..sub.i. In some embodiments, of particular preference, and to ensure fair access to high-speed and conventional sources, .alpha..sub.i may be varied as .alpha..sub.i=2(1-.beta..sub.i).

Advantageously, the value of round-trip times of one or more data flows carried over the network link are monitored periodically during transmission of data and the value of .beta..sub.i is adjusted in accordance with updated round-trip values thereby determined.

The value of .beta..sub.i may be set as a function of the mean inter-packet time of data flowing in the link or the mean throughput.

The disclosed methods and systems also provide a method of congestion control in which the value of .beta..sub.i is set by: a) during data transmission, periodically monitoring the value of the mean inter-packet time IPTmin,i or throughput of the i'th flow; b) upon the measured value of IPTmin,i moving outside of a threshold band, resetting the value of .beta..sub.i to .beta..sub.breset,i (typically 0.5); and c) upon IPTmin,i or throughput returning within the threshold band, setting

.beta. ##EQU00003## and periodically resetting .beta..sub.i in response to changes in the value of RTTmin,i or RTTmax,i.

Further features that may be included in embodiments of the disclosed methods and systems will become apparent from the description that will be presented below.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 is a graph illustrating the evolution of the congestion window (cwind.sub.i) in conventional TCP, and has already been discussed;

FIG. 2 is a graph illustrating the evolution of the congestion window (cwind.sub.i) for two flows in which the flows have unequal increase and decrease parameters .alpha..sub.i, .beta..sub.i which satisfy the relation .alpha..sub.i=2(1-.beta..sub.i);

FIG. 3 is a graph illustrating the evolution of the congestion window (cwind.sub.i) in an embodiment of the disclosed methods and systems;

FIG. 4 is a graph illustrating the evolution of the congestion window (cwind.sub.i) for two flows in a high-speed link in an embodiment of the disclosed methods and systems;

FIG. 5 is a graph illustrating the evolution of the congestion window (cwind.sub.i) for two flows in a low-speed link in an embodiment of the disclosed methods and systems; and,

FIG. 6 is a block diagram of an adaptive congestion and control scheme embodying the disclosed methods and systems.

DESCRIPTION

To provide an overall understanding, certain illustrative embodiments will now be described; however, it will be understood by one of ordinary skill in the art that the systems and methods described herein can be adapted and modified to provide systems and methods for other suitable applications and that other additions and modifications can be made without departing from the scope of the systems and methods described herein.

Unless otherwise specified, the illustrated embodiments can be understood as providing exemplary features of varying detail of certain embodiments, and therefore, unless otherwise specified, features, components, modules, and/or aspects of the illustrations can be otherwise combined, separated, interchanged, and/or rearranged without departing from the disclosed systems or methods. Additionally, the shapes and sizes of components are also exemplary and unless otherwise specified, can be altered without affecting the scope of the disclosed and exemplary systems or methods of the present disclosure.

Embodiments of the disclosed methods and systems will now be described in detail, by way of example only, and with reference to the accompanying drawings.

A note on the issue of network convergence and fair allocation of network bandwidth will now be presented in order that the workings of the disclosed methods and systems can be better understood.

Let .alpha..sub.i=.lamda.(1-.beta..sub.i).A-inverted.i and for some .lamda.>0. Then W.sub.ss.sup.T=.THETA./n[1, 1, . . . , 1]; that is, w.sub.1=w.sub.2= . . . =w.sub.n, where n is the number of network sources. For networks where the queuing delay is small relative to the propagation delay, the send rate is essentially proportional to the window size. In this case, it can be seen that .alpha..sub.i=.lamda.(1-.beta..sub.i).A-inverted.i.epsilon.{1, . . . , n} is a condition for a fair allocation of network bandwidth. For the standard TCP choices of .alpha..sub.i=1 and .beta..sub.i=0.5, we have .lamda.=2 and the condition for other AIMD flows to co-exist fairly with TCP is that they satisfy .alpha..sub.i=2(1-.beta..sub.i); see FIG. 2 for an example of the co-existence of two TCP sources with different increase and decrease parameters. (NS simulation, network parameters: 10 Mb bottleneck link, 100 ms delay, queue 40 packets). The network convergence, measured in number of congestion epochs, depends on the values of .beta..sub.i.

The protocol provided by this embodiment can be considered to be an adaptation of TCP to include a high-speed mode and a low-speed mode. In the high-speed mode, the increase parameter of source i is .alpha..sub.i.sup.H and in the low-speed mode .alpha..sub.i.sup.L. Upon congestion, the protocol backs off to .beta..sub.iw.sub.i(k)-.delta..sub.i, with .delta..sub.i=0 in low-speed mode and .delta..sub.i=.beta..sub.i(.alpha..sub.i.sup.H-.alpha..sub.i.sup- .L) in high-speed mode. This ensures that the combined initial window size

.times..beta..times..times..function..delta. ##EQU00004## following a congestion event is the same regardless of the source modes before congestion.

The mode switch is governed by

.alpha..alpha..times..beta..times..function..delta..ltoreq..DELTA..alpha..- times..beta..times..function..delta.>.DELTA. ##EQU00005## where cwnd.sub.i is the current congestion window size of the ith TCP source .beta..sub.iw.sub.i(k)-.delta..sub.i, is the size of the congestion window immediately after the last congestion event, .alpha..sub.i.sup.L is the increase parameter for the low-speed regime (unity for backward compatibility), .alpha..sub.i.sup.H is the increase parameter for the high-speed regime, .beta..sub.i is the decrease parameter as in conventional TCP, and .DELTA..sup.L is the threshold for switching from the low to high speed regimes. This strategy is referred to as H-TCP and a typical congestion epoch is illustrated in FIG. 2.

It should be noted in the scheme for high-speed networks a mode switch takes place in every congestion epoch. Moreover, the strategy (4) leads to a symmetric network; that is, one where the effective .alpha..sub.i and .beta..sub.i are the same for all H-TCP sources experiencing the same duration of congestion epoch.

The strategy is motivated by and realizes several design criteria as will now be described. Sources deploying H-TCP should behave as a normal TCP-source when operating on low-speed communication links. Such behavior is guaranteed by (4) since the protocol tests the low-speed or high-speed status of the network every congestion epoch. Normal AIMD sources competing for bandwidth should be guaranteed some (small) share of the available bandwidth. H-TCP sources competing against each other should receive a fair share of the bandwidth. This is guaranteed using the symmetry arguments presented above. H-TCP sources should be responsive. Again, this is guaranteed using symmetry and an appropriate value of .beta..sub.i combined with a value of .alpha..sub.i that ensures that the congestion epochs are of suitably short duration.

Embodiments of the disclosed methods and systems can be developed further in various ways.

First, the strategy can be developed to include several mode switches.

The threshold .DELTA..sup.L may be adjusted to reflect the absolute time in seconds since the last congestion event, or the number of RTTs since the last congestion event (RTT being the round-trip time, as described above).

During the high-speed mode, .alpha..sub.i may be adjusted in a continuous rather than switched manner. In particular, .alpha..sub.i may be varied as a polynomial function of RTT or elapsed time since last congestion event. For example, in accordance with:

.alpha..times..DELTA..DELTA..DELTA..DELTA. ##EQU00006## where .DELTA. is elapsed time in seconds or RTTs since the last congestion event. Note that when a continuous update law is used it is possible to set .delta..sub.i=0 in the high-speed mode.

Note that in all of the above cases, the convergence and fairness results of the first-described embodiment apply directly.

The performance of this high-speed algorithm is illustrated in FIG. 4 using an NS packet-level simulation. Two high-speed flows with the same increase and decrease parameters are shown. As expected, the stationary solution is fair. It can be seen that convergence is rapid, taking approximately four congestion epochs which is in agreement with the rise time analysis for .beta..sub.i=0.5.

An important consideration in the design of embodiments of the disclosed methods and systems is backward compatibility. That is, when deployed in low-speed networks, H-TCP sources should co-exist fairly with sources deploying standard TCP (.alpha.=1; .beta.=0.5). This requirement introduces the constraint that .alpha..sub.i.sup.L=1; .beta..sub.i=0.5. When the duration of the congestion epochs is less than .DELTA..sup.L, the effective increase parameter for high-speed sources is unity and the fixed point is fair when a mixture of standard and high-speed flows co-exist. When the duration of the congestion epochs exceeds .DELTA..sup.L, the network stationary point may be unfair. The degree of unfairness depends on the amounts by which the congestion epochs exceed .DELTA..sup.L, with a gradual degradation of network fairness as the congestion epoch increases. An example of this is illustrated in FIG. 4.

In this example, two H-TCP flows show rapid convergence to fairness. The second flow experiences a drop early in slow-start, focusing attention on the responsiveness of the congestion avoidance algorithm (NS simulation, network parameters: 500 Mb bottleneck link, 100 ms delay, queue 500 packets; TCP parameters: .alpha..sup.L=1; .alpha..sup.H=20; .beta..sub.l=0.5; .DELTA..sup.L=19 corresponding to a window size threshold of 38 packets).

As has been discussed, in standard TCP congestion control the AIMD parameters are set as follows: .alpha..sub.i=1 and .beta..sub.i=0:5. These choices are reasonable when the maximum queue size in the bottleneck buffer is equal to the delay-bandwidth product, and backing off by a half should allow the buffer to just empty. However, it is generally impractical to provision a network in this way when, for example, each flow sharing a common bottleneck link has a different round-trip time. Moreover, in high-speed networks, large high-speed buffers are problematic for technical and cost reasons. The solution is an adaptive backoff mechanism that exploits the following observation.

At congestion the network bottleneck is operating at link capacity and the total data throughput through the link is given by:

.function..times..function..times..function. ##EQU00007## where B is the link capacity, n is the number of network sources, q.sub.max is the bottleneck buffer size and where T.sub.di is a fixed delay. After backoff, the data throughput through the link is given by:

.function..times..beta..times..function..times..beta..times..function. ##EQU00008## under the assumption that the bottleneck buffer empties. Clearly, if the sources backoff too much, data throughput will suffer. A simple method to ensure maximum throughput is to equate both rates yielding the following (non-unique) choice of .beta..sub.i:

.beta. ##EQU00009##

Based on the above, observation embodiments of the disclosed methods and systems can provide an adaptive strategy under which the provisioning of each TCP flow is estimated on-line and the backoff factor set such that the throughput on a per-flow basis is matched before and after backoff. In ideal circumstances this should ensure that the buffer just empties following congestion and the link remains operating at capacity. The parameters required for such an adaptive mechanism can be obtained at each flow by measuring the maximum and minimum round-trip time. Since it is known that:

.times. ##EQU00010## then the multiplicative backoff factor .beta..sub.i: that ensures efficient use of the link is:

.beta. ##EQU00011##

Alternatively, this ratio can be expressed as:

.beta..function..beta..function..times..function..function..times..times. ##EQU00012## where B.sub.max.sup.i(k) is the throughput of flow i immediately before the kth congestion event, and B.sub.min.sup.i(k) is the throughput of flow i immediately after the kth congestion event. This avoids the need to measure RTT.sub.max,i directly. Note that it is, in many cases, important to maintain fairness: by setting

.beta. ##EQU00013## a corresponding adjustment of .alpha..sub.i is required. Both network fairness and compatibility with TCP are ensured by adjusting .alpha..sub.i according to .alpha..sub.i=2(1-.beta..sub.i).

In summary, the adaptive backoff mechanism operates at a source as follows: 1. Determine initial estimates of RTT.sub.min,i and RTT.sub.max,i by probing during the slow start phase; 2. Set the multiplicative backoff factor .beta..sub.i as the ratio of RTT.sub.min,i to RTT.sub.max,i; 3. Adjust the corresponding additive increase parameter .alpha..sub.i according to .alpha..sub.i=2(1-.beta..sub.i); and 4. Monitor continuously the relative values of RTT.sub.max,i and RTT.sub.min,i to check for dynamic changes in the link provisioning. Note that the above strategy may be implemented by measuring the RTT values directly, or indirectly as indicated in equation 8.

Embodiments of the disclosed methods and systems may also adapt to promote responsiveness.

The ratio

##EQU00014## may approach unity on under-provisioned links. However values of .beta..sub.i close to unity will give slow convergence after a disturbance (e.g. traffic joining or leaving the route associated with the link, see examples below). It follows that a further adaptive mechanism is desirable which continuously adjusts the trade-off between network responsiveness and efficient link utilization. This requires a network quantity that changes predictably during disturbances and that can be used to trigger an adaptive reset. One variable that does this is the minimum of the mean inter-packet time (IPT.sub.min,i), where the mean is taken over a round-trip time period. Another variable is the mean throughput. The IPT.sub.min,i is a measure of the link bandwidth allocated to a particular flow. This in turn is determined by the link service rate B (which is assumed to be constant), the number of flows and the distribution of bandwidth among the flows. Thus as new flows join, the IPT.sub.min,i for an existing flow can be expected to increase. On the other hand, the value Of IPT.sub.min,i will decrease when the traffic decreases. Thus, by monitoring IPT.sub.min,i for changes it is possible to detect points at which the flows need to be adjusted and reset .beta..sub.i to some suitable low value for a time.

In summary, an adaptive reset algorithm embodying the disclosed methods and systems can proceed as follows: (i) continually monitor the value of IPT.sub.min,i or the mean throughput; (ii) when the measured value of IPT.sub.min,i or the mean throughput moves outside of a threshold band, reset the value of .beta..sub.i to .beta..sub.reset,I; and, (iii) once IPT.sub.min,i or the mean throughput returns within the threshold band (e.g. after convergence to a new steady state, which might be calculated from .beta..sub.reset,i), re-enable the adaptive backoff algorithm

.beta. ##EQU00015##

The two adaptive mechanisms (backoff and reset) present in an embodiment of the disclosed methods and systems are shown schematically in FIG. 6.

Note that as previously discussed, this strategy can be implemented indirectly using B.sub.max.sup.i(k) as in Equation 8, above.

It will be clear to a person skilled in the technology of computer networking that protocols embodying the disclosed methods and systems can readily be implemented in a software component. For example, this can be done by modification of an existing implementation of the transmission control protocol (TCP). Networking components embodying the disclosed methods and systems may implement variation in either or both of the values of .alpha..sub.i and .beta..sub.i as described above. Such a component can form an addition to or a replacement of a transport layer networking component in an existing or in a new computer operating system.

*


Free Web Sudoku Puzzles.
Solve with your browser.
  7 9     4 8    
                 
8 5     7     9  
6   4   2 8      
5 8           6 3
      3 6   1   4
  9     5     7 8
                 
    5 7     9 2  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!