Report ID
2001-08
Report Authors
Michael Schmitt, Anurag Acharya, Max Ibel, Costin Iancu
Report Date
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.
Document
2001-08.ps344.29 KB