• No results found

End-to-end congestion control approaches for high throughput and low delay in 4G/5G cellular networks

N/A
N/A
Protected

Academic year: 2022

Share "End-to-end congestion control approaches for high throughput and low delay in 4G/5G cellular networks"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

http://www.diva-portal.org

This is the published version of a paper published in Computer Networks.

Citation for the original published paper (version of record):

Haile, H K., Grinnemo, K-J., Ferlin, S., Hurtig, P., Brunström, A. (2021)

End-to-end congestion control approaches for high throughput and low delay in 4G/5G cellular networks

Computer Networks, 186: 1-22

https://doi.org/10.1016/j.comnet.2020.107692

Access to the published version may require subscription.

N.B. When citing this work, cite the original published paper.

Under a Creative Commons license

Permanent link to this version:

http://urn.kb.se/resolve?urn=urn:nbn:se:kau:diva-82281

(2)

Computer Networks 186 (2021) 107692

Available online 21 November 2020

1389-1286/© 2020 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).

Contents lists available atScienceDirect

Computer Networks

journal homepage:www.elsevier.com/locate/comnet

Survey paper

End-to-end congestion control approaches for high throughput and low delay in 4G/5G cellular networks

Habtegebreil Haile

a,

, Karl-Johan Grinnemo

a

, Simone Ferlin

b

, Per Hurtig

a

, Anna Brunstrom

a

aDepartment of Mathematics and Computer Science, Karlstad University, Sweden

bEricsson, Stockholm, Sweden

A R T I C L E I N F O

Keywords:

TCP QUIC Wireless Mobile 4G 5G

Congestion control Survey

A B S T R A C T

Cellular networks have evolved to support high peak bitrates with low loss rates as observed by the higher layers. However, applications and services running over cellular networks are now facing other difficult congestion-related challenges, most notably a highly variable link capacity and bufferbloat. To overcome these issues and improve performance of network traffic in 4G/5G cellular networks, a number of in-network and end-to-end solutions have been proposed. Fairness between interacting congestion control algorithms (CCAs) has played an important role in the type of CCAs considered for research and deployment. The placement of content closer to the user and the allocation of per-user queues in cellular networks has increased the likelihood of a cellular access bottleneck and reduced the extent of flow interaction between multiple users.

This has resulted in renewed interest in end-to-end CCAs for cellular networks by opening up room for research and exploration. In this work, we present end-to-end CCAs that target a high throughput and a low latency over highly variable network links, and classify them according to the way they address the congestion control. The work also discusses the deployability of the algorithms. In addition, we provide insights into possible future research directions, such as coping with a higher degree of variability, interaction of CCAs in a shared bottleneck, and avenues for synergized research, such as CCAs assisted by software defined networking and network function virtualization. We hope that this work will serve as a starting point for systematically navigating through the expanding number of cellular CCAs.

1. Introduction

Data delivery through cellular networks has seen a meteoric rise in the past decade and is expected to continue on the same trend [1].

This is primarily attributed to the ubiquitous use of smartphones and the increasing number of services tailored for them. In the meantime, cellular networks have been continuously evolving to support emerging services. For example, 2G networks introduced the first digital infras- tructure for data services like SMS, while 3G made mobile Internet usage and video calls possible. The deployment of 4G technology has paved the way for gaming and video conferencing services over cellular networks.

At the moment, 5G networks are being rolled out. 5G cellular networks are intended to enable three types of use cases, which are enhanced mobile broadband (eMBB), ultra reliable and low latency communications (URLLC), and massive machine-type communications (mMTC). Each of the use cases aim to achieve performance require- ments that can enable improved user experience of current services

∗ Corresponding author.

E-mail addresses: habtegebreil.haile@kau.se(H. Haile),karl-johan.grinnemo@kau.se(K.-J. Grinnemo),simone.ferlin@ericsson.com(S. Ferlin), per.hurtig@kau.se(P. Hurtig),anna.brunstrom@kau.se(A. Brunstrom).

URL: https://ferlin.io(S. Ferlin).

and facilitate the deployment of new services: eMBB intends to increase the data rates achieved by 4G MBB for delivering existing services with better quality or enabling new high-data-rate applications. Services that could benefit from eMBB are 3D and ultra high definition (UHD) videos, cloud gaming, and augmented reality, among others. For instance, Nvidia specifies that 25 Mbps data rates are required for Full HD cloud gaming experience [2]. It would be hard to connect to other MBB services without undermining the performance of such cloud gaming applications in 4G networks with a global average speed that is somewhere around 25 Mbps [3]. However, the 200 Mbps average speed of 5G is more than capable of supporting multiple high quality broadband services [4]. The 1 ms latency and 99.999% requirement of URLLC [5] are expected to be the driving forces behind self-driving cars and industrial automation. On the other hand, sensor networks and smart city and home applications are the big beneficiaries from the increased amount of connectivity offered by 5G networks to address

https://doi.org/10.1016/j.comnet.2020.107692

Received 3 August 2020; Received in revised form 12 October 2020; Accepted 16 November 2020

(3)

Fig. 1. 5G use cases and spectrum of applications in relation to use case requirements.

the mMTC use case.Fig. 1shows the three 5G use cases, and a range of services placed in such a way to show the use case requirements that an application will be relying to provide the expected service quality.

As the bandwidth and capacity of cellular networks increased, multiple network solutions at lower layers have helped mitigate some transport layer performance issues exhibited in the early days of the Internet. Some of these solutions, which were introduced in successive cellular network generations, entail using link-layer mechanisms for improving the reliability of radio links. At the same time, they resulted in longer packet delays and higher rate variability that is difficult to track by higher layers.

However, cellular network design is only partly to blame for the low utilization and throughput, and the high queueing delay caused by issues like rate variability [6]. The transport layer has not evolved rapidly enough to integrate mechanisms that address challenges im- posed by cellular networks. For example, common congestion control algorithms (CCAs) still rely on packet loss as a congestion signal. As a counter-measure, buffer overprovisioning that aims at better utilizing the variable capacity, has resulted in excess buffering of packets in routers and switches, known as bufferbloat [7], significantly increasing delay. Therefore, new CCAs are being proposed to find a solution that better utilizes the wireless channel without creating large queueing delays. The majority of these new algorithms avoid using loss as conges- tion signal. Instead, they can be delay or rate triggered. They can also be designed based on end-to-end connectivity, or split connection, or contain features such as parameter tunability [8,9] and pacing [10,11].

Despite the diversity in the design of cellular CCAs mentioned above, most new cellular CCAs are developed based on common as- sumptions about cellular bottlenecks and cross-traffic. The two main assumptions are shown in Fig. 2and discussed below.

• Content moving closer to the cellular access link: Internet content and resources are increasingly being located in datacenters closer to the end users [12]. Content delivery networks (CDN) and edge computing are examples of such trends. The main motivation is to reduce the cost of bandwidth for repeatedly transferring the same content across expensive long-haul links (WANs) and to minimize the delay of delivering the content. In addition, new services that are extremely sensitive to packet delays are bringing data processing and storage centers closer and closer to the user. A trend that together with a well-provisioned backhaul, could make the radio link become the bottleneck for most communication involving cellular users.

Fig. 2. Cellular access networks and common access link and data delivery characteristics.

• Reduced cross-traffic effect due to per-user queues: Bottlenecks in cellular networks are most likely to occur at the link directly connected to the end nodes, seeFig. 2. The end nodes are then likely to be either the source or the sink of the traffic that is causing congestion at the bottleneck link. In such types of cellular network bottlenecks, the rate at which the network is able to receive or deliver data is mainly determined by the quality of the access channel and the network load. To facilitate efficient use of wireless resources when channel quality varies, flows to different users are placed in separate queues assigned for each user. Thus, flows between different users will have less interac- tion, and the main cause of queueing delay for a flow is likely to be self-inflicted [13].

(4)

The above assumptions open up the design space for CCAs targeting cellular networks, but relying too heavily on such assumptions may also limit deployability in scenarios where these assumptions do not hold.

In this work, we survey recent CCAs that aim to overcome some of the major challenges to congestion control in current and future cellular networks. We provide a taxonomy based on the approaches used in the design of the algorithms. Additional features that distinguish each algorithm are identified, and the role that these features play in facili- tating the deployability of the algorithms is discussed. In addition, we also discuss future considerations that could assist in the development and deployment of algorithms with improved performance. The CCAs surveyed in this work are most likely to be used by existing 4G MBB services, such as streaming media and interactive video, and new applications that aim to take advantage of the enhanced MBB and low latency offered by 5G networks, i.e., located in the AGF region of Fig. 1. We expect network slicing to provide isolation between the use cases with extremely different requirements. However, heterogeneous services with different use case requirements might end up converging in a single network [14,15]. In such cases, some of the CCAs given here have the ability to prioritize latency over throughput to allow the requirements of latency-sensitive heterogeneous services to be met without the intervention of the network. We hope that this survey will serve as a starting point to explore the expanding set of cellular CCAs and help in the understanding of the challenges associated with end-to-end congestion control in cellular networks. To the best of our knowledge, this is the first paper to compile, classify, and review CCAs with particular focus on 4G/5G cellular networks.

The rest of the paper is organized as follows. Section 2 reviews previous surveys that focus on congestion control in and positions this survey in relation to these surveys. Section3discusses some of the 4G and 5G technologies and use case scenarios that can present challenges in designing end-to-end congestion control for cellular networks. Then, Section4gives a brief description of widely used congestion control mechanisms, some issues in the use of such congestion controls in cellular networks. It also reviews some in-network attempts to mitigate the issues of conventional CCAs. The challenges that new CCAs will have to overcome in current and future cellular networks is discussed in Section 5. Next, in Section 6, we present our end-to-end cellular CCA taxonomy, and we exemplify the different categories with specific CCAs. Factors that affect the deployment of the proposed CCAs and future considerations and research directions related to congestion control in cellular networks are discussed in Sections 7 and8. We finally summarize and conclude the paper in Section9.

2. Related work and scope of the survey

Numerous congestion control mechanisms have been proposed since the onset of the Internet. Consequently, surveys that present these algorithms have been valuable tools for discovering less-known con- gestion control solutions and/or detecting patterns in the approaches used by the algorithms. In this section, we discuss related surveys to show what sets our survey apart from previous ones. Some of these previous survey works focus on the whole spectrum of congestion control algorithms by considering all types of problems experienced on the Internet or all types of networks comprising the Internet [16–19].

Afanasyev et al. [16] review end-to-end CCAs by providing a classifica- tion method based on the problem that the algorithms are supposed to solve. Random packet loss is the main problem associated with wireless networks in [16]. Another work that surveys CCAs for general Internet deployment is [19], which targets algorithms that are designed to not affect standard Transmission Control Protocol (TCP) congestion control mechanisms when sharing a bottleneck. Ros et al. [19] employ a multi-level classification scheme but do not discuss any type of wireless network and CCAs designed to overcome congestion control issues in any wireless network. Other works have focused on algorithms that address a specific type of problem, e.g. TCP fairness [20]. More

recent general congestion control and transport protocol reviews, such as [17,18], contain an extensive list of CCAs. But they tend to either contain a generalized classification scheme [18] or tend to focus on a subset of CCAs that integrate delay in their congestion control decision process [17].

The above works review CCAs without specifically focusing on CCAs designed for specific networks. However, since the loss-based CCAs commonly used by Transmission Control Protocol (TCP) are not well suited for wireless networks, a number of solutions have been proposed to limit the performance degradation experienced by TCP flows in wireless networks. These solutions have been gathered and presented in multiple papers [21–27]. An early survey and taxonomy of the approaches used for congestion control over wireless networks was presented by Balakrishnan et al. [21]. The mechanisms covered in this survey are mainly concerned with random losses over wireless links, which was the main problem associated with TCP. Chen et al. [22] list channel errors, mobility, and asymmetry as the main issues that CCAs have to deal with to avoid reduced performance of TCP. In addition to the three aforementioned categories, Chen et al. includes a category for one-hop wireless networks. The new category, which is referred as proxy-based, contains mechanisms where the network is involved in the flow control without breaking the end-to-end connection. Leung et al. [23] present a different classification scheme that is based on the approaches employed by the end-to-end solutions for TCP in wireless networks. Francis et al. [28] adopt a two-layered classification for TCP modifications applied to wireless networks, where the upper layer classifies algorithms based on where changes to the existing TCP mech- anism is proposed. They further subdivide each upper-layer class based on the approach the algorithms use to solve TCP underutilization due to non-congestion packet losses. One type of wireless network that has garnered lots of attention is mobile ad-hoc networks (MANETs), where in works such as [25,26] the algorithms are organized based on the type of MANET-specific problems they address. Examples of MANET- specific problems that do not typically occur in cellular networks are route failures and shared medium contention issues.

Table 1 summarizes some of the previous surveys conducted on congestion control solutions. For each survey paper, the table gives its year of publication, the criteria for including a CCA in the survey, the primary classification scheme employed, and the network issues that are considered for their effect on CCA performance. Most of these papers are focused on TCP in general and ignore transport protocol independent end-to-end CCAs. They are also less focused on new end- to-end CCAs with more attention given to solutions that extend the continued use of standard loss-based CCAs by providing in-network fixes. In addition, these survey papers raise issues that are of less relevance in current cellular networks. For instance, a central theme in most of the protocols surveyed in the above literature is targeting packet loss as the culprit for the reduced performance of TCP in wireless networks. This is understandable since bit-error loss has been prevalent in most types of wireless networks. Historically, wireless loss was caused by unreliable communication channels and not congestion in the network. Since the most commonly used congestion control mechanisms at the moment rely on loss to detect congestion, without proper means to distinguish between the cause, loss due to channel corruption can force an unnecessary decrease in throughput. However, current cellular networks have evolved in such a way that packet losses over radio links are less likely to be experienced due to link-layer solutions that hide packet loss from upper layers.

Furthermore, some of the CCAs listed in these surveys do not address the issues and challenges of congestion control in current cel- lular networks to satisfy the requirements of modern applications and services. High bandwidth variability and long queueing delay resulting from accumulation of packets in network buffers provided to facilitate high link utilization have been a growing concern, in particular for ser- vices that have latency requirements. To deal with this issue, a number of congestion control algorithms have been proposed to provide high

(5)

Table 1

Previous surveys on congestion control solutions.

Survey Year Type of surveyed CCAs Primary basis of classification Considered network issues

Widmer et al. [20] 2001 TCP friendly CCAs Role of rate Random loss

Afanasyev et al.[16] 2010 End-to-end CCAs Targeted issues Random loss

Ros et al. [19] 2013 Less-than-best-effort CCAs Role of delay

Polese et al. [18] 2019 ‘‘Recent’’ CCAs Algorithm Design Philosophy

Al-Saadi et al. [17] 2019 Delay-based and Hybrid CCAs Role of delay

Balakrishnan et al. [21] 1997 General wireless CCAs Random loss

Chen et al. [22] 2005 General wireless CCAs Random loss

Leung et al. [23] 2006 General wireless CCAs Approach used Random loss, Burst loss Packet reordering

Sardar et al. [24] 2006 General Wireless CCAs Random loss

Lochert et al. [25] 2007 Wireless ad hoc CCAs Targeted ad hoc network specific issues Ad hoc specific Mast [26] 2011 Wireless ad hoc CCAs Targeted ad hoc network specific issues Ad hoc specific

Elaarag et al. [27] 2002 Cellular CCAs Random loss

This work 2020 End-to-end cellular CCAs Approach used Highly variable capacity and buffer delay

throughput with better latency performance compared to loss-based algorithms mainly targeting throughput. This survey distinguishes itself from other surveys conducted on CCAs for wireless or cellular networks by focusing on the recent body of work that is targeted at maintaining low packet delay while achieving high throughput in a bottleneck with highly variable data rate.

3. The potential impact of 4G/5G technologies and use cases on congestion control

This section discusses some of the technologies and use case scenar- ios that can affect the performance of end-to-end congestion control mechanisms.

3.1. Link adaptation

More efficient modulation and coding schemes are one of the main mechanisms that have enabled the massive increase in data rate in current 4G cellular networks [29] . An evolved Node B (eNodeB) selects the modulation and coding scheme to be used in the communication with a user device based on the signal quality reported by the device in question. If the reported channel quality is poor, the eNodeB will select a more robust modulation and coding scheme with a lower bitrate.

On the other hand, a strong signal quality results in the selection of a modulation scheme with a higher bitrate. Since channel quality can vary significantly within a very short period of time (subsecond level variations), the data rate between the eNodeB and a mobile user may vary greatly.

3.2. mmWave

The 5G mmWave technology refers to the use of the frequency spectrum between 30 GHz and 300 GHz. The use of mmWave en- ables cellular networks to achieve higher data rates. However, signals in the mmWave frequency range experience high propagation loss.

They are also easily affected by blocking entities and environmental conditions such as raindrops. Therefore, they could only be used for transmissions over shorter distances such as in small cells. Zhang et al. [30] demonstrate significant loss in throughput for Non-Line-Of- Sight (NLOS) mmWave scenarios which in turn result in an increase in queueing delays. The importance of a proper congestion control in achieving better performance in mmWave scenarios is demonstrated in [31].

3.3. Small cells

The use of small cells enables an increase in the capacity of cellular networks [32]. Dividing larger cells into smaller ones facilitates the reuse of spectrum by limiting the transmission power to within the range of the smaller cells. While smaller cells result in an increase in capacity, it is also likely to increase the scale and number of load variations within a cell. Due to the smaller size of cells, the frequency of handovers and state reconfigurations is also likely to increase.

3.4. MIMO

Multiple input multiple output (MIMO) systems enable the use of multiple antenna transmissions to achieve higher data rates and/or better transmission reliability. The use of MIMO is determined by the capability of the eNodeB and the UE. 3GPP Release 13 [33] defines 10 transmission modes that specify the type of MIMO to be used in the downlink (DL) transmission from the eNodeB to the UE. Based on channel conditions, the eNodeB selects between the different transmis- sion modes and transmission schemes in a chosen mode. This allows the eNodeB to switch from a high data rate transmission mode to a more reliable multi-antenna transmission mode as signal conditions worsen. Switching from spatial multiplexing, i.e., transmission of sep- arate data concurrently over several paths, to spatial diversity, i.e., the transmission of the same data on different propagation path, results in a decrease in throughput while a change in the reverse direction results in an increase in throughput. Variations in available data rate can occur if a device experiences frequent switching between the transmission modes.

3.5. Carrier aggregation

Carrier aggregation refers to the capability to use multiple carriers simultaneously to obtain a larger bandwidth for transmission [34]. This makes it possible to transmit data at a much higher data rate than is possible with a single carrier. The aggregated channels can be contigu- ous channels within the same band, non-contiguous channels within the same band, or non-contiguous channels in different frequency bands.

The allocated channels can also be of the same or different bandwidth.

When multiple carriers are aggregated, one of the component carriers serves as the primary component carrier (PCC) and the remaining component carriers serve as secondary component carriers (SCC). The LTE-A standard allows for the SCCs to be added and removed during the duration of a UEs connection. This is in contrast to PCCs that are only changed during handovers. Frequent allocations and deallocations of an SCC with a very high bandwidth could result in a high degree of fluctuation in available data rate.

3.6. Dual connectivity

Current and future mobile devices are likely to have the ability to connect to multiple access technologies, e.g., LTE, WLAN, 5G new radio (NR). Dual connectivity (DC) aims to exploit this diversity to deliver higher data rates. Thus, DC allows mobile devices to connect to two access networks at the same time. The access nodes can be of the same (LTE-LTE) [35,36] or a different technology (LTE-NR) [37].

DC typically involves two nodes where one is configured as master node and the other node becomes a secondary node. LTE-LTE DC works in a configuration where radio resource control (RRC) is terminated only at the master node. On the other hand, in LTE-NR DC, RLC termination can take place at the master node, the secondary node or both nodes.

(6)

While it provides higher peak data rate by aggregating the resources of two access nodes or technologies, DC can result in high fluctuations in data rate, e.g., in those cases a mobile device moves around in areas where the distribution of the access technologies is not uniform.

3.7. Dynamic network slicing and resource allocation

Dividing the physical network infrastructure into multiple separate logical network entities, commonly known as network slicing, is the main driving force behind fulfilling the requirements of services that fall into different use cases [38]. Static allocation of network resources for different slices is not a practical option since the amount of traffic services in the slices can vary significantly. As a result, dynamic re- source allocation to network slices is expected to be the norm in 5G networks [39]. However, demand for resources in different slices can vary in an arbitrary and unpredictable manner. In such cases, a large block of network resources might suddenly be available or taken away from a slice servicing a set of MBB applications.

3.8. Converged heterogeneous services

Services that have different requirements and traffic patterns are expected to exist in different network slices in 5G networks. However, network operators might choose to consolidate heterogeneous services and service them within a 4G network or a single 5G logical network.

One such example is the deployment of a large number of MTC devices in the same network as MBB devices. Due to the typically high number of MTC devices, an MBB device with an ongoing upper layer connection might be impacted negatively. One example is the longer delays to gain channel access using the random access procedures of LTE [40]. This could add extra delay to the start up of a connection or the transmission of data during Radio Resource Control (RRC) reconfiguration.

4. Conventional end-to-end congestion control in current cellular networks

This section starts with a brief overview over widely used internet congestion control mechanisms, and continues with a discussion of the problems faced by these mechanisms in cellular networks.

4.1. End-to-end congestion control in the Internet

Devices communicating over the Internet use a combination of flow and congestion control to determine the correct amount of data a sender should place in to the network for delivery. Flow control is mechanism to limit the sender from sending more data than the receiver could store and process. On the other hand, congestion control prevents the sender from overwhelming the network. Congestion con- trol has been an integral part of the Internet since an early congestion collapse [41].

Typically, end-to-end congestion control is part of the protocols existing in the transport layer. TCP [42] is the most widely known transport layer protocol that contains congestion control as a required component. As a result, congestion control evaluations tend to be dominated by CCAs contained inside TCP implementations. That is the reason why TCP performance has been commonly used to refer to the performance of a CCA if the evaluation of the CCA is done using the TCP implementation. However, congestion control is also an important component of new and lesser used transport layer protocols such as QUIC [43] and Stream Control Transmission Protocol (SCTP) [44].

In contrast to the above, applications that are built on top of the much simpler User Datagram Protocol (UDP) [45] should also imple- ment congestion control inside the application itself, i.e., outside the transport layer [46].1Real time media streaming is a typical example of

1 QUIC is an exception as it exists on top of UDP as well, but is still in the transport layer.

an application operating on top of UDP with a CCA embedded as part of the application. Application layer CCAs can be based on a proprietary protocol [47] or an open protocol [48]. Application layer CCAs also tend to be strictly tied to the performance metrics of an application, and therefore might result in a very skewed emphasis towards a particular transport metric, such as delay, at the expense of another transport metric, such as throughput, when deployed for general purpose use.

Therefore the discussions in this and the following subsection will mainly focus on TCP CCAs since TCP is the most predominant transport layer protocol that provides congestion control service to upper layer applications. But the algorithms are as equally applicable to QUIC and SCTP.

The placement of end-to-end congestion control is given inFig. 3 for some well known transport protocols. The figure also shows some in-network solutions that are being used to complement the loss-based CCAs that are widely deployed.

Since the seminal work on using congestion control in [41], there have been a series of TCP CCAs aiming to achieve high throughput performance. The work in [41] assumes that packet loss is a sign of network congestion. Since then, a majority of Internet congestion control mechanisms have depended on packet-level events such as loss or delay for detecting congestion. These types of algorithms can be differentiated based on the triggers they use to detect congestion, the triggered congestion response and the congestion recovery mechanism.

The current crop of extensively deployed CCAs is dominated by differ- ent variations of additive increase multiplicative degrease (AIMD) CCAs that use packet loss as a signal for network congestion. In general, these CCAs constitute of two distinct operating regions: the slow-start and the congestion avoidance.

4.1.1. Slow-start

Most CCAs share a very similar slow-start phase that starts from an initial value and doubles the congestion window (CWND) every round-trip time (RTT) at the beginning. The slow-start will continue until its threshold (ssthresh) is reached or a packet loss is experienced.

TCP considers the arrival of duplicate acknowledgments (ACKs) or retransmission timeouts (RTO) as a sign of packet loss. If slow-start exits because it has reached the ssthresh value, which is initially set to a sufficiently large value, then it will proceed to the congestion avoidance phase. However, if duplicate acknowledgments are detected, the algorithm reduces its CWND by half and proceeds to the congestion avoidance phase. On the other hand, if a retransmission timeout occurs the algorithm returns to the slow-start phase by resetting the CWND to the initial value.

4.1.2. Congestion avoidance

A key difference between the common TCP CCAs is in how they operate during the period that follows a congestion event and how they react to congestion event in the steady state period after the slow-start has ended. This behavior is determined by the congestion avoidance phase. The two main CCA congestion avoidance schemes that are currently standardized and/or widely used are NewReno [49]

and CUBIC [50]. The congestion avoidance mechanism of these CCAs is discussed below.

• TCP NewReno : The NewReno congestion avoidance phase is characterized by a basic AIMD scheme. If congestion is detected through three duplicate ACKs, the algorithm will perform fast transmit and fast recovery, and then sets the ssthresh to half the latest CWND and update the CWND to the ssthresh value. After that, New Reno increases its CWND roughly by one every RTT.

This approach will slowly probe for available bandwidth until the next loss event.

(7)

Fig. 3. Placement of end-to-end CCAs for different protocols and in-network solutions that are provided to complement current end-to-end CCAs.

• TCP CUBIC : In contrast to New Reno, when packet loss oc- curs, CUBIC records the current CWND as the maximum window size(Wmax). CUBIC then decreases its CWND to a value deter- mined by a multiplicative decrease factor. Then the algorithm increases its CWND as a cubic function of the time since the last congestion event, with Wmax set as the inflection point. Thus the algorithm proceeds in a concave manner and probe gently until the window value that resulted in the last congestion event, and then probe much faster once that value is passed.

In addition to NewReno and CUBIC there have been numerous algorithms designed to achieve better performance than standard CCAs in different types of networks.Fig. 4maps some of these CCAs to the corresponding type of network. These network specific CCAs consider the characteristic of the network as well as the requirement of the traf- fic typically existing in the target network to improve performance. For example, a data center network is characterized by shallow-buffered switches and a mixture of large data and bursty incast traffic. Therefore, standard TCP CCAs tend to underutilize the links and fail to deliver small bursty flows in time. This led to the need for specific types of CCAs that can be deployed in a data center environment [51–56].

The case for cellular networks is the same. The network has specific characteristics that cause issues when standard TCP CCAs are used to deliver packets from services that require large throughput and low delay. Some of these issues and the in-network solutions deployed to enable current end-to-end CCAs to cope with them are discussed next.

4.2. Congestion control issues and in-network solutions in cellular networks

Adopting a new congestion control algorithm that is more suitable for cellular medium has proven difficult due to the ossification of the Internet [70]. As a result, congestion control mechanisms have evolved much slower than cellular network technologies, and cellular networks are continuously providing solutions to compensate for some of the shortcomings of the common loss-based congestion control al- gorithms. Some of the technical and architectural solutions taken in the different layers of cellular networks to improve the performance of contemporary congestion control algorithms are discussed below.

4.2.1. Network access layer issues and solutions

The network access layer of the TCP/IP model is responsible for the transport of data between two directly connected devices. For cellular networks, the network access layer handles the creation of the air interface and the data transmission across the interface. The air interface link exists among electromagnetic signals that interfere with the data transmission signals. In addition, transmissions over cellular links can experience significant signal attenuation over wireless channels. The above properties of wireless channels result in packet corruption and packets being discarded. Packet loss that does not

originate from buffer overflow at a bottleneck link constitutes a false positive signal to a congestion control algorithm relying on loss for congestion detection. The inefficiency of CCAs that rely on loss to detect congestion has been an thoroughly researched and discussed problem in wireless networks [71–75].

A widely deployed solution for managing non-congestion packet loss in cellular networks is the use of radio link control (RLC) and medium access control (MAC) layer retransmissions. Such mechanisms hide the occurrence of random packet losses from the data sender.

Park et al. [76] study TCP performance improvement offered by lower layer retransmissions when automatic repeat request (ARQ) is enabled in Long-Term Evolution (LTE) RLC configurations in addition to the Media Access Control (MAC) layer Hybrid ARQ. They also show that even with configured RLC retransmissions, as the RLC loss probability increases, the TCP throughput also starts to decrease. The decrease in TCP throughput happens despite the fact that there were no observed transport layer losses. The increase in RTT resulting from frequent retransmissions is stated as the cause of the observed decrease in throughput.

4.2.2. Internet layer issues and solutions

The internet layer is responsible for the transporting packets through the Internet. Internet routers use internet layer headers to for- ward packets to their destinations. End nodes do not have information about the capacity available in routers that multiplex packets from different flows. As a result, the routers might become bottlenecks when the total number of packets entering a router exceeds the number of packets being dispatched by the router. In such cases, routers queue incoming packets in buffers until they can be sent out. Algorithms that use loss as congestion signal are susceptible to false negatives in those cases where there is a large buffer provisioned at a bottleneck link. Unless an active queue management (AQM) system is used, in a bottleneck with large buffers, loss-based flows will be sending at a rate higher than the available bottleneck capacity. The large buffers delay the detection of congestion at the end nodes. Therefore, even though there is congestion in the network, the CCAs will not receive the appropriate loss signal to reduce their sending rate in time. In other words, a false-negative scenario. In contrast to the issue of packet loss, the issue of large packet accumulation and delayed congestion detection of loss-based flows still persists in current cellular networks due to the variability of available capacity and the large buffer sizes allocated to enable efficient use of the available capacity. The large buffer sizes will result in data being queued for a long time.

A solution that allows current end-to-end CCAs to continue un- changed, by indirectly controlling the sending behavior of the CCAs from the network, is the use of AQMs [77], such as random early detec- tion (RED) [78], controlled delay (CoDel) [79], Flow Queue CoDel (FQ- CoDel) [80], and proportional integral controller enhanced (PIE) [81].

AQMs drop or mark packets before the bottleneck buffer overflows to

(8)

Fig. 4. CCAs designed for different networks and the target network of the CCAs reviewed in this paper [57–69].

give an early signal of congestion. While early AQMs like RED are present in most of the existing network devices on the Internet, they are rarely used due to unpredictable behaviors observed in early schemes that require careful configuration/calibration [82]. Recent AQMs, such as CoDel, FQ-CoDel and PIE, have shown promising performance in spite of their relatively simple configuration. However, it has been suggested that AQM-based latency reduction cannot result in ultra-low latency requirements by itself [83]. In addition, AQMs are only useful in detecting congestion and not useful in detecting availability. Thus, AQM-based schemes can result in capacity underutilization in highly variable cellular networks [84–86].

4.2.3. Multi-layer solutions

Another issue experienced by CCAs in cellular networks is the inefficiency resulting from slow-start or connection establishment over- head [87] and an early exit from slow-start [88]. These issues be- come more noticeable for distantly communicating devices resulting in higher connection RTT. Increasing the initial CWND was proposed as a way to improve slow-start performance [89]. However, such one- off solutions might not be future-proof as the network characteristics change over time [90], and might require continuous updating or rather better solutions. Another issue is the further the distance data has to travel to reach a cellular device, the more likely that it spends longer time in wired networks with different characteristic than the wireless cellular network. This could force the use of a CCA that is more suited for the wired part than the cellular part of the connection.

One solution that has been extensively used in current cellular net- works to mitigate problems related to large RTT and traffic traversing different network domains is a performance enhancing proxy [91–93].

Such performance enhancing proxies (PEPs) have also been shown to potentially produce improved performances in 5G networks [94].

Common proxy functions include compression, caching, and segment coalescing. While some functions, such as compression, only improve application-layer performance, caching and coalescing can improve transport-layer performance by reducing latency and overhead, respec- tively. Some proxies also try to improve performance of a sender by controlling the delivery of acknowledgments or modifying transport layer fields to control the sending behavior of loss-based CCAs [95,96].

Proxies also provide the opportunity to deploy a customized CCA that performs better than current CCAs over cellular networks. However, widespread deployment of proxies has contributed to the ossification of the Internet [70].

The above technical and architectural solutions have not been suffi- cient to fully narrow the gap between the performance of current TCP CCAs in cellular networks and the requirements of new applications.

Therefore, new congestion control approaches are being proposed as an alternative congestion control mechanisms to the current loss-based congestion control schemes that are widely used over cellular networks.

The performance of these new algorithms is typically benchmarked against loss-based CCAs, and are expected to result in lower per- packet latency without compromising the throughput. However, the new congestion control algorithms have to deal with challenges that are inherent in current cellular networks.

5. Challenges in designing new end-to-end CCAs for cellular net- works

In this section, we discuss the challenges all CCAs must deal with to achieve high throughput and low latency in current and future cellular networks. There have been other works, such as [97] and [98], that present the challenges CCAs face over 4G/5G networks. The work in [97] presents a detailed analysis of these challenges by considering the roles of the different layers of the protocols stack. It also dis- cusses about how the evolution to 5G could affect congestion control and provides some advise for improving performance. On the other hand, [98] gives an overview of how the 5G infrastructure and tech- nologies can affect the performance of standard CCAs. In our work, we focus on discussing how the challenges could influence congestion control design.

In the early Internet, the aim of congestion control was to utilize all available capacity of a network. Since latency was less of an issue at that time, CCAs and networks were not designed to ensure a swift de- livery of packets. As a result, loss-based CCAs persisted, with concerns for fairness also being a contributing factor that restricted the use of alternative CCAs. AQMs were later introduced to allow early detection of congestion. However, the emergence of services that impose strict latency requirements have motivated research into alternative CCAs that can fulfill the requirements that are difficult to achieve using loss-based CCAs, e.g., avoiding standing queues in routers.

In addition to the rise of the number of applications and services with strict latency requirements, there has also been a rapid increase in the amount of data traffic over cellular networks. Therefore, any proposed CCA intended for services delivered over cellular networks will have to take into account specific challenges that they may face not only in current cellular networks but in future ones as well. We identify three such challenges: (1) Avoiding underutilization in an environment with high bandwidth variability. (2) Achieving full utilization without creating large queueing delays in the large buffers provided to improve the utilization of the highly variable capacity by popular loss-based CCAs. (3) Being able to differentiate between delay variations caused by traffic competition and delay variations caused by radio channel events, e.g., interference, multi-path fading, etc. While all the algorithms re- viewed in this paper try to overcome the first two challenges, only a few algorithms specifically address the third challenge.

5.1. Tracking the highly variable bandwidth

In 4G access networks, the amount of data transferred between the eNodeB and a mobile user at a given point in time depends on multiple factors. As introduced in Section3, some of the factors that determine the data rate include the employed modulation and coding schemes, the use of multiple antennas for spatial multiplexing, the number and types of carriers allocated for the communication, and the number of resource blocks assigned to the mobile user by the eNodeB. The combination of all these factors result in a highly variable and unpredictable available data rate.

Unless explicitly notified about network state, most end-to-end algo- rithms resort to some form of probing to explore the available data rate.

(9)

Fig. 5. Potential classification schemes for cellular CCAS.

A slow probing mechanism will cause underutilization, and a very fast probing can result in overshooting and queueing. Cellular CCAs need to be able to make the most of scenarios where a considerable capacity becomes available in a short amount of time. Different algorithms em- ploy different mechanisms to adapt their sending rate to the available capacity. However, keeping track of the available bandwidth in a highly variable environment is challenging. Furthermore, in order to absorb a sudden loss in capacity, eNodeBs are typically equipped with a large buffers, which gives rise to latency-related issues. The impact of such large buffer sizes is discussed next.

5.2. Avoiding large queueing delay

It has been shown that in current cellular networks, large buffers are ubiquitously deployed at the radio access network (RAN) [99]. The large buffers make it possible for those congestion control mechanisms that are currently used on the Internet to efficiently utilize available radio resources. Such large buffer provisions in network nodes is one of the main contributing factors of bufferbloat [7], which is excessive delay caused by packet accumulation in large buffers. It impacts the performance of new services and applications with stringent delay requirements, as well as the performance of current data transfer mechanisms that rely on reliable RTT and jitter measurements.

5.3. Insensitivity to non-queuing delay variability

Apart from large queues, current cellular networks utilize mech- anisms that can make the transport layer at the end nodes observe different delays for different packets transmitted over the same path.

The total delay experienced by a packet sent along a path from a sender to a receiver consists of the propagation delay through the communication medium, the processing delay in the network, the transmission delay, and the queueing delay in network buffers. Gener- ally, propagation delays and processing delays do not exhibit as much variability as queueing delays, which increases and decreases as packets are queued and dequeued from network buffers. As a result, most delay- based CCAs assume that increases and decreases in latency occur due to the existence or non-existence of congestion.

The above assumption might not always be true as shown in [100], where there is an increase in latency experienced by packets passing through a millimeter Wave (mmWave) network configured with RLC in acknowledged mode (AM) and HARQ. Similar observations where also

presented in [101], where variations caused by transport block errors and retransmissions can rise as high as to 8 ms. The results in [76] also show a decrease in the throughput of the ACK-clocked TCP mechanism as a result of an increase in RTT caused by lower layer retransmissions in cellular links with high loss probability. The results in the above papers indicate that in cellular networks, the delay observed at the transport layer could vary even if there is no significant queueing and draining occurring at the cellular bottleneck. Such variations in the minimum delay observed by packets can result in interpretations that lead to the wrong congestion decision. For instance, an inability to estimate the proper minimum RTT over a network path can result in problems in calculating the CWND value for a delay-based algorithm.

MBB application might also experience non-queuing delays during handover and channel reconfiguration after disconnection. These de- lays can be particularly high in cases where random access is used by MBB devices and a high number of MTC devices in a network that provides access to heterogeneous services [40]. There have been several medium access control (MAC) solutions proposed to mitigate the impact of MTC on MBB traffic [102]. However, the deployment of the proposed MAC layer solutions is not guaranteed and the efficiency of the MAC layer solutions might vary. Therefore, it would be good if end-to-end CCAs incorporate mechanisms to deal with such delay variations as well.

6. Classification of CCAs for cellular access

There is an increasing number of CCAs being proposed with the goal of satisfying the requirements of applications for mobile users. We can classify these algorithms based on different criteria. The first classifica- tion criterion is the problem the CCAs are trying to address. The main problems concerning connections over the latest infrastructure cellular networks are bandwidth variability, queueing delays, delay variations, downlink/uplink asymmetry, and mobility and handover. The second criterion is based on the algorithm semantic. Based on this criterion, we can divide cellular CCAs in to two broad groups, which are end-to-end and split connection CCAs. The third and final classification scheme is based on how closely linked the CCAs are to the layers outside the transport layer. Information from a layer outside the transport can be used in the operation of the CCA that is implemented in the transport layer. That means some algorithm components that are important for the functioning of a CCA will be found outside the transport layer.

An extreme case is when the CCA is entirely implemented outside the

(10)

Fig. 6. Classification of end-to-end cellular CCAs.

transport layer. Such is the case for purely UDP based implementations, i.e. excluding QUIC. Accordingly, we can classify CCAs as application- tied, technology-tied, application and technology-tied, and no-ties CCAs based on which layer they have close associations. Application-tied CCAs form close association with the application/service sending and receiving data, and try to adjust the control mechanism to meet specific performance requirements of the application. Application-tied CCAs might acquire some application level information to tailor algorithm behavior to application demand [103], or entirely implement the CCA in the application layer. Technology-tied CCAs are typically cross- layer algorithms that rely on information provided from lower layer mechanisms to make congestion control decisions. Application-and- technology-tied CCAs have the features of both application-tied and technology-tied CCAS, while no-ties CCAs are purely transport layer CCAs. The above possible classification criteria are given inFig. 5.

Adopting a split-connections approach to adapt to the specific char- acteristics of cellular networks is a common practice used by cellular network providers. However, split-connections can be thought of as multiple end-to-end connections concatenated together. That is why research for efficient end-to-end algorithms is still relevant even with the widespread use of split connection. Such end-to-end CCAs rely on congestion detection mechanisms to determine whether the current sending behavior is flooding or underutilizing the network. Cellular CCAs developed in the past few years have employed different methods of congestion detection. We classify these algorithms into three broad groups, as shown in Fig. 6, i.e., Reactive, predictive, and network- assisted algorithms. An approach-based classification scheme was also used in [23], however, this classification scheme was for TCP solutions instead of focusing on congestion control solutions. Our paper differs by introducing a new approach-based classification scheme for CCAs, and by focusing on CCAs for modern cellular networks.

6.1. Reactive algorithms

Reactive algorithms rely on a specific signal to trigger a change in the sending behavior. The trigger signal can vary between different algorithms. The most widely deployed trigger-response pair in con- nections over the current Internet is packet loss-multiplicative window decrease. Other types of signals used in a range of algorithms are delay threshold and rate variations. There have also been approaches that combine different quantities to produce an utility that allows the algo- rithm to have different levels of reaction to a combination of different triggers and trigger levels. Fig. 7shows a generalized flowchart for reactive algorithms. The algorithms employ a probing phase expected to exceed the available capacity and trigger a congestion event at some point in time. Once the congestion signal is triggered, the algorithms then move into a back-off phase that tries to relieve the network of the perceived congestion. The back-off phase can just be a one-off procedure or a sustained sending state until an availability signal is triggered. Then probing is resumed once the algorithm is done with the back-off procedure.

Fig. 7. Generalized process of reactive algorithms.

The performance of a reactive congestion detection algorithm de- pends on how well the detection solution addresses some important factors: the reliability of the congestion or availability trigger, how the algorithm deals with false negatives and false positives, and how the algorithm behaves between triggers. Signal reliability refers to how accurately the chosen signal trigger detects congestion or the lack of it.

A prime example for when a widely adopted congestion signal fails to reliably indicate congestion is in the case of packet loss in early wireless and cellular networks. These networks were characterized by high loss rate due to bit-errors. Therefore, as previously mentioned, solutions for the issues of loss-based congestion control in early cellular networks dealt with situations where algorithms backed off before actual congestion had occurred. The use of packet loss has survived those early days because wireless networks evolved to hide bit-errors from higher layers. However, packet-loss triggered congestion detection algorithms are now susceptible to bufferbloat and a delayed reaction to congestion due to the large buffers provisioned in current cellular

(11)

networks. TCP CUBIC, which was briefly discussed in Section4, is at the time of writing the most widely used loss-based algorithm, and is as such today also commonly used over cellular networks.

DL-TCP (Deep Learning-based TCP) [104] is an attempt to modify the behavior of loss-based algorithms to better adapt to the outages experienced by temporary blockage of mmWave signals. Since DL-TCP is intended for sending data from mobile nodes in a disaster area, the algorithm only applies to uplink traffic. The Deep learning aspect of the algorithm is used to identify if the transmission link is in a long failure, a short failure, or a normal state. Information on location, velocity, the SNR value, and time since SNR value last changed are used as inputs for training, along with a result set identifying the type of failure experienced. The learned parameters are used in the congestion control algorithm to predict the type of link failure from the same inputs as in the training phase. Then, whenever signal disconnection causes a retransmission timeout (RTO), a TCP control agent uses the predicted link failure types to make congestion control decisions. If the failure is classified as being a failure with a long duration, then the CWND is initialized. On the other hand, if the link failure is classified as short, then lost packets are retransmitted while maintaining the size of the CWND. If there is no link failure when the RTO happened, then the algorithm continues with regular congestion control operation.

Delay has long been proposed as an alternative signal for congestion detection. However, the deployment of delay-based CCAs have been limited since these CCAs yield capacity when competing in bottlenecks that share buffers with loss-based congestion controlled flows [105, 106]. The likelihood of persistently sharing a buffer between a large number of flows has been significantly reduced by the per-user buffer allocation scheme in cellular networks. Thus, with packet loss not always being the most suitable mechanism for accurate detection of congestion in connections over wireless channels, some recent cellular congestion algorithms have opted to use delay as an indicator of congestion.

RRE [107] and Proprate [8] are delay-triggered congestion detec- tion algorithms that employ an upper and a lower threshold on one-way delay as a metric to switch between different sending rates. The higher rate sending phase fills a buffer, while the lower rate sending phase drains the buffer. The algorithms introduce a monitor state that serves as a correcting mechanism for possible false positive cases of extended lower sending rate periods due to an increase in the one-way delay.

The authors admit that the algorithms could be susceptible to a false negative arising from a decrease in one-way delay during the high-rate phase, however, they suggest that the impact on the delay might be corrected on the next low-rate phase. Since the algorithms use one-way delay, the algorithms are also more resistant to problems arising from asymmetry between downlink and uplink. While the general operating principle is similar, the authors of Proprate argue that the algorithm differs from other CCAs, including RRE, in that it allows an application to specify its preferred average latency. The two algorithms also differ in the parameters used to determine the higher and lower rates used in the buffer filling and buffer draining phases, respectively. The authors evaluate Proprate over trace data from 4G/LTE networks as well as over real 4G/LTE cellular networks. The results show that the algorithm can be tuned to match or exceed the performance of other algorithms that prioritize delay or throughput.

CDBE [108] (Client Driven Bandwidth Estimation) is an algorithm that relies on regular receiver rate estimations for congestion control.

CDBE argues that sender side rate estimation and constant window receiver side estimation can be prone to wrong estimations. There- fore, the algorithm uses a dual-window rate estimation that consists of combining multiple short-time window estimations over a longer window that is equal to one RTT. The receiver then sends the estimated rate and the one-way delay back to the sender. The sender uses the received rate to compute pacing interval and congestion window. The sender can be in four possible states with specific gains used to calculate the congestion window and pacing interval. The states are STARTUP,

GROW, DRAIN and NORMAL. The algorithm switches between the different states based on the value of the one-way delay.

Rate has been an integral part of many congestion control algo- rithms. While most algorithms use rate estimations for prediction, there has been few approaches using rate as a congestion signal. One such algorithm is Copa [109]. Copa’s congestion detection is based on a target rate that is calculated using the measured queueing delay. The authors argue that under Markovian packet arrival, a target rate that is inversely proportional to the queueing delay optimizes a natural function of throughput and delay. The algorithm then increments or decrements its CWND when the calculated rate upon reception of an acknowledgment packet is below or above the target rate, respectively.

Since Copa’s target rate decreases with increasing queueing delay, the algorithm also incorporates a simple scheme that dynamically adjusts the proportionality constant to allow it to compete with buffer-filling loss-based CCAs. The algorithm assumes a loss-based CCA is competing with its own flow if it fails to detect an empty queue in 5 RTTs. The 5-RTT limit is based on the dynamics of queue oscillation between 0 and a value determined by the proportionality constant of the involved flows when multiple Copa flows are competing against each other.

Using a single type of trigger signal, such as delay, could be vulner- able to misinterpretations and fairness issues. Thus, several algorithms are coupling multiple congestion signals to try and come up with a more robust response.

Cellular Controlled Delay TCP (C2TCP) [110] is a CCA designed on top of common loss based CCAs to facilitate early detection of conges- tion and quick detection of available capacity. The algorithm provides complementary mechanisms to the normal response of loss-based con- gestion control algorithms. To this end, C2TCP tries to identify if a connection is in one of three connection states, bad, normal and good.

A decision on which state the connection is in at some point in time is made by comparing the minimum RTT observed over an interval to the desired minimum RTT. If the connection is perceived to be in state bad, the algorithm resets the CWND to 1. A normal state implies that the additive increase of standard loss-based TCP is working as desired and no alteration is needed. On the other hand, upon detecting a good state, the algorithm further increases on the CWND value calculated through standard loss-based TCP. The authors argue such simplistic approach is preferred for cellular networks since it is hard to predict cellular channel conditions and it is hard to detect the sources of delay in cellular networks. The evaluation for the algorithm was performed over local LTE networks and Mahimahi emulations using traces collected over LTE and HSPA networks for both mobile and static conditions.

The evaluation results show C2TCP achieving delay improvement with relatively smaller impact on the throughput compared to six other algorithms.

X-TCP [112] is an algorithm, which applies estimation of available bandwidth using the downlink control information (DCI), designed for uplink traffic over 5G mmWave networks. This algorithm is based on another algorithm called DRW [113], which is a predictive algorithm for downlink data discussed in the next section. Upon the reception of every ACK, the cellular sender updates its congestion window based on the estimated bandwidth, RTT and signal quality. In a similar way to DRW, X-TCP considers an increase of the RTT beyond a certain threshold above the minimum RTT as an indication of congestion.

However, X-TCP also uses poor signal quality (SINR) as an indication of imminent congestion. The authors implemented the algorithm for TCP and evaluated it using an ns-3 mmWave module given in [114], over setups with a mobile UE experiencing random temporary blockages and extended blockage scenarios. The results show that X-TCP achieves significantly lower RTT while maintaining similar throughput to TCP CUBIC.

ExLL (Extremely Low-latency Congestion Control for Mobile Cellu- lar Networks) [111] is an algorithm that takes advantage of cellular link layer behavior to determine the appropriate number of packets to send. The link-layer behavior of LTE networks is used as a basis

(12)

Table 2

Reactive CCAs for cellular networks.

CCA Trigger signal Reaction to trigger signal Provisions for delayed and/or

misinterpreted signals

Availability detection

DL-TCP [104]

RTO Reduce CWND Predict if loss is due to

congestion or link failure

Probing

RRE [107] Delay Switch to lower rate Monitor phase An availability trigger to switch back to a

higher rate

PropRate [8] Delay Switch to lower rate Monitor phase An availability trigger to switch back to a

higher rate

COPA [109] Rate Reduce CWND

C2TCP [110] Delay, loss Set CWND to 1 and slow-start, same as standard TCP

Refresh minRTT, reset CWND based on delay

Uses delay to detect capacity, availability and probes faster

ExLL [111] Delay, loss and rate Modified Fast TCP, same as standard TCP, switch b/n standard and modified Fast TCP

Integrate RTT averages, switch to fast TCP

Regular and Fast TCP probing

CDBE [108] Delay Switch to DRAIN state If average downstream delay falls below a

threshold, then switch to GROW state X-TCP [112] Both delay and SINR Scale down the CWND below the estimated

BDP

Both improved SINR and decrease in RTT

below a threshold

for obtaining the variables and parameters used in the algorithm. The algorithm switches between CWND control that is similar to loss-based CCAs and CWND control derived from Fast TCP [115] by comparing the rate achieved with an estimated maximum cellular link throughput.

The maximum throughput estimate is computed by taking a moving average of the amount of data delivered over a period of time that is equivalent to a single cellular radio frame (10 ms). In ExLL, the normal Fast TCP control parameters are modified on the basis of how throughput and bandwidth vary in cellular networks. The evaluations of the algorithm were made in real LTE networks and an in-lab LTE testbed. Evaluations over LTE networks for static and mobile environ- ments show ExLL achieving better throughput and latency than popular CCAs like CUBIC and BBR (Bottleneck Bandwidth and minimum RTT).

The fairness achieved between competing ExLL flows is also evaluated in [111].

The reactive algorithms discussed in this section are summarized in Table 2. The table gives the type of congestion signals used by each algorithm. As seen, some algorithms utilize more than one signal to detect congestion. The response of each algorithm is also different for different congestion signals. We also try to indicate whether an algorithm provides a backup mechanism for false negatives (delayed signal) and false positives (misinterpreted signals). The method that the algorithms employ to discover available capacity is also indicated in the table.

6.2. Predictive algorithms

Predictive congestion control uses time intervals to make congestion decisions instead of relying on congestion or availability triggers that require immediate response. The algorithms generally perform some analysis on connection information collected from preceding intervals to make decisions on how packets should be sent in future intervals.

The manner in which packets are sent in a specific interval is also conducted in such a way as to enable collection of information for making decisions on future sending periods.Fig. 8gives a generalized flow chart for predictive algorithms. As shown in the figure, all the algorithms in this group perform some sort of collection of performance data over a given interval. Once the data collection timer or counter expires, the algorithm makes a prediction about the state of the network for the next interval and resets its timer or counter. Finally, the sending mechanism is adjusted according to the collected performance results, and the performance data collection begins for the next cycle.

A few factors are important in determining how a predictive de- tection would perform in cellular environments. The first factor is the reliability of the scheme that is used to extract information from current/recent data for the purpose of future control. Most predictive algorithms attempt to build a model of the network and connection,

Fig. 8. Generalized process of predictive algorithms.

which involves estimating the rate/capacity, minimum RTT, or opti- mum CWND in a given interval. Another factor is how the algorithm makes use of its current view of the network to make decisions on avoiding congestion in the near future. This typically involves pre- dicting a proper sending rate or CWND. Some algorithms also include contingencies for when the estimation and prediction schemes produce values that diverge considerably from the real ones. The discrepancy can arise if a network is subject to some variabilities that are not directly accounted for in the estimation and prediction.

The length and flexibility of the update interval is an important factor that can affect the performance of predictive algorithms. In this survey, we divide predictive algorithms into fixed and dynamic interval CCAs based on the flexibility of the update interval. Fixed interval algorithms update their control parameters at predefined intervals that is the same for all flows using the algorithm.

One of the early end-to-end algorithms proposed to achieve good throughput while maintaining low delay for connections over cellular networks is Sprout [13]. The authors reason for the use of a doubly- stochastic process model based on observations of interarrival time distribution over LTE networks that closely resemble a Poisson process.

Sprout is a receiver-feedback-based algorithm that maintains a proba- bility distribution with a range of rate values to model the end-to-end network. The algorithm updates this rate probability distribution every 20 ms using delivery information of the packets in the previous interval.

The authors indicate that the 20-ms interval (‘‘ticks’’) is chosen for

References

Related documents

Due to the diversity of studied lifecycle stages (from Product Development to Aftermarket), departments (Hydraulics, software, product maintenance, validation and

In our simulation using OMNeT++, we have considered the wireless sen- sor network illustrated in figure 5.10, with a source (the transmitter), tree relays (sensor nodes) and a sink

The main purpose of the error control mechanisms in multicast environments is to make use of the available transmission rate to minimize the undesired effect given by packet

In the real world bit-errors will result in lost packets and the loss of a full header can cause inconsistent compression state at compressor and decompressor, resulting in

Article IV, A Reliability-Aware Cross-layer Optimization Framework for Wireless Sensor Networks: A cross-layer framework based on genetic algorithms (GAs) uti- lizing SchedEx

WirelessHART is a wireless mesh network communication protocol for process automation applications, including process measurement, control, and asset management applications.. It

To this end, the first question is addressed through a congestion detection and control mechanism, while the second question is addressed through a multi-queue model, both combined

Distance between nodes, hops between nodes, packet length, physical environ- ment and communication environment are five factors that affect the end-to-end delay in wireless