Ch5 Naming
Ch5 Naming
An entity may have multiple access points, and its access point may change
Thus, the address of an access point should not be used to name the entity
E.g., A person might has multiple phone numbers to reach him, and these number may be re-assigne
d to another person
Therefore, what we need is a name for an entity that is independent from its addresses
i.e., a location-independent name
Distributed
Cont... Systems
2. Forwarding pointers
A popular approach to locate mobile entities
When an entity moves, it leaves a pointer to where it went
Update a client’s reference when present location is found
Distributed
Forwarding Pointers Systems
Advantage:
Dereferencing can be made transparent to client by following the pointer chain
Disadvantages
Geographical scalability problems:
Chain can be very long for highly mobile entities
Long chains are not fault tolerant
High latency when dereferencing
In DHT-based system,
Each node has an m-bit random identifier
Each entity has an m-bit random key
An entity with key k is located on a node with the smallest identifier that
satisfies id >= k, denoted as succ(k)
The main issue in DHT-based systems is to efficiently resolve a key
k to the address of succ(k).
Distributed
Distributed Hash Table (DHT)- Chord Systems
Two approaches:
linear approach and
finger table
In linear approach, let each node p keep track of the successor succ(p+ 1) as
well as its predecessor pred(p)
whenever a node p receives a request to resolve key k, it will simply forw
ard the request to one of its two neighbours
15
Distributed
Finger table Systems
In the finger table approach, the first thing is to build the finger table.
Each node p maintains a finger table FTp[] with at most m entries:
FTp[i] = succ (p+ 2i−1)
Note: FTp[i] points to the first node succeeding p by at least 2i−1
Figure 5-4. Resolving key 26 from node 1 and key 12 from node 28 in a Chord system.
Distributed
Exploiting Network Proximity Systems
Problem:
The logical organization of nodes in the overlay may lead to erratic mes
sage transfers in the underlying Internet
Node k and node succ(k +1) maybe very far apart.
Solutions:
Topology-aware node assignment: When assigning an ID to a node, make sure
that nodes close in the ID space are also close in the network.
Proximity routing: Maintain more than one possible successor, and forward to the
closest.
Proximity neighbour selection: When there is a choice of selecting who your
neighbour will be, pick the closest one.
Distributed
Hierarchical Location Services Systems
The basic idea is to build a large-scale search tree for which the underlying network is divi
ded into hierarchical domains.
Each domain is represented by a separate directory node.
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) whi
ch is the entity’s current address or a pointer.
Distributed
Hierarchical Approaches- organization Systems
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.
Distributed
Structured Naming Systems
Name resolution refers to the process of looking up a name, given a path name.
name lookup returns the identifier of a node from where the name resolution process
continues
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.kmu.edu.et: start at a DNS name server
/home/steen/mbox: start at the local file server
Start from well known root directory, or start from home directory
Distributed
Implementation of a Name Space Systems
A name space is often implemented by name servers
In LAN, a single name server is often good enough
In large-scale distributed system, the implementation of a name space is often distributed over
multiple name servers
Administrational layer
Represents groups of entities in a single organization or admin. unit
Managerial layer
Nodes often change frequently, e.g., hosts in a local network
May be managed by system administrators or end users
Distributed
Name Space Distribution Systems
An example partitioning of the DNS name space, including Internet-accessible files, into three
layers.
Distributed
Name Space Distribution Systems
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.
Distributed
Implementation of Name Resolution Systems
Assume that the (absolute) path name
root: <nl, vu, cs, ftp> is to be resolved.
Using URL notation, this path would correspond to
ftp://cs.vu.nl
The comparison between recursive and iterative name resolution with respect to communication costs.
Distributed
Attribute Based Naming Systems
41