PreprintPDF Available

Latency and Throughput Optimization in Modern Networks: A Comprehensive Survey

Authors:
Preprints and early-stage research may not have been peer reviewed yet.

Abstract and Figures

Modern applications are highly sensitive to communication delays and throughput. This paper surveys major attempts on reducing latency and increasing the throughput. These methods are surveyed on different networks and surroundings such as wired networks, wireless networks, application layer transport control, Remote Direct Memory Access, and machine learning based transport control.
Content may be subject to copyright.
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 1
Latency and Throughput Optimization in Modern
Networks: A Comprehensive Survey
Amir Mirzaeinnia, Mehdi Mirzaeinia, and Abdelmounaam Rezgui
Abstract—Modern applications are highly sensitive to com-
munication delays and throughput. This paper surveys major
attempts on reducing latency and increasing the throughput.
These methods are surveyed on different networks and surrond-
ings such as wired networks, wireless networks, application layer
transport control, Remote Direct Memory Access, and machine
learning based transport control,
Index Terms—Rate and Congestion Control , Internet, Data
Center, 5G, Cellular Networks, Remote Direct Memory Access,
Named Data Network, Machine Learning
I. INTRODUCTION
Recent applications such as Virtual Reality (VR), au-
tonomous cars or aerial vehicles, and telehealth need high
throughput and low latency communication. These applica-
tions have to communicate through variety of network and
traffic characteristics that are evolved into massive diverse
cases. High Bandwidth Product (HBD), Multi paths, Data
Centers, and a variety of wireless networks are some of the
main domains that their traffic needs to be managed properly.
Latency and throughput optimization (L&T) are even more
complex problems to achieve in such a huge environment.
Network congestion, rate control, and load balancing are
some of the main approaches to imrpove the latency and
throughput of the different networks. We have found that,
thus far, different networks need customized control mech-
anism to achieve optimum performance. However Machine
Learning (ML) algorithms (specially deep learning based) are
a promising approach to achieve such an ambitious adaptive
intelligent mechanism to optimally work in different network
environments and serve different traffic characteristics. In 2017
Silver et al. [1], [2] designed a deep learning based computer
program to play Go that was able to defeat a world champion
challenge. These results show that ML algorithms are able
to achieve beyond human capability. Games are the best
benchmark problems to test machine learning algorithms to
control a sequence of decisions. Network data rate, congestion
control and load balancing as main parts contributing on
(L&T) are also a decision sequence making problem that could
be resolved through deep learning algorithms. In this paper,
we present a comprehensive survey of the network rate and
congestion control problem starting from the beginning till
recent intelligent approaches.
A. Mirzaeinia is with the Department of Computer Science and Engineer-
ing, New Mexico Institute of mining and Technology, Socorro, NM, 87801
USA e-mail: amirzaei@cs.nmt.edu
A. Rezgui is with Illinois State University.
Manuscript received XXXX; revised XXXX.
On one hand every user likes to send and receive their
data as quickly as possible. On the other hand the network
infrastructure that connects users has limited capacities and
these are usually shared among users. There are some tech-
nologies that dedicate their resources to some users but they
are not very much commonly used. The reason is that although
dedicated resources are more secure they are more expensive
to implement. Sharing a physical channel among multiple
transmitters needs a technique to control their rate in proper
time. The very first congestion network collapse was observed
and reported by Van Jacobson in 1986. This caused about a
thousand time rate reduction from 32kbps to 40bps [3] which
is about a thousand times rate reduction. Since then very
different variations of the Transport Control Protocol (TCP)
have been designed and developed.
There are some main capabilities required to achieve. First,
handling the congestion may cause the delay of a certain flow
which is not desired for the network users. Resource maximum
utilization to serve more users is also desired. Therefore
increasing the number of users and their transmission rate
is desired and this increasing makes it more challening to
optimize user’s latency and throughput. Transport control is
an approach to improve the (L&T) of the networks. There are
two main class of
TCP is known as connection oriented transmission which
means senders wait to receive an acknowledgement signal
packet. To continue transmission the sender needs to receive
acknowledgment of the previous packet in a certain timeout
period. Otherwise the previous packet which is not acknowl-
edged yet would be retransmitted. Packet by packet data
transmission and waiting for its acknowledgment wastes time
and network resources. Therefore the idea of sliding windows
evolved to control the transmission rate more efficiently while
it can also check the acknowledgment of the transmitted
packet. Additionally there are circular sequence numbers to
keep track of the transmitted packets.
Generally, there are different classes of approaches proposed
to control the rate in networks. Rate based [4] ( streaming
media protocols) and window based are the two most common
groups of congestion control mechanisms. Different traffic
packet scheduling is another way to address the congestion
problem in the networks which is covered in more detail in
section II-E1.
Congestion Control mechanisms could be also classified
by incremental modification. Only sender needs modification;
sender and receiver need modification; middle nodes (like
switches or routers) need modification; sender, receiver and
middle nodes need modification. Another way to classify the
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 2
CC Feedback signals
LOSS RTT ECN RTT Gradient
TCP Tahow
TCP Reno
SACK
BIC
TCP Vegas
Fast TCP
Westwood
Jersey
DCTCP [5]
DCCP [6]
XCP [7]
Timely [8]
Others [9], [10]
Fig. 1. feedback signals.
CC mechanisms could be based on performance metrics that
they tackle. High bandwidth-delay product networks, lossy
links, fairness, advantage to short flows, and variable-rate links
are some of the most commonly tried mechanisms. Congestion
control mechanisms could be also classified by fairness criteria
such as Max-min fairness and proportionally fair. Authors in
[11] surveyed the fairness-driven queue management mecha-
nisms.
When a CC protocol is about to be designed, there are some
key points that need to be taken into account. 1- Competitive
flows have no information from each other. 2-The number
of competitive flows are not known to flow sources. 3-Flows
sources are not aware of available resources and bandwidth.
Network and traffic transmitters need to react against con-
gestions they can sense. Almost all network devices are
equipped with some input, output or input/output buffers [12]–
[15] to manage the congestion to some extent. However net-
work excessive congestion causes the network devices buffer
to overflow. Drop tail is the first method that is performed
in routers/switches to control the incoming of excessive traf-
fic. Drop tail causes a situation called flow synchronization.
Flow synchronization reduces the lower bandwidth utilization.
Different Active Queue Management have been proposed to
manage network buffering. AQM schemes are surveyed in
[16]. Random Early Detection (RED) is designed to overcome
the flow synchronization issue, and Weighted RED (WRED)
is developed to provide fairness to responsive TCP and non-
responsive UDP traffic at a buffer of a communications net-
work [17]. Traditional congestion control protocols work based
on additive increase and multiplicative decrease. Rate decrease
always happened to halve the transmission rate. Besides,
current congestion control protocols can be classified into two
types: 1- the global end-to-end-based congestion control [18]–
[24] and 2- the local link-based congestion control [25]–[33].
Afanasyev et al. [34] published an example of end to end
control mechanisms.
Rest of this section covers the congestion detection, notifi-
cation , control, and the performance metrics that are mostly
used in CC mechanisms.
A. Latency and Throughput (L&T)
1) Congestion Detection: Congestion detection can be
through many different network statistics such as packet loss,
queue length, queue length and channel load, channel busyness
ratio and throughput measurement, packet service time, packet
service time and queue length, ratio of packet service time, and
packet inter-time (scheduling time). Figure 1. shows the main
signals to detect the network congestion.
Drop/loss based. TCP flows wait for the packet to receive
acknowledgement to continue with other packets to transmit.
Time out is also used to control the time each transmitter
has to wait until receiving the acknowledgment. If transmitter
does not receive acknowledgement by end of the timeout
period then it is assumed that either transmitted packet or its
acknowledgment is lost (either dropped or failed). Packet loss
is sensed after a time out or receiving a NAK packet. For
example Additive Increase Multiplicative Decrease (AIMD)
based TCP-Tahoe is slow to start when a drop happens, TCP-
NewReno and TCP-selective ACK (SACK) [35], [36] are a
more conservative slow start when a three duplicated acknowl-
edge packet is sensed, AIMD-FC [37], Binomial Mechanisms
[38], HIGHSPEED-TCP (for high BDP) [39], BIC-TCP [40].
As another step, General AIMD Congestion Control GAIMD
is proposed to modify the window size increase/decrease rate
[41].
RTT Based. RTT based mechanisms measure the round trip
time for each packet to find the network congestion level.
Different congestion levels cause different round trip times.
Therefore the transmitter can react based on the measured
time to control the network congestion. TCP vegas [42], fast
TCP [43], TCP-WESTWOOD [44], TCP-JERSEY [45] are
some of the known mechanisms that relys on network RTT.
RTT based mechanisms usually suffer from unfairness because
the flows with shorter RTT are able to attain more shared
bandwidth when they compete with flows with longer RTT.
These mechanisms are hard to develop in networks where RTT
is in the microsecond range such as Data Center networks.
Explicit Congestion Notification (ECN) Based. In ECN
based mechanisms traffic packets are marked by intermediary
nodes in their way when switch buffers are build up to a certain
threshold. [5], [46]. Therefore transmitters start to reduce the
transmission rate. ECN flag bit will be set in middle way
routers if they encounter a certain level of congestion.
RTT Gradient, recently gradient of the RTTs are proposed
as more informative feedback from the networks [8]–[10].
Linear/non-linear combinations of above mentioned signals are
also considered on recent approaches [47] as utility functions
that describe an objective like high throughput and low loss
rate.
2) Congestion Notification: Re-transmission Time Out
(RTO) and NACK are the two main techniques for traffic
transmitters to be notified. RTO is the time that transmitters
wait to receive the acknowledgment. Transmitters have to
resend its traffic after the RTO time period. A fixed RTO would
work in wired networks, however to improve the performance
of the wireless network, adaptive RTO is needed because
of user mobility. In the case of the NACK mechanism, the
receiver sends back a Not acknowledged packet (NACK) if it
receives a packet which is out of order. For example, if the
receiver received packet number one and three then it NACK
back for packet number two.
3) Congestion Control (CC): A wide variety of network
congestion control have been proposed to adapt network
and traffic characteristics. In this paper we cover different
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 3
Delay / Throughput
Wired, II Wireless, III Application layer ,IV ML based, V
Internet, II-A NDN II-B HBD, II-C TCP friendly, II-D MultiPath, II-E Data Centers, II-F
Single rate
Multi rate
Fine/Coarse scheduling
Network Coding
Coupling
Distributed
Centralize
Multipath
Cellular 3G,4G,5G
Mobile Adhoc
Fixed adhoc
QUIC
IoT
Queue Management
Packet Loss classification
Congestion Control
Resource Allocation
Admission Control
Congestion Window
Fig. 2. Paper Structure.
Performance Metrics
Efficiency
Fairness
Smoothness
Responsiveness
Aggressiveness
Convergence speed
Flow Completion Time
Fig. 3. Performance Metrics.
congestion controls designed for internet, data centers, and
wireless networks. Congestion control mechanisms are mostly
designed as reactive. However some proactive mechanisms are
also published such as [48]. This paper proposes a control
mechanism that explicitly computes the optimal sessions’
sending rates independently of congestion signals (i.e., proac-
tive mechanisms). Then predicts the proper rate in order to
avoid the congestion problems.
4) Performance Metrics: Various metrics have been intro-
duced to compare the performance of different mechanisms.
These metrics are listed in Figure 3. Some of these metrics
help to compare the quality of service that is served to the
users and some others help to observe the network resource
utilization. Network resource utilization and flow completion
time are the two metrics that are most helpful for the network
provider and end users respectively.
a) Efficiency: According to [49] ,”Efficiency is the aver-
age flow throughput per step (or per RTT), when the system
is in equilibrium”. Equilibrium is the state that the network
is stable or competitive flows achieve a balanced and stable
resources sharing point.
b) Fairness: Best effort nature of the packet based net-
works is one of the main reasons behind unfairness in network
traffic. Unfairness and bandwidth starvation may happen due
to having both TCP based and (User Datagram Protocol) UDP
based traffics on the same network resources. UDP based flows
are bandwidth hungry, prefer a stable data rate, and transmit
at a fixed rate. Therefore TCP/UDP flows transmission in
the same resources may cause unfair resource allocation.
Application layer mechanisms control the congestion in UDP
based flows ( section IV).
Besides different TCP protocols may behave differently, and
therefore inter-protocol unfairness occurs between different
congestion control mechanisms [18]–[21], [23]. For example
TCP Vegas suffers from bandwidth sharing when it is passed
through the same resources with TCP Reno. The reason is that
TCP Vegas uses more conservative mechanisms like different
slow start and fast retransmission.
Furthermore unfairness may also happen due to a different
Round Trip Time (RTT). This phenomenon is more obvious
when RTT based congestion control is applied in the Data
Center network where intra-rack traffics are competing with
inter-rack traffics ( section II-F).
c) Smoothness: Smoothness measures the variation in
the transmission rate of a connection using the protocol.
Smoothness is important in steady state
d) Responsiveness: Responsiveness is another metric
used to show the speed needed to reach an equilibrium [50].
In other words it measures how fast a connection reacts to
increased congestion by decreasing its window size. It is
desirable that the connection reduces its transmission rate to
its fair share promptly.
e) Aggressiveness: Aggressiveness measures how fast
the connection probes extra bandwidth by opening up its
window. It is particularly desirable that the connection acquires
the extra available resources quickly when available bandwidth
increases suddenly.
f) Convergence speed: Flow start/stop are the two preva-
lent events in networks. Therefore other flow rate adaptation
speed is one of the key factors to measure the performance of
control protocols. Delayed or slow response would affect user
flow completion time as well as network resource utilizations.
Convergence measures how fast competing flows converge to
their fair share of bandwidth. In other words, convergence
speed is related to the aggressiveness and responsiveness
indices. More aggressive and responsive protocols usually
converge faster.
g) Flow Completion Time(FCT): FCT is a metric that
would be more desired for the end user rather than network
service provider [51]. Network engineers have been working
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 4
on other metrics such as bandwidth improvement and effi-
ciency to improve their network performance while end users
might not even sense these improvements.
In this paper we reviewed papers published on various trans-
port control protocols designed to improve the performance for
different network and traffic characteristics (Figure 2).
In section II latency and throughput optimization (L&T)
in wired networks are reviewed. Internet in section II-A,
and Named Data Networks in section II-B, high bandwidth
delay product communications in section II-C , TCP friendly
in section II-D, Multi path transport control in section II-E
protocols, are considered as wired network control protocols.
In section II-F Data Center networks, traffic characteristics
and (L&T) mechanisms are studied. This section also covers
DC network topologies including switched centric (such as
Fattree and Leaf/Spine) and server centric networks (such
as BCube and Dcell). DC traffic characteristics are also
discussed in this section that covers incast problems in
addition to delay sensitive mice and throughput sensitive
elephant flows proportion. Remote Direct Memory Access
(RDMA) is also discussed as the recent advancement on DC
networks.
In section III (L&T) in wireless networks are surveyed.
section III-A covers cellulars (3G, 4G, 5G), section III-B
fixed ad hoc networks, section III-C Mobile Ad hoc Networks
(MANET), section III-C1 Vehicular Ad hoc Networks
(VANET), section III-C2 Flying Ad hoc Networks (FANET)
are covered.
Application layer flow control mechanism to optimize
the (L&T) are presented in section IV, including CoAP
section IV-A that is designed for Internet of Things (IoT)
and Quic section IV-B that is designed and implemented by
Google to reduce the web access latency.
In section VMachine Learning based approaches are
discussed to optimize (L&T) performance. ML algorithms
as predictive, descriptive and controllers will be introduced
section V-A. The rest of the section covers different ML
algorithms applied on queue management V-B, packet loss
classificationV-C, congestion conrol V-D, resource allocation
V-E, admission control V-F, congestion window control V-G.
As the final part of this paper, lessons learned and research
opportunities are presented in section VI .
II. LATENCY AND THROUGHPUT OPTIMIZATION (L&T) IN
WIR ED NE TWORKS
Kunniyur. et, al. in [24] proposed Adaptive Virtual Queue
(AVQ) and investigate it’s stability in the presence of feed-
back delays, it’s ability to maintain small queue lengths and
robustness in the presence of extremely short flows (the so-
called mice flows). Authors in [25], [26] proposed two other
approaches in network congestion control.
A. Internet
Modern networks are massively diverse in terms of condi-
tions. For example, RTTs of competing flows may vary by
more than 1000X; link bandwidths are from Kbps to Gbps;
real time vs non real time traffic transmission; multipath traf-
fic transmission possibility. Performance-oriented Congestion
Control (PCC) [47] sends at a rate r for a short period of
time, and observes the results SACKs indicating delivery, loss,
and latency of each packet. It aggregates these packet-level
events into a utility function that describes an objective like
“high throughput and low loss rate”. The result is a single
numerical performance utility. It runs a micro experiment to
control the rate, and continuous multiple micro experiments
help to achieve empirically consistent high performance. PCC
only needs a sender modification and they are experimented
on with different network characteristics such as in the wild
Internet, satellite link, unreliable lossy links, unequal RTT
competing sender, rapidly changing networks.
Sundaresan et al. in [52] developed an Internet path mea-
surement technique to distinguish congestion experienced
when a flow self-induced congestion in the path from when a
flow is affected by an already congested path. This technique
can be applied to speed tests when the user is affected by
congestion either in the last mile or in an interconnect link.
This difference is important because in the latter case the user
is constrained by their service plan (i.e., what they are paying
for), and in the former case they are constrained by forces
outside of their control.These days CUBIC is known as a
default LINUX TCP algorithm. CUBIC modifies the linear
window growth to be a cubic function in order to improve
the scalability of TCP over fast and long distance networks.
Window size in CUBIC slowly increases when it is close to
the saturation point [53]. Authors in [29], [54], proposed other
control mechanisms for internet services.
Nimbus [55] introduces a method to detect elasticity of the
cross competing traffic. In this method the sender modulates its
rate with sinusoidal pulses to create small traffic fluctuations
at the bottleneck at a specific frequency (e.g., 5 Hz). Then
Nimbus concurrently estimates the rate of cross traffic based
on its own send and receive rates. Nimbus monitors frequency
response (FFT) of the cross traffic to determine if the cross
traffic’s rate oscillates at the same frequency. If cross traffic
is inelastic then the sender can control queueing delays while
achieving high throughput. However, in case of elastic traffic,
the sender may lose throughput if it attempts to control packet
delay.
Low-Latency Low-Loss Scalable-Throughput (L4S) [56]
has been proposed as a new internet service . Nadas et al. [57]
showed that L4S schedulers are not able to handle high levels
of Internet heterogeneity. They propose a virtual dual queue
named Core Stateless Active Queue Management (CSAQM)
concept to maintain separate queues for L4S and classic traffic.
Therefore a coupled packet dropping/marking mechanism in
CSAQM improves the fairness among different flows.
B. Named Data Networks
Named Data Networking (NDN) is an emerging internet
architecture that is evolving from push mode to pull mode
(Figure 4). NDN emphasizes content by making it directly
addressable and routable instead of IP addresses. Authors in
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 5
[58]–[60] surveyed the NDN networks. Compared with the
traditional TCP/IP networking, the transport in NDN has its
specific characteristics such as receiver-driven (pull based), in-
path caching, hop-by-hop, one-Interest-one-data, multi-Source,
and multi-Path. Hence NDN congestion control mechanisms
are also different from classical networks.
NDN
Radio/Fiber/Copper ...
UDP P2P Bcast
Strategy
Named Data
Security
File stream
Browser/Chat
IP network
Radio/Fiber/Copper ...
Ethernet PPP ...
CSMA SONET ...
IP
TCP UDP ...
SMTP/HTTP ...
Email/WWW/Phone ...
Fig. 4. Host centric vs Data centric addressing .
ICP [61] is an interest control protocol for content-centric
networking. ICP realizes a window-based Interest flow con-
trol and achieves high efficiency and fairness under proper
parameters setting. Considering the NDN as receiver-driven
transport control, the old implicit congestion signals would
not be helpful. Ren et al. [62] proposed a NDN congestion
control algorithm based on explicit congestion feedback -
ECP (Explicit Control Protocol). It monitors the length of the
outgoing interest queue at the intermediate nodes to detect the
network congestion status proactively. Then it sends explicit
feedback to the receiver to adjust the sending rate of Interests
to control the returning rate of data correspondingly. Practical
congestion control (PCON) [63] scheme is also designed to
exploit multiple sources and multiple paths capability of the
NDNs. PCON detects congestion based on the CoDel [64]
AQM (by measuring packet queuing time). Then it explicitly
marks certain packets to signals back towards consumers .
Therefore downstream routers can divert traffic to alternative
paths and consumers can reduce their Interest sending rates.
Lei et al. [65] explores rate control protocol (RCP), which is a
unique hop-by-hop feature in NDN routing, and the one-to-one
relationship between interest requests and data packets. They
designed a rate-based, explicit and hop-by-hop congestion
control algorithm named NDN Hop-by-Hop RCP (NHBH-
RCP). Content popularity prediction is a CC approach that
is proposed in [66]. Authors in [67], [68] surveyed transport
mechanisms in NDN networks.
In some references, NDN networks are also called
Information-Centric Networking (ICN) [69] or Content Centric
Networks (CCN). Authors in [70]–[76] studied multipath
CC for ICN. Mobile ICN [77] are other research trends to
enhance network flexibility and mobility management. NDN
also benefit from in-network caching [78]. Authors in [79]–
[82] studied transport protocols in these networks.
C. High BDP Product Network
Increasing the link bandwidth (fiber optics) and delay (inter
continent links) introduces other network characteristics that
need to be considered when designing new transport control
protocols. Pipeline capacity or packet on the fly are the two
terms to define the networks that have their high bandwidth
and delay multiplications. The efficiency problem of these
networks is because traffic on the fly is more than the TCP
window size. Therefore traffic senders have to stay idle for
some time to receive their acknowledgements. Hence other
research trends started and following methods were published.
In 2000, Floyd in [39], proposed TCP’s congestion con-
trol mechanism to be used in TCP connections with large
congestion windows . Later on Cern in [83], introduced
Scalable TCP (STCP) to improve bulk transfer performance
in high speed wide area networks. In 2002, Ketabi et al.
[7] introduced eXplicit Control Protocol (XCP) which is a
general form of the Explicit Congestion Notification proposal
(ECN). They also introduce the new concept of decoupling
utilization from fairness control. In 2004, Xu et al. introduced
the Binary Increase Congestion control (BIC) and considered
RTT fairness in addition to bandwidth scalability. They utilized
two window size control policies called additive increase
and binary search increase [84]. In 2008, VCP published
[85] to optimize the XCP by utilizing two ECN bits for
network congestion feedback.Ha et al. [53] modifies the linear
window growth function of TCP to be a cubic function. This
modification improves the scalability of TCP over fast and
long distance networks. As cubic function behaves, CUBIC
increases the window size aggressively when the window is
far from the saturation point, and slowly when it is close to the
saturation point. These days, CUBIC is still the default Linux
transport protocol. Another protocol is published in [43] and
a comparative study of high-speed Linux TCP variants over
high-BDP networks is presented in [86].
D. TCP-Friendly
Real time applications such as audio/video need minimum
delay in data transmission, otherwise they lose their quality
and the interest of their users consequently. Additionally these
types of traffic can tolerate a little bit of traffic loss. For
example losing one packet out of an image frame of a video
does not affect the quality of that video very much. Therefore
real time applications tend to not deploy the TCP transport
protocol. Instead they used to employ more aggressive data
transmission protocols such as User Datagram Protocol (UDP).
UDP protocol does not provide packet received acknowledge-
ment and is considered a connectionless transmission protocol.
Growing too many real time applications these days may
cause less chance of TCP based flows. This problem may
cause a network collapse by itself, therefore it has been
the main reason to develop the TCP-Friendly rate Control
protocol (TFRC) [30], [31]. Considering the real time traffic
that can be unicast and multicast traffic, TFRC needs to
be designed to cover both two types of traffic. TFRC still
suffers from packet loss and delay due to long distance heavy
traffic and network fluctuations. Authors in [33] introduce a
number of key concerns like enhanced Round Trip Time (RTT)
and Retransmission Time Out (RTO) calculations, enhanced
Average Loss Interval (ALI) methods, and improved Time to
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 6
Live (TTL). These features are applied to TFRC to boost the
performance of TFRC over wired networks. McQuistin et al.
[87] also showed how use of ECN affects the reach- ability of
UDP servers. Authors in [22] surveyed TCP friendly protocols.
Jin et al. [88] propose Square-Increase/Multiplicative-Decrease
(SIMD) that is a window-based congestion control algorithm.
SIMD uses history information in its control rules. It increases
in window size in proportion to the square of the time
elapsed since the detection of the last loss event and It uses a
multiplicative decrease mechanism.
1) Unicast TCP-Friendly: TCP-friendly rate control
(TFRC) uses mathematical models to mimic the TCP
equivalent. Equation 1is the simplest model proposed for the
TFRC [30], [31].
T(tRT T , s, p) = c.s
tRT T .p(1)
Where c is a constant (commonly approximated as
1.5p2/3), s is the segment size, p is the packet loss rate, and
tRT T is round trip time. TFRC uses the windowing mechanism
to control the rate. According to the formula increasing
the packet loss rate and also round trip time decreases the
transmission rate. Note that there is no packet retransmission
for the lost packet in TFRC. There are more complex formulas
to consider the retransmission timeout value, and number of
packets acknowledged by each ACK and the maximum size
of the congestion window.
2) Multicast TCP-Friendly: Multicast real time traffic is
another main characteristic of the real time flows. For example
many users could watch the same Netflix video at the same
time. Therefore congestion control for the multicast real time
traffic is also required to be considered. Figure 5. shows
friendly classification of single and multi rate.
Rate Adaptation Protocol (RAP) is an end-to-end TCP-
friendly transport protocol. It is designed for video-on-demand
servers to provide real time applications for the large number
of users [89]. RAP is a rate-based congestion control mecha-
nism that is suited for unicast playback of real time streams.
RAP adopts an AIMD algorithm for rate adaptation to be fair
to use with TCP flows. SCP [90] is also proposed for real time
streaming of continuous multimedia across the internet. SCP
fairly shares the network resources with other TCP and SCP
flows. Additionally SCP stream flows smoothly and ensures
low and predictable delay.
Like the other transport control protocols, TCP-friendly
algorithms also need to address three issues: the decision func-
tion, the increase/decrease algorithm, and decision frequency.
Authors in [30] surveyed the TCP-Friendly Congestion Con-
trol mechanisms.
loss-delay based adaptation algorithm (LDA+) uses the real-
time transport protocol (RTP) for collecting loss and delay
statistics which are then used for adjusting the transmission
behavior of the senders [91]. Multimedia multicast scalability
issues of TCP led to TCP Emulation at Receivers (TEAR).
TEAR shifts most of the flow control mechanisms to receivers
[92]. TEAR results in superior fairness to TCP with signifi-
cantly lower rate fluctuations than TCP. TEAR’s sensitivity to
feedback intervals is shown to be very low. It is also shown
that even under high feedback latency, TEAR flows exhibit
acceptable performance in terms of fairness, TCP-friendliness,
and rate fluctuations.
A key issue in the design of source-based multicast con-
gestion control schemes is how to aggregate loss indications
from multiple receivers into a single rate control decision
at the source. Bhattacharyya et al. in [93] proposed a novel
loss indication filtering called the linear proportional response
(LPR) approach.
Authors in [94] proposed another CC scheme as a large-
scale reliable multicast. They incorporates several novel fea-
tures: (1) hierarchical congestion status reports that distribute
the load of processing feedback from all receivers across
the multicast group, (2) the relative time delay (RTD) con-
cept which overcomes the difficulty of estimating round-
trip times in tree-based multicast environments, (3) window-
based control that prevents the sender from transmitting faster
than packets leave the bottleneck link an the multicast path
through which the sender’s traffic flows, (4) a retransmission
window that regulates the flow of repair packets to prevent
local recovery from causing congestion, and (5) a selective
acknowledgment scheme that prevents independent (i.e., non-
congestion-related) packet loss from reducing the sender’s
transmission rate.
Scalable and reliable multicast systems require the con-
sideration of some problems such as feedback implosion,
retransmission scoping, distributed loss recovery, and CC.
Therefore authors in [95] proposed active services at strategic
locations in the networks. They exploit physical hierarchy
for feedback aggregation and effective retransmission scoping
with minimal router support.
pgmcc is also proposed as a single rate multicast CC scheme
[96]. pgmcc achieves scalability, stability and fast response to
stochastic network behaviour. The innovation of pgmcc is a
fast and low-overhead procedure to select the acker.
Thus far we studied single rate TCP friendly methods.
Following multi rate TCP-friendly will be discussed in more
detail. In [97] the Receiver-Driven Layered CC (RLC) is
proposed which is receiver driven and requires no per-receiver
status at the sender. This helps to overcome scalability prob-
lems. Yano et al. in [98], proposed another approach in which
each receiver maintains its own congestion window and indi-
vidually runs window control modeled after TCP. Other multi
rate TCP friendly algorithms have presented in [99], as Fair
Layered Increase/Decrease with Dynamic Layering (FLID-
DL), [100] as Layered Transmission Scheme LTS, [101] as
Multicast Loss-Delay Based Adaptation Algorithm (MLDA),
[102] as video multicast using hierarchical forward error
correction technique. In [103], other TCP friendly algorithms
are proposed.
E. Multipath
The idea of multipath transport protocols has evolved since
the beginning of various Internet connections on mobile de-
vices such as wifi and 4G adapters together. Later on this idea
extends to other networks which have multiple connections
at the same time such as data center networks. Multipath
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 7
TCP Friendly CC
Single Rate Multi Rate
Rate Window Rate Window
RAP
LDA+
TFRC
TEAR
RLA,LPR
MRCP
NCA
pgmcc
RLC
FLID
LTS
TFRP
MLDA
Rainbow
Fig. 5. TCP Friendly [30].
transport provides attractive features of increased reliability,
throughput, fault tolerance, and load balancing capabilities.
As a downside multipath stability,convergence, and packet re-
ordering are the main challenges of multipath transport control.
Delay based is applied CC in multipath scenarios [104]. TCP
fairness is another key feature that needs to be taken into
account to design multipath TCP [105], [106]. Authors in
[107]–[109] surveyed different multipath TCP protocols.
As a first attempts Equal-Cost Multi-Path routing (ECMP)
applied in network layer traffic engineering to achieve load
balancing [110]. In 2009 Honda et al. published the Equally-
weighted TCP (EWTCP) [111], [112]. EWTCP applies TCP-
NewReno algorithm on each route independently of other
routes. In receiving Ack, It adjusts the window on multiple
routes as wr=wr+a/wr. On each loss, it adjusts the
window on multiple routes as wr=wr/2.
Decoupled and coupled are two ways to classify multipath
congestion control mechanisms. If multipath is a simple ex-
tension of a single path TCP (like the previous ones) is called
decoupled multipath CC. However they are unfair to single
TCP flows. A coupled multipath correlates all the sub-path
congestion windows and controls the total congestion window
size. Table I. shows some of the multipath TCP mechanisms
In 2012, Khalili et al. showed that MPTCP users could be
excessively aggressive towards TCP users [113]. They design
opportunistic linked increases algorithm (OLIA) which is a
window-based congestion-control mechanism. OLIA couples
the additive increases and uses unmodified TCP behavior in
the case of a loss. Zhang et al. also proposed the weighted
ECMP, and they develop a model to obtain the split ratios
such that the overall network end-to-end delay is optimized
[114]. They also applied a flow-based routing model rather
than destination-based forwarding to IP networks. Le et al.
published the idea of multipath binomial CC [115]. They
extend the model of binomial algorithms for single-path to
support the concurrent transmission of packets across multiple
paths. MultiPath TCP (MPTCP) [116] adds an extra MPTCP
layer which provides CC on the top of multiple TCP subflows.
MPTCP starts with one path and increases the number of paths
through MP-CAPABLE handshake at initialization and MP-
JOIN negotiation. Web performance could improve if it runs
over MPTCP. Authors in [117] studied losses and insufficient
band-width utilization of the web over MPTCP.
Web applications are another great usage of the multipath
TCP. Object multiplexing design in HTTP/2 improves the web
performance. To improve the performance even further [118]
proposed the TM 3 multiplexing architecture. Leveraging
multiple concurrent multiplexing pipes in a transparent man-
ner, TM 3 eliminates various types of head-of-line blocking.
Energy-Aware Multi-Path TCP is another key point in mobile
devices to consider, therefore [119] proposed eMPTCP which
seeks to reduce power consumption compared to standard
MPTCP. eMPTCP utilizes a combination of power-aware sub-
flow management and delayed subflow establishment. Wang et
al. [120] published another effort on energy efficient CC for
multipath TCP in heterogeneous networks.
Hesmans et al. in [121] proposes a multipath TCP path
manager (SMAPP) that delegates the management of paths to
the applications. Path quality based multipath AIMD (AIMD-
PQ) is proposed in [32]. AIMD-PQ leverages a combination of
packet loss and path quality signals to balance the loads among
its sub-paths. The internet policy drop can be a simple way for
network operators to reduce the traffic they carry. [122] studied
the policy drop effect on single path and multipath TCP.
While monitoring the loss rate and received throughput, end
users can detect policy drop detection. Drop based MPTCPs
suffer from policy drop unless they design to work separate
and independent CC in each path. In 2013 (combining the
functions of HTTP/2, TLS, and TCP directly over UDP)
Quick was designed and developed by Google. Quick reduces
the client-server session establishment. [123] proposed the
Multipath QUIC (MPQUIC) to use different paths such as
WiFi and LTE on smartphones. Complex interdependencies
between the multi path losses, packet reordering due to het-
erogeneous wireless channel features, errors, and link layer
retransmissions, as well as their (joint) influence on MPTCP’s
control mechanism necessitate the comprehensive multipath
CC design approach. While relying on a parallel queueing
model, Pockrel et al. [124] designed a MPTCP algorithm to
exploit the route heterogeneity.
Gigabit 5G networks and their high throughput/delay sen-
sitive applications such as remote control of unmanned ter-
restrial and aerial vehicles implies the need for reliable and
latency-constrained data flows. Chiariotti et al. [125] proposed
Latency-controlled End-to-End Aggregation Protocol (LEAP).
They forecast the stochastic of the latency-constrained capacity
of each path to maximizing the throughput. Cross-path payload
encoding is also applied to control the minimum probability
of timely data delivery within a predefined deadline.
As discussed before, stability of the multipath CC (load
balancing) is a real concern to balance the traffic fluctuation
between multi paths. Therefore different types of schedulers
are proposed to overcome this problem. Network congestion
agnostic/aware are the two groups of active traffic scheduling
research. Besides, fine/coarse level scheduling is another type
of scheduling research classifications. In sectionsection II-E1
scheduling based multipath CC will be discussed more.
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 8
Algorithm Coupling of
subflow
windows
TCP
Friendly
condition
Congestion
Indication
Signals
TCP- new Reno [126] No No Loss Based
EWTCP [111] Yes Yes Loss Based
mVegas [127] Yes Yes Delay Based
mReno [127] Yes Yes Loss Based
MSTCP [128] No No Loss Based
semi coupled [129] Yes Yes Loss Based
OLIA [130] Yes Yes Loss Based
Coupled [131], [132] Yes Yes Loss Based
ecMTCP [133] Yes Yes Loss Based
Tradeoff [134] Yes Yes Loss Based
CMP-AIMD [135] Yes Yes Loss Based
Weighted Vegas [136] Yes Yes Delay Based
TABLE I
MULTI PATH TCP METHODS [109].
1) Scheduling Based CC: Network traffic congestion could
be also controlled through multipath scheduling. Therefore
different types of scheduling are proposed to alleviate the
network load balance problem [137]. Network congestion
agnostic or aware are the two classes of schedulers that have
been researched. To enable testing of different schedulers for
Multipath TCP Paasch et al. [138] designed and implemented
a generic modular scheduler framework.
a) Congestion Agnostic/Aware Flow Scheduling: Equal
Cost Multi Path (ECMP) as one of the congestion agnostic
traffic scheduling, deploys the packet header fields hashing
to find the output path. Therefore, collision may happen
because of the nature of the hashing functions. Depending on
traffic flow size / delay sensitivity distribution, hash collision
could be problematic which will be more discussed in section
section II-F.
b) Homogeneous/Heterogeneous network flow schedul-
ing: Data center networks are more homogeneous while the
combination of Wifi and cellular networks are heterogeneous
multipaths networks. Therefore two different types of sched-
ulers could achieve higher load balancing/throughput. Choi et
al. [139] derived the theoretical limit of the achievable aggre-
gate throughput in heterogeneous wireless multipath environ-
ments. They proposed an optimal load balancing (OLB) sched-
uler that approximately achieves the theoretical throughput
limit. Lim et al. [140] propose and implement an MPTCP path
scheduler called ECF (Earliest Completion First), that utilizes
all relevant information about a path, not just RTT. It is shown
that ECF outperforms the default MPTCP in some scenarios in
which heterogeneity paths are used. Dong et al. [141] showed
that a default MPTCP is generally beneficial for throughput-
sensitive large flows with large numbers of subflows, while it
may be harmful for latency-sensitive small flows running over
heterogeneous paths. They propose to dynamically adjust the
subflows according to application workloads ( DMPTCP).
c) Fine/Coarse grain scheduling: Fine coarse grain
scheduling has different advantages and disadvantages. Packet
, subflow (fixed/variable size), and flow scheduling are dif-
ferent types of schedulers. Packet and subflow scheduling
achieve a more balanced load, but they may suffer from
packet reordering. Kandula et al. [142] show that a single
flow can be systematically split across multiple paths without
causing packet reordering. They proposed scheduling called
FLARE. It attains accuracy and responsiveness comparable
to packet switching without reordering packets. A power
aware scheduling mechanism in [119] has also been designed
to schedule the subflows. Coflow is another technique that
is proposed as mixing more short flows. Some applications
deploy collections of parallel short flows (to mix as coflow)
to convey job-specific communication . Optimizing a coflow’s
completion time (CCT) decreases the completion time of cor-
responding job [143], [144]. Authors in [145]–[150] proposed
other granularity scheduling.
d) Other Scheduling: Reactive/Proactive and priority
based scheduling are other classes of research. Oh et al.
[151] proposed a scheduling algorithm that performs packet
scheduling according to the receiver buffer and network delay.
This method estimates out-of-order packets and assigns data
packets to sub-flows based on the estimation. Hong et al.
[152] proposed Preemptive Distributed Quick (PDQ) flow
scheduling that is a protocol designed to complete flows
quickly and meet flow deadlines. PDQ is implemented in a
distributed way to improve the scalability of the protocol.
Zhang et al. [153] proposed a Priority-based flow scheduling
for online social network datacenters(PFO). Their method
allocates rates for different flows based on flow size and
deadline information. it decreases the average completion time
for bursty flows and ensures a high throughput.
Network Coding (NC) is also a subset of network infor-
mation theory that has led to advancements in the network
throughput optimization. NC involves performing operations
other than mere forwarding and replication at the network
nodes. Leveraging a given while encoding and merging the
relevant messages at the relay node is one of the operations that
NC is used to increase network efficiency. After considering
the merging mechanisms, multipath traffic engineering and
traffic multicast (or broadcast ) are the two most applicable
cases for NCs
Linear NC is the most cited NC approache [154]. Linear
NC uses a block of data as a vector and a node applies a
linear transformation to that vector before passing it on.
As a tentative future trend, Software Defined Networks
(SDNs) [155]–[158] are another new research trend to make
the networks more programmable. Control and forward-
ing planes are separated in SDNs to improve the manage-
ment. Sonkoly et al. [159] exploit large-scale SDN based
testbeds that support multipath transport control protocols.
Programming Protocol-independent Packet Processors (P4)
programmable data plane is proposed to improve the SDN
networks [160].
F. Latency and Throughput Optimization (L&T) in Data Cen-
ter (DC) Networks
As it is discussed before, different network and traffic
characteristics implies customized transport protocol design
consideration. A Data Center (DC) is a computing environ-
ment with large amounts of inter-connected resources such as
computational and storage resources. A typical DC may have
hundreds of thousands of servers. Data center resources inter-
connect using various data communication network topologies.
DC network topologies (section ?? II-F1a) are designed to be
resilient [161]–[163], massively scalable [164] and multi path
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 9
[165], [166]. A typical datacenter is made up of thousands
of servers connected with a large network located close to
each other in a large hall. Millions of customers’ virtual
machines should be served in DC networks [167]. Mysore
et al. [168] proposed Portland as a scalable fault-tolerant
layer 2 DC network fabric. PortLand employs a logically
centralized fabric manager that maintains a soft state about
network configuration information. They deploy positional
pseudo MAC addresses for efficient forwarding, routing, and
VM migration. Optical interconnects have also gained atten-
tion recently as a promising solution offering high throughput,
low latency and reduced energy consumption compared to
electronic packet networks based on commodity switches.
Kachris et al. [169] surveyed optical interconnects for DC.
Further, traffic flow monitoring in these scalable networks is
a challenge to overcome [170].
Further, a DC traffic pattern needs to meet specified stan-
dards (section ?? II-F1d). Traffic that is running in DC
networks is a mix of user-generated interactive traffic, traffic
with deadlines [171], [172], and long-running traffic. The most
common DC traffic challenges include but are not limited to
unpredictable traffic matrix [173], mix of flow types and sizes,
and delay sensitivity. Traffic burstiness, packet reordering,
performance isolation, incast problems, and outcast problems
are some of the most common challenges in designing DC net-
works and transport protocols. Low latency service is the main
requirement of the DC characteristics. To reduce the service
delay [174] surveyed the attempts into four groups of works
including reducing queue length, accelerating retransmissions,
prioritizing mice flows, and exploiting multi-path [175].
DC network traffic control can be also managed in
distributed or centralized fashion. However Distributed
methods are more scalable and therefore more interested in
practice. Further different types of networks and transport
protocols are required in different aspects of the DC networks.
Inter-DC [176] and intra-DC are the two main aspects of DC
networks that have their specific characteristics and transport
requirements. Jain et al. in [177] utilized SDN networks to
design, implement, and evaluate the B4 as a private WAN
connecting Google’s data centers across the planet. Authors
in [178]–[184], surveyed DC network topologies, traffic
characteristics and transport protocols.
1) Related works:
a) Network Topologies: DC network characteristics are
different from other networks. DC servers are typically located
in rows of racks of servers in a big hall near to each other.
There are high speed links and very short distance between
the servers. Therefore data is transferred from one server to
another in only a few microseconds [185]. Any delay such as
queuing in this short distance could be a significant service
effect. Besides high speed optical links and slow increase of
buffer size are the reason to consider shallow buffer switches
in DC network analysis [186]. Moreover scalability is a key
requirement of the data center networks [187]. Researchers are
studying two types of network topologies as switch centric and
server centric types of networks. Zhang et al. [188] compre-
hensive surveyed research activities in DCNs. They emphasis
Switch
Switch
Switch
Rack of Servers
Switch
Rack of Servers
Switch
Switch
Rack of Servers
Switch
Rack of Servers
Fig. 6. Fat Tree topology, higher bandwidth links to the core switch
Switch Switch
Switch Switch Switch Switch
Rack of servers
Rack of servers
Rack of servers
Rack of servers
Fig. 7. Leaf Spine
on the network architecture design, congestion notification
algorithms, TCP Incast, and power consumption.
b) Switch Centric: These types of networks are multi-
rooted tree topologies, interconnecting the edge, aggregate,
and core switches. Fat-Tree (Figure 6) is one of the most
popular switch centric networks [189]. Leaf-Spine (Figure 7)
is another very common topology [190], [191].
c) Server Centric: In Server centric networks, servers
with multiple network ports act as not only end hosts, but
also relay nodes for other servers. These networks are more
scalable and cheaper than switch centric. However, in these
networks, servers have to spend some portion of their pro-
cessing power on rerouting the incoming traffics.
BCube is one of the server centric network topologies
that is specifically designed for shipping-container based,
modular data centers [192] . Dcell is another server centric
network that scales doubly exponentially as the node degree
increases [193]. Jellyfish is more cost-efficient than a fat-tree,
supporting as many as 25% more servers [194]. Jellyfish also
allows great flexibility in building networks with different
degrees of oversubscription. BCube is another server centric
data center topology [195]
d) DC Traffic Patterns and problems: Traffic patterns in
DC networks consist of mice and elephant flows. Mice and ele-
phant flow proportion varies based on the type of applications
that the DC is serving [183]. Besides mice flows are typically
delay sensitive while elephant flows are throughput sensitive
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 10
Fig. 8. Incast problem in Data Center networks.
traffic. Alizadeh et al. [196] proposed an idea to trade a little
bandwidth for ultra-low latency in the DC. East-west vs south-
north traffic is another classification in DC network traffic. To
serve delay sensitivity, Preemptive Distributed Quick (PDQ)
[152] is one of the techniques that schedule the flows to
meet the flow deadlines PDQ. Chen et al. [197] proposed a
scheduling algorithm that deadline flows minimally impacting
the FCT of non-deadline flows. It is more challenging to have
reactive CC mechanisms meet the flow deadline because of
stringent latency requirements to cloud data center networks.
Therefore proactive methods are also increasing exponentially
[198]. Authors in [199]–[201] studied traffic characteristics of
the different DC networks. Besides, one to many, many to
one are other types of traffic characteristics that are mostly
common in DC networks.
e) Performance Isolation: DCs are the main infrastruc-
ture to provide cloud services. Sharing network resources
among cloud tenants is the technique to increase the resource
utilization, customers, and revenue consequently. Performance
isolation prevents selfish tenants from controlling and not
overusing the resources [199]. EyeQ [202] provides tenants
with bandwidth guarantees to isolate the network performance
at the edge.
f) Incast problem: In DC networks Incast is the con-
sequence of the various synchronized many-to-one commu-
nication patterns created by partition/aggregate applications.
Some of these applications are web search, MapReduce, social
network content composition, and advertisement selection.
Incast causes the queue buildup and buffer pressure in switches
[203]–[205]. According to the reports from large data cen-
ter operators such as Facebook [200], Google [206], and
Microsoft [207], incast problems mostly occur close to the
receiver (Top of Rack switches). Figure 8. shows the Incast
problem.
Researchers have published various attempts to overcome
the incast problem. Alipio et al. [208] reviewed the incast prob-
lem solutions that are provided. They classified the solutions
as TCP based and non-TCP based techniques. They classified
non-TCP approaches further as link [209]–[212], application
[213] and cross layer [214] techniques. Additionally the TCP
based approaches are also classified into active queue manage-
ment [152], [172], delay based, and multipath TCP (section
?? II-F2c) group of works.
Alizadeh et al. [209], [215] described and analysed the
Quantized Congestion Notification (QCN) as an attempt to
develop an ethernet congestion control algorithm for hardware
implementation. Random TCP timeout is also one of the
methods to reduce the buffer pressure and incast problems
consequently. Fair Quantized Congestion Notification (FQCN)
[216] is proposed to improve fairness of multiple flows sharing
one bottleneck link. Incast-Avoidance TCP (IA-TCP) [217] is
also proposed to avoid the TCP incast congestion problem. IA-
TCP employs the rate-based algorithm at the aggregator node,
which controls both the window size of workers and ACK
delay. Deadline-Aware Datacenter TCP (D2TCP) [218], as a
distributed and reactive approach, employs another congestion
avoidance algorithm. D2TCP utilizes the ECN feedback and
deadlines to modulate the congestion window via a gamma-
correction function. It is also shown that [219] a proper
tuning of ECN at the intermediate switches can alleviate Incast
problems. Authors in [220]–[225] proposed other approaches
to ameliorate the incast problem.
Vasudevan et al. [204] proposed a safe and effective fine-
grained TCP retransmissions for DC networks. RCC [226] is a
receiver side Incast solution that makes effective use of a cen-
tralized scheduler and Explicit Congestion Notification (ECN)
at the receiver. Wu et al. [227] designed an Incast congestion
Control for the TCP (ICTCP) scheme at the receiver side to
adjust TCP receive window proactively. Wang et al. [228] also
proposed proactive Incast congestion control in a DC network
serving web applications. Packet pacing is also proposed as
another Incast solution. Rezaei et al. [229] proposed ICON as
an Incast solution using fine grained control over sending rate
by pacing traffic in data center Networks.
Incast scalability is another issue to overcome recently.
NDP re-architects the datacenter networks and stacks for low
latency and high performance. This method uses back pressure
along with trimming the packet and forwarding the header
fields to overcome reordering problems in the receiver [230].
NDP can deal with massive incast events and will prioritize
traffic from different senders on RTT timescales. In NDP
Incast performance is compared with other methods when
the number of senders increases up to 432-nodes in FatTree
topology. In spite of all great advantages of NDP, it is not
backward compatible with commodity switches. Therefore it
is an expensive and time consuming solution to develop.
g) Outcast problem: Prakash et al. [231] presents that
outcast problems occur when two conditions are met. First
switch uses taildrop queue discipline, and second a large set
of flows and a small set of flows arriving at two different
input ports compete for a bottleneck output port at a switch. it
happens in DCs because of their many to one traffic pattern.
h) Related studies: Network programmable data planes
increase flexibility and efficiency of the network. In-Band
Network Telemetry is a recent advanced feature of the pro-
grammable networks [232]. Probabilistic In-band Network
Telemetry (PINT) [233] is an in-band network telemetry
with less overhead cost. HPCC [234] leverages in-network
telemetry (INT) to obtain precise link load information and
controls traffic precisely.
Data Plane Development Kit (DPDK) [235] is an open
source software project that is managed by the Linux Foun-
dation. DPDK provides a set of data plane libraries and
network interface controller polling-mode drivers. It offloads
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 11
TCP packet processing from the operating system kernel to
processes running in user space. This improves the computing
efficiency and higher packet throughput than is possible using
the interrupt-driven processing provided in the kernel. This
technology is mostly applied in software switches. To reduce
the delay of short flow processing, mTCP [236], a high-
performance TCP stack is designed for multicore systems
implemented in user- space. mTCP is designed to 1- translate
multiple expensive system calls into a single shared memory
reference, 2- allow efficient flow- level event aggregation, and
3- perform batched packet I/O for high I/O efficiency.
2) Data Center Approaches: DC traffics are very high
speed and are volatile; therefore centralized schemes are not
easy to scale and typically suffer from delays and distributed
mechanisms seem more desirable .
a) Centralized: Centralize CC is one group of studies
to control the network traffics and congestion. A central
scheduler in Hedera [175] aims to assign flows to non-
conflicting paths. Flowtune [150] is another centralized
approach that utilizes an allocator to control the flowlets in
DC Networks.
b) Distributed: Distributed control is the most popular
control system in any scalable systems. Thus far many dis-
tributed mechanisms have been proposed in DC networks.
Some of these mechanisms are relatively cheap to develop
through modifying the end host [46], [237]. However some
others need hardware change on middle switches, which
makes them more expensive [230], [238]. Hardware processing
can also reduce the processing time in the end host NIC
[239]. Data Center TCP (DCTCP) [5], [46], Leveraging ECN,
DCTCP is able to gauge the extent of congestion and therefore
DCTCP achieves adaptive rate reduction rather than halving
the transmission rate in response to network congestion.
As it is discussed in transport protocols of the previous
networks, DCs can also rely on delay or ECN to control
their network congestion [240]. However the problem with
delay based is that a very fine grain clock is required in the
end host to keep track of the packet delays. High speed and
low distance traffic paths take about microsecond delay to
transfer the traffics. Therefore it is more challenging to achieve
high performance in DC networks with delay based transport
protocols. Authors in [8], [241]–[245] proposed different delay
based flow control in DC networks.
ECN based transport protocols are another group of DC
transport protocols. ECN is utilized in different ways such
as dynamic ECN marking threshold [246], enabling ECN in
multi-service multi-queue [247], adaptive marking threshold
method for delay-sensitive [248] traffics, Time-based Conges-
tion Notification (TCN) [249]
Back pressure is another technique that is also tried in DC
networks. Priority-based Flow Control (PFC) uses a back pres-
sure mechanism to provide loss less transmission. However
PFC is a coarse grain mechanism because it works based on
ports and is not flow based. Therefore it consequently causes
congestion spreading and poor performance [250]. In PFC the
congested switch sends PAUSE/RESUME messages to uplink
entities to stop/resume sending traffic on that link. A drawback
of PFC is that it is congestion spreading.
As it is discussed in DC network topologies and their traffic
characteristics, minimizing the switch buffers as a shallow
buffer boosts the performance of DC networks. Therefore
pFabric is proposed as a near-optimal datacenter transport
[238], [251]. pFabric provides near theoretically optimal flow
completion times even at the 99th percentile for short flows,
while still minimizing average flow completion time for long
flows. As pFabric requires specialized hardware, thus pHost
[252] proposed to decouple the network fabric from scheduling
decisions. pHost introduces a new distributed protocol that
allows end-hosts to directly make scheduling decisions.
While leveraging underlying complementary strategies of
pFabric and PDQ [152], PASE is proposed as a transport
framework that synthesizes the PDQ and pFabric. PASE adjust
the endpoints in network prioritization (used in pFabric), and
arbitration (used in PDQ).
c) Multipath: Considering the most popular DC network
topologies as switch centric networks, multipath transport
protocol is a common approach. Thus far different granularity
scheduling have been applied in multipath DC research. As
different granularity multipath approaches packet based load
balancing [253], flow level adaptive routing [254], [255],
fixed size flowlet called flow cell [256],and variable size
flowlet granularity [257] have been published. Random Packet
Spraying (RPS) is another approach that is proposed in [258].
They argue that symmetrical DC network topologies provide
the multiple equal-cost paths between two hosts. These paths
are composed of links that exhibit similar queuing properties.
Therefore, TCP is able to tolerate the induced packet reorder-
ing and maintain a single estimate of RTT.
Cao et al. [259] proposed Explicit Multipath (XMP) Con-
gestion Control through Buffer Occupancy Suppression (BOS)
algorithm, and Traffic Shifting (TraSH). BOS helps as control-
lable link buffer occupancy to meet the low latency require-
ment of small flows. TRaSh shifts the multipath traffic, thus
improving the throughput of large flows.
TinyFlow [260] breaking elephants flows down into mice
and applies ECMP. CONGA [261] is also a distributed
congestion-aware load balancing mechanism. CONGA splits
the TCP flows into flowlets, estimates real-time congestion
on fabric paths, and allocates flowlets to paths based on
feedback from remote switches. DC networks serving cloud
tenants could apply transport protocols on server hypervisors.
Authors in [256], [262] present virtualized congestion control
and Presto as edge-based load balancing. Chen et al. [263]
present that loss is not uncommon in DC networks. They
propose a loss recovery approach FUSO that exploits multi-
path diversity in DCN for transport loss recovery. EMAN [264]
distributes outbound traffic from a sending end host depending
on the bandwidth of each path. EMAN uses feedback from
the receiver to update each path’s available bandwidth. Then
it reacts to network asymmetries caused by failure and flow
competition.
PASE [265] is also designed as a transport framework that
synthesizes transport strategies such as self-adjusting end-
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 12
points (used in TCP style protocols), in network prioritization
(used in pFabric), and arbitration (used in PDQ). PASE is
backward compatible, and it does not require any changes to
the network fabric. PIAS [266] is a DCN flow scheduling
mechanism that tries to minimize FCT by mimicking Shortest
Job First (SJF). PIAS is one of the flow size-agnostic schedul-
ing for commodity data centers. PIAS emulate SJF without
knowing flow sizes in advance. PIAS implements a Multiple
Level Feedback Queue (MLFQ) based on multiple priority
queues that is available in existing commodity switches. PIAS
uses the MLFQ to gradually downgrade a flow from higher-
priority queues to lower-priority queues. Downgrading method
is based on the number of bytes it has sent. Therefore short
flows are likely to be finished in the first few high-priority
queues and thus be prioritized over long flows in general.
d) TCP Adaptive Initial Rate : TCP initial adaptive rate
improves the performance of applications in which there are a
myriad of short flows. Short flows may finish before reaching
the maximum rate and exploring the available resources. Pad-
manabhan et al. proposed [267] that the sender caches network
parameters to avoid paying the slow start penalty for each web
page download. Paced Start [268] uses the difference between
data packet spacing and the acknowledgement spacing to
improve TCP startup. Hoe et al. [269] shows another initial
rate improvement.
In [270], [271] authors study the initial window configura-
tions of major Content Delivery Networks(CDN). They also
found a high amount of initial window customization that
is beyond current Internet standards. Studies in [272] show
that increasing the window size from four to ten segments
improves the HTTP response up to ten percent. Radhakrishnan
et al. [273] published the TCP fast open mechanism that
data exchange during TCP’s initial handshake. They applied a
token that verifies IP ownership to address the security issue.
Kodama et al. [274] proposed the Initial Window adaptation
through Rate-Based Pacing (RBP) start method. RBP algo-
rithm is applied here for only one RTT after the connection
establishment.
Considering the sequence of start up rate adaptation, rein-
forcement learning is another technique to apply in startup
rate adaptation. In [275] group-based reinforcement learning
(RL) is developed to enable a web server, through trial-and-
error, and to adaptively set a proper IW for a web flow. Initial
Congestion Window adaptation is also tried for 5G Mobile
Edge Computing through Deep Reinforcement Learning [276].
Despite the previous studies to find the maximum possible
startup rate, there are studies tried to reduce the startup rate.
Gentle slow start [277] is a method that tries to alleviate the
incast problem in DC networks.
3) Future Trends:
a) Advanced Network Interface Cards (NICs): Offload-
ing the packet processing tasks from general-purpose CPUs is
one of the main purposes to develop the advanced Network
Interface Cards. These cards are designed to support both
network virtualization and application-specific tasks. Grant et
al. [278] introduced FairNIC, a system to provide performance
isolation between tenants utilizing the full capabilities of a
commodity system-on-a-chip (SoC) SmartNIC. Modern smart
NICs have fully programmable and energy-efficient multi-
core processors [279], [280] to increase their flexibility and
efficiency.
b) RDMA, Kernel Bypass: Over the recent years
40/100/400 Gbps links have been growing rapidly [281],
[282]. Besides the classic disk I/O bottleneck is migrating
to solid-state disk or in-memory computing [283]. Therefore
CPU consumption and packet processing latency of traditional
TCP/IP stack become significant. As it was discussed before,
delay sensitive applications can’t tolerate this much delay
on DC massive networks. Remote Direct Memory Access
(RDMA) is developed as a direct memory access from the
memory of one computer into that of another without involving
either one’s operating system (Figure 9). This enhances high-
throughput and low-latency networking, which is especially
beneficial in enormous parallel computer clusters. RDMA may
soon replace TCP in data centers [284]–[286]. Initial RDMA
could be applied on lossless links like infiniband networks.
InfiniBand (IB) is a communications standard used in high-
performance computing that features very high throughput and
very low latency. InfiniBand has been applied in either a direct
or switched interconnect between servers and storage systems,
as well as an interconnect between storage systems. InfiniBand
provides RDMA capabilities for low CPU overhead. As an
interconnect IB competes with Ethernet. Gusat et al. [287]
present the infiniband CC mechanism that consists of con-
gestion detection/marking, congestion signaling, injection rate
reduction, and injection rate recovery. Hutchison et al. [288],
[289] presents RDMA performance on InfiniBand clusters and
WAN. Jiang et al. [290] surveyed the link layer congestion
management of lossless switching fabric.
RDMA is applied to improve the performance of various
distributed applications. Ouyang et al. [291] proposed the
Pipelined Process Migration with RDMA(PPMR) to overcome
inefficient I/O overhead. They achieve a 10.7X speedup to
complete a process migration over the conventional approach.
Ren et al. [292] designed a middleware to transfer data over
the RDMA. Their design includes resource abstraction, task
synchronization, and scheduling. Their results outperforms the
classical approach while maintaining very low CPU consump-
tion. Kalia et al. [286] designed and implemented the HERD
which is a key-value system over the RDMA networks. Their
design uses a single round trip for all requests and supports
up to 26 million key-value operations per second with 5µs
average latency. Binnig et al. [293] design a distributed in-
memory Database Management Systems (DBMS) over the
RDMA networks. Paxos helps State Machine Replication
(SMR) to tolerate various types of failures. APUS [294] is an
RDMA-based Paxos protocol that aims to be fast and scalable.
Chiller: Contention-centric Transaction Execution and Data
Partitioning for Fast Networks [295].
Latency reduction has also been tried in different aspects
of the networks. Sriraman et al. [296] observe extreme tails
latency that happens in UDP/TCP-IP, but not in RDMA packet
exchanges. A zero copy transport [297] is another approach
that is designed for distributing dataflow frameworks. Zero
copy unifies application and networking buffer management
and completely eliminates unnecessary memory copies.
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 13
RDMA congestion control is also a growing research chal-
lenge over the recent years. RDMA provides hop flow control
and rate based end to end congestion control [298]. Guo et
al. [299] describes the challenges of applying RDMA over
commodity Ethernet (RoCEv2). They designed a priority flow-
control (PFC) mechanism to ensure large-scale deployment.
They addressed the safety challenges brought by PFC-induced
deadlock, RDMA transport livelock, and the NIC PFC pause
frame storm problem. Tagger [300] is also proposed to prevent
the deadlock problem in RDMA. Tagger uses a tagging scheme
that can be developed to ensure that no deadlock will occur
under any failure conditions.
FaSST is also a RDMA-based system [301] that provides
distributed in-memory transactions with serializability and
durability. FaSST has scalable and simple distributed transac-
tions with two-sided (RDMA) datagram RPCs. RoCEv2 relies
on Priority-based Flow Control (PFC) to enable a drop-free
network. However, head of Line blocking and unfairness are
the challenges of PFC. DCQCN is introduced [250] as an
end-to-end congestion control scheme for RoCEv2. Escudero
et al. [302] proposed Flow2SL-ITh is a congestion control
mechanism for infiniband networks. Flow2SL-ITh is a tech-
nique that combines a static queuing scheme (SQS) with the
closed-loop congestion control mechanism included in IBA-
based hardware (a.k.a. injection throttling, ITh). Flow2SL-ITh
separates traffic flows in different virtual lanes (VLs) in order
to reduce HoL blocking, while the injection rate of congested
flows is throttled. ACCurate [303] is a congestion control
protocol for RDMA Transfers that assigns max-min fair rates
to flows. ACCurate is a scheme suitable for efficient hardware
implementation
RoCE provides low latency and low CPU usage but it suffers
from network stability. The reason is that RoCE utilizes the
PFC which is a backpressure mechanism to provide lossless
networking to RDMA.
RoGUE [304] is a congestion control and recovery mecha-
nism for RDMA over Ethernet that does not rely on PFC. This
allows the use of RDMA for high performance, supporting
both the Reliable Connection (RC), and Unreliable Connection
(UC) RDMA transports.
Incast resolution and multipath transport are two interesting
recent RDMA based DC network research. Dart [306] is
proposed as a divide-and-specialize approach, which separates
the receiver congestion and remaining in-network conges-
tion. For receiver congestion Dart uses direct apportioning
of sending rates (DASR) and directs each n senders (that
it is receiving from) to cut their rate by a factor of n. For
the spatially-localized case Dart provides fast response by
adding novel switch hardware for in-order flow deflection
(IOFD) because RDMA disallows packet reordering. Multi-
path RDMA (MPRDMA) efficiently utilizes the rich network
paths in data centers. MP-RDMA proposed in [307] employs
three techniques to address the challenge of limited RDMA
NICs on-chip memory size: 1) a multi-path ACK-clocking
mechanism to distribute traffic in a congestion-aware manner
without incurring per-path states, 2) an out-of order aware
path selection mechanism to control the level of out-of-order
delivered packets, and 3) a synchronise mechanism to ensure
Fig. 9. RDMA [305]
in-order memory update whenever needed.
Mushtaq et al. [308] studied the bulk of research on
DC congestion control and found that the switch scheduling
algorithm as the most essential feature. They present that
if the rate-setting algorithm at the host is reasonable then
congestion control mechanisms that use Shortest-Remaining-
Processing-Time (SRPT) achieve superior performance. They
reach the point that SRPT’s performance is more robust to
host behaviors. They observe that approximate and deployable
SRPT (ADS) designs exist. ADS leverage the small number of
priority queues supported in almost all commodity switches.
Their result is close to SRPT and better than FIFO.
III. LATENCY AND THROUGHPUT OPTIMIZATION (L&T)
IN WIRELESS NE TWORKS
Data loss in wired networks happens mostly because of the
network congestions packet drop. Therefore data loss is the
main signal of congestion and controls the transmission rate
in wired networks. However, although congestion is one of
the reasons to lose the packet in wireless networks, interfer-
ence and signal level may also cause data loss. Hence other
techniques are required to adapt wireless networks. Moreover,
due to user mobility and channel fadings, network bandwidth
and round trip time fluctuations are more common in wireless
networks. Then, considering special characteristics of them,
they need customized CC techniques to handle their special
environments. With regards to network classifications, some
of the wireless networks have fixed infrastructure like cellular
and wifi, while there are also wireless ad hoc networks where
there are no fixed infra structures. Ad hoc networks are also
classified into class of mobile ad-hoc network and fixed ad-
hoc networks (Figure 10). In 2001 TCP Westwood [309] was
published as a sender-side-only modification to TCP New
Reno.
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 14
Wireless networks, III
Cellular,
3G/4G/5G, III-A
Fixed adhoc
networks, III-B
Mobile Adhoc
Network, III-C
VANET, III-C1 FANET, III-C2
Fig. 10. Wireless Section.
TCP westwood intended to better handle large bandwidth-
delay (HBD) product paths, with potential packet loss which is
more common in wireless than wired networks. HBD network
was discussed before, but a combination of HBD and wireless
network is a challenge of heterogeneous networks. Wang et
al. [310] published the TCP-FIT that performs well over
heterogeneous networks that contain both wireless and large
BDP links.
In this section we survey different wireless networks and
their traffic characteristics, in addition to their challenge in
designing efficient transport protocols. In section section III-A
we review the cellular networks, section section III-B covers
fixed ad hoc networks such as sensor networks. Section
section III-C discuss Mobile Adhoc Networks (MANET) such
as Vehicle Ad Hoc (VANET section III-C1)and Flying Ad Hoc
(FANET section III-C2) network.
A. CC in Cellular (3G, 4G, 5G) Networks
Fixed bandwidth physical channel is one of the main char-
acteristics of the wired networks. However radio links capacity
is very volatile. Radio link speed fluctuates for many reasons
such as weather conditions, user to antenna line of sight (which
change based on user mobility), and multipath radio fading
[311], [312]. Besides in wireless network user handset power
is a limiting constraint that needs to be considered to design
any new functionality. Additionally high-resolution live video
and Augmented Reality/Virtual Reality are very much growing
applications in cellular networks which require high bandwidth
and low delay traffic paths. Furthermore cellular networks keep
large buffers at base stations to smooth out the bursty data
traffic over the time-varying channels and hence bufferbloat
is more possible to occur. Studies in [313]–[315] confirmed
that the bufferbloat problem is becoming a severe challenge
in cellular networks. Therefore these networks and their traffic
characteristics make them more complex to design an efficient
CC mechanism. Multi-gigabit-per-second data rates for fifth
generation cellular networks impose even more challenge in
designing efficient transport protocol [316].
To alleviate this issue, smartphone vendors put an upper
bound on the sender’s congestion window by advertising a
static receive window smaller than the actual receive buffer
size. Jiang et al. [315], [317] propose the Dynamic Receive
Window Adjustment (DRWA) to improve TCP performance
over bufferbloat cellular networks. Verus [312] is an end-to-
end CC protocol that uses delay measurements to adapt the
window size.
In continuation with older techniques, some packet marking
and rate based TCP algorithms have been proposed to alleviate
the buffer bloating problem in cellular networks. Accelerate-
Brake Control (ABC) [318] is a mechanism developed to mark
each packet with an “accelerate” or “brake” notification as
signaling in the base station. This causes the sender to either
slightly increase or slightly reduce its congestion window.
PropRate [319] is a rate-based TCP algorithm that directly
regulates the packets in a bottleneck buffer. This helps to
achieve a trade-off in terms of delay and throughput.
As it is discussed before, users’ mobility in cellular net-
works makes highly variable network behaviour. Therefore
there is a lot of research on prediction, estimation, forecast,
and adaptivity to control the flow in cellular networks [320],
[321]. In Sprout [311] the receiver makes a short-term forecast
of the bottleneck link rate using probabilistic inference. Sprout
is a transport protocol for real-time interactive applications
over cellular networks. As the primary signal Sprout deploys
the receiver’s observed packet arrival times to determine
the quality of the radio link channel at different moments.
Then the Sprout receiver sends the forecast to the sender by
piggybacking it onto its own outgoing packets. Huang et al.
[314] developed a lightweight passive bandwidth estimation
technique for LTE. They show that LTE has lower RTTs
than those of 3G networks. ExLL [322] infers the cellular
bandwidth through the downlink packet reception pattern. Exll
is a low-latency CC that can adapt to dynamic cellular channels
without overloading the network, which is mostly popular in
probing the dynamics of radio channels. Exll also calibrates
the minimum RTT from the inference on uplink scheduling
intervals.
In addition to forecasting the network and user behaviour,
cross layer CC is also another approach that researchers have
been trying to explore. Consistent congestion and contention
cooperation control mechanisms improves the global end-to-
end connection and the local wireless link. Therefore authors
in [323] propose a Cross-layer-based Adaptive CC (CACC)
for the connection-based transport layer and the link-based
media access layer. CQIC [324] is another cross layer CC
mechanism that is proposed in 4G cellular networks. CIQC
leverages the physical layer information exchanged between
4G base stations and mobile phones to predict the capacity of
an underlying cellular link, and
5G networks provide very high and volatile bandwidth
to the users. CC researchers are also studying 5G networks
performance and improvement scenarios. Zhang et al. [325]
presents a performance evaluation of TCP CC in 5G mmWave
cellular. Ford et al. [326] surveys some of the challenges
and possible solutions for delivering end-to-end reliable ultra-
low-latency services in mmWave cellular systems in terms of
the MAC layer, CC, and core network architecture. Network
Slicing has been applied as an essential feature of future 5G
mobile communication networks. Han et al. [327] proposes
a novel approach of inter-slice admission and CC. Nasimi et
al. [328] proposed a CC mechanism that functions within the
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 15
framework of Multi-Access Edge Computing (MEC). They
introduced a dedicated function called CC Engine (CCE).
CCE captures the Radio Access Network (RAN) condition
then utilizes this knowledge to make real time decisions for
selectively offloading traffic.
1) D2D or M2M : Device to Device (D2D) or Machine to
Machine (M2M) (also known as Internet of Things (IoT)) is
another growing application of cellular networks [329]–[331].
M2M communication CC is a key performance challenge to
improve.
B. CC in Fixed ad hoc networks (Sensor Networks)
Challenges in cellular networks CC would be more com-
plicated when there is no infrastructure like base stations.
These days a myriad number of sensor network applications
are proposed and developed in environmental/earth sensing
and industrial monitoring. Air pollution and water quality
monitoring, as well as forest fire and landslide detection are
some of the environmental sensing applications of the sensor
networks. Machine health monitoring, Water/wastewater, and
structural health monitoring are also known as some of the
frequent industrial application of the sensor networks.
Sensor network topologies vary based on their applications.
It may be very random when a UAV randomly distributes
sensors in an inaccessible location. Their topologies may also
be neatly designed in advance like industrial applications.
Traffic volume in this type of network may not be huge and
their applications are very delay sensitive. The constraints in
sensor networks are memory, and computational power. In
addition to specific network and traffic characteristics, there
are performance metrics defined for them specifically.
As it is discussed in [332], congestion in sensor networks
can be detected through buffer occupancy, wireless channel
load, and a combination of buffer occupancy. Additionally
congestion in sensor networks could be notified explicit im-
plicitly. A wide variety of the sensor networks CC are surveyed
in [332]–[336].
C. CC in Mobile Ad hoc Networks (MANET)
Vehicular and Flying ad hoc networks are the two recent
mobile adhoc systems that are growing rapidly. Smart cities,
Internet of Things (IoT), and autonomous driving and flying
vehicles are the main reasons for growing MANETs. There
are applications running in these networks that generate delay
sensitive data traffics. In general CC in MANET can be
classified in three classes. 1- packet loss based transport
mechanisms [337]–[344], 2-cross-layer based CC [345]–[349],
3-other CC approaches [350]–[352]. Dimitris Kanellopoulos
surveyed these mechanisms in more detail [353].
1) Vehicular Ad-hoc NETworks(VANET): These days
vehicles are being equipped with embedded sensors with
processing and wireless communication capabilities [354].
The VANETs can provide a wide variety of services
such as Intelligent Transportation System (ITS) e.g. safety
applications. Some applications of VANETs are published
such as intersection collision avoidance, information
communication with other vehicles, sign extension, vehicle
diagnostics, and maintenance. VANET CC protocol design
needs to know the network characteristics. VANET
characteristics are variable in network density in urban
and rural, predictable mobility because of the road maps, no
power constraints, rapid changes in network topology, large
scale network in dense areas,and high computational ability
[355]. VANET mobility is more predictable not only because
of the road maps but also because of users’ daily behaviour.
For example every morning x number of users drive to work
in specific repeated paths and the same behavior takes place
in the evening. Therefore network traffic density and hourly
congestion could be predicted in most cases.
Warning: emergency message!
Warning: emergency message!
Fig. 11. Accident warning message broadcast back to approaching vehicles
in VANET.
Safety message scheduling and distributed CC are the two
types of studies that are growing in VANETs (Figure 11).
DRCV [356] monitors and estimates channel load and controls
the packet rate of outgoing periodic when event-driven safety
packets are detected, and the rate of periodic packets has
to be dropped promptly therefore Fast drop mechanism is
developed to manage this part. MOTabu [357] is a dynamic
and distributed mechanism. It consists of two components:
congestion detection and CC. Channel usage level is used to
detect and it is controlled by MOTabu algorithm that is used
to tune transmission range and rate for both safety and non-
safety massages by minimizing delay and jitter. Gatekeeper
controls the packet rate as a function of the channel load
in European standardization. Kuhlmorgen et al. [358] studied
the performance of the gatekeeper with packet prioritization
and an adaptive linear control algorithm. This is designed
to make sure that high vehicle density and channel load
conditions do not impact the efficiency and safety of the
applications. DySch and TaSch [359] are strategies to assign
priorities to the safety and service messages. These priorities
are defined based on the content of messages as a static factor,
state of network as a dynamic factor and size of messages.
This technique helps to increase reliability and safety by
giving higher priority to the safety messages. Kuhlmorgen
et al. [360] evaluate the performance of contention-based
forwarding (CBF) under congestion-free and saturated channel
conditions for several protocol variants. Their results show
that the standard distributed CC (DCC)-gatekeeper hinders the
functionality of CBF even for small node densities. They also
proposed an enhanced DCC-gatekeeper-based approach.
Reliability of the safety applications is one of the main
concerns on designing VANET. Network congestion is one of
the main reasons behind unreliable communication. Therefore
CC for reliable safety communication is a research topic that
researchers are trying to improve. Beacon and event-driven
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 16
warning are two important messages that have been utilized
to improve road safety and traffic efficiency in VANET.
Beacons are periodically broadcasted by vehicles to inform
their neighbors of their information. Le et al. [361] considered
three beacon CC algorithms that control the beacon load
below a certain threshold by adjusting the transmit rate and/or
transmit power for the beacon messages. Darus et al. [362]
developed a CC algorithm to provide reliable event- driven
safety messages. Bouassida et al. [363] presented the concept
of dynamic priorities-based scheduling, to ensure a reliable
and safe communications architecture. Messages priorities are
dynamically evaluated according to their types, the network
context and the neighborhood. Qureshi et al. [364] surveyed
the CC of VANET and they proposed a Dynamic CC Scheme
(DCCS) as a means of reliable and timely data delivery,
in safety applications. An adaptive beacon generation rate
(ABGR) CC mechanism is also proposed [365] to reduce chan-
nel congestion and contention. A survey of CC mechanisms on
VANET is published in [366]. Named data networking is a data
oriented communication model that is also applied on VANET.
Author’s in [367], [368] surveyed named data networking in
VANET.
2) Flying Ad hoc Network (FANET): Applications of
swarming Unmanned Aerial Vehicle (UAV) are growing in
smart cities. UAVs communication is one of the key factors
to improve their flight performance and security. Therefore
Flying Ad Hoc Networks and their transport protocols are
a new research area. Authors in [369]–[371] reviewed the
FANET communication, architecture and routing protocols.
IV. LATENCY AND THROUGHPUT OPTIMIZATION (L&T)
IN AP PL IC ATIO N LAYER
Application layer transport control is another method that is
used in some technologies. Constrained Application Protocol
(CoAP) used for Internet of Things (IoT) devices. IoT will
be more discussed in section IV-A. Quic is also another
application layer transport protocol developed by Google. Quic
is covered in section IV-B .
A. Internet of Things (IoT), CoAP
The Internet of Things is also a recent technology that
is growing very fast. Many devices such as sensors and
actuators communicate together to form an IoT system. [372]
extensively discuss the IoT, vision, architectural elements, and
future directions. IoT Applications, investments, and chal-
lenges for enterprises are discussed in [373], and Farooq et
al. reviews the IoT in [374]. It is different from the previous
networks because there is less control over the middle way
nodes to control the congestion. Besides, the traffic pattern of
this system is different from previous networks. IoT devices
are also power constrained devices, hence CC protocol should
be designed in a way to consume the minimum possible
power. Buffer overflow happens frequently in this technology
since IoT devices utilize shallow buffers and they have lossy
transmissions mostly because of the wireless network.
The Extensible Messaging and Presence Protocol (XMPP),
Message Queuing Telemetry Transport (MQTT), and Ad-
vanced Message Queuing Protocol (AMQP) [375], [376] are
IoT application protocols which use the TCP as a transport
layer protocol to offer data transmission. However Constrained
Application Protocol CoAP is another IoT application protocol
designed to provide a fast connection between devices. CoAP
runs over the User Datagram Protocol (UDP) [376]. CoAP
is a lightweight RESTful application layer protocol that is
developed for the IoT. CoAP must handle congestion control
by itself since CoAP operates on top of UDP. CoAP utilizes
the confirmable or non-confirmable messages to communicate.
Default CoAP applies random initial retransmission time outl
(RTO), doubling the RTO value of the retransmitted packet if
the ACK is not received (loss). In response to detecting packet
loss, doubling the RTO also called Binary Exponential Backoff
(BEB) is applied to overcome the congested communication
in CoAP [377], [378].
RTO and backoff estimation are the topics that researchers
try to improve. [379] is proposed to find RTO based on the
ratio between current sample of the round-trip time (RTT)
and the RTO value. Later on a 4-state estimator for variable
backoffs is proposed in CoCoA [380] to a balance between
maximizing throughput and minimizing packet loss. CoCoA+
[381] improves the performance of CoCoA mechanism in
three stages. 1- initial RTT estimator is modified. 2- BEB
is replaced for retransmissions by a Variable Backoff Factor
(VBF). 3- aging approach for large RTO. Bolettieri et al. [382]
proposed a RTO estimation modification as precise Congestion
Control Algorithm (pCoCoA). Different congestion control
mechanisms are surveyed in [383].
CoRE is an alternative to CoAP congestion control approach
that is a topic of interest in the IETF Working Group. Betzler
et al. [384] evaluate and show how the default and alternative
congestion control mechanisms compare to each other.
B. QUIC
HTTP/2 is developed by Google to run over TCP to mul-
tiplexe multiple connection stream. It fixes the head-of-line
(HoL) blocking problem. QUIC establishes a number of mul-
tiplexed connections over User Datagram Protocol (UDP) to
resolve the HoL problem. QUIC is also designed to reduce the
connection and transport latency, and bandwidth estimation in
each direction to avoid congestion [385]–[387]. Additionally
QUIC moves the congestion control algorithms into the user
space at both endpoints, rather than the kernel space.
Research studies are focused on comparing the performance
of QUIC and other alternatives while they are running on dif-
ferent networks. Megyesi et al. [388] studied the performance
of QUIC, SPDY (precedent of QUIC) and HTTP. They found
that their performance depends on actual network conditions.
Carlucci et al. [389] ran the same evaluation. They have found
that QUIC reduces the overall page retrieval time with respect
to HTTP in case of a channel without induced random losses
and outperforms SPDY in the case of a lossy channel. Kakhki
et al. [390] identified performance issues related to window
sizes, reordered packets, and multiplexing large numbers of
small objects. Further they identify that QUIC’s performance
diminishes on mobile devices and over cellular networks.
Biswal et al. [391] found that QUIC performs better under
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 17
poor network conditions such as low bandwidth, high latency,
and high loss. Manzoor et al. [392] showed that QUIC achieves
sub-optimal throughput in WiFi networks. They tuned QUIC to
produce bursty traffic called Bursty QUIC (BQUIC) . BQUIC
achieves better performance in WiFi. In addition to the delay,
security of the QUIC is a key factor to consider. Saverimoutou
et al. [393] studied the security aspects of the TLS/TCP
and QUIC/UDP. They identify some vulnerabilities of two
protocols and evaluate their impacts on HTTP/2-based web
services.
In current congestion control mechanism, data paths are
becoming diverse such as Linux kernel TCP, UDP-based
QUIC, or kernel-bypass transports like mTCP-on-DPDK
[236]. Therefore separating the congestion control agent out-
side of the datapath is another interesting research topic
[394], [395] called Congestion Control Plane (CCP). CCP
improves both the pace of development and improve the
maintenance of congestion control algorithms. Kaufmann et al.
in [396] presents TAS, which is an implementation of moving
congestion control out of the datapath to a dedicated CPU.
V. LATEN CY A ND THROUGHPUT OPTIMIZATION (L&T)
TH ROU GH MACHINE LEARNING/NEURAL BAS ED
ALGORITHMS
Machine Leanrning (ML) algorithms have been growing
exponentially over the last decade. They improved the per-
formance of different complex problems of various fields
significatly. ML algorithms are evolved in three main groups
of prediction, description and control problems.
A. ML introduction
There are three main groups of machine learning algorithms
that are growing exponentially. Predictive, descriptive and
Reinforcement Learning controllers.
a) Predictive: Prediction algorithms try to forcast the fu-
ture events based on previuous labeled information as training
datasets. These algorithms are also called supervised learning
or in some other references, they are called generalization and
function estimation. Regression and classifications are the two
most common works on prediction problems. ML algorithms
could be also classified as parametric and non parametric.
Paramettric algorithms work as function estimation and
optimizing the parameters of assumed functions. Linear and
logistic regression work as function estimation and binary
classifier respectively. Linear regression is a linear function
of the input predictors y=β0+β1x1+... +βnxn, where
n is number of predictors. Minimizing the error between
input data and estimator helps to find the function parameters.
Logistic regression assumes a sigmoid function (y=ex
1+ex)
as relation between predictors and the output. Different error
(cost) optimization such as gradient descent can be applied to
find the function parameters.
Non-parameteric algorithms do not make strong assumption
about the form of mapping functions, therefore they are more
flexible to fit training data. Decision tree and it’s derivatives
such as random forest, gboost, and xgboost are a group of
well-knwon non-parameteric predictors. k- Nearest Neighbors
(kNN) and Support Vector Machine (SVM) are the other two
non-parameteric supervised ML algorithms that are applied on
various of problems.
b) Descriptive: descriptive machine learning algorithms
are also known as clustering or unsupervised learning. These
algorithms try to cluster a set of objects in such a way that
objects in the same group are more similar (in some sense) to
each other than to those in other groups. Density based [397]
and hierarchical clustering [398] are the two lagorithm that
are used in network traffic clustering.
c) Reinforcement Learning, Controller: RL algorithms
are a subset of ML that interact with environment to train and
then deploy as controller. Focus of the RL algorithms is on
finding a balance between exploration (of uncharted territory)
and exploitation (of current knowledge. RL agents learn to
choose actions that maximize the cumulative rewards based on
the environment state. RL uses the Markov Decision Process
(MDP) to represent the environment. Dynamic programming
[399]–[401] is the most common technique used to solve
MDPs. Q-learning [402] is another approach for a model-
free reinforcement learning algorithm that is developed to
solve the MDP problems with stochastic state transitions and
rewards. Figure 12. represents the RL diagram. Network flow
rate control can be also seen as a sequence of decisions to
increase or decrease the transmission rate. This flow rate
decision helps transmitters to adapt the network load and
behavior. Environment states and rewarded feedback are the
two main components that RL algorithms need as input to
work. Then RL agents train to generate actions according to
the environment state.
Agent
Environment
Action at
New state stReward rt
Fig. 12. Reinforcement learning, Agent and Environment interaction diagram.
In 2015 authors in [403] inspired from psychological and
neuroscientific perspectives of animals integrate the deep
learning [404], [405] and RL to develop the idea of Deep
Reinforcement Learning (DRL) (Figure 13). A few months
later, leveraging the DRL, Alphago and other atari games
[1], [2], [406] were the computer program to defeat world
champion challenge. This shows that DRL are able to achieve
beyond human capability. This game is known to be googol
times more complex than chess. Humanoid is another substan-
tial presentation of the DRL capabilities. DRL is also applied
on other games to investigate a variety of decision sequences
and DRL performance [407]. These days Deep Reinforcement
Learning is significantly popular because of its glorious result
on different control and decision making problems.
Integrating deep learning in RL agents, facilitates the in-
creasing size of environment states dimensions. Some of the
most popular recent continuous states DRL algorithms are
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 18
deep reinforcement learning with double Q-learning [408],
Deep Deterministic Policy Gradient (DDPG) [409], Luong
et al. surveyed deep reinforcement learning applications in
communications and networking [410].
Some DRL applications on networks are limited to discrete
and finite actions and states. Mao et al. [411] proposed a
network resource management that is developed based on
finite actions DRL algorithms. TCP-Drinc [412] is a deep
reinforcement learning based congestion control that uses
a finite set of actions to resize the TCP window in five
different ways : A={w=w±1; w=w±1
w;no change}.
Experience-driven networking [413] is another DRL based
approach for traffic engineering problems. DRL-TE uses a
finite set of throughput and delay as discrete state space as
well as a finite set of actions. It’s reward is defined as the
total utility of all the communication sessions.
State
Input Layer
.
.
.
Hidden Layer
.
.
.
Output Layer
.
.
.
Estimated parameter
θ
Policy
Π(θ, a)
Agent
Environment (Network)
st, rt
at
Fig. 13. Deep Reinforcement Learning model.
Utility function extraction is also a technique that is tried in
different studies. In this method researchers try to find out the
network utility as a function of feedback signals and trans-
mission rate. Utility function later extends to reinforcement
learning algorithms to control the network flows. A utility-
based congestion control scheme for Internet-style networks
with delay is presented in [414]. In [415] the state of the
network is defined in three variables as: 1- An exponentially-
weighted moving average (EWMA) of the interarrival time
between new acknowledgments received (ack ewma), 2- An
exponentially-weighted moving average of the time between
TCP sender timestamps reflected in those acknowledg- ments
(send ewma), and 3- The ratio between the most recent RTT
and the minimum RTT seen during the current connection
(rtt ratio). By learning the dynamics of the network envi-
ronment the DQL agent aims to maximize the total utility
of all the communication sessions, which is defined based
on end-to-end throughput and delay. They use two utility
objective functions as U=log(throughput)δ.log(delay)
and U=1
throughput . Increasing throughput or decreasing
delay increases the first utility function while only increasing
the throughput can increase the second utility function. They
achieve better results in cellular network situations, which
could have been expected since utility objective function is
tracking the throughput fluctuation in cellular networks. In the
case of data centers, there is no improvement in their results
since throughput in data centers are not much fluctuating like
cellular networks.
Performance-oriented Congestion Control (PCC) [47] is
another attempt at designing a utility model. They defined the
utility function as U(x) = T.Sigmoidα(L0.05) x.L.
where x is the sending rate, L is the observed data loss rate, T
= x(1 - L) is sender’s throughput, and Sigmoidα(y) = 1
1+eαy
for some α > 0. PCC Vivace [416] is designed within the PCC
framework to leverage machine learning based optimization.
Mobile Oriented Rate Control (MORC) [417] builds based on
the PCC protocol design framework to achieve high through-
put and low latency. MORC uses the achieved goodput, packet
loss rate, and average latency to build utility functions and
then uses an online learning optimization algorithm to select
the best rate.
Verus [312] is another attempt to extract a network delay
profil to apply on TCP window size. The key idea of Verus
is to continuously learn a delay profile that captures the
relationship between end-to-end packet delay and maximum
window size over a short monitoring interval, and uses this
relationship to increment or decrement the window size
based on the observed short-term packet delay variations. At
each time instance,Verus either: increments or decrements
W, using the delay profile as W(t + 1) = f(d(t) + δ(t)) ,
where W (t + 1) is the next sending window, f is the delay
profile function with d(t) being the network delay, and δ(t)
is a delay increment or decrement value. Copa [418] is
a method that presents a target rate equals a function of
throughput and delay ( 1
δ.dq) under a Markovian packet arrival
model (steady state). δis a weighting for delay and throughput.
Machine learning algorithms are applied in different data
networks’ problems. Authors in [419]–[423] surveyed var-
ious machine learning approaches to resolve a variety of
the network problems. In terms of delay and throughput
improvmenet, Predictive and RL controller ML algorithms
have been applied on problems such as queue management,
packet loss classification, congestion window update, conges-
tion inference, and admission control, resource allocation.
B. Queue Management
Managing the buffer queues in intermediate nodes
(switches/router) have been one of the complicated prob-
lems.Conventional queue management have problem to utilize
links efficiently, queue delays and unfairness. Advanced Active
Queue Management (AQM) schemes also suffer from poor
responsiveness, queue length stabiliity problem, and its per-
formance (utilization and drop) highly depends on parameter
tuning. Many different approches have been published either as
predictors or controllers. Gao et al. [424] designed predictive
AQM as a generalized version of RED with traffic prediction.
Their approach stabilize the queue length at a desirable level
and enables the link capacity to be fully utilized, while
not incurring excessive packet loss. DEEP BLUE [425] is
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 19
proposed as DRL based AQM scheme. Kim et al. [426]
investigate the Q-learning DRL algorithm to manage the IoT
network queues.
C. Packet Loss classification
Packet loss classification is a key feature in wireless network
because loss due to radio link fading problem could be
distinguished from congestion based loss. Authors in [427]–
[430] proposed different algorithms to classify the packet
losses.
D. Congestion Control
Network state predictions are widely applied in different
networks to proactively control the data flow. Sprout [311] is
a transport protocol for real-time interactive applications over
paths that traverse the cellular wireless networks. Sprout uses
packet arrival times as a congestion signal. Probabilistic infer-
ence is also used to forecast the packet deliveries. Sender uses
this forecast to pace its transmissions. Random forest [431] is
another machine learning technique that is used to forecast the
volatile bandwidth in LTE cellular networks. Other ML algo-
rithms are also tried in network link congestion prediction. Wu
et al. in [432] presented the Support Vector Machine (SVM)
[433], Multi-Layer Perceptron (MLP) [434], Onedimensional
Convolutional Neural Network [435], [436](1DCNN) and K-
Nearest Neighbor (KNN) [437], to predict the network link
congestion for Software-Defined-Network Data Plane.
Iroko [438] is designed as a framework to prototype rein-
forcement learning for data center traffic control. Iroko uses
the DDPG and PPO algorithm to train the DRL agent. Iroko
uses the switch buffer occupancy, interface utilization, and
active flows as the network (environment) states. Actions are
defined as bwibwmax aiihosts and reward function
is :
RX
ihosts
bwi
bwmax
| {z }
bandwidth reward
ifaces
| {z }
weight
(qi
qmax
)2
| {z }
queue penalty
std
|{z}
devpenalty
DRL is also applied to control the congestion in cellular
networks [439]. In this study DQN [406] and A3C [440] are
used to train the agent. Observation state space defined as the
EWMA of 1- the time interval between two sent packets, 2- the
time interval between two consecutive ACKs, and 3- the RTT
(round trip time). The action space is a set of three possible
decisions to be enforced over the TCP congestion window
(cwnd): 1- cwnd incremented (50 bytes), 2- cwnd decremented
(-10 bytes) and, 3- cwnd not changed. The reward function was
defined based on the throughput per flow, being calculated as:
throughput = (bits/latency(s))
Cui et al. [441] proposes Hd-TCP as a DRL based Con-
gestion Control for mobile networks in High-Speed Railway
(HSR). Hd-TCP is designed to deal with frequent handover
on HSR from the transport layer perspective. Hd-TCP uses
state vector is 1) goodput: an Exponentially-Weighted Moving
Average (EWMA) of the receiving rate, defined as the number
of ACK’ed bytes during an RTT, divided by the RTT, 2) cwnd:
the current congestion window size, 3) avgRTT: the average
RTT during a time step, 4) queue-delay (dq): the queuing
delay during a time step, measured as the difference between
the avgRTT in the same time step and the estimated RTprop
(minimum RTT) in the time window of 10 s, 5) loss-count:
the number of lost packets during a time step,and 6) rsrp:
the reference signal receives power, the signal power between
UE and base station, measured from the LTE physical layer
information perceived by the UE. Actions and rewards in Hd-
TCP are defined as Table II and Equation 2. Actions are
discrete and finite in this study.
Actions Change size(Byte)
Rapid Increase 520
Increase 50
Rapid Dencrease -520
Decrease -50
No Change 0
TABLE II
ACTIONS OF HD-TCP, [441]
reward =(log(throughput)log(dq),if dq
log(throughput)4log(dq),if dq > 
(2)
More recent DRL training algorithms are more efficient,
therefore continuous action and state space are possible to
process. This continuity improves the fine control problem.
Asynchronous Advantage Actor-Critic (A3C) [440], Trust
Region Policy Optimization (TRPO) [442], and proximal
policy optimization (PPO) [443] are recent approaches
that enable the DRL continuous actions. Multiple agent
DRL is also another approach to control multiple related
problems. DRL-CC [444] is proposed to dynamically and
jointly perform congestion control for all active MPTCP
flows on an end host. DRL-CC utilizes a single agent instead
of multiple independent agents. The objective of trained
agents is to maximize the overall utility. They applied the
LSTM-based representation network into an actor-critic
framework for continuous (congestion) control. In this paper
state is represented as an array of sending rate, goodput,
average RTT, the mean deviation of RTTs, and the congestion
window size. These variables are considered for each subflows
separately. Action is defined as an output array that each
element corresponding to change needs to be made to the
congestion window of that subflow. Reward is the sum of the
utility of all subflows that is defined as different functions of
throughput, delay, α-fairness [445].
DRL is also applied on NDN [446] as emerging future net-
work architecture. Network state and actions are represented
by Table III and IV consecutively. Reward function is also
defined as Equation 3:
Utilityi(t) = αi.log(throughputi(t)) βi.RT Ti(t)
γi.lossi(t)δi.reorderingi(t)(3)
Where i1,2, ..., N and t > 0represent different types of
contents and different monitor intervals. αi, βi, γiand δiare
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 20
the parameters which control the relative weight or importance
of throughput, average RTT, loss rate and packet reordering
in the current monitor interval. They applied Deep Q-learning
(DQN) to train the agent. They use seven hidden layers in
their agent’s neural network. Their neural network consists of
ten inputs, seven outputs and 128 nodes per each hidden layer.
Variable Definition
i prefix The prefix of requesting content
i priority The priority of parameter of requesting content
i cwnd The immediate window of sending interest packets
i count Total number of interest packets sent during the monitor interval
d count Total number of Data packets received during the monitor interval
l count Total number of packets retransmitted during the monitor interval
d size Average size of Data packets received during the monitor interval
d rtt Average RTT of Data packets received during the monitor interval
m time The time of monitor interval
d time The time of decision intervals
TABLE III
NDN STATE [446].
Way of change Extend of changes (condo)
Increase +1, * 1.25, *1.5
Decrease -1, * 0.75, *0.5
Maintain 0
TABLE IV
NDN ACTIONS [446].
E. Resource Allocation
Predicting demand variability and future resource utilization
is the main reason to consider predictive ML algorithms
[447]. Network Functions Virtualisation (NFV) is growing
to enable service providers to offer more flexible software-
defined network functions. Mijumbi et al. [448] proposed a
Neural Network algorithm to predict future required resources
on NFV. Shi et al. [449] applied MDP to dynamically allocate
cloud resources for NFV components. Testolin et al. [450]
propose a machine learning approach to support QoE-based
Video Admission Control (VAC) and Resource Management
(RM) algorithms.
F. Admission Control
Cellular wireless networks suffer from radio link resource
limitation more than the other networks. Besides, users mo-
bility and handover make this problem even worse. Therefore
admission control is one of the key points to achieve highest
performance and resource utilization. Bojovi et al. [451]
propose a multilayer feed-forward Neural Network (NN) radio
admission control for LTE networks. Their radio admission
control learns from the past experience how the admission of a
new session would affect the QoS of all sessions in the future.
Wang et al. [452] introduce a call admission control (CAC) for
LTE femtocell network. This the multi-service CAC strategy
composes of two parts: subscriber authentication and queuing
admission control.
G. Congestion Window
Reinforcement learning controllers have been applied to
many different decision sequence control problems such as
network and flow control. Q-learning based RL controller is
applied to design a TCP algorithm for memory constrained
IoTs [453]. QTCP [454] is another approach to control the
TCP flow through Q-learning reinforcement learning. As the
network status, QTCP uses its statistics such as: 1-avg send:
the average interval between sending two packets., 2- avg ack:
the average interval between receiving two consecutive ACKs,
and 3- avg rtt: the average RTT. Three actions are designed in
QTCP as Increase (10byte), decrease (-1byte) and no change.
They tend to encourage the agent to quickly increase. In
addition, QTCP uses the difference between consecutive utility
values as a reward function (Equation 4). QTCP uses the Q-
learning algorithm to train the agent.
Utility =α×log(throughput)δ×log(RT T )(4)
where αand δare two adjustable weights for throughput and
RTT. Kong et al. designed and implemented RL-TCP [27].
They take the network state as an array of EWMA of the ACK
interarrival time, EWMA of the packet inter-sending time, the
ratio of current RTT and the minimum RTT, the slow start
threshold, and cwnd size. They design reward function as the
changes of utility U (Equation 5). The utility U is a function
of throughput tp, delay d=RT T RT Tmin, and packet loss
rate p. Besides, discreet action is chosen as cwnd = cwnd +
x, where x = -1, 0, +1, +3. They applied SARSA [455] as RL
algorithms.
U=log(tp
B)δ1.log(d) + δ2.log(1 p)(5)
where δ1and δ2are two adjustable weights for delay and
packet loss rate. Authors in [456], [457] proposed other
different reinforcement learning approaches to control the
congestion of high-speed multimedia networks.
Jay et al. [458] applied DRL in Internet congestion control
problem to distinguish non-congestion loss from congestion
induced loss. Network state is defined as an array of three
network statistics and their k step history : 1- latency gradient
[416], the derivative of latency with respect to time; 2- latency
ratio [415], the ratio of the current MI’s mean latency to
minimum observed mean latency of any MI in the connection’s
history; and 3- sending ratio, the ratio of packets sent to
packets acknowledged by the receiver. In this study, reward is
defined as 10 ×throughput 1000 ×latency 2000 ×loss.
Action is selected as a real continuous value to fine control
the rate and PPO [443] is used to train the agent.
TCP initial rate control is also a problem that DRL re-
searchers are working to improve. Nie et al. propose [275] dy-
namic TCP initial windows and congestion control through re-
inforcement learning. They utilize A3C for the congestion con-
trol and input states are st= (T hroughputt, RT Tt, Losst),
action is continuous space and reward is defined as rt=
log(T hr oughputt
RT Tt)
VI. LE SS ON S LEARNED AND RESEARCH OPP ORT UNITIES
Although network traffic management and control have been
substantially evolved to improved the latency and throughput
of different networks, , our studies and many others in the
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 21
literature indicate that there is no existing single mechanism
that optimally works in all situations. Besides, the set of
situations are rapidly increasing. Therefore maybe machine
learning based mechanisms would increase to cover different
situations. Recent DRL algorithms such as imitation learning
and meta learning would have more chance to develop in
network flow, congestion control and traffic management.
Additionally, more flexible and high speed programmable
networks would be growing.
REFERENCES
[1] D. Silver, A. Huang, C. J. Maddison, A. Guez, L. Sifre, G. Van
Den Driessche, J. Schrittwieser, I. Antonoglou, V. Panneershelvam,
M. Lanctot et al., “Mastering the game of go with deep neural networks
and tree search,” nature, vol. 529, no. 7587, pp. 484–489, 2016.
[2] D. Silver, J. Schrittwieser, K. Simonyan, I. Antonoglou, A. Huang,
A. Guez, T. Hubert, L. Baker, M. Lai, A. Bolton et al., “Mastering the
game of go without human knowledge,nature, vol. 550, no. 7676, pp.
354–359, 2017.
[3] V. Jacobson, “Congestion Avoidance and Control,” Tech. Rep., 1988.
[4] K. Xu, N. Ansari, and S. Member, “Stability and Fairness of
Rate Estimation-Based AIAD Congestion Control in TCP,” IEEE
COMMUNICATIONS LETTERS, vol. 9, no. 4, 2005. [Online].
Available: https://web.njit.edu/{}ansari/papers/05COMM{}Let{ }
Xu.pdf
[5] M. Alizadeh, A. Javanmard, and B. Prabhakar, Analysis of
DCTCP: Stability, Convergence, and Fairness, 2011. [On-
line]. Available: https://people.csail.mit.edu/alizadeh/papers/dctcp{
}analysis-sigmetrics11.pdf
[6] E. Kohler, M. Handley, S. Floyd, and J. Padhye, “Datagram congestion
control protocol (dccp),” 2006.
[7] D. Katabi, M. Handley, and C. Rohrs, “Congestion Control for High
Bandwidth-Delay Product Networks General Terms,” Tech. Rep.,
2002. [Online]. Available: http://conferences.sigcomm.org/sigcomm/
2002/papers/xcp.pdf
[8] R. Mittal, V. T. Lam, N. Dukkipati, E. Blem, H. Wassel, M. Ghobadi,
A. Vahdat, Y. Wang, D. Wetherall, and D. Zats, “Timely: Rtt-based
congestion control for the datacenter,ACM SIGCOMM Computer
Communication Review, vol. 45, no. 4, pp. 537–550, 2015.
[9] D. A. Hayes and G. Armitage, “Revisiting tcp congestion control
using delay gradients,” in International Conference on Research in
Networking. Springer, 2011, pp. 328–341.
[10] G. Armitage and N. Khademi, “Using delay-gradient tcp for
multimedia-friendly ‘background’transport in home networks,” in 38th
Annual IEEE Conference on Local Computer Networks. IEEE, 2013,
pp. 509–515.
[11] G. Abbas, Z. Halim, and Z. H. Abbas, “Fairness-Driven Queue
Management: A Survey and Taxonomy,” IEEE Communications
Surveys & Tutorials, vol. 18, no. 1, pp. 324–367, 2016. [Online].
Available: http://ieeexplore.ieee.org/document/7173004/
[12] A. Firoozshahian, V. Manshadi, A. Goel, and B. Prabhakar, “Efficient,
fully local algorithms for cioq switches,” in INFOCOM 2007. 26th
IEEE International Conference on Computer Communications. IEEE.
IEEE, 2007, pp. 2491–2495.
[13] G. Appenzeller, I. Keslassy, and N. McKeown, “Sizing router buffers,”
ACM SIGCOMM Computer Communication Review, vol. 34, no. 4, pp.
281–292, 2004.
[14] M. Lin and N. McKeown, “The throughput of a buffered crossbar
switch,” IEEE communications Letters, vol. 9, no. 5, pp. 465–467,
2005.
[15] N. McKeown, A. Mekkittikul, V. Anantharam, and J. Walrand, “Achiev-
ing 100% throughput in an input-queued switch,” IEEE Transactions
on Communications, vol. 47, no. 8, pp. 1260–1267, 1999.
[16] R. Adams, “Active queue management: A survey,” IEEE communica-
tions surveys & tutorials, vol. 15, no. 3, pp. 1425–1476, 2012.
[17] W. Olesinski and S. Driediger, “Fair wred for tcp udp traffic mix,”
Nov. 10 2009, uS Patent 7,616,573.
[18] S. Bhatti, M. Bateman, and D. Miras, “Revisiting inter-flow fairness,”
in 2008 5th International Conference on Broadband Communications,
Networks and Systems. IEEE, 2008, pp. 585–592.
[19] C.-Y. Ho, Y.-C. Chan, and Y.-C. Chen, “Ward: a transmission control
protocol-friendly stateless active queue management scheme,IET
communications, vol. 1, no. 6, pp. 1179–1186, 2007.
[20] D. Miras, M. Bateman, and S. Bhatti, “Fairness of high-speed tcp
stacks,” in 22nd International Conference on Advanced Information
Networking and Applications (aina 2008). IEEE, 2008, pp. 84–92.
[21] G. Hasegawa and M. Murata, “Survey on fairness issues in tcp con-
gestion control mechanisms,” IEICE Transactions on Communications,
vol. 84, no. 6, pp. 1461–1472, 2001.
[22] E. C. Head, “A Survey on Congestion Control,” Tech. Rep. 5,
2010. [Online]. Available: https://pdfs.semanticscholar.org/b8b8/
e8de6a500f3db4b02bd3cb27f00ff8105dd7.pdf
[23] P. Goyal, A. Narayan, F. Cangialosi, D. Raghavan, S. Narayana,
M. Alizadeh, and H. Balakrishnan, “Elasticity Detection: A Building
Block for Internet Congestion Control,” Tech. Rep. [Online]. Available:
https://arxiv.org/pdf/1802.08730.pdf
[24] S. Kunniyur and R. Srikant, “Analysis and Design of an
Adaptive Virtual Queue (AVQ) Algorithm for Active Queue
Management *,” Tech. Rep., 2001. [Online]. Available:
http://delivery.acm.org/10.1145/390000/383069/p123- kunniyur.
pdf?ip=129.138.8.130{&}id=383069{&}acc=PUBLIC{&}key=
F82E6B88364EF649.F6C3C7FECC185049.4D4702B0C3E38B35.
4D4702B0C3E38B35{&}{ }{ }acm{ }{ }=1547413485{ }
8ee1619dce6c9b85668f1b645675c151
[25] A. Sivaraman, K. Winstein, P. Thaker, and H. Balakrishnan, “An
Experimental Study of the Learnability of Congestion Control.”
[Online]. Available: http://dx.doi.org/10.1145/2619239.2626324.
[26] R. Mittal, J. Sherry, S. Ratnasamy, S. Shenker, and U. Berkeley,
Recursively Cautious Congestion Control. Proceedings of the
11th USENIX Symposium on Networked Systems Design and
Implementation (NSDI ’14). [Online]. Available: https://www.usenix.
org/conference/nsdi14/technical-sessions/presentation/mittal
[27] Y. Kong, H. Zang, and X. Ma, “Improving TCP congestion control
with machine intelligence,” in Proceedings of the 2018 Workshop on
Network Meets AI & ML - NetAI’18. ACM Press, pp. 60–66. [Online].
Available: http://dl.acm.org/citation.cfm?doid=3229543.3229550
[28] S. Liu, T. Bas¸ar, and R. Srikant, “Tcp-illinois: A loss-and delay-based
congestion control algorithm for high-speed networks,” Performance
Evaluation, vol. 65, no. 6-7, pp. 417–440, 2008.
[29] “BBR: Congestion Based Congestion Control,” Tech. Rep., 2016.
[Online]. Available: http://delivery.acm.org/10.1145/3030000/3022184/
p50-vanjacobson.pdf?ip=129.138.252.29{&}id=3022184{&}
acc=OPEN{&}key=F82E6B88364EF649.F6C3C7FECC185049.
4D4702B0C3E38B35.6D218144511F3437{&}{ }{ }acm{ }{ }
=1548048552{ }42cca56691b3406181de0e1374633e93
[30] J. Widmer, R. Denda, and M. Mauve, “A Survey on TCP-
Friendly Congestion Control,” Tech. Rep., 2001. [Online]. Available:
http://icapeople.epfl.ch/widmer/files/Widmer2001a.pdf
[31] S. Amherst, J. Padhye, S. Floyd, M. Handley, and J. Widmer,
“Equation-Based Congestion Control for Unicast Applications,” Tech.
Rep., 2000. [Online]. Available: https://scholarworks.umass.edu/cs{ }
faculty{ }pubs
[32] Jia Zhao, Changqiao Xu, Jianfeng Guan, and Hongke Zhang,
“AIMD-PQ: A path quality based TCP-friendly AIMD algorithm for
multipath congestion control in heterogeneous wireless networks,”
in 2015 IEEE Wireless Communications and Networking Conference
(WCNC). IEEE, mar 2015, pp. 1678–1683. [Online]. Available:
http://ieeexplore.ieee.org/document/7127720/
[33] N. Reddy, P. Reddy, and M. Padmavathamma, “Efficient Traffic En-
gineering Strategies for Improving the Performance of TCP Friendly
Rate Control Protocol,” Future Internet, vol. 9, no. 4, p. 74, 2017.
[34] A. Afanasyev, N. Tilley, P. Reiher, and L. Kleinrock, “Host-to-Host
Congestion Control for TCP,” IEEE Communications Surveys &
Tutorials, vol. 12, no. 3, pp. 304–342, 2010. [Online]. Available:
http://ieeexplore.ieee.org/document/5462976/
[35] M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow, “Tcp selective
acknowledgment options,” RFC 2018, Tech. Rep., 1996.
[36] B. Sikdar, S. Kalyanaraman, and K. S. Vastola, “Analytic models for
the latency and steady-state throughput of tcp tahoe, reno, and sack,”
IEEE/ACM Transactions On Networking, vol. 11, no. 6, pp. 959–971,
2003.
[37] A. Lahanas and V. Tsaoussidis, “Additive increase multiplicative
decrease-fast convergence (aimd-fc),” in Networks. World Scientific,
2002, pp. 511–522.
[38] D. Bansal and H. Balakrishnan, “Binomial Congestion Control
Algorithms,” Tech. Rep., 2001. [Online]. Available: http://nms.lcs.mit.
edu/papers/binomial-infocom01.pdf
[39] S. Floyd et al., “Highspeed tcp for large congestion windows,” 2003.
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 22
[40] Y.-T. Li, D. Leith, and R. N. Shorten, “Experimental evaluation of
tcp protocols for high-speed networks,” IEEE/ACM Transactions on
networking, vol. 15, no. 5, pp. 1109–1122, 2007.
[41] Y. R. Yang and S. S. Lam, “General AIMD Congestion Control
£,” Tech. Rep., 2000. [Online]. Available: https://pdfs.semanticscholar.
org/4de5/d893fa2d2648e29daed0ded7748ac7cb6e30.pdf
[42] L. S. Brakmo, S. W. O’Malley, and L. L. Peterson, “Tcp vegas: New
techniques for congestion detection and avoidance,” in Proceedings
of the conference on Communications architectures, protocols and
applications, 1994, pp. 24–35.
[43] C. X. Jin David Wei Steven H, “FAST TCP: Motivation, Architecture,
Algorithms, Performance,” Tech. Rep., 2004. [Online]. Available:
http://netlab.caltech.edu
[44] S. Mascolo, C. Casetti, M. Gerla, M. Y. Sanadidi, and R. Wang, “Tcp
westwood: Bandwidth estimation for enhanced transport over wireless
links,” in Proceedings of the 7th annual international conference on
Mobile computing and networking, 2001, pp. 287–297.
[45] K. Xu, Y. Tian, and N. Ansari, “Tcp-jersey for wireless ip communi-
cations,” IEEE Journal on selected areas in communications, vol. 22,
no. 4, pp. 747–756, 2004.
[46] M. Alizadeh, A. Greenberg, D. A. Maltz, J. Padhye, P. Patel,
B. Prabhakar, S. Sengupta, and M. Sridharan, Data Center TCP
(DCTCP), 2010. [Online]. Available: https://www.microsoft.com/
en-us/research/wp- content/uploads/2017/01/dctcp-sigcomm2010.pdf
[47] M. Dong, Q. Li, M. Schapira, D. Zarchy, and P. Brighten
Godfrey, PCC: Re-architecting Congestion Control for Consistent
High Performance, 2015. [Online]. Available: https://www.usenix.org/
conference/nsdi15/technical-sessions/presentation/dong
[48] A. Mozo, J. L. L ´
opez-Presa, and A. Fern´
andez Anta, “A distributed
and quiescent max-min fair algorithm for network congestion
control,” Expert Systems with Applications, vol. 91, pp. 492–512, jan
2018. [Online]. Available: https://linkinghub.elsevier.com/retrieve/pii/
S0957417417306218
[49] L. Mamatas, T. Harks, and V. Tsaoussidis, “Approaches to congestion
control in packet networks,” Journal of Internet engineering, vol. 1,
no. 1, 2007.
[50] C. Zhang and V. Tsaoussidis, “The interrelation of tcp responsiveness
and smoothness in heterogeneous networks,” in Proceedings ISCC 2002
Seventh International Symposium on Computers and Communications.
IEEE, 2002, pp. 291–297.
[51] N. Dukkipati and N. McKeown, “Why flow-completion time is the
right metric for congestion control,” ACM SIGCOMM Computer Com-
munication Review, vol. 36, no. 1, pp. 59–62, 2006.
[52] S. Sundaresan, A. Dhamdhere, and C. . Ucsd, “TCP Congestion
Signatures,” London, United Kingdom ACM Reference Format:
Srikanth Sundaresan, 2017. [Online]. Available: https://conferences.
sigcomm.org/imc/2017/papers/imc17-final99.pdf
[53] S. Ha, I. Rhee, and L. Xu, “CUBIC: A New TCP-Friendly High-Speed
TCP Variant *,” Tech. Rep., 2008. [Online]. Available: https://www.
cs.princeton.edu/courses/archive/fall16/cos561/papers/Cubic08.pdf
[54] S. Sundaresan, D. Lee, X. Deng, and Y. Feng, “Challenges in Inferring
Internet Congestion Using Through-put Measurements,” vol. 14, 2017.
[Online]. Available: https://doi.org/10.1145/3131365.3131382
[55] P. Goyal, A. Narayan, F. Cangialosi, D. Raghavan, S. Narayana,
M. Alizadeh, and H. Balakrishnan, “Elasticity detection: A building
block for delay-sensitive congestion control.” in ANRW, 2018, p. 75.
[56] M. B. Bob Briscoe, Koen De Schepper and G. White. (2019)
Low latency, low loss, scalable throughput (l4s) internet service:
Architecture. [Online]. Available: https://datatracker.ietf.org/doc/html/
draft-ietf- tsvwg-l4s- arch-04
[57] S. N ´
adas, G. Gombos, F. Fejes, and S. Laki, “A congestion control
independent l4s scheduler,” in Proceedings of the Applied Networking
Research Workshop, 2020, pp. 45–51.
[58] M. M. S. Soniya and K. Kumar, “A survey on named data networking,
in 2nd International Conference on Electronics and Communication
Systems, ICECS 2015, 2015, pp. 1515–1519.
[59] D. Saxena, V. Raychoudhury, N. Suri, C. Becker, and J. Cao, “Named
Data Networking: A survey,” pp. 15–55, 2016.
[60] A. Mathematics, P. Jinesh, K. Lakshmipriya, A. Kumar, and K. Suresh
Joseph, “NAMED DATA NETWORKING – EMPIRICAL SURVEY,”
International Journal of Pure and Applied Mathematics, vol. 115, no. 6,
pp. 351–357, 2017.
[61] G. Carofiglio, M. Gallo, and L. Muscariello, “Icp: Design and eval-
uation of an interest control protocol for content-centric networking,”
in 2012 Proceedings IEEE INFOCOM Workshops, March 2012, pp.
304–309.
[62] Y. Ren, J. Li, S. Shi, L. Li, and G. Wang, “An explicit congestion
control algorithm for Named Data Networking,” in Proceedings - IEEE
INFOCOM, vol. 2016-Septe, 2016, pp. 294–299.
[63] K. Schneider, C. Yi, B. Zhang, and L. Zhang, “A Practical Congestion
Control Scheme for Named Data Networking,” in Proceedings of
the 2016 conference on 3rd ACM Conference on Information-Centric
Networking - ACM-ICN ’16, 2016, pp. 21–30. [Online]. Available:
http://dl.acm.org/citation.cfm?doid=2984356.2984369
[64] K. Nichols and V. Jacobson, “Controlling queue delay,”
Communications of the ACM, vol. 55, no. 7, p. 42, may 2012. [Online].
Available: http://dl.acm.org/citation.cfm?doid=2209249.2209264
[65] K. Lei, C. Hou, L. Li, and K. Xu, “A RCP-Based Congestion
Control Protocol in Named Data Networking,” in Proceedings - 2015
International Conference on Cyber-Enabled Distributed Computing
and Knowledge Discovery, CyberC 2015, 2015, pp. 538–541.
[66] H. Park, H. Jang, and T. Kwon, “Popularity-based congestion control
in named data networking,” in International Conference on Ubiquitous
and Future Networks, ICUFN, 2014, pp. 166–171.
[67] Y. Ren, J. Li, S. Shi, L. Li, G. Wang, and B. Zhang,
“Congestion control in named data networking - A survey,Computer
Communications, vol. 86, pp. 1–11, 2016. [Online]. Available:
www.elsevier.com/locate/comcom
[68] Q. Chen, R. Xie, F. R. Yu, J. Liu, T. Huang, and Y. Liu, “Transport
control strategies in named data networking: A survey,” pp. 2052–2083,
2016.
[69] G. Xylomenos, C. N. Ververidis, V. A. Siris, N. Fotiou, C. Tsilopou-
los, X. Vasilakos, K. V. Katsaros, and G. C. Polyzos, “A survey
of information-centric networking research,” IEEE communications
surveys & tutorials, vol. 16, no. 2, pp. 1024–1049, 2013.
[70] G. Carofiglio, M. Gallo, L. Muscariello, and M. Papali, “Multipath
congestion control in content-centric networks,” in 2013 IEEE confer-
ence on computer communications workshops (INFOCOM WKSHPS).
IEEE, 2013, pp. 363–368.
[71] T. Janaszka, D. Bursztynowski, and M. Dzida, “On popularity-based
load balancing in content networks,” in 2012 24th International Tele-
traffic Congress (ITC 24). IEEE, 2012, pp. 1–8.
[72] G. Carofiglio, M. Gallo, and L. Muscariello, “Optimal multipath con-
gestion control and request forwarding in information-centric networks:
Protocol design and experimentation,” Computer Networks, vol. 110,
pp. 104–117, 2016.
[73] M. Conti, A. Gangwal, M. Hassan, C. Lal, and E. Losiouk, “The road
ahead for networking: A survey on icn-ip coexistence solutions,IEEE
Communications Surveys & Tutorials, 2020.
[74] G. Carofiglio, L. Muscariello, J. Aug ´
e, M. Papalini, M. Sardara, and
A. Compagno, “Enabling icn in the internet protocol: analysis and
evaluation of the hybrid-icn architecture,” in Proceedings of the 6th
ACM Conference on Information-Centric Networking, 2019, pp. 55–
66.
[75] M. Wang, C. Xu, X. Chen, H. Hao, L. Zhong, and D. O. Wu, “Design
of multipath transmission control for information-centric internet of
things: A distributed stochastic optimization framework,IEEE Internet
of Things Journal, vol. 6, no. 6, pp. 9475–9488, 2019.
[76] Y. Zhang, X. An, M. Yuan, X. Bu, and J. An, “Concurrent multipath
routing optimization in named data networks,” IEEE Internet of Things
Journal, vol. 7, no. 2, pp. 1451–1463, 2019.
[77] C. Fang, H. Yao, Z. Wang, W. Wu, X. Jin, and F. R. Yu, “A
survey of mobile information-centric networking: Research issues and
challenges,” IEEE Communications Surveys & Tutorials, vol. 20, no. 3,
pp. 2353–2371, 2018.
[78] V. Jacobson, D. K. Smetters, J. D. Thornton, M. F. Plass, N. H. Briggs,
and R. L. Braynard, “Networking named content,” in Proceedings of
the 5th international conference on Emerging networking experiments
and technologies, 2009, pp. 1–12.
[79] F. Zhang, Y. Zhang, A. Reznik, H. Liu, C. Qian, and C. Xu, “A
transport protocol for content-centric networking with explicit con-
gestion control,” in 2014 23rd international conference on computer
communication and networks (ICCCN). IEEE, 2014, pp. 1–8.
[80] A. Tariq, R. A. Rehman, and B.-S. Kim, “Forwarding strategies in ndn-
based wireless networks: A survey,” IEEE Communications Surveys &
Tutorials, vol. 22, no. 1, pp. 68–95, 2019.
[81] T. Liu, M. Zhang, J. Zhu, R. Zheng, R. Liu, and Q. Wu, “Accp:
adaptive congestion control protocol in named data networking based
on deep learning,” Neural Computing and Applications, vol. 31, no. 9,
pp. 4675–4683, 2019.
[82] K. Schneider, “Multipath data transport in named data networking,”
2019.
READY TO SUBMIT TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS JOURNAL 23
[83] T. K. Cern, “Scalable TCP: Improving Performance in Highspeed
Wide Area Networks,” Tech. Rep., 2002. [Online]. Available:
http://www.cs.unc.edu/{%}7B{}{%}7Djasleen/Courses/Fall09/
papers/pfldnet2003-ctk.pdfhttp://www.cs.unc.edu/{}jasleen/Courses/
Fall09/papers/pfldnet2003-ctk.pdf
[84] L. Xu, K. Harfoush, and I. Rhee, “Binary increase congestion control
(BIC) for fast long-distance networks,” in INFOCOM 2004. Twenty-
third AnnualJoint Conference of the IEEE Computer and Communica-
tions Societies, vol. 4. IEEE, 2004, pp. 2514–2524.
[85] Yong Xia, L. Subramanian, I. Stoica, and S. Kalyanaraman, “One
More Bit is Enough,” IEEE/ACM Transactions on Networking,
vol. 16, no. 6, pp. 1281–1294, dec 2008. [Online]. Available:
http://ieeexplore.ieee.org/document/4460574/
[86] M. A. Alrshah, M. Othman, B. Ali, and Z. Mohd Hanapi,
“Comparative study of high-speed Linux TCP variants over high-BDP
networks,” Journal of Network and Computer Applications, vol. 43,
pp. 66–75, aug 2014. [Online]. Available: https://linkinghub.elsevier.
com/retrieve/pii/S1084804514000903
[87] S. Mcquistin and C. Perkins, “Is Explicit Congestion Notification
usable with UDP?” 2015. [Online]. Available: http://dx.doi.org/10.
1145/10.1145/2815675.2815716.
[88] B. Jin, “TCP-friendly SIMD Congestion Control and Its Convergence,”
Tech. Rep., 2001. [Online]. Available: http://open.bu.edu
[89] R. Rejaie, M. Handley, and D. Estrin, “RAP: An End-to-end Rate-
based Congestion Control Mechanism for Realtime Streams in the
Internet,” Tech. Rep., 1998. [Online]. Available: http://citeseerx.ist.psu.
edu/viewdoc/download?doi=10.1.1.45.5369{&}rep=rep1{&}type=pdf
[90] S. Cen, C. Pu, J. Walpole, S. Cena, and J. Walpoleb, “Flow
and congestion control for Internet media streaming applications,”
vol. 250, 1998. [Online]. Available: https://pdxscholar.library.pdx.edu/
compsci{}fac
[91] D. Sisalem and A. Wolisz, “LDA+ TCP-Friendly Adaptation: A
Measurement and Comparison Study,” Tech. Rep., 2000. [Online].
Available: http://nossdav.org/2000/papers/23.pdf
[92] I. Rhee, V. Ozdemir, and Y. Yi, “TEAR: TCP emulation at
receivers-flow control for multimedia streaming,” Tech. Rep.,
2000. [Online]. Available: https://pdfs.semanticscholar.org/0b4b/
9ec615368b2e8346a21049d0a79e0749f82e.pdf
[93] S. Bhattacharyya, D. Towsley, and J. Kurose, “A novel loss indication
filtering approach for multicast congestion control,” Computer Com-
munications, vol. 24, no. 5-6, pp. 512–524, 2001.
[94] I. Rhee, N. Balaguru, and G. N. Rouskas, “MTCP: Scalable TCP-like
Congestion Control for Reliable Multicast,” Tech. Rep., 2002.
[95] S. K. Kasera, S. Bhattacharyya, M. Keaton, D. Kiwior,
J. Kurose, D. Towsley, and S. Zabele, “Scalable Fair
Reliable Multicast Using Active Services,” Tech. Rep.,
2000. [Online]. Available: https://pdfs.semanticscholar.org/cad4/
28e800d0aea54fae0c706066cff61d47d8d4.pdf
[96] L. Rizzo, “pgmcc: a TCP-friendly single-rate multicast congestion
control scheme £,” Tech. Rep., 2000. [Online]. Available: http:
//www.iet.unipi.it/luigi/
[97] L. Vicisano, J. Crowcroft, and L. Rizzo, “TCP-like Congestion
Control for Layered Multicast Data Transfer,” Tech. Rep., 1998.
[Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.440.3681{&}rep=rep1{&}type=pdf
[98] K. Yano and S. Mccanne, “A Window-based Congestion Control for
Reliable Multicast based on TCP Dynamics,” Tech. Rep., 2000.
[99] J. W. Byers, G. Horn, M. Luby, M. Mitzenmacher, and W. Shaver,
“FLID-DL: Congestion Control for Layered Multicast,” IEEE
JOURNAL ON SELECTED AREAS IN COMMUNICATIONS,
vol. 20, no. 8, 2002. [Online]. Available: https://www.eecs.harvard.
edu/{%}7B{}{%}7Dmichaelm/postscripts/jsac2002b.pdfhttps:
//www.eecs.harvard.edu/{}michaelm/postscripts/jsac2002b.pdf
[100] T. Turletti, S. F. Parisis, and J.-C. Bolot, “Experiments with a Layered
Transmission Scheme over the Internet,” Tech. Rep., 2006. [Online].
Available: https://hal.inria.fr/inria- 00073392
[101] D. Sisalem and A. Wolisz, “MLDA: A TCP-friendly Congestion
Control Framework for Heterogeneous Multicast Environments,” Tech.
Rep., 2000. [Online]. Available: http://www.tkn.tu-berlin.de/fileadmin/
fg112/Papers/Sisa0002{ }MLDA.pdf
[102] A. Z. Wai Tian, “Error control for video multicast using hierarchical
fec,” IEEE, p. 5, 1999. [Online]. Available: https://www.vtvt.ece.vt.
edu/research/references/video/Transmission{ }Noise/Tan99a.pdf
[103] R. Pan, B. Prabhakar, and K. Psounis, “CHOKe A stateless
active queue management scheme for approximating fair bandwidth
allocation,” Tech. Rep., 2000. [Online]. Available: https://web.stanford.
edu/{}balaji/papers/00chokea.pdf
[104] Y. Cao, M. Xu, and X. Fu, “Delay-based congestion control for
multipath TCP,” in Proceedings - International Conference on Network
Protocols, ICNP, 2012.
[105] M. Becke, T. Dreibholz, H. Adhari, and E. P. Rathgeb, “On the fairness
of transport protocols in a multi-path environment,” in 2012 IEEE
International Conference on Communications (ICC). IEEE, 2012,
pp. 2666–2672.
[106] D. Wischik and C. Raiciu, “Design, implementation and evaluation
of congestion control for multipath TCP,” NSDI’11 Proceedings
of the 8th USENIX conference on Networked systems design
and implementation, pp. pp. 99–112, 2011. [Online]. Available:
http://static.usenix.org/event/nsdi11/tech/full{ }papers/Wischik.pdf
[107] B. Chihani -Denis Collange, “A Survey on Multipath Transport
Protocols,” Tech. Rep., 2011. [Online]. Available: https://arxiv.org/pdf/
1112.4742.pdf
[108] S. Habib, J. Qadir, A. Ali, D. Habib, M. Li, and A. Sathiaseelan,
“The past, present, and future of transport-layer multipath,” 2016.
[Online]. Available: http://dx.doi.org/10.1016/j.jnca.2016.09.005
[109] C. Xu, J. Zhao, and G. Muntean, “Congestion Control Design for
Multipath Transport Protocols: A Survey,” IEEE Communications
Surveys Tutorials, vol. 18, no. 4, pp. 2948–2969, 2016.
[110] D. Thaler and C. Hopps, “Rfc2991: Multipath issues in unicast and
multicast next-hop selection,” 2000.
[111] M. Honda, Y. Nishida, L. Eggert, P. Sarolahti, and H. Tokuda, “Mul-
tipath congestion control for shared bottleneck,” in Proc. PFLDNeT
workshop, vol. 357. </