  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.
