The design and implementation of an intentional naming system

William Adjie-Winoto, Elliot Schwartz, Hari Balakrishnan, Jeremy Lilley
17th ACM Symposium on Operating Systems Principles, Charleston, SC, December 1999

This paper presents the design and implementation of the Intentional Naming System (INS), a resource discovery and service location system for dynamic and mobile networks of devices and computers.  Such environments require a naming system that is (i) expressive, to describe and make requests based on specific properties of services, (ii) responsive, to track changes due to mobility and performance, (iii) robust, to handle failures, and (iv) easily configurable.  INS uses a simple language based on attributes and values for its names. Applications use the language to describe what they are looking for (i.e., their intent), not where to find things (i.e., not hostnames).  INS implements a late binding mechanism that integrates name resolution and message routing, enabling clients to continue communicating with end-nodes even if the name-to-address mappings change while a session is in progress.  INS resolvers self-configure to form an application-level overlay network, which they use to discover new services, perform late binding, and maintain weak consistency of names using soft-state name exchanges and updates. We analyze the performance of the INS algorithms and protocols, present measurements of a Java-based implementation, and describe three applications we have implemented that demonstrate the feasibility and utility of INS.

[PDF (204KB)] [PostScript (505KB)] [Gzipped PostScript (105KB)]

Bibtex Entry:

@inproceedings{adjie-winoto1999design,
   author =       "William Adjie-Winoto and Elliot Schwartz and Hari Balakrishnan and Jeremy Lilley",
   title =        "{The design and implementation of an intentional naming system}",
   booktitle =    {17th ACM Symposium on 
 Operating Systems Principles},
   year =         {1999},
   month =        {December},
   address =      {Charleston, SC}
}