Skip to main content
IEEE CTN
Written By:

Mohamed Faten Zhani, John Kaippallimalil, and Amanda Xiang

Published: 10 Aug 2023

network

CTN Issue: July 2023

A note from the editor:

Congestion control has been a fundamental function in computer networks as it allows controlling the throughput of the data injected into the network with the goal of reducing the impact of congestion on applications’ performance. However, congestion control has been a daunting challenge, especially in wireless environments, and this is due to their inherent nature of incurring unpredictable performance shifts. This becomes even more challenging with the emergence of eXtended Reality (XR) applications and their stringent performance requirements in terms of latency, throughput and tolerance to packet loss.

In this month's article, the authors provide us with an overview of the key challenges related to congestion control in computer networks in the particular context of wireless environments and XR applications. They also shed light on key research directions and potential solution avenues to design congestion control schemes that are better adapted to wireless environments and XR applications. It is clear that with the growing need for Ultra Reliable and Low Latency Communications, congestion control will undoubtedly continue to be a major challenge and research topic for the future! We hope you enjoy this enlightening article and the key research directions highlighted therein.

Miguel Dajer, CTN Editor-in-Chief

Rethinking Congestion Control for XR Applications and Wireless Environments - Challenges and Key Research Directions

Mohamed Faten Zhani

Mohamed Faten Zhani

Professor

University of Sousse, Tunisia

John Kaippallimalil

John Kaippallimalil

Principal Engineer Standards and Research

Futurewei Technologies

Amanda Xiang

Amanda Xiang

Principal Engineer Standards and Research

Futurewei Technologies

Introduction

Through the past three decades, a large body of work has been devoted to Congestion Control (CC) in computer networks. Indeed, congestion control has a major impact on the network performance in terms of throughput, packet loss and delays, which directly affects applications' performance and users’ quality of experience. Unsurprisingly, a large array of congestion control schemes has been developed in an attempt to smartly adjust data rates originating from the sources and to have better control on the performance metrics while taking into account various network conditions and considering different types of applications. IT giants and working groups (e.g., IETF RMCAT) had an increasing interest in congestion control and put forward several CC schemes (e.g., BBR [1], Copa [2], SCReAM [3], NADA [4], GCC [5], and LEDBAT [6]) adapted to different objectives and currently adopted to deliver widely popular applications from the likes of YouTube, Alphabet (Google), Meta (Facebook) and Microsoft. Despite these efforts, ensuring efficient congestion control is still a daunting challenge, especially with the increasing number of user devices and flows, the growing reliance on wireless and mobile technologies, and the stringent performance requirements of  applications that are currently gaining momentum like real-time interactive media transmission and eXtended Reality (XR) applications (e.g., virtual reality, augmented reality, holoportation, telepresence).

The goal of this article is two-fold: (1) identify the challenges of congestion control considering the characteristics of wireless environments (e.g., mobility, handover, non-congestive loss and delay) and XR applications (e.g., tight performance requirements), (2) we shed light on key research directions and potential solutions to design congestion control that is better adapted to wireless environments and XR applications.

Challenges of Congestion Control for XR Applications and Wireless Environments

In this Section, we discuss the challenges brought by the characteristics of wireless environments and XR/real-time applications to the congestion control problem. These challenges are summarized as follows:

  • Non-congestive loss and delay in wireless links: unlike wired networks, non-congestive loss and delay may occur frequently in wireless networks, i.e., packets may be lost even when the network is not congested. Such loss may occur for several reasons like host mobility, handovers and random bit errors due to interference, noise, shadowing effect, and fast fading in the wireless media [7]. Non‑congestive loss may mislead CC decisions and force it to reduce the sending rate when no real congestion is occurring. In addition, wireless links are known to incur an additional non‑congestive delay that could go from a few to tens of milliseconds and that is caused by the link and the physical layers [8]. This delay could affect the operation of several CC schemes that rely on the measurements of end-to-end delays and Round Trip Times (RTT) to detect congestion and make decisions.
  • Time-varying links: another peculiar characteristic of wireless links is that they are time-varying [2, 9, 10, 11], meaning that their capacity exhibits multiple shifts over time that are hard to predict. Indeed, it has been shown that there is no guarantee of link bitrate in wireless and cellular networks (e.g., LTE channels [9]) as they are easily affected by the user's motion and orientation. These shifts in capacity could be far too fast for end-to-end congestion control to evaluate the status of the network and react in a timely manner. As a result, traditional CC schemes are not efficient when it comes to wireless networks, suggesting the need for more reactive CC schemes that potentially consider information from the wireless media to better deal with time variability.
  • Mobility and handover impact: mobility and handover are fundamental concepts in wireless networks. However, they may result not only in packet loss but also in bufferbloat (i.e., excessive buffering) and burst of packets. For instance, during a handover, packets might be kept in the queue before being transmitted in a bursty manner once connected to the new cell. Existing CC schemes may over-react to the incurred bufferbloat as they could not distinguish between the delay caused by a normal congestion and the one caused by a handover [3]. As a result, the end-to-end throughput and delay could be severely impacted [12] and the impact may be exacerbated with the mobility and the ping-pong effect (i.e., when a user goes back and forth between two cells).
  • Variable bitrate of XR and real-time media traffic: existing studies have established that the output bitrate from media (video/audio) encoders has rarely a constant bitrate and that there could be also bitrate bursts and high levels of variations over time depending on the codec and the end-user behavior [9]. For instance, a static content in a video might give zero bitrate, during which the flow could lose its share of bandwidth in the network. When the encoder resumes generating data, sudden shifts or bursts in the bitrate could occur, affecting the size of the queues, the delays and the jitter [13]. The congestion control scheme should be aware of such behavior and be able to continuously ensure the required bandwidth while avoiding packet bursts,  bufferbloats and jitter.
  • Performance requirements of XR applications: XR interactive applications have tighter requirements in terms of packet loss, delay and bandwidth than traditional applications and are more sensitive to the variation of such metrics. For instance, in real-time video streaming, packet loss could result in distorted video images while large delay variations could lead to a choppy video [9]. For real-time and interactive XR applications, performance requirements are stringent (e.g., 1 to 10ms delay and high bitrates) and could be variable over time, even for the same flow, depending on the application’s context [15]. In this case, congestion could affect the application’s interactivity and introduce delays and packet loss, affecting the users’ quality of experience. As a result, congestion control needs to be aware of such requirements and should be performed in coordination with the application [5].

Key Research Directions

  • Wireless-aware congestion control: as the performance of wireless networks is affected by mobility and interference leading to an abrupt capacity change or variable and unpredictable loss and delays over time, an appealing research avenue would be to study the resilience of existing CC schemes and their responsiveness to sudden changes in network conditions [10, 14]. Indeed, the reaction of existing CC schemes are in the order of one or multiple RTTs [13], and hence, they are not fast enough to cope with the time variability incurred by wireless links and the XR applications. It is therefore of utmost importance to devise novel wireless-aware congestion control schemes that are able to adapt in real-time to time-variability and take into consideration non-congestive loss and delay. For instance, the CC scheme should ideally leverage information provided by the wireless routers (e.g., link status, channel quality, handovers) and by the XR application (e.g., requirements, codec rate).
  • XR and real-time Media transmission-aware Congestion Control: ideally, congestion control should  operate in coordination with the media encoder (e.g., video or audio). For instance, the CC scheme could request the codec to adjust its rate based on the status of the network and the available bandwidth. Similarly, the codec could provide input to the congestion control like the bandwidth and delay requirements, the priority of packets, and their content (e.g., video frames that they carry). As such, when multiple media streams are transmitted simultaneously, congestion control could consider their different requirements and priorities, the type of media carried by each flow and then could adjust the sending rate accordingly.  Recent efforts have also started looking at the possibility of incorporating some metadata into the packets with information about the transported media and the performance requirements to allow the congestion control scheme and the buffering scheme to better manage the available bandwidth [10].
  • Traffic Control: traffic shaping, packet scheduling, prioritization, classification, active queue management and policing are the key traffic control functions that are implemented in the network in order to achieve several objectives like reducing congestion, maximizing throughput,  and providing better control of delays and bufferbloats. These functions have strong interplay with the congestion control running at the end hosts as they both control packets and the overall network performance. In this context, a key challenge is to study the interaction between the CC scheme running on the endpoints and the traffic control schemes running on the core routers and understand how their respective decisions affect each other and impact the performance. The second challenge is to design traffic management schemes combining the aforementioned functionalities while considering the characteristics of the CC schemes implemented at the endpoints. Indeed, ideally, traffic control functions in the network and the congestion control scheme at the endpoint should be aware of each other and should coordinate to efficiently achieve the sought-after performance objectives.
  • Coordinated Congestion Control: in current deployments, transport flows running on the same host are handled by different instances of CC schemes that are operating independently from each other. However, ideally, flows that are experiencing the same congestion behavior and have common characteristics (e.g., same source/destination, same bottleneck link or forwarding path) should be designated as a “group of flows” and their congestion control should be coordinated in order to ensure a more efficient sharing of the available bandwidth.
Figure 1: Multi-flow-aware congestion control running on the source host
Figure 1: Multi-flow-aware congestion control running on the source host

To achieve coordinated congestion control, two solutions were explored in the literature. The first one is called “coupled congestion control” [16] where each flow is managed by a CC instance that operates independently from the others but could leverage information shared by them to further optimize the sending rate of its associated flow (see Figure 1 (a)). The second solution that was proposed in the literature is to get rid of the per-connection congestion control and use a “congestion manager” [17] that decides how bandwidth is shared among the competing flows (see Figure 1 (b)).

Despite these proposals and their potential benefits, more work should be done to further develop coordinated congestion control. For instance, one primary challenge that has not been adequately addressed yet is to devise techniques to identify the flows to be handled by the same CC scheme (i.e., flow grouping). Another challenge is to develop coordinated CC that adjusts the sending rate of multiple flows based on information provided by the application (e.g., requirements) and the wireless media (e.g., measured capacity). This would allow a faster response to time-variability and a more optimized sharing of bandwidth, especially when considering flows with different priorities. 

  • In-Network Congestion Control: unlike traditional CC schemes that are end-to-end and that are running on the source host, an interesting research avenue would be to explore congestion control performed or supported by the intermediate nodes (i.e., in-network). In this context, novel CC schemes could be designed to be deployed in‑network to ensure control congestion and adjust the sending rate. Such schemes could handle multiple flows that do not necessarily originate from the same source or directed to the same destination. They could have access to more information about the state of the network (e.g., current flows, available bandwidth, per-flow bandwidth share, path diversity), and could therefore react faster and more efficiently to congestion.
     
    An effort on in-network CC has been initiated in the FlexNGIA project [15, 19] where a virtual network function, called Transport Assistants (TA), is used to perform functions like congestion control, packet caching, loss detection and retransmission and even routing. One or multiple TAs could be instantiated in-network to carry out a segment-specific congestion control as each TA runs a CC scheme to handle congestion within a segment of the path (e.g., segment TA1 - TA2 in Figure 3 (c)). In this context, a promising research direction to pursue is to devise novel in-network congestion control and routing algorithms that could be deployed in the TAs.
Figure 2: Existing in-network congestion control deployments and proposals
Figure 2: Existing in-network congestion control deployments and proposals
  • Performance Evaluation of Serial/Nested Congestion Control: several existing technologies have led to different forms of congestion control that require further investigation. For instance, [18] proposes to use a Performance Enhanced Proxy (PEP) installed between the wireless link and the base station (see Figure 2 (a)). The PEP splits the TCP connection by acting like a TCP receiver towards the source and a TCP sender towards the destination. Of course, the source host is not aware of the proxy and a CC scheme is running for each of the TCP connection. In this case, we have a serial congestion control as multiple successive CC schemes are handling the traffic throughout the path to the destination. 
     
    MASQUE is another solution that relies on using a proxy placed at the access/core network. Unlike PEP, the source host is aware of the proxy as it initiates an HTTP3 over QUIC tunnel to the proxy through which it opens a direct end-to-end HTTP3 over QUIC connection with the destination (see Figure 2 (b)). This tunneling leads to a nested congestion control as congestion control is performed twice, i.e., at the tunnel level and also at the tunneled connection level. 
     
    While these technologies are gaining momentum, there is still no in-depth study of the real impact of the resulting serial and nested congestion control on the network and applications’ performance.
  • Fairness among Flows: one of the key goals of congestion control is to ensure fairness among flows, that is, to ensure that all flows have similar chance to use the network resources. Unfortunately, a large array of CC schemes is used concurrently in today’s Internet and it has been shown that some of them are more aggressive than the others and could hog the network resources [1]. The fairness issue becomes even more daunting when flows have different sources and destinations. 
     
    In this context, it is worth exploring in-network congestion control to achieve fairness as core nodes have access to more information about flows, bottlenecks and network resource usage. Hence, they are better placed to decide how the network resources could be shared fairly among flows.

Conclusion

Even though congestion control is a fundamental capability in IP networks that has been refined over decades, the combination of transient variations in wireless link capacity, the demands of low latency/high-throughput in upcoming XR applications and the need for operators to maximize network utilization bring several new challenges. It hence becomes inevitable to rethink congestion control to account for the characteristics of wireless environments and the tight performance requirements of XR applications.

References

  1. N. Cardwell, Y. Cheng, C. S. Gunn, S. H. Yeganeh, and V. Jacobson, “BBR: Congestion-Based Congestion Control,” ACM Queue, vol. 14, September-October, pp. 20 – 53, 2016.
  2. V. Arun and H. Balakrishnan, “Copa: Practical Delay-Based Congestion Control for the Internet,” in Applied Networking Research Workshop (ANRW), 2018.
  3. I. Johansson, “Self-clocked rate adaptation for conversational video in LTE,” in ACM SIGCOMM Workshop on Capacity Sharing Workshop (CSWS), (New York, NY, USA), 2014.
  4. X. Zhu, R. Pan, M. A. Ramalho, and S. M. de la Cruz, “Network-Assisted Dynamic Adaptation (NADA): A Unified Congestion Control Scheme for Real-Time Media.” RFC 8698, Feb. 2020.
  5. S. Holmer, H. Lundin, G. Carlucci, L. D. Cicco, and S. Mascolo, “A Google Congestion Control Algorithm for Real-Time Communication,”, IETF, July 2016.
  6. S. Shalunov, G. Hazel, J. Iyengar, and M. Kühlewind, “Low Extra Delay Background Transport (LEDBAT).” RFC 6817, Dec. 2012.
  7. M. U. Daigavhane and M. D. Chawhan, “Congestion control algorithm for TCP in wireless network,” in International Conference on Recent Advances in Information Technology (RAIT), 2018.
  8. V. Arun, M. Alizadeh, and H. Balakrishnan, “Starvation in end-to-end congestion control,” in ACM SIGCOMM, 2022.
  9. I. Johansson and Z. Sarker, “Self-Clocked Rate Adaptation for Multimedia.” RFC 8298, Dec. 2017.
  10. J. Kaippallimalil and S. Gundavelli, “Media Header Extensions for Wireless Networks,” Internet-Draft draft-kaippallimalil-tsvwg-media-hdr-wireless-00, IETF, Oct. 2022.
  11. P. Goyal, M. Alizadeh, and T. E. Anderson, “Optimal Congestion Control for Time-varying Wireless Links,” in arXiv, doi:10.48550/ARXIV.2202.04321, 2022.
  12. S. Xu, A. Nikravesh, and Z. M. Mao, “Leveraging context-triggered measurements to characterize LTE handover performance,” in Passive and Active Measurement (M. Choffnes, Davidand Barcellos, ed.), Springer International Publishing, 2019.
  13. R. Jesup and Z. Sarker, “Congestion Control Requirements for Interactive Real-Time Media.” RFC 8836, Jan. 2021.
  14. S. H. Choi and M. Handley, “Fairer TCP-Friendly Congestion Control Protocol for Multimedia Streaming Applications,” in ACM CoNEXT Conference, 2007.
  15. M. F. Zhani and H. Elbakoury, “FlexNGIA: A Flexible Internet Architecture for the NextGeneration Tactile Internet,” Journal of Network and Systems Management, vol. 28, p. 751–795, oct 2020.
  16. S. Islam, M. Welzl, and S. Gjessing, “Coupled Congestion Control for RTP Media.” RFC 8699, Jan. 2020.
  17. H. Balakrishnan and S. Seshan, “The Congestion Manager.” RFC 3124, June 2001.
  18. J. Griner, J. Border, M. Kojo, Z. D. Shelby, and G. Montenegro, “Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations.” RFC 3135, June 2001.
  19. M. F. Zhani, R. Boughamoura, H. Yahyaoui, J. Kaippallimalil, and A. Kiani, “Oblivious TCP Support - A Virtual Network Function to Speed Up TCP in Wireless Environments,” in IFIP Wireless and Mobile Networking Conference (WMNC), pp. 75–79, 2022.

Statements and opinions given in a work published by the IEEE or the IEEE Communications Society are the expressions of the author(s). Responsibility for the content of published articles rests upon the authors(s), not IEEE nor the IEEE Communications Society.

Sign In to Comment