In a distributed system, names are used to refer to a wide variety of resources such as computers, services, remote objects and files, as well as to users.
A name is needed to request a computer system to act upon a specific resource chosen out of many; for example, a name in the form of a URL is needed to access a specific web page.
Processes cannot share parituclar resources managed by a computer system unless they can name them consistently.
Users cannot communicate with one another via a distributed system unless they can name one another, for example, with email addresses.
Names are not the only useful means of identification: descriptive attributes are another. Sometimes clients do not know the name of the particular entity that they seek, but they do have some information that describes it. Or they may require a service and know some of its characteristics but not what entity implements it.
Names, addresses and other attributes
Any process that requires access to a specific resources must possess a name or an identifier for it. Examples of human-readable names are
- file names such as /etc/passwd,
- URLs
- Internet domain names
- Remote object references and NFS file handles