Distributed Systems Naming


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Distributed Systems Naming

  1. 1. 5.3 Structured Naming Distributed Systems Chapter 5 Naming Prepared by: Ahmed Magdy Ezzeldin Reference: Distributed Systems Principles and Paradigms 2nd Edition
  2. 2. 5.3.1 Name Spaces●A Name space is a labeled, directed graph with two types ofnodes.●A leaf node represents a named entity and has the property that ithas no outgoing edges.● And a directory node that has a number of outgoing edges, eachlabeled with a name, and has an associated identifier.●A directory table holds (edge label, node identifier) for thedirectory contents.●n0 is the root node and name : N label_1 , label_2 , ..... label_n iscalled a path. If N is the root then the path is called an absolutepath, otherwise it is called a relative path. We use "/" as aseparator between labels and as a representation for n0.
  3. 3. 5.3.1 Name Spaces [continued]A name space can be strictly hierarchical so that the naming graphis organized as a tree (one absolute path for each node). In othercases it can be organized in a directed acyclic graph (not permittedto have a cycle).
  4. 4. 5.3.2 Name Resolution- Resolution starts by reading the directory tableat the first node of the path and then proceedingto the next identified node and continue the look-up until reaching the last node where it returns thenode identifier for the last node in the path.- Closure MechanismKnowing how and where to start name resolutionis generally referred to as a closure mechanism.Essentially, a closure mechanism deals withselecting the initial node in a name space fromwhich name resolution is to start.
  5. 5. 5.3.2 Name Resolution [continued]
  6. 6. 5.3.2 Name Resolution [continued]- Linking and MountingThere are 2 ways of aliasing naming 1- In a directed graph where there are 2 absolute paths toa certain node. (Like Hard Links in UNIX file system) 2- In a tree structure, we can represent an entity by a leafnode that stores an absolute path name of another node. (likesymbolic links in UNIX file system) [Figure 5-11]A mounted file system corresponds to letting a directory nodestore the identifier of a directory node from a different namespace. To mount a foreign name space in a distributedsystem requires at least the following information: 1. The name of an access protocol. 2. The name of the server. 3. The name of the mounting point in the foreign namespace. [Figure 5-12]
  7. 7. 5.3.2 Name Resolution [continued]
  8. 8. 5.3.3 Implementation of a Name Space- Name Space DistributionName spaces are organized hierarchically and alsopartitioned into logical layers: 1- Global layer (Root and its direct children) which isstable (rarely changed). In this layer availability is moreimportant than performance as caching can be used. 2- The administrational layer (they represent groups ofentities that belong to the same organization oradministrational unit) stable but not like the global layer. 3- The managerial layer consists of nodes that maytypically change regularly. For example, nodesrepresenting hosts in the local network belong to thislayer. [Figure 5-13] & [Figure 5-14]
  9. 9. 5.3.3 Implementation of a Name Space [continued]
  10. 10. 5.3.3 Implementation of a Name Space [continued]
  11. 11. 5.3.3 Implementation of a Name Space [continued]● Implementation of Name Resolution- Iterative name resolution:Where the client name resolver requests from theroot name server to respond with the URL partsidentifiers. The root server replies with what it canresolve then the response is sent back to theclient that sends a new request to the next nameserver that has been resolved by the root serverand so on until the whole URL has been resolved.[Figure 5-15]
  12. 12. 5.3.3 Implementation of a Name Space [continued]
  13. 13. 5.3.3 Implementation of a Name Space [continued]- Recursive Name resolution:Where it is the responsibility of the name servernot the client to resolve the name by requestingthe rest of the name to be resolved from the otherservers recursively which adds a performancedemand on each server as it has to resolve thewhole URL, but caching can be used moreeffectively than iterative name resolution.[Figure 5-16] & [Figure 5-17] & [Figure 5-18]
  14. 14. 5.3.3 Implementation of a Name Space [continued]
  15. 15. 5.3.3 Implementation of a Name Space [continued]
  16. 16. 5.3.3 Implementation of a Name Space [continued]
  17. 17. 5.3.4 The DNS Name Space [continued]● The DNS name space is hierarchically organized as arooted tree.● A label is a case-insensitive string made up ofalphanumeric characters.● A label has a maximum length of 63 characters.The length of a complete path name is restricted to 255characters.● The string of a path name consists of its labels, startingwith the rightmost one, and separating the labels by a dot.● The root is represented by a dot. e.g. the path name root:<com, google, web, s1>, is represented by the string"s1.web.google.com.", which includes the rightmost dot toindicate the root node (the dot is removed for readability).● A subtree is called a domain; a path name to its root nodeis called a domain name. [Figure 5-19]
  18. 18. 5.3.4 The DNS Name Space [continued]
  19. 19. 5.3.4 The DNS Name Space [continued]- DNS Implementation● The DNS name space is divided into a globallayer and an administrational layer.●Each zone is implemented by a name server,which is virtually always replicated for availability.●A DNS database is implemented as a (small)collection of files, a file for each zone.
  20. 20. Thank you Questions ???