An adaptive multirate congestion control protocol for multicast communications q M. Rodrı ´guez Pe ´rez * , S. Herrerı ´a Alonso, M. Ferna ´ndez Veiga, C. Lo ´ pez Garcı ´a Department of Telematics Engineering, E.T.S.E. Telecomunicacio ´ n, Campus Universitario Lagoas-Marcosende s/n, 36310 Vigo, Spain Received 25 May 2005; received in revised form 21 February 2006; accepted 10 March 2006 Available online 5 April 2006 Abstract The field of multicast congestion control has been dominated by two kind of approaches: single-rate and multirate transmission; but neither of these alternatives is completely satisfactory, as they are either too much complex or do not adapt properly to heterogeneous environments. More recently there have arisen some new proposals advocating the use of hybrid models that retain the single-layer simplicity while aiming to have the same scalability as the multi-layer schemes. However, no current solution takes into account the real bandwidth requirements of the receivers. In this article, we propose a new hybrid multicast congestion control algorithm that accounts for the expected rate of each receiver to allocate the transmission rates of each layer. Given a number of available layers, our protocol is able to compute the transmission rates that maximize the network utilization of all receivers. We also show experimentally that our framework for congestion control is able to compete fairly with TCP, thus making it a good candidate to be deployed in the current Internet. Ó 2006 Elsevier B.V. All rights reserved. Keywords: Congestion control; Multicast; Multirate 1. Introduction Services based on the distribution of multimedia streams to large groups of receivers (e.g., video broadcasting or Video on Demand (VoD)) have been underdeveloped in the past due to the lack of network bandwidth and the lim- ited capabilities of the multicast technology. Today, in the modern Internet, the popularization of residential access and the continuous growth of bandwidth in the core are enabling an effective demand for this type of services. How- ever, multicast traffic can cause more congestion-related damage than unicast traffic because a flow can traverse a large tree to reach all receivers, because of the broadband nature of many of these applications, and because it might have complex interactions with other traffic. Moreover, multimedia streams receive better quality with a smooth rate adaptation, which TCP-like and other unicast algo- rithms are unable to provide. Thus, there is a need to devise congestion control mechanisms for multicast networks bet- ter adapted to the bandwidth requirements of real-time traffic, easy to deploy and compatible with TCP unicast flows. Multicast support can be provided at either the network or the application layer, and there has been in the past wide- spread debate in the networking community about whether multicast communication should be assisted by the routers, and be considered primarily a specific routing problem, or solved solely by the end systems, in conformance to the suc- cessful end-to-end principle of the Internet. We do not intend to foster the controversy again, but rather argue that, regard- less of what layer in the protocol stack provides the multicast service, some sort of end-to-end congestion control is essen- tial to achieve low delay, high utilization, fairness among users and to control stability. 0140-3664/$ - see front matter Ó 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2006.03.008 q This work has been partially supported by the Grants TIC2003-09042- C03-03, funded by the Spanish Plan for R+D, and PGIDT04P- XIC32203PN, funded by Xunta de Galicia. * Corresponding author. Tel.: +34 986813459; fax: +34 986812116. E-mail address: Miguel.Rodriguez@det.uvigo.es (M. Rodrı ´guez Pe ´rez). www.elsevier.com/locate/comcom Computer Communications 29 (2006) 2247–2260