A naming system for feature-based service specification in distributed operating systems

The paper describes a naming system that allows a service to evolve or reconfigure in functionality by adding and removing features and still co-exist with its previous versions. The underlying naming model has two aspects: (1) (Attribute_name, Attribute_value) pair based characterization of service features which allows the meta information on a service to be represented as a collection of such pairs (as in X.500 and Universal Naming Protocol). At low level, the name server provides parse and match operations on the (attribute, value) pairs using which high level name binding operations, viz., name registration and name resolution, are constructed. (2) Data-driven communication paradigm which enables different versions of a client and server to communicate with one another. In this paradigm, a server matches the attributes requested by a client with those it supports, and invokes service specific functions named by the attributes. Since attributes refer to orthogonal features, client and server can evolve independently by adding or removing attributes and still communicate. With this model of specifying services, name server functions may be factorized from service specific functions and implemented in a generic fashion in terms of parse and match operations and function invocations. The paper also describes language support for the naming system and implementation issues.

[1]  K. Ravindran,et al.  Correcting remote references to a server in distributed operating systems , 1991, IEEE INFCOM '91. The conference on Computer Communications. Tenth Annual Joint Comference of the IEEE Computer and Communications Societies Proceedings.

[2]  Liuba Shrira,et al.  Lazy replication: exploiting the semantics of distributed services (extended abstract) , 1990, OPSR.

[3]  David R. Cheriton,et al.  Decentralizing a global naming service for improved performance and fault tolerance , 1989, TOCS.

[4]  Larry L. Peterson An overview of UNP , 1989, CCRV.

[5]  David Notkin,et al.  A name service for evolving heterogeneous systems , 1987, SOSP '87.

[6]  L. Peterson A yellow-pages service for a local-area network , 1987, SIGCOMM '87.

[7]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[8]  Douglas B. Terry Caching Hints in Distributed Systems , 1987, IEEE Transactions on Software Engineering.

[9]  Butler W. Lampson,et al.  Designing a global name service , 1986, PODC '86.

[10]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[11]  Keith A. Lantz,et al.  Towards a universal directory service , 1985, PODC '85.

[12]  Stephen E. Deering,et al.  Host groups: a multicast extension for datagram internetworks , 1985, SIGCOMM '85.

[13]  Arvind,et al.  Resource managers in functional programming , 1984, J. Parallel Distributed Comput..