Congestion Control for Web Real-Time Communication - Gaetano Carlucci; Luca De Cicco; Stefan Holmer; Saverio Mascolo (IEEE/ACM Transactions on Networking, 2017)
Applications requiring real-time communication (RTC) between Internet peers are ever increasing. RTC requires not only congestion control but also minimization of queuing delays to provide interactivity. It is known that the well-established transmission control protocol congestion control is not suitable for RTC due to its retransmissions and in-order delivery mechanisms, which induce significant latency. In this paper, we propose a novel congestion control algorithm for RTC, which is based on the main idea of estimating-using a Kalman Filter-the end-to-end one-way delay variation which is experienced by packets traveling from a sender to a destination. This estimate is compared with a dynamic threshold and drives the dynamics of a controller located at the receiver, which aims at maintaining queuing delays low, while a loss-based controller located at the sender acts when losses are detected. The proposed congestion control algorithm has been adopted by Google Chrome. Extensive experimental evaluations have shown that the algorithm contains queuing delays while providing intra and inter protocol fairness along with full link utilization.
Keywords: Delays; Algorithm design and analysis; Streaming media; WebRTC; Heuristic algorithms; Google; Congestion control; real-time communication; WebRTC; videoconferencing