0% found this document useful (0 votes)
26 views30 pages

Chapter 5-Naming

The document discusses different types of naming systems used in distributed systems including flat, structured, and attribute-based naming. It describes names, identifiers, addresses and how name resolution works. It also explains concepts like naming graphs, symbolic links, and mounting in structured naming systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views30 pages

Chapter 5-Naming

The document discusses different types of naming systems used in distributed systems including flat, structured, and attribute-based naming. It describes names, identifiers, addresses and how name resolution works. It also explains concepts like naming graphs, symbolic links, and mounting in structured naming systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Chapter 5 - Naming

 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
 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

1
5.1 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)

2
 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)

3
 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
 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
 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
4
there are three classes on naming systems: flat naming,
structured naming, and attribute-based naming

5.2 Flat Naming


 a name is a sequence of characters without structure; like
human names? may be if it is not Ethiopian name!
 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
 possible solutions: simple, home-based approaches, and
hierarchical approaches

5
1. Simple Solutions
 two solutions for LANs: Broadcasting and Multicasting,

and Forwarding Pointers


a. 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
6
b. 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

7
2. 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 host’s home agent located on the LAN
corresponding to the network address contained in the
mobile host’s 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
8
3. Hierarchical Approaches
 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

9
hierarchical organization of a location service into domains, each
having an associated directory node

10
5.3 Structured Naming
 flat names are not convenient for humans
 Name Spaces
 names are organized into a name space
 each name is made of several parts; the first may define the
nature of the organization, the second the name, the third
departments, ...
 a name space is generally organized as a labeled, directed
graph with two types of nodes
 leaf node: represents the named entity and stores
information such as its address or the state of that entity
 directory node: a special entity that has a number of
outgoing edges, each labeled with a name
 a directory node stores a table in which an outgoing edge
is represented as a pair (edge label, node identifier), called
a directory table

11
 if the first node is the root of the naming graph, it is called an
absolute path name; otherwise it is a relative path name
 Name Resolution
 given a path name, the process of looking up a name stored
in the node is referred to as name resolution; it consists of
finding the address when the name is given (by following
the path)
 Linking and Mounting
 Linking: giving another name for the same entity (an alias)
 two types of links (or two ways to implement an alias):
 hard link: to allow multiple absolute path names to refer
to the same node in a naming graph

12
 symbolic 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 concept of a symbolic link explained in a naming graph

13
 name resolution can also be used to merge different name
spaces in a transparent way
 the solution is to use mounting
Mounting
 let a directory node store the directory node from a
different (foreign) name space
 the directory node storing the node identifier is called a
mount point
 the directory node in the foreign name space is called a
mounting point, normally the root of a name space
 during name resolution, the mounting point is looked up
and resolution proceeds by accessing its directory table

14
 The Implementation of a Name Space
 a name space forms the heart of a naming service
 a naming service allows users and processes to add,
remove, and lookup names
 a naming service is implemented by name servers
 for a distributed system on a single LAN, a single server
might suffice; for a large-scale distributed system the
implementation of a name space is distributed over multiple
name servers
 Name Space Distribution
 in large scale distributed systems, it is necessary to
distribute the name service over multiple name servers,
usually organized hierarchically
 a name service can be partitioned into logical layers

15
 global layer
 formed by highest level nodes (root node and nodes close
to it or its children)
 nodes on this layer are characterized by their stability, i.e.,
directory tables are rarely changed
 they may represent organizations, groups of
organizations, ..., where names are stored in the name
space
 administrational layer
 groups of entities that belong to the same organization or
administrational unit, e.g., departments
 relatively stable
 managerial layer
 nodes that may change regularly, e.g., nodes representing
hosts of a LAN, shared files such as libraries or binaries, …
 nodes are managed not only by system administrators, but
also by end users
16
an example partitioning of the DNS name space, including Internet-
accessible files, into three layers 17
 the name space is divided into nonoverlapping parts, called
zones in DNS
 a zone is a part of the name space that is implemented by a
separate name server
 some requirements of servers at different layers
 performance (responsiveness to lookups), availability (failure
rate), etc.
 high availability is critical for the global layer, since name
resolution cannot proceed beyond the failing server; it is also
important at the administrational layer for clients in the same
organization
 performance is very important in the lowest layer, since
results of lookups can be cached and used due to the relative
stability of the higher layers
 they may be enhanced by client side caching (global and
administrational layers since names do not change often)
and replication; they create implementation problems since
they may introduce inconsistency problems (see Chapter 7)
18
Item Global Administrational Managerial

Geographical scale of network Worldwide Organization Department

Total number of nodes Few Many Vast numbers

Responsiveness to lookups Seconds Milliseconds Immediate

Update propagation Lazy Immediate Immediate

Availability requirement Very High High low

Number of replicas Many None or few None

Is client-side caching applied? Yes Yes Sometimes

a comparison between name servers for implementing nodes from a


large-scale name space partitioned into a global layer, an
administrational layer, and a managerial layer

19
 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.
 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)
20
 Iterative
 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

the principle of iterative name resolution 21


 Recursive
 a name resolver hands over the whole name to the root name
server
 the root name server will try to resolve the name and if it
can’t, it requests the first level name server to resolve it and
to return the address
 the first level will do the same thing recursively

the principle of recursive name resolution 22


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
 communication costs may be reduced in recursive name
resolution

the comparison between recursive and iterative name resolution with


respect to communication costs; assume the client is in Ethiopia
 Summary and the name servers in the Netherlands
Method Advantage(s)
Recursive Less Communication cost; Caching is more effective
Iterative Less performance demand on name servers 23
 Example - The Domain Name System (DNS)
 one of the largest distributed naming services is the
Internet DNS
 it is used for looking up host addresses and mail servers
 hierarchical, defined in an inverted tree structure with the
root at the top.
 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 24
 Fully Qualified Domain Name (FQDN) or Absolute
 terminated by a null string
 contains the full name of a host, e.g., cs.du.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)

 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.
25
 Zone
 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
 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. 26
 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
 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;
 Generic Domains
define registered hosts according to their generic behaviour

Label Description
Com Commercial organizations
Edu Educational institutions
Gov Government institutions
Int International organizations
Mil Military groups
Net Network support centers
Org Nonprofit organizations
27
5.4 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

28
 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., Microsoft’s Active directory service
 such systems rely on the lightweight directory access
protocol or LADP which is derived from OSI’s 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)

29
 the collection of all directory entries is called a Directory
Information Base (DIB)
 each record is uniquely named so that it can be looked up
 each naming attribute is called a Relative Distinguished
Name (RDN).
 a globally unique name is formed using abbreviations of
naming attributes.

30

You might also like