Congestion control in packet networks has been historically focused on avoiding network overload while providing full network utilization. The cornerstone result was the well-known TCP congestion and flow control algorithm proposed by Van Jacobson.
The goal of this project is to propose an algorithm that not only avoids network congestion while providing high utilization but also controls the network delay. Controlling the delay is of the utmost importance since the Internet is not only aimed at delay insensitive data traffic, but also at real-time communications (i.e. video chat, live streaming, virtual reality) and real-time control (i.e. autonomous driving, telerobotics, telesurgery).
Starting from the state of the art, the first goal will be to design the fundamental functions of the algorithm using a rigorous theoretical approach based on control theory so that algorithm properties such as stability and efficiency can be mathematically proven. The algorithm will be designed by taking into account both well-behaving wired connections and the new and more challenging 5G networks that have shown the need for a more responsive congestion control algorithm. In fact, recent literature has shown that the 5G link introduces fast on-off connectivity periods that, due to the high 5G bandwidth and the TCP cyclic probing phases, lead to high retransmission rates when using classic TCP (i.e., NewReno, Cubic, BBR).
The algorithm will be designed in accordance with the end-to-end principle. However, feedback and control functions implemented or envisaged in current and evolving networks will be also considered, namely: Software Defined Networks (SDN) functionalities, that can be used for traffic engineering, e.g., to steer aggregate traffic flows according to load balancing principles; local cross-layer optimization in 5G/6G context, with highly variable links and smart scheduling algorithms in the lower layers; in-band network telemetry functionalities.
The second goal will be to investigate the trade-off of implementing the end-to-end algorithms at the application layer over UDP or at the transport layer (TCP over IP) depending on target applications. Implementation at the application layer has the advantage that different algorithms can be designed and tuned for specific classes of applications having different requirements of delays and responsiveness.
The third goal will be to carry out an extensive experimental evaluation in two scenarios: (a) production networks, by leveraging an established collaboration with researchers at Google, aiming at contributing to the development of the WebRTC standard used for videoconferencing; (b) autonomous driving where mobile robots need to communicate with the infrastructure (f.i. a tracking system) or between them by exchanging data and audio/video channels.
Over the past two decades, the Internet has evolved from being a data communication platform for the transport of data to a platform for real-time communications such as audio/video conferencing, streaming video, WebTV, online games, and real-time control.
Real-time flows, unlike data streams, pose stringent requirements both in terms of bitrate and maximum tolerable delay. The standard TCP congestion control has been designed to deliver greedy data streams with the goal of avoiding congestion while providing full link utilization. In fact, the TCP congestion control continuously probes for network available bandwidth through periodic cycles during which network queues are first filled and then drained. This behavior is not suitable for delivering delay-sensitive traffic. For this reason, video-conferencing applications implement their own congestion control and (optionally) data integrity protection functions at the application layer over the UDP, which does not implement congestion control and retransmissions.
The overall goal of this project is to design a congestion control algorithm for real-time flows as a key enabling technology for the real-time Internet.
On the application side, a specific focus will be devoted to 5G radio access. In fact, the large bandwidth promised by new radio access technologies (e.g., mmWave) and the volatility of this bandwidth poses a hard challenge to end-to-end congestion control.
The schematic of the filter and of the congestion control algorithm is shown in the figure below.
The estimated one-way delay variation will be used to feed a classic additive increase multiplicative decrease congestion control algorithm. When the estimated queueing delay gradient will reach a threshold, the congestion control algorithm will enter the multiplicative decrease phase or an adaptive decrease phase using an end-to-end bandwidth estimate. This will be a major change with respect to the current implementation of the Google Congestion Control (GCC) where the congestion control is driven by the state machine at the receiver shown in the following figure.