5.2 FLAT NAMING 1 Tejaswini Kalluri
Jan 17, 2016
1
5.2 FLAT NAMING
Tejaswini Kalluri
2Outline Introduction
Different Mechanisms
• Broadcasting
• Multicasting
• Forward Pointers
• Home-based approach
• Distributed Hash Tables
• Hierarchical approaches
Ongoing Research
3Introduction
► Names
- To access resources, uniquely identify entities, refer to
locations
► Address
- The name of the access point through which entity can be
accessed
► Identifiers
- Names that uniquely identify entities in a distributed
system
4Introduction
► Flat names:
• Identifiers are just random bits of strings
• Also called as unstructured names
• Doesn’t have any information on how to locate access point of
associated entity
• Different mechanisms are available to locate an entity given
only its identifier
5Broadcasting Broadcasting
Most common in Local Area Networks
Message containing identifier of entity is broadcast to all the machines in the
network
Machine that has access point for the requested entity responds to the message
► Pros
► Simple and easy to implement
► Efficient for small networks
► Cons
► Inefficient when the network grows
► Network bandwidth wasted by requests
Solution: Multicasting
6Multicasting Multicasting
Restricted group of hosts receive the request for entity
The group is called multicast group and is identified by multicast address
Host that has access point for the requested entity responds to the
message
► Pros
► Bandwidth wastage will be less compared to broadcasting
► Efficient for small groups
► Cons
► Scalability
7Forward Pointers
► Popular approach to locate mobile entities
► This is not like looking up an address, instead the client request will be
forwarded along a chain to the actual object
► Mechanism:
► When an entity moves from location A to location B, it leaves behind a
reference to its new location at B in A.
► By following the chain of forward pointers, message will be sent from client
to the actual object
► Example:
8Forward Pointers
► Pros:
► Transparency – The only thing the client sees of an object is a client stub,
to which locations the client stub forwards its invocations are hidden from
the client
► Cons:
► Chains will be long for highly mobile entities
► All intermediate locations in a chain will have to maintain their part of the
chain of forward pointers
► Vulnerability to broken links
Solution: Home-based approach
9Home based approach► Used as a fall back mechanism for location services using forward pointers
► Makes use of home location that keeps track of the current location of the entity
► Mechanism
► Each mobile host uses a fixed IP address
► All communication to that host will be directed
to mobile host’s home agent
► When host moves to a new location the new
care of address will be updated at the home
agent
► When a home agent receives a packet for the
mobile host, it will be either forwarded or tunneled
to the current location depending on the network location
10Home based approach
► Pros:
► Scalability
► Cons:
► Communication latency
► Contacting the entity will become impossible if the home location doesn’t
exist
► Poor geographical stability
11Distributed Hash Tables► Used in peer to peer systems
► A hash table allows to insert, lookup and delete objects with keys
► A distributed hash table allows to do the same in distributed setting (objects=files)
► Mechanism
► Each node has an m-bit random identifier
► Each entity has a m-bit random key
► An entity with key k is located on a node with the smallest identifier that satisfies
id >=k
► This id is referred to as successor of k denoted as succ(k)
► The major task is key lookup
► Two approaches: linear approach and finger table
12Distributed Hash Tables► Linear approach:
► Each node keeps track of its predecessor and successor
► When key k needs to be resolved, request will be forwarded to one of the two
neighbors – whichever one is appropriate
► Drawback: Poor performance, non scalable
► Finger table approach
► Each node has a finger table with m entries
► The ith entry of node n will contain successor((n+2i-1)mod 2m)
► At node n, send query for key k to largest successor/finger entry <= k if none
exist, send query to successor(n)
13Distributed Hash Tables
14Distributed Hash Tablesi Ft[i]
0 96
1 96
2 96
3 96
4 96
5 112
6 16
i Ft[i]
0 32
1 32
2 32
3 32
4 32
5 80
6 80
i Ft[i]
0 45
1 45
2 45
3 45
4 80
5 80
6 96
(i) 80 Finger Table (ii) 16 Finger Table (iii) 32 Finger Table
15Distributed Hash Tables
16Distributed Hash tables
► Pros:
► Efficiency of lookups and inserts
► Load balanced
► Joining and leaving is simple
► Cons:
► Underlying network should be taken into account
Example: Nodes in different places
17Hierarchical approaches
► Network is divided into a collection of domains
► Each domain subdivided into smaller subdomains
► Lowest level domain is called a leaf domain
► Each domain D has an associated directory node dirt(D) that keeps track entities in
that domain, leading to a tree of directory nodes
► Root directory node knows about all the entities in the network
18Hierarchical approaches
► Look Up:
Performance will be degraded when the search continues until the root node is reached
19Ongoing Research► Forward pointers
► Research is going on to develop new chain reduction mechanisms. One such
mechanism is to update client’s reference when the most recent location is
found
► Distributed Hash Tables
► Since the DHT is dependent on underlying network, researchers are working
to propose efficient ways to make a DHT aware of its underlying network.
20
Questions?
21
Thank you!