On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
Designing a global name service
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Caching Hints in Distributed Systems
IEEE Transactions on Software Engineering - Special issue on distributed systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
A name service for evolving heterogeneous systems
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
A yellow-pages service for a local-area network
SIGCOMM '87 Proceedings of the ACM workshop on Frontiers in computer communications technology
Decentralizing a global naming service for improved performance and fault tolerance
ACM Transactions on Computer Systems (TOCS)
Host groups: a multicast extension for datagram internetworks
SIGCOMM '85 Proceedings of the ninth symposium on Data communications
Towards a universal directory service
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
ACM SIGCOMM Computer Communication Review
Object-Oriented Software Construction
Object-Oriented Software Construction
Hi-index | 0.00 |
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.