Distributed Systems Assignment
Distributed Systems Assignment
INTRODUCTION:
A naming system is a connected set of contexts of the same type (they have the same
naming convention) and provides a common set of operations. For example, a system that
implements the DNS is a naming system. A system that communicates using the Lightweight
Directory Access Protocol (LDAP) is a naming system.
Names are used to refer to entities, locations, resources and more. We need to resolve a
name to the entity it refers to. The naming system may be itself be implemented in a
distributed fashion.
A naming system provides a naming service to its customers for performing naming-related
operations. A naming service is accessed through its own interface. For example, the DNS
offers a naming service that maps machine names to IP addresses.
The LDAP offers a naming service that maps LDAP names to LDAP entries. A file system
offers a naming service that maps filenames to files and directories.
1. Attribute-Based Naming
Attribute-based naming allows an entity to be described by (attribute, value) pairs. This
allows a user to search more effectively by constraining some of the attributes.
Attribute-based naming systems are also known as directory services. Resources are
described as triplets consisting of a subject, predicate and an object. E.g. (person, name,
Alice) However, location independence and human friendliness are not the only criterion for
naming entities.
In particular, as more information is being made available it becomes important to
effectively search for entities. This approach requires that a user can provide merely a
description of what he is looking for.
There are many ways in which descriptions can be provided, but a popular one in distributed
systems is to describe an entity in terms of (attribute, value) pairs, generally referred to as
attribute-based naming. In this approach, an entity is assumed to have an associated
collection of attributes. Each attribute says something about that entity.
By specifying which values a specific attribute should have, a user essentially constrains the
set of entities that he is interested in. It is up to the naming system to return one or more
entities that meet the user's description. In this section we take a closer look at attribute-
based naming systems.
Attribute-based naming systems are also known as directory services, whereas systems that
support structured naming are generally called naming systems. With directory services,
entities have a set of associated attributes that can be used for searching.
In some cases, the choice of attributes can be relatively simple. For example, in an e-mail
system, messages can be tagged with attributes for the sender, recipient, subject, and so on.
However, even in the case of e-mail, matters become difficult when other types of
descriptors are needed, as is illustrated by the difficulty of developing filters that will allow
only certain messages (based on their descriptors) to be passed through.
3. Flat naming: The identifier is simply a random bit string. It does not contain any information
whatsoever on how to locate an access point of its associated entity. Good for machines.
An important property of such a name is that it does not contain any information or
whatsoever on how to locate the access point of its associated entity.