Socket Intents: Extending the Socket API to Express Application Needs

In today’s internet, almost all end devices have multiple interfaces built in, which enable them to switch between different access networks or even use them simultaneously. Having different characteristics, some of them may be more suitable for certain kinds of traffic, and therefore better meet the requirements of certain applications. To account for this, current solutions rely on static policies or reactive approaches to choosing between interfaces. This thesis proposes a proactive, application informed approach, Socket Intents. Socket Intents augment the socket interface to enable the application to express its communication preferences. This information can then be used by proactive policies to choose the appropriate interface, tune the network parameters, or even combine multiple interfaces. In this work, a prototype implementation of Socket Intents and a framework supporting them is presented. Furthermore, a first evaluation of the Intents and its benefits is conducted. We find that Socket Intents may improve the possibilities to take advantage of one’s multiple interfaces.

[1]  Matt Thomas,et al.  Advanced Sockets Application Program Interface (API) for IPv6 , 2003, RFC.

[2]  W. Richard Stevens,et al.  TCP/IP Illustrated, Volume 2: The Implementation , 1995 .

[3]  David Thaler,et al.  Internet Engineering Task Force (ietf) Default Address Selection for Internet Protocol Version 6 (ipv6) , 2022 .

[4]  Pierrick Seite,et al.  Current Practices for Multiple-Interface Hosts , 2011, RFC.

[5]  Michael Tüxen,et al.  Internet Engineering Task Force (ietf) Sockets Api Extensions for the Stream Control Transmission Protocol (sctp) , 2022 .

[6]  Erik Nordmark,et al.  Ipv6 Socket Api for Source Address Selection , 2007 .

[7]  Marc Blanchet,et al.  Internet Engineering Task Force (ietf) Multiple Interfaces and Provisioning Domains Problem Statement , 2022 .

[8]  Feng Qian,et al.  A close examination of performance and power characteristics of 4G LTE networks , 2012, MobiSys '12.

[9]  David L. Black,et al.  Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers , 1998, RFC.

[10]  Arun Venkataramani,et al.  Augmenting mobile 3G using WiFi , 2010, MobiSys '10.

[11]  Mark Handley,et al.  Architectural Guidelines for Multipath TCP Development , 2011, RFC.

[12]  Kyunghan Lee,et al.  Mobile data offloading: how much can WiFi deliver? , 2010, SIGCOMM 2010.

[13]  K. Schwan,et al.  A Quality-of-Service Enhanced Socket API in GNU / Linux , 2002 .

[14]  John Wroclawski,et al.  The Use of RSVP with IETF Integrated Services , 1997, RFC.

[15]  Kun-Chan Lan,et al.  A measurement study of correlations of Internet flow characteristics , 2006, Comput. Networks.

[16]  Kyunghan Lee,et al.  Mobile Data Offloading: How Much Can WiFi Deliver? , 2013, IEEE/ACM Transactions on Networking.

[17]  Randall R. Stewart,et al.  Stream Control Transmission Protocol , 2000, RFC.

[18]  Stein Gjessing,et al.  Towards a Protocol-Independent Internet Transport API , 2011, 2011 IEEE International Conference on Communications Workshops (ICC).

[19]  Jason Flinn,et al.  Intentional networking: opportunistic exploitation of mobile network diversity , 2010, MobiCom.

[20]  Thomas Narten,et al.  Privacy Extensions for Stateless Address Autoconfiguration in IPv6 , 2001, RFC.

[21]  Paul Müller,et al.  A Requirement-Based Socket API for a Transition to Future Internet Architectures , 2012, 2012 Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing.

[22]  Robert E. Gilligan,et al.  Basic Socket Interface Extensions for IPv6 , 1997, RFC.

[23]  Alan Ford,et al.  Multipath TCP (MPTCP) Application Interface Considerations , 2013, RFC.