Not Applicable
Not Applicable
The present invention is related to the field of data networks such as Asynchronous Transfer Mode (ATM) networks, and more particularly to flow-control techniques used to control the transmission of data in data networks.
The term xe2x80x9cflow controlxe2x80x9d generally refers to intentional control exercised by network components over data traffic in the network to achieve desired operational results. For example, flow control can be used to minimize or prevent loss of data cells resulting from the overflowing of receive buffers used by various network components to temporarily store data traffic. Flow control can also be used to enforce an agreed-upon transmission capacity, or rate, available to a customer or to a network element carrying traffic from a number of customers.
One known flow-control protocol used in ATM networks is referred to as xe2x80x9cQuantum Flow Controlxe2x80x9d or QFC. The QFC protocol can be applied to network links and/or individual virtual connections to provide a desired quality of service (QOS). One significant feature of the QFC protocol is its ability to guarantee that no transmitted cells are lost, or discarded, due to insufficient buffering at the receive end of a link or connection. To achieve this result, the QFC protocol employs a messaging scheme and associated functionality within participating network elements based on the concept of transmission credits. Transmission credits are maintained in a xe2x80x9cpoolxe2x80x9d data structure at the transmitting end of a link or connection. A credit is consumed for each cell (or group of cells of a predetermined size) transmitted on the link or connection. The credits are replenished in response to explicit messages sent to the transmitter from the receiver. In general, the receiver extends additional credits as the received cells are forwarded out of the receiver""s cell buffer. The transmitter is permitted to transmit cells only as long as there are credits in the pool. If the pool of available credits becomes empty, the transmitter must wait until the next replenishment from the receiver before resuming the transmission of cells.
Another known flow-control protocol used in ATM networks is referred to as xe2x80x9cExplicit Ratexe2x80x9d or ER. The ER protocol utilizes messages to convey rate information explicitly between a transmitter and a receiver. A forward-type message is used by the transmitter to inform the receiver of the actual transmission rate or a currently allowed maximum transmission rate. The receiver uses this information to generate backward-type messages that inform the transmitter whether its actual or allowed maximum transmission rate should be changed, and if so to what value. In turn, the transmitter uses the information in the backward-type messages to control its transmission rate. On a typical bidirectional link, both forward and backward flow-control messages are flowing in each direction between the respective transmitter/receiver pairs.
The flow-control messages carrying rate information in the ER protocol are different from the messages used to manage transmission credits in the QFC protocol. Thus, network interface equipment that has been designed to operate according to the QFC protocol is not compatible with equipment designed to operate according to the ER protocol, and vice-versa. Further, a given link or connection can use only one or the other protocol, but not both. As a result, one distinguishing feature of some existing network equipment is whether it supports a credit-based flow-control protocol such as QFC, or a rate-based protocol such as ER. Equipment that supports one protocol generally cannot be used in networks utilizing the other protocol, and therefore the market for each type of network equipment is correspondingly limited.
The need for different pieces of equipment to support the combined market for QFC and ER-based products can result in various undesirable inefficiencies, such as the need to design, manufacture, operate and support two different sets of components that generally operate in a similar manner, except for the type of flow-control protocol supported by the component. It would be desirable to minimize these inefficiencies in order to provide network users with more cost-effective data communications services.
In accordance with the present invention, network interface equipment is disclosed that can be used with either a credit-based flow-control protocol such as QFC, or with a rate-based protocol such as ER. Interface logic within the equipment relies upon mechanisms used for the credit-based protocol to carry out the ER protocol, resulting in efficiencies of design, manufacturing and support that otherwise would be difficult or impossible to achieve.
The interface logic includes first cell processing logic capable of receiving cells from a network link and emitting cells for transmission on the link according to the credit-based flow-control protocol. The first cell processing logic includes a cell buffer memory in which received data cells are temporarily stored. The first cell processing logic is capable of generating and accepting flow-control buffer state messages at external interface points. The buffer state messages generated by the first cell processing logic convey information about the utilization of the cell buffer memory. The accepted messages can contain transmission credits used by the first cell processing logic to control its emission of cells in accordance with the credit-based flow-control protocol. The accepted messages can also contain information inducing the first cell processing logic to emit RM cells for transmission on the network link in accordance with the credit-based flow-control protocol.
The interface logic also contains second cell processing logic, arranged between the network link and the first cell processing logic, which has different operational characteristics depending on the type of flow-control protocol used on the network link. If the credit-based flow-control protocol is being used, the second cell processing logic operates primarily to transfer data cells and RM cells between the network link and the first cell processing logic, so that compliance with the credit-based flow-control protocol is achieved by the operation of the first cell processing logic alone.
When the rate-based flow control protocol is employed on the network link, the second cell processing logic again transfers the data cells between the network link and the first cell processing logic, but actively participates in the rate-based flow-control protocol on the network link, relying in part on credit-based functionality in the first cell processing logic.
In particular, the second cell processing logic extracts RM cells received from the network link and refrains from forwarding the extracted RM cells to the first cell processing logic. The extracted RM cells include forward RM (FRM) cells containing information about the rate at which cells are allowed to be transmitted on the network link by the remote transmitter, and backward RM (BRM) cells containing information about the rate at which cells should be transmitted on the network link to the remote receiver.
The second cell processing logic also exchanges buffer state messages with the first cell processing logic in order to obtain information about the utilization of the cell buffer memory, and to supply transmission credits to the first cell processing logic. The transmission credits are calculated based on predetermined rate parameters and the rate information in the extracted BRM cells. Also, when BRM and FRM cells are to be transmitted on the network link in accordance with the rate-based flow control protocol, the second cell processing logic generates buffer state messages that induce the first cell processing logic to generate and emit RM cells. Each of these is converted by the second cell processing logic to either an FRM cell or a BRM cell as required, and forwarded for transmission on the network link. Each BRM cell contains feedback rate information calculated from the rate information in an extracted FRM cell and from the buffer utilization information received from the first cell processing logic, and each FRM cell contains forward rate information calculated from the predetermined rate parameters and the rate information in the extracted BRM cells.
From the perspective of the first cell processing logic, the link appears to be operating according to the credit-based flow control protocol. Thus, the first cell processing logic can be coupled to a that supports the rate-based protocol or the credit-based protocol.
Other aspects, features, and advantages of the present invention are disclosed in the detailed description that follows.