Abstract
Service Sockets: A Uniform User-Level Interface for Networking Applications
by: Michael Schmitt, Anurag Acharya, Max Ibel, Costin Iancu
Abstract:
As network services have evolved, their communication structures havebecome increasingly complex. This has led to a corresponding increasein complexity of applications that interact with these services. Inthis paper, we propose the Service Socket abstraction to helpalleviate this complexity. Conceptually, a Service Socket represents acommunication channel to a service instead of a particular host.The goal of Service Sockets is to allow application programmersto interact with diverse complex services using the familiar BerkeleySockets programming interface. The Service Sockets framework providesservice-independent functionality in a small core library andencapsulates service-dependent functionality in dynamically linkedlibraries with a well-defined interface. It provides a simplespecification interface that can be used by application programmers todescribe the desired configuration of a Service Socket. We presentseveral examples of how Service Sockets can be used to provide a commoninterface for complex end-point functionality. A microbenchmark-basedevaluation indicates that such an extensible user-level framework doesnot necessarily incur a substantial performance penalty.
Keywords:
networking, application, middleware, user level
Date:
March 2001
Document: 2001-08