Kamra, Abhinav; Saran, Huzur; Sen, Sandeep; Shorey, Rajeev
Adaptive flows; Non-adaptive flows; Congestion avoidance; Buffer management; Bandwidth; Fairness; Differentiated services; Time complexity; Space complexity; Active flows
Active queue management disciplines such as RED and its extensions have been widely studied as mechanisms for providing congestion avoidance, differentiated services and fairness between different traffic classes. With the emergence of new applications with diverse Quality-of-Service requirements over the Internet, the need for mechanisms that provide differentiated services has become increasingly important. We propose fair adaptive bandwidth allocation (FABA), a buffer management discipline that ensures a fair bandwidth allocation amongst competing flows even in the presence of non-adaptive traffic. FABA is a rate control based AQM discipline that provides explicit fairness and can be used to partition bandwidth in proportion to pre-assigned weights. FABA is well-suited for allocation of bandwidth to aggregate flows as required in the differentiated services framework. Since FABA can be extended to scenarios such as aggregate, hierarchical and weighted flows, it can serve as a useful method for enforcing service level agreements at the edge of the network. We study and compare FABA with other well known queue management disciplines and show that FABA ensures fair allocation of bandwidth across a much wider range of buffer sizes at a bottleneck router. Further, FABA is shown to give high values of fairness coefficient for diverse applications such as FTP, Telnet and HTTP. FABA uses randomization and has an O(1) average time complexity, and, is therefore scalable. The space complexity of the proposed algorithm is O(B) where B is the buffer size at the bottleneck router. We argue that though FABA maintains per active-flow state, through O(1) computation, reasonably scalable implementations can be deployed which is sufficient for network edges.