« PreviousContinue »
United States Patent [w]
Ghanwani et al.
US006075769A [ii] Patent Number:  Date of Patent:
 METHOD AND APPARATUS FOR NETWORK FLOW CONTROL
 Inventors: Anoop Ghanwani; Brad Alan
Makrucki, both of Durham; Ken Van
Vu, Cary, all of N.C.
 Assignee: Cisco Systems, Inc., San Jose, Calif.
 Appl. No.: 08/978,831  Filed: Nov. 26, 1997
 Int. CI. 11(14.1 1/16
 U.S. CI 370/229; 370/235; 709/234
 Field of Search 370/229, 231,
370/235, 237, 230, 232; 709/234
 References Cited
U.S. PATENT DOCUMENTS
5,935,213 8/1999 Rananand et al 709/234
5,959,973 9/1999 Meurisse et al 370/232
5,991,266 11/1999 Zheng 370/229
A data transfer flow control system for a packet communications system includes a plurality of nodes interconnected by transmission links. The rate at which a sender node transmits information to a destination node in a network is modified in accordance with congestion information returned to the sender node from nodes along the path of the transmission or from the information receiver. The rate change for information being sent from the sender node is modified based upon the amount of elapsed time occurring since the last rate change of the same type. In first and second examples, the rate change is implemented in accordance with exponential and linear relationships, respectively, between the modified flow rate and the elapsed time since the last rate change.
16 Claims, 2 Drawing Sheets
METHOD AND APPARATUS FOR NETWORK
The present application is related to co-pending application entitled "ATM NETWORK AVAILABLE BIT RATE (ABR) FLOW CONTROL SYSTEM", U.S. Ser. No. 08/978,178, filed on Nov. 25, 1997, and "METHOD AND APPARATUS FOR ALLOCATION OF AVAILABLE BANDWIDTH" U.S. Ser. No. 08/977,220, Filed on Nov. 24, 1997 both assigned to the assignee of the present application and included herein by reference.
FIELD OF THE INVENTION
The present invention relates generally to data communications networks and more particularly to a flow control system for regulating information transfer rate within networks.
BACKGROUND OF THE INVENTION
Efficient informational flow control has been an important consideration in the research and design of high speed communications networks. Flow control processing varies a 2J sender's allowable rate of information transfer in response to feedback from the network within which the information is being transferred. In an exemplary embodiment, a traffic source sends a "probe" message into the network and receives a "reply" from the traffic destination end system. 3Q This information flow happens continuously (as long as data is available at the source) so the source receives information every "round-trip" time. If a network is not congested, the session's source of the information being transferred is allowed to increase the rate at which the information is sent 3J thereby taking greater advantage of available bandwidth. When more congestion is present, the rate is reduced. Typically the sending rate of a session during which information is being transferred will oscillate around a desired operating point. 40
A session with a short propagation delay receives and reacts to feedback from the network much faster than a session with a long propagation delay. This can cause an unfair allocation of available bandwidth, i.e. closer nodes will be granted bandwidth at a disproportionate rate relative 45 to nodes which are located a greater distance away. The sending rate for an information packet is decreased if one of the nodes along its path is congested. That "greater distance" information transfer is therefore at a disadvantage with respect to sessions traversing a single "hop", or relatively 50 fewer "hops" between source and destination nodes
Thus, in typical rate-based flow-controlled methodologies, connection "length" (for example the propagation delay across the network as measured by the endpoints) affects bandwidth allocation fairness. This is 55 especially true of rate control schemes in which rate changes occur at times controlled by the round-trip time experienced during network operation. For example, in systems where rate increases are accomplished according to the sender receiving a congestion message from the receiver based on 60 a control loop determined by the round trip time, connections which have smaller round-trip times have an advantage in that their rate increase epochs occur more frequently, and thus the closer nodes can obtain a larger allocation of the shared link bandwidth if they do not scale their increases 65 according to a globally-set baseline increase amount and their experienced round-trip or update times.
Therefore there is a need for an improved methodology for determining and assigning allocations of available bandwidth for data transfers within networking systems.
SUMMARY OF THE INVENTION
A data transfer flow control system for a packet communications system includes a plurality of nodes interconnected by transmission links. The rate at which a sender node transmits information to a destination node in a network is modified in accordance with congestion information returned to the sender node from nodes along the path of the transmission. The rate change for information being sent from the sender node is modified based upon the amount of elapsed time occurring since the last rate change of the same type. In first and second examples, the rate change is implemented in accordance with exponential and linear relationships, respectively, between the modified flow rate and the elapsed time since the last rate change.
BRIEF DESCRIPTION OF THE DRAWINGS
A better understanding of the present invention can be obtained when the following detailed description of a preferred embodiment is considered in conjunction with the following drawings, in which:
FIG. 1 is a schematic representation of a packet switching network within which the present invention may be used;
FIG. 2 is illustrative of the kinds of data processing and/or communication equipment which can exist at a node in a network; and
FIG. 3 is a high level view of components of a data processing/handling system which can be used to implement the present invention.
Mainframe 22 with a number of directly connected terminals, such as terminals 24a, 24b and 24c used to support input/output operations for a transaction processing application for example, such as credit verification. The node would also include a packet network access switch 26 connected both the remainder of the ATM network (not shown) and to the mainframe and possibly to a local area network 28 and one or more terminals, such as terminals 30a and 30fc, used in a high bandwidth application for example, such as a videoconferencing application. In a given installation, additional controllers or network elements, such as a communication controller or a router, might be part of the system. For example, a router or a communication controller (neither of which is shown) might be interposed between the mainframe 22 and the ATM access switch 26. Similarly, the terminals 24 might be connected indirectly to mainframe 22 through a display controller (not shown). A packet network access switch can perform a number of functions in a typical system. The access switch may serve to aggregate or concentrate data provided by the various connected components.
As shown in FIG. 3, a typical general purpose data processing control system 40 would include a central processing unit 42, control and data memory 44, input buffers 46 for temporarily storing packets/data received from other nodes in the network, link state registers 48 for storing information about the state of various links connected to the system and a packet I/O handler 50 for performing necessary input/out and switching functions. Different queues may be used for different classes of ATM traffic although each queue operates on a First-In First-Out basis.