Viscous: An End to End Protocol for Ubiquitous Communication Over Internet of Everything

The nature of Internet traffic has changed dramatically within the last few years, where a large volume of traffic is originated from mobile applications (known as apps), web based multimedia streaming, computation offloading like cloud computing and Internet of Things (IoT) etc. These types applications generate multiple parallel short lived end-to-end connections. However, the three major requirements of todays’ end-to-end traffic over the Internet, such as (a) support for mobility of devices, (b) capacity improvement through multipath end-to-end transmissions, and (c) support for short-lived parallel connections, are not substantiated through the widelydeployed transmission control protocol (TCP). Further, the recent developments of multi-path TCP (MPTCP) as well as User Datagram Protocol (UDP) based Google’s Quick UDP Internet Connections (QUIC) also fail to support all the above three requirements. As a consequence, in this paper, we develop a new end-to-end transmission protocol, called Viscous, to support the above three requirements over the Internet. Viscous is developed as a wrapper between the application and the transport layer, that works on top of the UDP and supports end-to-end reliability as well as congestion control while transmitting short-lived flows over multiple end-to-end paths. We introduce a number of novel concepts at Viscous, such as parallel and sequential flow multiplexing, decoupling of flow and congestion control etc. to overcome the problems associated with the current transport protocols. Viscous has been implemented and tested over a variety of environments, and we observe that it can significantly boost up the performance of the end-to-end data transmission compared to TCP, MPTCP and QUIC.

[1]  Luca De Cicco,et al.  HTTP over UDP: an experimental investigation of QUIC , 2015, SAC.

[2]  Sally Floyd,et al.  The NewReno Modification to TCP's Fast Recovery Algorithm , 2004, RFC.

[3]  Özgü Alay,et al.  LISA: A linked slow-start algorithm for MPTCP , 2016, 2016 IEEE International Conference on Communications (ICC).

[4]  Olivier Bonaventure,et al.  Observing real smartphone applications over multipath TCP , 2016, IEEE Communications Magazine.

[5]  Ian Wakeman,et al.  MMPTCP: A multipath transport protocol for data centers , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[6]  Michael Welzl,et al.  Start Me Up: Determining and Sharing TCP's Initial Congestion Window , 2016, ANRW '16.

[7]  Arun Venkataramani,et al.  msocket: System support for mobile, multipath, and middlebox-agnostic applications , 2016, 2016 IEEE 24th International Conference on Network Protocols (ICNP).

[8]  Sally Floyd,et al.  TCP Selective Acknowledgement Options , 1996 .

[9]  Amit Agarwal,et al.  An argument for increasing TCP's initial congestion window , 2010, CCRV.

[10]  BongHwan Oh,et al.  Feedback-Based Path Failure Detection and Buffer Blocking Protection for MPTCP , 2016, IEEE/ACM Transactions on Networking.

[11]  Sally Floyd,et al.  TCP Selective Acknowledgment Options , 1996, RFC.

[12]  Cong Liu,et al.  Innovating Transport with QUIC: Design Approaches and Research Challenges , 2017, IEEE Internet Computing.

[13]  Mythili Vutukuru,et al.  TCP Download Performance in Dense WiFi Scenarios: Analysis and Solution , 2017, IEEE Transactions on Mobile Computing.

[14]  Jennifer Rexford,et al.  Future Internet architecture , 2010, Commun. ACM.

[15]  Ke Liu,et al.  On Improving TCP Performance over Mobile Data Networks , 2016, IEEE Transactions on Mobile Computing.

[16]  Olivier Bonaventure,et al.  Multipath TCP , 2014 .

[17]  Wei Tsang Ooi,et al.  Throughput Estimation for Short Lived TCP Cubic Flows , 2016, MobiQuitous.

[18]  Atef Abdrabou,et al.  Experimental Performance Study of Multipath TCP over Heterogeneous Wireless Networks , 2016, 2016 IEEE 41st Conference on Local Computer Networks (LCN).