Transparent Gif

Department of Computer Science

University of California, Santa Barbara

Abstract

Service Sockets: Design, Implementation and Interfaces

by: M. Schmitt, A. Acharya, M. Ibel

Abstract:

As network services have evolved, their communication structures have becomeincreasingly complex. This increase in the complexity in the communicationstructure of services is mirrored by an increase in the complexity of theclient code that interacts with and administers these services. In this paper,we propose the Service Socket abstraction. Conceptually, a ServiceSocket (or an S-socket) is a communication channel to a service insteadof a particular host. Service Sockets abstract away the details ofinteracting with complex and dynamic services while retaining the conceptualsimplicity, the familiar programming interface and the ease-of-use of BerkeleySockets. The other attractive feature of the Service Sockets design is itsmodular construction: the service-specific components of a Service Socketsimplement well-defined interfaces. Modularizing the different aspects of aservice into a common core and pluggable components makes it easier to composeservices as well as to reuse individual components. We describe the design andimplementation of Service Sockets. Our experience with Service Sockets hasbeen positive. The Service Sockets core consists of a shared library with asmall footprint (60-75KB). We have developed S-sockets for a wide variety ofservices. A microbenchmark-based evaluation indicates that the modular designof Service Sockets does not impose a major performance penalty.

Keywords:

network services, composability, uniform interface

Date:

December 1999

Document: 1999-39

XHTML Validation | CSS Validation
Updated 14-Nov-2005
Questions should be directed to: webmaster@cs.ucsb.edu