Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

A New Communications API

Ganesh Ananthanarayanan, Kurtis Heimerl, Matei Zaharia, Michael Demmer, Teemu Koponen, Arsalan Tavakoli, Scott Shenker and Ion Stoica

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2009-84
May 25, 2009

http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-84.pdf

We present NetAPI, a flexible communications interface. Although the ubiquitous Sockets API lets applications select among a number of mechanisms to accomplish networking tasks, it binds them tightly to their chosen mechanisms. Consequently, the network stack has little freedom in selecting the best protocols and mechanisms for each application, and innovating below the API is extremely difficult. NetAPI allows applications to specify their communication intents against an abstract interface that hides implementation mechanisms, encouraging innovation below the API. Application intents are combined with user policies and environmental conditions to let the network meet application goals in varied ways. We describe the design of NetAPI, comparing it to other system APIs that have supported evolution. We have also implemented a prototype of NetAPI called PANTS for the iPhone platform. We show that PANTS can provide innovative mobile networking features, such as disconnection tolerance, content quality adjustment and powersaving policies, without application modifications.


BibTeX citation:

@techreport{Ananthanarayanan:EECS-2009-84,
    Author = {Ananthanarayanan, Ganesh and Heimerl, Kurtis and Zaharia, Matei and Demmer, Michael and Koponen, Teemu and Tavakoli, Arsalan and Shenker, Scott and Stoica, Ion},
    Title = {A New Communications API},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2009},
    Month = {May},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-84.html},
    Number = {UCB/EECS-2009-84},
    Abstract = {We present NetAPI, a flexible communications interface. Although the ubiquitous Sockets API lets applications select among a number of mechanisms to accomplish networking tasks, it binds them tightly to their chosen mechanisms. Consequently, the network stack has little freedom in selecting the best protocols and mechanisms for each application, and innovating below the API is extremely difficult. NetAPI allows applications to specify their communication intents against an abstract interface that hides implementation mechanisms, encouraging innovation below the API. Application intents are combined with user policies and environmental conditions to let the network meet application goals in varied ways. We describe the design of NetAPI, comparing it to other system APIs that have supported evolution. We have also implemented a prototype of NetAPI called PANTS for the iPhone platform. We show that PANTS can provide innovative mobile networking features, such as disconnection tolerance, content quality adjustment and powersaving policies, without application modifications.}
}

EndNote citation:

%0 Report
%A Ananthanarayanan, Ganesh
%A Heimerl, Kurtis
%A Zaharia, Matei
%A Demmer, Michael
%A Koponen, Teemu
%A Tavakoli, Arsalan
%A Shenker, Scott
%A Stoica, Ion
%T A New Communications API
%I EECS Department, University of California, Berkeley
%D 2009
%8 May 25
%@ UCB/EECS-2009-84
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-84.html
%F Ananthanarayanan:EECS-2009-84