  Cellular networks have special characteristics including highly variable
channels, fast fluctuating capacities, deep per user buffers, self-inflicted
queuing delays, radio uplink/downlink scheduling delays, etc. These
distinguishing properties make the problem of achieving low latency and high
throughput in cellular networks more challenging than in wired networks. That's
why in this environment, TCP and its flavors, which are generally designed for
wired networks, perform poorly.
  To cope with these challenges, we present C2TCP, a flexible end-to-end
solution targeting interactive applications requiring high throughput and low
delay in cellular networks. C2TCP stands on top of loss-based TCP and brings it
delay sensitivity without requiring any network state profiling, channel
prediction, or complicated rate adjustment mechanisms. The key idea behind
C2TCP is to absorb dynamics of unpredictable cellular channels by investigating
local minimum delay of packets in a moving time window and react to the
cellular network's capacity changes very fast.
  Through extensive trace-based evaluations using traces from five commercial
LTE and 3G networks, we have compared performance of C2TCP with various TCP
variants, and state-of-the-art schemes including BBR, Verus, and Sprout.
Results show that on average, C2TCP outperforms these schemes and achieves
lower average and 95th percentile delay for packets.
