SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
5.3 Structured Naming



        Distributed Systems
              Chapter 5
               Naming

                          Prepared by: Ahmed Magdy Ezzeldin
    Reference: Distributed Systems Principles and Paradigms 2nd Edition
5.3.1 Name Spaces
●A Name space is a labeled, directed graph with two types of
nodes.

●A leaf node represents a named entity and has the property that it
has no outgoing edges.

● And a directory node that has a number of outgoing edges, each
labeled with a name, and has an associated identifier.

●A directory table holds (edge label, node identifier) for the
directory contents.

●n0 is the root node and name : N label_1 , label_2 , ..... label_n is
called a path. If N is the root then the path is called an absolute
path, otherwise it is called a relative path. We use "/" as a
separator between labels and as a representation for n0.
5.3.1 Name Spaces [continued]




A name space can be strictly hierarchical so that the naming graph
is organized as a tree (one absolute path for each node). In other
cases it can be organized in a directed acyclic graph (not permitted
to have a cycle).
5.3.2 Name Resolution
- Resolution starts by reading the directory table
at the first node of the path and then proceeding
to the next identified node and continue the look-
up until reaching the last node where it returns the
node identifier for the last node in the path.

- Closure Mechanism
Knowing how and where to start name resolution
is generally referred to as a closure mechanism.
Essentially, a closure mechanism deals with
selecting the initial node in a name space from
which name resolution is to start.
5.3.2 Name Resolution [continued]
5.3.2 Name Resolution [continued]
- Linking and Mounting
There are 2 ways of aliasing naming
    1- In a directed graph where there are 2 absolute paths to
a certain node. (Like Hard Links in UNIX file system)
    2- In a tree structure, we can represent an entity by a leaf
node that stores an absolute path name of another node. (like
symbolic links in UNIX file system) [Figure 5-11]

A mounted file system corresponds to letting a directory node
store the identifier of a directory node from a different name
space. To mount a foreign name space in a distributed
system 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 name
space. [Figure 5-12]
5.3.2 Name Resolution [continued]
5.3.3 Implementation of a Name Space

- Name Space Distribution
Name spaces are organized hierarchically and also
partitioned into logical layers:
   1- Global layer (Root and its direct children) which is
stable (rarely changed). In this layer availability is more
important than performance as caching can be used.
   2- The administrational layer (they represent groups of
entities that belong to the same organization or
administrational unit) stable but not like the global layer.
   3- The managerial layer consists of nodes that may
typically change regularly. For example, nodes
representing hosts in the local network belong to this
layer. [Figure 5-13] & [Figure 5-14]
5.3.3 Implementation of a Name Space   [continued]
5.3.3 Implementation of a Name Space   [continued]
5.3.3 Implementation of a Name Space        [continued]



●   Implementation of Name Resolution
- Iterative name resolution:
Where the client name resolver requests from the
root name server to respond with the URL parts
identifiers. The root server replies with what it can
resolve then the response is sent back to the
client that sends a new request to the next name
server that has been resolved by the root server
and so on until the whole URL has been resolved.
[Figure 5-15]
5.3.3 Implementation of a Name Space   [continued]
5.3.3 Implementation of a Name Space      [continued]



- Recursive Name resolution:
Where it is the responsibility of the name server
not the client to resolve the name by requesting
the rest of the name to be resolved from the other
servers recursively which adds a performance
demand on each server as it has to resolve the
whole URL, but caching can be used more
effectively than iterative name resolution.

[Figure 5-16] & [Figure 5-17] & [Figure 5-18]
5.3.3 Implementation of a Name Space   [continued]
5.3.3 Implementation of a Name Space   [continued]
5.3.3 Implementation of a Name Space   [continued]
5.3.4 The DNS Name Space [continued]
● The DNS name space is hierarchically organized as a
rooted tree.
● A label is a case-insensitive string made up of

alphanumeric characters.
● A label has a maximum length of 63 characters.

The length of a complete path name is restricted to 255
characters.
● The string of a path name consists of its labels, starting

with 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 to
indicate the root node (the dot is removed for readability).
● A subtree is called a domain; a path name to its root node

is called a domain name. [Figure 5-19]
5.3.4 The DNS Name Space [continued]
5.3.4 The DNS Name Space [continued]

- DNS Implementation

● The DNS name space is divided into a global
layer 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.
Thank you



       Questions

            ???

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
Network software
Network softwareNetwork software
Network software
 
Transport layer
Transport layer Transport layer
Transport layer
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
Computer Network - Network Layer
Computer Network - Network LayerComputer Network - Network Layer
Computer Network - Network Layer
 
Operating Systems: Device Management
Operating Systems: Device ManagementOperating Systems: Device Management
Operating Systems: Device Management
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
 
Distributed System ppt
Distributed System pptDistributed System ppt
Distributed System ppt
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
Database recovery
Database recoveryDatabase recovery
Database recovery
 
File replication
File replicationFile replication
File replication
 
TCP/ IP
TCP/ IP TCP/ IP
TCP/ IP
 
Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed System
 
Client Centric Consistency Model
Client Centric Consistency ModelClient Centric Consistency Model
Client Centric Consistency Model
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docx
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
x.509-Directory Authentication Service
x.509-Directory Authentication Servicex.509-Directory Authentication Service
x.509-Directory Authentication Service
 
Application Layer
Application Layer Application Layer
Application Layer
 

Similar a Distributed Systems Naming

Chapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptxChapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptx
AschalewAyele2
 
Application layer
Application layerApplication layer
Application layer
Sisir Ghosh
 

Similar a Distributed Systems Naming (20)

Chapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptxChapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptx
 
Chapter 4-Naming.ppt
Chapter 4-Naming.pptChapter 4-Naming.ppt
Chapter 4-Naming.ppt
 
DS_Unit_05.pptx
DS_Unit_05.pptxDS_Unit_05.pptx
DS_Unit_05.pptx
 
Naming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile EntitiesNaming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile Entities
 
DNS AND DDNS
DNS AND DDNSDNS AND DDNS
DNS AND DDNS
 
DNS
DNS DNS
DNS
 
Dns
DnsDns
Dns
 
Application Layer.pptx
Application Layer.pptxApplication Layer.pptx
Application Layer.pptx
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Lec-7-dns.pptx
Lec-7-dns.pptxLec-7-dns.pptx
Lec-7-dns.pptx
 
Chapter 9 names
Chapter 9 namesChapter 9 names
Chapter 9 names
 
Domain Name System(DNS) - Overview
Domain Name System(DNS) - OverviewDomain Name System(DNS) - Overview
Domain Name System(DNS) - Overview
 
c5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptx
c5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptxc5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptx
c5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptx
 
Distributed design and architechture .ppt
Distributed design and architechture .pptDistributed design and architechture .ppt
Distributed design and architechture .ppt
 
AARAV NAYAN OPERATING SYSTEM LABORATORY PCA
AARAV NAYAN OPERATING SYSTEM LABORATORY PCAAARAV NAYAN OPERATING SYSTEM LABORATORY PCA
AARAV NAYAN OPERATING SYSTEM LABORATORY PCA
 
Name a naming mechanism for delay disruption tolerant network
Name a naming mechanism for delay disruption tolerant networkName a naming mechanism for delay disruption tolerant network
Name a naming mechanism for delay disruption tolerant network
 
Domain Name System DNS
Domain Name System DNSDomain Name System DNS
Domain Name System DNS
 
Application layer
Application layerApplication layer
Application layer
 
DNS ( Domain Name System)
DNS ( Domain Name System)DNS ( Domain Name System)
DNS ( Domain Name System)
 

Más de Ahmed Magdy Ezzeldin, MSc.

Answer Selection and Validation for Arabic Questions
Answer Selection and Validation for Arabic QuestionsAnswer Selection and Validation for Arabic Questions
Answer Selection and Validation for Arabic Questions
Ahmed Magdy Ezzeldin, MSc.
 

Más de Ahmed Magdy Ezzeldin, MSc. (12)

Distributed RDBMS: Challenges, Solutions & Trade-offs
Distributed RDBMS: Challenges, Solutions & Trade-offsDistributed RDBMS: Challenges, Solutions & Trade-offs
Distributed RDBMS: Challenges, Solutions & Trade-offs
 
Win any Interview like a Boss
Win any Interview like a BossWin any Interview like a Boss
Win any Interview like a Boss
 
Answer Selection and Validation for Arabic Questions
Answer Selection and Validation for Arabic QuestionsAnswer Selection and Validation for Arabic Questions
Answer Selection and Validation for Arabic Questions
 
Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...
Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...
Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithms
 
GATE : General Architecture for Text Engineering
GATE : General Architecture for Text EngineeringGATE : General Architecture for Text Engineering
GATE : General Architecture for Text Engineering
 
Networks and Natural Language Processing
Networks and Natural Language ProcessingNetworks and Natural Language Processing
Networks and Natural Language Processing
 
Distributed Coordination-Based Systems
Distributed Coordination-Based SystemsDistributed Coordination-Based Systems
Distributed Coordination-Based Systems
 
Cyclcone a safe dialect of C
Cyclcone a safe dialect of CCyclcone a safe dialect of C
Cyclcone a safe dialect of C
 
Objective C Memory Management
Objective C Memory ManagementObjective C Memory Management
Objective C Memory Management
 
Bash Scripting Workshop
Bash Scripting WorkshopBash Scripting Workshop
Bash Scripting Workshop
 
Object Role Modeling
Object Role ModelingObject Role Modeling
Object Role Modeling
 

Último

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Distributed Systems Naming

  • 1. 5.3 Structured Naming Distributed Systems Chapter 5 Naming Prepared by: Ahmed Magdy Ezzeldin Reference: Distributed Systems Principles and Paradigms 2nd Edition
  • 2. 5.3.1 Name Spaces ●A Name space is a labeled, directed graph with two types of nodes. ●A leaf node represents a named entity and has the property that it has no outgoing edges. ● And a directory node that has a number of outgoing edges, each labeled with a name, and has an associated identifier. ●A directory table holds (edge label, node identifier) for the directory contents. ●n0 is the root node and name : N label_1 , label_2 , ..... label_n is called a path. If N is the root then the path is called an absolute path, otherwise it is called a relative path. We use "/" as a separator between labels and as a representation for n0.
  • 3. 5.3.1 Name Spaces [continued] A name space can be strictly hierarchical so that the naming graph is organized as a tree (one absolute path for each node). In other cases it can be organized in a directed acyclic graph (not permitted to have a cycle).
  • 4. 5.3.2 Name Resolution - Resolution starts by reading the directory table at the first node of the path and then proceeding to the next identified node and continue the look- up until reaching the last node where it returns the node identifier for the last node in the path. - Closure Mechanism Knowing how and where to start name resolution is generally referred to as a closure mechanism. Essentially, a closure mechanism deals with selecting the initial node in a name space from which name resolution is to start.
  • 5. 5.3.2 Name Resolution [continued]
  • 6. 5.3.2 Name Resolution [continued] - Linking and Mounting There are 2 ways of aliasing naming 1- In a directed graph where there are 2 absolute paths to a certain node. (Like Hard Links in UNIX file system) 2- In a tree structure, we can represent an entity by a leaf node that stores an absolute path name of another node. (like symbolic links in UNIX file system) [Figure 5-11] A mounted file system corresponds to letting a directory node store the identifier of a directory node from a different name space. To mount a foreign name space in a distributed system 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 name space. [Figure 5-12]
  • 7. 5.3.2 Name Resolution [continued]
  • 8. 5.3.3 Implementation of a Name Space - Name Space Distribution Name spaces are organized hierarchically and also partitioned into logical layers: 1- Global layer (Root and its direct children) which is stable (rarely changed). In this layer availability is more important than performance as caching can be used. 2- The administrational layer (they represent groups of entities that belong to the same organization or administrational unit) stable but not like the global layer. 3- The managerial layer consists of nodes that may typically change regularly. For example, nodes representing hosts in the local network belong to this layer. [Figure 5-13] & [Figure 5-14]
  • 9. 5.3.3 Implementation of a Name Space [continued]
  • 10. 5.3.3 Implementation of a Name Space [continued]
  • 11. 5.3.3 Implementation of a Name Space [continued] ● Implementation of Name Resolution - Iterative name resolution: Where the client name resolver requests from the root name server to respond with the URL parts identifiers. The root server replies with what it can resolve then the response is sent back to the client that sends a new request to the next name server that has been resolved by the root server and so on until the whole URL has been resolved. [Figure 5-15]
  • 12. 5.3.3 Implementation of a Name Space [continued]
  • 13. 5.3.3 Implementation of a Name Space [continued] - Recursive Name resolution: Where it is the responsibility of the name server not the client to resolve the name by requesting the rest of the name to be resolved from the other servers recursively which adds a performance demand on each server as it has to resolve the whole URL, but caching can be used more effectively than iterative name resolution. [Figure 5-16] & [Figure 5-17] & [Figure 5-18]
  • 14. 5.3.3 Implementation of a Name Space [continued]
  • 15. 5.3.3 Implementation of a Name Space [continued]
  • 16. 5.3.3 Implementation of a Name Space [continued]
  • 17. 5.3.4 The DNS Name Space [continued] ● The DNS name space is hierarchically organized as a rooted tree. ● A label is a case-insensitive string made up of alphanumeric characters. ● A label has a maximum length of 63 characters. The length of a complete path name is restricted to 255 characters. ● The string of a path name consists of its labels, starting with 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 to indicate the root node (the dot is removed for readability). ● A subtree is called a domain; a path name to its root node is called a domain name. [Figure 5-19]
  • 18. 5.3.4 The DNS Name Space [continued]
  • 19. 5.3.4 The DNS Name Space [continued] - DNS Implementation ● The DNS name space is divided into a global layer 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. Thank you Questions ???