Naming
CSCI 4780/6780
DHT-based Approaches• Lookup functionality distributed among multiple
nodes
• Chord – m-bit identifier space (IDs range from 0 to 2m-1)
• Lookup information on k will be maintained by succ(k)
• Simple implementation: Node q keeps track of succ(q+1)
• Finger table for scalable look up• q keeps track of succ(q+2i-1) for 0 < i < m
Distributed Hash Table
Hierarchical Approaches• Hierarchy of domains
• Leaf domain – lowest level of the hierarchy
• Location record for each entity
• Leaf domain node stores the actual location of the entity
• Upper level nodes store references to the children that contain the entity
• Multiple addresses if entity is replicated
Hierarchical Location Service
Location Service for Replicated Entities
Lookup in Hierarchical Location Service
Insertion in Hierarchical Lookup Service
Insertion (Contd.)
Structured Naming• Names are organized into name spaces• Name space is represented as a directed graph
with two types of nodes• Leaf Node – Represents named entity
– No outgoing edges– Stores information on the entity it is referring (address
or state of the entity)
• Directory node – Can have multiple outgoing edges each with a name– Directory table – Contains <edge label, node ID> for
each outgoing edge
Name Spaces - Example
A general naming graph with a single root node.
More on Name Spaces• Path name: Sequence of edge labels leading from
one node to another– N:<label-1, label-2 …., label-n>
• Absolute path name– First node is the root
• Relative path name– First node can be arbitrary node
• Global name– Denotes same entity where ever it is used
• Local name– Interpretation is dependent upon where it is used
Organizing Name Spaces• Tree-based approach
– Strict hierarchical approach
• Directed acyclic graph– Most commonly used
• General graphs– Rarely used
• Single root
• Multiple root
Name Spaces in Unix File System
The general organization of the UNIX file system implementation on a logical disk of contiguous disk blocks.
Name Resolution• Process of looking-up an entity given its path name
– Find the corresponding node
• Example: N:<label-1, label-2 …. Label-n>– Start at N– Proceed along the edges
• A crucial question: Where should the resolution begin?– Which node represents the root?– Unix example: Which i-node corresponds to the root?
Closure Mechanism
• Knowing how and where to start resolution mechanism – Closure
• Have a universally agreed upon root
• In Unix root directory is the first i-node– Actual byte offset is calculated by other values in
superblock
• HOME variable in Unix – always refers to the user’s home directory