Naming
Naming
Naming
Location Transparency
An object’s name should be independent of:
physical connectivity
or
topology of the system,
or
current location of the object.
Cont…
Location Independency
The name of an object need not be changed when
the object’s location changes.
An object at any node can be accessed without the
knowledge of its physical location
User mobility - An object at any node can issue an
access request without the knowledge of its own
physical location
It supports dynamic mapping scheme.
Cont…
Scalability
Uniform naming convention
Multiple user-defined names for the same object
Group naming
Meaningful names
Performance
Fault tolerance
Replication transparency
Locating the nearest replica
Locating all replicas
Name
Human-oriented names
A character string that is meaningful to users.
For example: /user/dsk/project/file1
Defined by their users
Also known as high-level names
Not unique for an object
Variable in length
System-oriented names
Replica
Second-level Replica
First-level
mapping mapping
It is a process that:
Maintains information about named objects
DNS has always been designed to use both UDP and TCP
port 53
UDP being the default, and fall back to using TCP when it
is unable to communicate on UDP, typically when the
packet size is too large to push through in a single UDP
packet.
Domain
(D1)
Domain Domain
(D5) (D6)
Context
(C2)
Context
(C3)
Nested contexts
Name resolution
It is a process of mapping an object's name:
to the object's properties, such as its location,
An absolute name
Begins at the root context of name space tree &
Centralized approach
It is mainly used by a naming system that uses
unstructured names.
Advantages
simple and easy to implement.
Drawbacks
1. In a heterogeneous environment, the form and length of
identifiers may be different for different computers, resulting in
non-uniform global unique identifiers.
Broadcasting
An object is located by broadcasting a request for the
object from a client node.
2 2 Searching
1
2 nodes at 1 hop
i distance if the
Client
1 node 1 search of 0 hop
i fails
1 2 Searching nodes at i
2 3 hops distance if the
searches up to i-1
hops fail
i
Limitations
Limitations
1. The use of broadcast protocol to locate those objects
that are not found on their creator nodes limits the
scalability of this mechanism.
Creator
node
Object 1 Client
node 1 Searching the
location 2 creator node
3
2 Negative reply
4
3 Broadcast request
message
3
4 Reply from the node
on which the object is
located
Object 1
location Client
2 node
1 2 3 Path of
4 message forwarding
Drawback
• Broadcast requests will clutter up the network, disturbing
all the nodes even though only a single node is directly
involved.
Client
Object 2 node Searching of local
location 1
cache
2 1
2 Broadcast request
3 message
3 Reply from the node
2 on which the object is
located
Characterstics:
They are character strings that are meaningful to their
users.
They are defined and used by the users.
The facility of aliasing is provided to the users.
These names are variable in length both in names for
different and same objects.
They are not unique in either space or time.
Human-oriented hierarchical naming
schemes
Combining an object's local name with its host name
This naming scheme uses a name space that is comprised
of several isolated name spaces.
Methods of clustering:
Algorithmic clustering
Syntactic clustering
Attribute clustering
Algorithmic Clustering
Names are clustered according to the value that results
from applying a function to these.
Therefore, the clustering condition is a predicate of the form
function(name)=value.
Advantage:
It supports structure-free name distribution.
It allows a healthy name resolution tree to be built even
for flat name spaces.
Drawbacks-
Difficult to devise proper clustering functions because
the characteristics of the names to be defined by the
various users is normally unpredictable.
London Paris Arizona
Poznan Oregon Berlin
Vienna Tokyo Kyoto
Nara Mexico Nebraska
Nagasaki
func-1(name)=0 func-1(name)=1
London Poznan
Berlin Vienna Paris Arizona
Oregon Mexico Nara Tokyo Kyoto
Nagasaki Nebraska
Func-2(name)=0 func-2(name)=1
Sinha/file1
India/Delhi Sinha/file2
India/Bombay Sinha/file3
Japan/Tokyo Pradeep/file1
Japan/Kyoto Pradeep/file2
Matches”pow*”
Matches “pos*”
Matches “pop*” Matches “Si*” Matches “sh*”
powder poster
poppy Shark
Silver
Silky sheep
Some drawbacks-
1. It does not scale well because the performance of the
centralized name server may become a serious bottleneck
for large systems.
2. The reliability of this mechanism is very poor.
Fully replicated approach
Methods:
• Recursive
• Iterative
• Transitive
Recursive
In this method, the name agent forwards the name resolution
request to the name server that stores the first context
needed to start the resolution of the given name.
Client
8 1
Name
Agent
7
2
3 4
Name Name Name
Server server 5 server
6
Iterative
In this method, the name server don’t call each other directly.
Rather, the name agent retains control over the resolution process
and one by one calls each of the servers involved in the resolution
process.
Client
1 8
Name
Agent
7
3
4 5 6
2
Name Name Name
Server server server
Transitive
This method requires fewest number of messages. A sender does
not receive any acknowledgement message once it passes on the
resolution operation to another server. This approach should be
used in systems with reliable communication.
Client
6 1
Name
Agent
5
2
3 4
Name Name Name
Server server server
Name caches
The performance can be improved using name
caches due to:
1. High degree of locality of name lookup.
2. Slow update of name information database.
3. On-use consistency of cached information is possible.
Types of name caches
Directory cache
each entry consists of a directory page
Prefix cache
Each entry consists of a name prefix and the corresponding
zone identifier.
Used in those naming systems that use the zone-based
context distribution mechanism.
Types of name caches
Full-name cache
Each entry consists of an object’s full path name and the
identifier and location of its authoritative name server.
Immediate invalidate
In this method, all related name cache entries are
immediately invalidated when a naming data update occurs.
On-use update
No attempt is made to invalidate all related cache entries
when a naming data update occurs.
When a client uses a stale cached data, it is informed by the
naming system that the data being used is either incorrectly
specified or stale.