0% found this document useful (0 votes)
79 views51 pages

DS Lecture Chapter 5

This document summarizes a chapter about naming in distributed systems. It discusses the role of names in identifying and referring to entities, and defines names, identifiers, and addresses. It outlines different approaches to name resolution in flat naming systems, including simple broadcasting/multicasting, forwarding pointers, and home-based and hierarchical location services. The objectives of the chapter are to discuss how human-friendly names are organized and implemented in systems like file systems and the web, and to cover classes on naming systems including flat, structured, and attribute-based naming.

Uploaded by

Kidist Asefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views51 pages

DS Lecture Chapter 5

This document summarizes a chapter about naming in distributed systems. It discusses the role of names in identifying and referring to entities, and defines names, identifiers, and addresses. It outlines different approaches to name resolution in flat naming systems, including simple broadcasting/multicasting, forwarding pointers, and home-based and hierarchical location services. The objectives of the chapter are to discuss how human-friendly names are organized and implemented in systems like file systems and the web, and to cover classes on naming systems including flat, structured, and attribute-based naming.

Uploaded by

Kidist Asefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

Wolkite University

College of Computing and Informatics


Information Technology Department

Introduction to Distributed System


ITec4102

Chapter 5: Naming
March 14, 2020

Fuad Yimer
Naming Entities Names, Identifiers, and Addresses

Names, Identifiers, and Addresses

Names play an important role to:


Share resources
uniquely identify entities
refer to locations
etc.
An important issue is that a name can be resolved to the entity it refers to
Names may not have meaning at all just random strings ⇒ pure names.
Defining a (distributed) naming system amounts to:
to resolve names, it is necessary to implement a naming system
In a distributed system, the implementation of a naming system is itself
often distributed, unlike in nondistributed systems.
Efficiency and scalability of the naming system are the main issues

2 / 52
Naming Entities Names, Identifiers, and Addresses

Objectives of the Chapter

we discuss how
human friendly names are organized and implemented; e.g., those for file
systems and the WWW
classes on naming systems
Flat naming
Structured naming, and
Attribute-based naming

3 / 52
Naming Entities Names, Identifiers, and Addresses

Names, Identifiers, and Addresses

A name in a distributed system is a string of bits or characters that is


used to refer to an entity
An entity is anything; e.g., resources such as hosts, printers, disks, files,
objects, processes, users, Web pages, ...
Entities can be operated on; e.g., a resource such as a printer offers an
interface containing operations for printing a document, requesting the
status of a job, ...
To operate on an entity, it is necessary to access it through its access
point, itself an entity (special)

4 / 52
Naming Entities Names, Identifiers, and Addresses

Names, Identifiers, and Addressest

Access point
The name of an access point is called an address (such as IP address and
port number as used by the transport layer)
The address of the access point of an entity is also referred to as the
address of the entity
An entity can have more than one access point (similar to accessing an
individual through different telephone numbers)
An entity may change its access point in the course of time (e.g., a
mobile computer getting a new IP address as it moves)

5 / 52
Naming Entities Names, Identifiers, and Addresses

Names, Identifiers, and Addressest


An address is a special kind of name
It refers to at most one entity
Each entity is referred by at most one address; even when replicated such
as in Web pages
An entity may change an access point, or an access point may be
reassigned to a different entity (like telephone numbers in offices)
Separating the name of an entity and its address makes it easier and more
flexible; such a name is called location independent
There are also other types of names that uniquely identify an entity; in
any case an identifier is a name with the following properties
It refers to at most one entity
Each entity is referred by at most one identifier
It always refers to the same entity (never reused)
Identifiers allow us to unambiguously refer to an entity
6 / 52
Naming Entities Names, Identifiers, and Addresses

Names, Identifiers, and Addressest

Examples
Name of an FTP server (entity)
URL of the FTP server
Address of the FTP server
IP number:port number
The address of the FTP server may change
There are three classes on naming systems: flat naming, structured
naming, and attribute-based naming

7 / 52
Flat Naming Introduction

Introduction

A name is a sequence of characters without structure; like human names?


Difficult to be used in a large system since it must be centrally controlled
to avoid duplication
How are flat names resolved
Name resolution: mapping a name to an address or an address to a name
is called name-address resolution
Solution
Simple solutions
Home-based approaches
Hierarchical location service
Distributed Hash Tables

8 / 52
Flat Naming Simple Solutions

Simple solutions
Two solutions for LANs: Broadcasting and Multicasting, and Forwarding
Pointers
Broadcasting and Multicasting
A computer that wants to access another computer for which it knows its IP
address broadcasts this address
The owner responds by sending its Ethernet address

Used by ARP (Address Resolution Protocol) in the Internet to find the data link
address (MAC address) of a machine
Broadcasting is inefficient when the network grows (wastage of bandwidth and
too much interruption to other machines)
Multicasting is better when the network grows - send only to a restricted group
of hosts
Multicasting can also be used to locate the nearest replica - choose the one
whose reply comes in first
9 / 52
Flat Naming Simple Solutions

Simple solutions

Forwarding Pointers
How to look mobile entities when an entity moves from A to B, it leaves behind
a reference to its new location

Advantage
Simple: as soon as the first name is located using traditional naming
service, the chain of forwarding pointers can be used to find the current
address

Drawbacks
The chain can be too long - locating becomes expensive
All the intermediary locations in a chain have to maintain their pointers
vulnerability if links are broken

Hence, making sure that chains are short and that forwarding pointers are robust
is an important issue.

10 / 52
Flat Naming Home-Based Approaches

Home-based approaches
Broadcasting and multicasting have scalability problems; performance
problems and broken links are problems in forwarding pointers
A home location keeps track of the current location of an entity; often it
is the place where an entity was created
It is a two-tiered approach
an example where it is used in Mobile IP
Each mobile host uses a fixed IP address
All communication to that IP address is initially directly sent to the hosts
home agent located on the LAN corresponding to the network address
contained in the mobile hosts IP address
Whenever the mobile host moves to another network, it requests a
temporary address in the new network (called care-of-address) and
informs the new address to the home agent
When the home agent receives a message for the mobile host it forwards it
to its new address and also informs the sender the hosts current location
for sending other packets
11 / 52
Flat Naming Home-Based Approaches

Home-based approaches

Host's home
location 1. Send packet to host at its home

2. Return address
of current location

Client's
location

3. Tunnel packet to
current location

4. Send successive packets


to current location
Host's present location

Problem
Creates communication latency
The host is unreachable if the home does no more exist (permanently changed); the
solution is to register the home at a traditional name service 12 / 52
Flat Naming Hierarchical Location Services

Hierarchical Location Services

A generalization of the two-tiered approach into multiple layers


A network is divided into a collection of domains, similar to DNS
A single top-level domain spans the entire network
Each domain can be subdivided into multiple, smaller domains
The lowest-level domain is called a leaf domain; typically a LAN
Each domain D has an associated directory node dir(D) that keeps track
of the entities in that domain leading to a tree of directory nodes
The root (directory) node knows about all entities

13 / 52
Flat Naming Hierarchical Location Services

Hierarchical Location Services


Leaf domains typically correspond to a local-area network or a cell.
The root (directory) node knows all the entities.
Each entity currently in a domain D is represented by a location record in
the directory node dir(D) which is the entitys current address or a pointer.

The root directory


Top-level
node dir(T)
domain T

Directory node
dir(S) of domain S
A subdomain S
of top-level domain T
(S is contained in T)

A leaf domain, contained in S

hierarchical organization of a location service into domains, each having an


associated directory node
14 / 52
Flat Naming Hierarchical Location Services

Hierarchical Location Services : Tree organization

The address of an entity E is stored in a leaf or intermediate node.


Intermediate nodes contain a pointer to a child iff the subtree rooted at the child
stores an address of the entity.
The root knows about all entities.
An entity may have multiple addresses (e.g., if it is replicated).
Field with no data
Field for domain
dom(N) with Location record
pointer to N for E at node M
M

Location record
with only one field,
containing an address

Domain D1
Domain D2
15 / 52
Flat Naming Hierarchical Location Services

Hierarchical Location Services: Lookup Operation

Basic principles
Start lookup at local leaf node
Node knows about E ⇒ follow downward pointer, else go up
Upward lookup always stops at root
Node knows
about E, so request
Node has no is forwarded to child
record for E, so
that request is M
forwarded to
parent

Look-up
Domain D
request

16 / 52
Flat Naming Hierarchical Location Services

Hierarchical Location Services: Insert Operation

Consider an entity E that has created a replica in leaf domain D for which it
needs to insert its address.
- (a) An insert request is forwarded to the first node that knows about entity E.
- (b) A chain of forwarding pointers to the leaf node is created.
Node knows
Node has no about E, so request
record for E, is no longer forwarded
so request is Node creates record
forwarded and stores pointer
to parent M
M
Node creates
record and
stores address

Domain D
Insert
request
(a) (b)

17 / 52
Flat Naming Hierarchical Location Services

Distributed Hash Tables (DHT)

Another solution is Distributed Hash Tables (DHT) read pages 188 - 191

18 / 52
Structured Naming Name space

Name Spaces

Flat names are good for machines, not for humans.


Structured names are composed by simple human-readable names, thus
matching the natural limitations of human cognition.
A name space is the way that names in a particular system are organized;
and holds a collection of valid names recognized by a particular service.
Examples:
Phone numbers
Credit card numbers
DNS
Files names
URLs
Main advantages:
Each part of a name is resolved relative to a separate context.
Potentially infinite.
Different contexts managed by different entities.
19 / 52
Structured Naming Name space

Name space
Name Graph
Names may have an internal structure that represents their position in a hierarchical
name space.
A (hierarchical) name space can be represented as a labeled, directed graph (naming
graph) with two types of nodes.
A leaf node represents a (named) entity.
A directory node an entity that refers to other nodes; it stores a directory table of
(edge label, node identifier) pairs.
Data stored in n1 n0
n2: "elke" home keys
n3: "max"
n4: "steen" "/keys"
n1 n5
"/home/steen/keys"
elke steen
max

n2 n3 n4 keys
Leaf node
.twmrc mbox
Directory node
"/home/steen/mbox"

A general naming graph with a single root node 20 / 52


Structured Naming Name space

Name space
Path Names
Each path in a naming graph can be referred to by the sequence of labels corresponding
to the edges in that path, such as
N: <label-1, label-2, , label-n>
where N refers to the first node in the path.
The sequence of labels is called path name.
If the first node in a path name is the root of the naming graph, it is called absolute
path name.
Otherwise, it is called relative path name.

Attributes
We can easily store all kinds of attributes in a node, describing aspects of the entity the
node represents:
type of the entity
An identifier for that entity
Address of the entitys location, etc.
Directory nodes can also have attributes, besides just storing a directory table with (edge
label, node identifier) pairs.
21 / 52
Structured Naming Name resolution

Name resolution

Name resolution refers to the process of looking up a name.


To resolve a name we need a directory node.
Problem:
How do we actually find that (initial) node?
Solution:
Closure Mechanism: the mechanism to select the implicit context from
which to start name resolution.
Examples:
- www.wku.edu.et: start at a DNS name server
- /home/steen/mbox: start at the local file server
- 0025111222922: dial a phone number
- 130.37.24.8: route to a Web server

A closure mechanism may also determine how name resolution should proceed.

22 / 52
Structured Naming Name resolution

Name Resolution: Name Linking


Linking: giving another name for the same entity (an alias) e.g., environment variables in
UNIX such as HOME that refer to the home directory of a user

Hard Link
A name that is resolved by following a specific path in a naming graph from one node to
another.
Allow Multiple absolute path names refer to the same node in a naming graph.

e.g., there are two different path names for node n5: /keys and /home/steen/keys

23 / 52
Structured Naming Name resolution

Name Resolution: Name Linking


Soft Link
Representing an entity by a leaf node and instead of storing the address or state of the
entity, the node stores an absolute path name
The name resolution process realizes that the content of a node is the name in the other
node that we need to go to.
Data stored in n1 n0
n2: "elke" home keys
n3: "max"
n4: "steen" n1 n5 "/keys"

elke steen
max

n2 n3 n4
Data stored in n6
Leaf node
.twmrc mbox keys "/keys"
Directory node
n6 "/home/steen/keys"

When first resolving an absolute path name stored in a node (e.g., /home/steen/keys in
node n6), name resolution will return the path name stored in the node (/keys), at which
point it can continue with resolving that new path name 24 / 52
Structured Naming Name Space Implementation

Name-space implementation

A name space forms the heart of a naming service.


A naming service allows users and processes to add, remove, and lookup
names.
If a distributed system is restricted to a local-area network, it is often
feasible to implement a naming service by means of only a single name
server.
In large-scale distributed systems, it is necessary to distribute the
implementation of a name space over multiple name servers.
The basic issue is how to distribute the name resolution process as well as
name space management across multiple machines, by distributing nodes
of the naming graph.

25 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Name Space Distribution

a name service can be partitioned into logical layers:


Global level
- Consists of the high-level directory nodes.
- Main aspect is that these directory nodes have to be jointly managed by
different administrations.
- Doesnt change very often.
Administrational level
- Contains mid-level directory nodes
- Can be grouped in such a way that each group can be assigned to a
separate administration.
- Single organization.
Managerial level
- Consists of low-level directory nodes within a single administration.
- Main issue is mapping directory nodes to local name servers.
- Changes regularly.

26 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Name Space Distribution


An example of partitioning a DNS name space in to three levels

Global
layer gov mil org net
com edu jp us
nl

sun yale acm ieee ac co oce vu

eng cs eng jack jill keio nec cs


Adminis-
trational
layer ftp www
cs csl
ai linda

pc24
robot pub

globe
Mana-
gerial
layer Zone
index.txt

27 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Name Space Distribution

A comparison between name servers at different layers


Item Global Administrational Managerial
1 Worldwide Organization Department
2 Few Many Vast numbers
3 Seconds Milliseconds Immediate
4 Lazy Immediate Immediate
5 Many None or few None
6 Yes Yes Sometimes
1: Geographical scale 4: Update propagation
2: # Nodes 5: # Replicas
3: Responsiveness 6: Client-side caching?

28 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution

Recall that name resolution consists of finding the address when the
name is given
Assume that name servers are not replicated and that no client-side
caches are allowed
Each client has access to a local name resolver, responsible for ensuring
that the name resolution process is carried out
Assume that the (absolute) path name
root: <nl, vu, cs, ftp, pub, globe, index.txt> is to be resolved.
Using URL notation, this path would correspond to
ftp://ftp.cs.vu.nl/pub/globe/index.txt

29 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution

Resolution
Mapping a name to an address or an address to a name is called
name-address resolution
Resolver
A host that needs to map an address to a name or a name to an address
calls a DNS client named a resolver
The resolver accesses the closest DNS server with a mapping request
If the server has the information it satisfies the resolver; otherwise, it either
refers the resolver to other servers (called Iterative Resolution) or asks
other servers to provide the information (called Recursive Resolution)

30 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution
Iterative Name Resolution
- A name resolver hands over the complete name to the root name server
- The root name server will resolve the name as far as it can and return the result to the
client; at the minimum it can resolve the first level and sends the name of the first level
name server to the client
- The client calls the first level name server, then the second, ..., until it finds the address of
the entity
1. <nl,vu,cs,ftp>
Root
2. #<nl>, <vu,cs,ftp> name server
nl
3. <vu,cs,ftp> Name server
nl node
Client's 4. #<vu>, <cs,ftp>
name vu
resolver 5. <cs,ftp> Name server
vu node
6. #<cs>, <ftp>
cs
7. <ftp> Name server
8. #<ftp> cs node

ftp
<nl,vu,cs,ftp> #<nl,vu,cs,ftp>
Nodes are
managed by
the same server
31 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution
Iterative Name Resolution
1 resolve(dir,[name1,...,nameK]) sent to Server0 responsible for dir
2 Server0 resolves resolve(dir,name1) → dir1, returning the identification (address) of
Server1, which stores dir1.
3 Client sends resolve(dir1,[name2,...,nameK]) to Server1, etc.
1. <nl,vu,cs,ftp>
Root
2. #<nl>, <vu,cs,ftp> name server
nl
3. <vu,cs,ftp> Name server
nl node
Client's 4. #<vu>, <cs,ftp>
name vu
resolver 5. <cs,ftp> Name server
vu node
6. #<cs>, <ftp>
cs
7. <ftp> Name server
8. #<ftp> cs node

ftp
<nl,vu,cs,ftp> #<nl,vu,cs,ftp>
Nodes are
managed by
the same server

32 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution
Recursive Name Resolution
1 A name resolver hands over the whole name to the root name server
2 The root name server will try to resolve the name and if it cant, it requests the first level
name server to resolve it and to return the address
3 The first level will do the same thing recursively

1. <nl,vu,cs,ftp>
Root
8. #<nl,vu,cs,ftp> name server 2. <vu,cs,ftp>

7. #<vu,cs,ftp> Name server


nl node 3. <cs,ftp>
Client's
name
resolver 6. #<cs,ftp> Name server
vu node 4. <ftp>

5. #<ftp> Name server


cs node

<nl,vu,cs,ftp> #<nl,vu,cs,ftp>
33 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution
Recursive Name Resolution
1 resolve(dir,[name1,...,nameK]) sent to Server0 responsible for dir
2 Server0 resolves resolve(dir,name1) → dir1, and sends resolve(dir1,[name2,...,nameK])
to Server1, which stores dir1.
3 Server0 waits for result from Server1, and returns it to client.
1. <nl,vu,cs,ftp>
Root
8. #<nl,vu,cs,ftp> name server 2. <vu,cs,ftp>

7. #<vu,cs,ftp> Name server


nl node 3. <cs,ftp>
Client's
name
resolver 6. #<cs,ftp> Name server
vu node 4. <ftp>

5. #<ftp> Name server


cs node

<nl,vu,cs,ftp> #<nl,vu,cs,ftp>
34 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution

Advantages and drawbacks


Recursive name resolution puts a higher performance demand on each
name server; hence name servers in the global layer support only
iterative name resolution
Caching is more effective with recursive name resolution; each name
server gradually learns the address of each name server responsible for
implementing lower-level nodes; eventually lookup operations can be
handled efficiently

35 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolution
Caching in Recursive Name Resolution
Server Should Looks up Passes to Receives Returns
for node resolve child and caches to requester
cs <ftp> #<ftp> — — #<ftp>
vu <cs,ftp> #<cs> <ftp> #<ftp> #<cs>
#<cs, ftp>
nl <vu,cs,ftp> #<vu> <cs,ftp> #<cs> #<vu>
#<cs,ftp> #<vu,cs>
#<vu,cs,ftp>
root <nl,vu,cs,ftp> #<nl> <vu,cs,ftp> #<vu> #<nl>
#<vu,cs> #<nl,vu>
#<vu,cs,ftp> #<nl,vu,cs>
#<nl,vu,cs,ftp>

recursive name resolution of <nl, vu, cs, ftp>; name servers cache
intermediate results for subsequent lookups
36 / 52
Structured Naming Name Space Implementation

Name Space Implementation: Implementation of Name


Resolutions
Communication Costs
Recursive name resolution
R1
Name server
I1 nl node
R2
I2 Name server
Client vu node
I3
R3
Name server
Iterative name resolution cs node

Long-distance communication

The comparison between recursive and iterative name resolution with respect to
communication costs

Method Advantage(s)
Recursive Less Communication cost; Caching is more effective)
Iterative Less performance demand on name servers ) 37 / 52
Structured Naming The Domain Name System (DNS)

Example - The Domain Name System (DNS)

DNS is one of the largest distributed naming services in use today.


It is primarily used for looking up host addresses and mail servers.
The DNS name space is hierarchically organized as a rooted tree.
A subtree is called a domain; a path name to its root node is called
domain name.
In practice, the DNS namespace can be divided into a global layer and
administrational layer.
The managerial layer, which is generally formed by local file systems,is
formally not part of DNS.
A node is the DNS name space often represents several entities at the
same time, e.g., a domain and a zone.
The content of a node is formed by a collection of resource records.

38 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)


Label
Each node has a label, a string with a maximum of 63 characters (case
insensitive)
The root label is null
Children of a node must have different names (to guarantee uniqueness)
Domain Name

Each node has a domain name


A full domain name is a sequence
of labels separated by dots (the last
character is a dot; null string is
nothing)
Domain names are read from the
node up to the root
Full path names must not exceed
255 characters
39 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)

Fully Qualified Domain Name (FQDN) or Absolute


Terminated by a null string
Contains the full name of a host, e.g., cs.aau.edu.et.
Usually the last dot is omitted for readability
Partially Qualified Domain Name (PQDN) or Relative
Not terminated with a null string
It starts from a node but does not reach the root
Used when the name to be resolved belongs to the same site as the client
(the resolver supplies the missing part, called the suffix to create an
FQDN)

40 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)

Domain
A domain is a subtree of the domain name space
The name of the domain is the domain name of the node at the top of the
subtree

The Internet is divided into over 200 top-level domains; each partitioned
into subdomains, ... ; the leaves represent domains that have no
subdomains; a leaf domain may contain a single host or represent a
company and contain thousands of hosts

41 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)

Hierarchy of Name Servers


Storing the information contained in the domain name space in a single
computer is inefficient and unreliable
Distribute the information among many computers called DNS servers
There is a hierarchy of name servers as we have a hierarchy of names

42 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)

Zones
What a server is responsible for, or has authority over, is called a zone;
zones are nonoverlapping
The server makes a database called a zone file and keeps all the
information for every node under that domain
It can divide its domain into subdomains and delegate part of its authority
to other servers

43 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)


Root Server
A server whose zone consists of the whole tree
It usually does not store the whole information about domains but
delegates its authority to other servers and keeps references to those
servers
There are currently more than 13 root servers, each covering the whole
domain name space and distributed all around the world
Primary and Secondary Servers
A primary server is one that stores a file about the zone for which it is an
authority; it is responsible for creating, maintaining, and updating the zone
file
A secondary server is one that transfers the complete information about a
zone from another server (primary or secondary); it does not create or
update the file
Such arrangement is to create redundancy so that if one server fails, the
other can still serve clients
44 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)


Types of Top-Level Domains
Two types: generic domains and country domains; there is a third one
called Inverse Domain (used to map an address to a name; we will not
discuss it further)
Generic Domains
Define registered hosts according to their generic behavior
Country Domains
Include one entry for every country (as defined by ISO) - two character
abbreviations. eg. et->Ethiopia
Label Description
com Commercial organization
edu Educational institutions
gov Government institutions
int International organizations
mil Military groups
net Network support centers
org Nonprofit organizations
45 / 52
Structured Naming The Domain Name System (DNS)

The Domain Name System (DNS)


Information in a node
The most important types of resource records forming the contents of nodes in the
DNS namespace

Type of record Entry


Description
SOA Zone Holds information on the represented zone
A (Address) Host Contains an IP address of the host this node represents
MX Domain Refers to a mail server to handle mail addressed to this
node
SRV(Server) Domain Refers to a server handling a specific service
NS Zone Refers to a name server that implements the represented
zone
CNAME Node Contains the canonical name of a host
PTR(Pointer) Host Symbolic link with the primary name of the represented
node
HINFO Host Holds information on the host this node represents
TXT Any kind Contains any entity-specific information considered 46 / 52
Attribute-Based Naming Attribute-Based Naming

Attribute-Based Naming

Flat naming: provides a unique and location-independent way of


referring entities
Structured naming: also provides a unique and location-independent way
of referring entities as well as human-friendly names
But do not allow searching entities by giving a description of an entity
each entity is assumed to have a collection of attributes that say
something about the entity
Then a user can search an entity by specifying (attribute, value) pairs
known attribute-based naming
Directory Services
Attribute-based naming systems are also called directory services

47 / 52
Attribute-Based Naming Attribute-Based Naming

Attribute-Based Naming

how are resources described? one possibility is to use RDF (Resource


Description Framework) that uses triplets consisting of a subject, a
predicate, and an object
e.g., (person, name, Alice) to describe a resource Person whose Name is
Alice
Hierarchical Implementations: LDAP
Distributed directory services are implemented by combining structured
naming with attribute-based naming
e.g., Microsofts Active directory service
Such systems rely on the lightweight directory access protocol or LADP
which is derived from OSIs X.500 directory service
A LADP directory service consists of a number of records called directory
entries (attribute, value) pairs, similar to a resource record in DNS; could
be single- or multiple-valued (e.g., Mail-Servers)
48 / 52
Attribute-Based Naming X.500 Directory Service

X.500 Directory Service

X.500 provides directory service based on a description of properties


instead of a full name (e.g., yellow pages in telephone book).
An X.500 directory entry is comparable to a resource record in DNS.
Each record is made up of a collection of (attribute, value) pairs.
Collection of all entries in an X.500 directory service is called a
Directory Information Base (DIB).
Each naming attribute is a Relative Distinguished Name (RDN).
The sequence of RDNs can be used to form a hierarchy of a collection of
directory entries called Directory Information Tree (DIT).
There are some protocols defined by X.500; the most popular is
Lightweight Directory Access Protocol (LDAP).
Microsoft Active Directory is implemented based on LDAP/X.500.

49 / 52
Attribute-Based Naming X.500 Directory Service

X.500 Directory Service: X.500 Directory Entry

Attribute Abbreviation Directory


Country C ET
Locality L Wolkite
Organization O Wolkite University
Organizational Unit OU Department of IT
CommonName CN Main Server
Mail-Servers – –
Ftp Servers – –
WWW Servers – –

50 / 52
Attribute-Based Naming X.500 Directory Service

Any Question ?

51 / 52

You might also like