Wrens: A Framework for Rapidly Evolvable Network Services

Report ID: 
1999-31
Authors: 
A. Acharya, M. Ibel, M. Schmitt, M. Koelsch, D. Magdic, B. Smith,and M. Tuncer
Date: 
1999-09-01 05:00:00

Abstract

In this paper, we describe the Wrens framework for rapidly evolvablenetwork services. The goal of Wrens is to provide the abstractions and theinfrastructure that facilitate rapid development, extension and deployment ofnetwork services. The design of Wrens is based on four principles.First, the communication structure of services should be specified explicitlyin a form that can be understood by the infrastructure. This allows theinfrastructure to automatically instantiate complex services, detect many kindsof failures and (in many cases) automatically repair them. In addition, itallows service designers to rapidly prototype services by plugging togetherexisting service components. Second, complex services should be constructed asa collection of interacting service modules that communicate via namedchannels. Service modules written in this manner are easier to plug togethersince the interactions between such modules are limited to explicitly namedchannels. Third, the level of interaction between end-user applications andthe communication infrastructure should be raised -- instead of being limitedto asking for a communication channel to a specific server, applications shouldbe able to request a named service. This facilitates service evolution as thestructure and the implementation of a service can be changed without changingthe requesting application. Furthermore, this provides an opportunity for theinfrastructure to transparently handle many kinds of faults. Finally, thespecification and implementation of services should use symbolic names whereverpossible. Symbolic names provide a level of indirection that allows theinfrastructure to transparently adapt a service to varying levels of resourceavailability with relative ease.We describe our prototype implementation of the Wrens framework and report ourexperiences with developing and deploying a diverse suite of services. Ourexperience has been positive. We were able to develop these services in ashort time. We were also able to develop useful extensions for several ofthese services in the matter of a few hours. We also present an evaluation ofthe overheads introduced by the Wrens framework and the costs of end-to-endoperations.

Document

File 1999-31.ps