Choosing the right type of namespace can greatly aid the design of a system. We believe that naming is an important and understudied problem in distributed object computing. In this column, we will be discussing namespaces in the World Wide Web, in the hope that the lessons learned from this very successful naming paradigm can be applied to distributed object systems. But before considering names in the particular context of computer systems, it is useful to step back and think of names in our common experience. The need to associate names with objects is an essential part of human thought.
Names are also essential for communicating thoughts to friends and colleagues.
We also need ways to manage names. Creating new names, manipulating lists of names, sorting names, applying operations to sets of names, and figuring out what a name refers to are all operations we do on names in all domains. In everyday life names are managed with a variety of techniques like sixth grade teachers memorizing the names and seat locations of the students in their class, phone callers looking up a name in the white pages, and businesspeople sorting names into their contact list. These operations all have counterparts in the domain of computing. In a computer system, names also come in many different flavors.