IEEE COMMUNICATIONS LETTERS, VOL. 4, NO. 6, JUNE 2000 205 A FIFO-Based Buffer Management Approach for the ATM GFR Services Chia-Tai Chan, Shuo-ChengHu, Pi-Chung Wang, and Yaw-Chung Chen, Member, IEEE Abstract—We investigate the TCP packet transmission over the ATM Guaranteed Frame Rate (GFR) service using a selective packet-discard with buffer vacancy tracking strategy and a packet-based push-out buffering scheme. Our approach is based on FIFO queueing discipline, it features fair sharing of available resources as well as feasibility in hardware implementation. Index Terms—Packet-based push-out buffering scheme, selec- tive packet-discard. I. INTRODUCTION G UARANTEED Frame Rate (GFR) has recently been stan- dardized by the ATM Forum. It is expected to be useful for TCP/IP based application. The GFR is intended to provide a minimum rate guarantee to VC’s at the frame level. In addition, a connection sending in excess of the minimum rate should re- ceive a fair share of any unused network capacity. The design of a simple and efficient buffer management approach for ac- commodating GFR service requirements is an important issue toward the successful development of GFR. Fair queueing disciplines [1] such as weighted fair queueing (WFQ), virtual clock, packet-by-packet generalized processor sharing (PGPS), and self-clocked fair queueing (SCFQ) have high processing overhead for tracking the progresses of tasks. It has been suggested in [8] that a simple rate-guaranteeing discipline (i.e., Weighted Round Robin) with per-VC queueing is indeed necessary to ensure GFR service. However, the per-VC queueing (i.e., each virtual connection uses separate queue) greatly complicates the switching system design. The effective throughput of TCP over ATM networks may be unsatisfactory because packet fragmentation may result in wasted bandwidth for transmitting those cells of corrupted packets, in which at least one cell is dropped, and the packet has to be retransmitted [2]–[4]. The Fair Random Early Drop (FRED) [6], a modified version of RED, uses per-active-flow accounting to provide better protection than RED. However, FRED does not address the packet fragmentation problem. It has been demonstrated that the packet-discard strategies, i.e., early packet discard (EPD) and partial packet discard (PPD), prevent packet fragmentation problem. In this work, we propose a feasible FIFO buffering scheme that provides Manuscript received July 13, 1999. The associate editor coordinating the re- view of this letter and approving it for publication was Prof. N. B. Shroff. C.-T. Chan is with the Telecommunication Laboratories, Chunghwa Telecom Company, Ltd, Taipei 106, Taiwan, R.O.C. (e-mail: ctchan@ms.chttl.com.tw). S.-C. Hu, P.-C. Wang, and Y.-C. Chen are with the Department of Computer Science and Information Engineering, National Chiao Tung University, Hsinchu, Taiwan, R.O.C. (e-mail: {schu@csie.nctu.edu.tw; pcwang@csie.nctu.edu.tw; ycchen@csie.nctu.edu.tw). Publisher Item Identifier S 1089-7798(00)05693-3. the requirements of GFR service. The merit of the proposed approach is the efficient and fair sharing of network resources with a feasible implementation method for ATM GFR services. The organization of this paper is as follows. In Section II, we present the functional approach of the proposed scheme. The implementation architecture is discussed in Section III. Section IV concludes the work. II. PACKET-DISCARD PUSH-OUT CONTROL APPROACH Our approach consists of a selective packet-discard with buffer-vacancy tracking strategy and a packet-based push-out buffering scheme (abbreviated as PDPO here after). The latter ensures the fair sharing of the network resources and prevents misbehaved connections from occupying excessive buffer space, while the former avoids the packet fragmentation problem and improves the TCP throughput [5]. A. Selective Packet-Discard with Buffer-Vacancy Tracking Strategy Assume that an ATM switch has an output FIFO queue of size (in cell units), and the maximum packet size is cells. The switch maintains a variable to track the buffer vacancy, and a variable to count the incoming packet length for the virtual connection . Initially, the switch sets to and ( ) to zero, where is the number of VC’s. Whenever a cell is transmitted, will be incremented by one. If , the first cell of an arriving packet will be admitted and will be set to . Otherwise, the cell and all sub- sequent cells of the same packet will be dropped. When the first cell of a packet from is admitted, the switch starts to count up until the last cell is received, then is updated to . The switch can identify the last cell of an in- coming packet by checking the ATM-layer user-to-user (AUU) indication bit. By tracking the buffer vacancy, the buffer utiliza- tion can be improved and the packet fragmentation problem can be avoided. B. Packet-Based Push-out Buffering Scheme A flow can acquire larger service rate by sending more traffic to keep higher occupancy of the FIFO buffer. To guarantee fair bandwidth sharing, it should either admit or discard the arriving packet according to the fairness requirement. A switch can use per-VC accounting (i.e., keep a separate record for each VC) to realize the dynamic buffer sharing. Let be the bandwidth available in an output port, and be the requested service rate of , where . Using FIFO queueing, the service rate 1089–7798/00$10.00 © 2000 IEEE