0% found this document useful (0 votes)
34 views23 pages

6 Naming

The document discusses key concepts related to naming in distributed systems. It defines different types of names like identifiers, human-friendly names, and addresses. It explains how naming spaces are organized in graphs and how names are resolved through techniques like iterative and recursive resolution. It also covers concepts like linking, mounting, and partitioning naming spaces. Forwarding pointers and home-based approaches for locating mobile entities are described. The challenges of scalability, caching, and garbage collection in distributed naming systems are also summarized.

Uploaded by

Sneha Gowda
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views23 pages

6 Naming

The document discusses key concepts related to naming in distributed systems. It defines different types of names like identifiers, human-friendly names, and addresses. It explains how naming spaces are organized in graphs and how names are resolved through techniques like iterative and recursive resolution. It also covers concepts like linking, mounting, and partitioning naming spaces. Forwarding pointers and home-based approaches for locating mobile entities are described. The challenges of scalability, caching, and garbage collection in distributed naming systems are also summarized.

Uploaded by

Sneha Gowda
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 23

Naming

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


characters used to refer to an entity.
To resolve names a naming system is needed.
Naming Entities
• An entity can be anything
• An entity can be operated on
• To operate on an entity we need an access point
• An access point in a DS is called address
• An address is a special type of name
• A name for an entity independent from its address is called location
independent
• A true identifier is a special type of name that uniquely identifies an
entity and has the following properties:
- An identifier refers to at most one entity
- Each entity is referred to by at most one identifier
- An identifier always refers to the same entity
• Human friendly name is another type of name
Name Spaces
Names in a DS are organized in a name space
e
o o t nod
R

Directory table

A naming space can be represented as a graph with leaf nodes (containing entity information)
and directory nodes.
Absolute and relative path names are related to a directory node
A global name denotes the same entity in the system
A local name depends on where the name is being used
Name Resolution
Linking and Mounting
Name resolution can take place only if how and where to start is known (a.k.a.
closure mechanism)
An alias is another name for the same entity (multiple absolute reference or symbolic
link)

The concept of a symbolic link explained in a naming graph within a single name space.
Linking and Mounting
Name space A Name space B

Protocol
Server
Mounting point

Mounting point
Mount point

Mounting remote name spaces through a specific process protocol ( i.e. in NFS) to
merge different mane spaces
Linking and Mounting
A different approach to merge name spaces (with scalability problems)

New root node


Mapping table

Organization of the DEC Global Name Service


Names in GNS always include the id of the node from where resolution should start
Name Space Distribution (1)
Rarely
changed

Relatively
stable

An example: partitioning of the DNS name space, including Internet-accessible files, into three layers.
A zone is a part of the name space implemented by a separate name server
Name Space Distribution (2)

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

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.
Replication and caching can be difficult to implement maintaining consistency
Implementation of Name Resolution

Ex: resolution of root:<nl, vu, cs, ftp, pub, globe, index.txt>


The principle of iterative name resolution.
Implementation of Name Resolution

Ex: resolution of root:<nl ,vu, cs, ftp, pub, globe, index.txt>


The principle of recursive name resolution.
Implementation of Name Resolution

The comparison between recursive and iterative name resolution


Naming versus Locating Entities
usually nodes in managerial layers vary very often…

a) Direct, single level mapping between names and addresses.


b) Two-level mapping using identifiers.
Simple example in LAN : ARP via broadcasting
Forwarding Pointers
when an entity moves, it leaves a reference to its new location

Entr
it item y ite
ms
Ex

The principle of forwarding pointers using (proxy, skeleton) pairs or SSP (stub and scion pair)
Problems when the chain is broken
Forwarding Pointers

Redirecting a forwarding pointer, by storing a shortcut in a proxy.


The current location is sent back to the caller
Home-Based Approaches
for mobile entities in large scale networks
a home location keeps track of the current location of an entity

0,3
2bis

4
2

The principle of Mobile IP (2 tiered case)


Each mobile host has a fixed IP add., communications directed to the host home agent
IP address is used ad an identifier
Hierarchical Approach Mechanism

Hierarchical organization of a location service into domains, each having an associated


directory node.
Each entity in a domain is represented by a location record in the directory node.
The root node has a location record for each entity, storing a pointer to the directory node where
the entity is.
Hierarchical Approaches

An entity may have multiple addresses.


If an entity has an address in different leaf domains D1 and D2, then the directory node of the
smallest domain containing D1 and D2 will have 2 pointers.
Hierarchical Approaches

er
oint
p

address

client

Looking up a location in a hierarchically organized location service.


Hierarchical Approaches
Update operation in a hierarchical location service (top-down)

a) An insert request is forwarded to the first node that knows about


entity E (replica).
b) A chain of forwarding pointers to the leaf node is created.
Pointer Caches
Caching in a hierarchical location service supporting mobile entities is not effective
Caching is effective only if data rarely change, or entity moves within the domain
Pointer caching let the lookup start at the directory of the smallest domain in which a
mobile entity moves regularly

Caching a reference to a directory node of the lowest-level domain in which an entity


will reside most of the time.
Scalability Issues
hierarchical location services have bottlenecks at root directory partitioning high
level nodes

The scalability issues is related to uniformly placing sub-nodes of a partitioned root node across
the network covered by a location service. Choice of partitions is critical
The Problem of Unreferenced Objects
When an entity can no longer be accessed, it has to be removed

A graph representing objects containing references to each other


Entities that are not directly or indirectly referenced by root nodes have to be removed.
Removing unreferenced entities
• Reference counting
reference to the object are counted, dynamically
• Reference listing
a skeleton maintains the explicit listing of the proxies that point to it
• Tracing-based garbage collection
all entities in a DS are traced, checking which entity can be reached
from the root set.

In a distributed system garbage collection requires network


communication

You might also like