Performance Analysis of Google Congestion Control Algorithm for WebRTC

More Info
expand_more

Abstract

Web Real-Time communication (WebRTC) is a technology that enables web browsers to establish real-time communication services without the need of specific software or plug-ins. This technology is gaining popularity and is already supported by popular browsers such as Google Chrome, Firefox and Safari. The quality of real-time communication services depends highly on latency. For this reason, real-time flows have different requirements than conventional TCP flows which focus mainly on the transfer of bulk traffic. The IETF created the working group RMCAT (RTP Media Congestion Avoidance Techniques) to define requirements for real-time congestion control algorithms. One of the proposed algorithms is Google Congestion Control (GCC). This is the only real-time congestion control algorithm implemented in commercial browsers such as Google Chrome. Unfortunately, the performance of GCC in wireless networks has not been extensively evaluated. It is not clear yet what limitations a WebRTC communication might encounter in this type of networks, especially when it is competing with other type of flows. This project addressed this issue by evaluating GCC in different technologies, namely in wired, WiFi and 4G networks. Controlled testbeds were used for the evaluation. The experiments followed the evaluation guidelines for real-time congestion control algorithms defined by the IETF. GCC proved to be a compliant RMCAT congestion control algorithm in networks with no contention. However, the results obtained in wireless access technologies revealed that GCC collapses when TCP flows are present in the channel. This issue is not attributed to GCC itself but to channel access methods of this type of networks. It is necessary to implement procedures to assign a different QoS to WebRTC flows in order to overcome this problem.