SlideShare a Scribd company logo
1 of 20
Download to read offline
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

            ???

More Related Content

What's hot

System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented CommunicationDilum Bandara
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query OptimizationAli Usman
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationMNM Jain Engineering College
 
Design issues of dos
Design issues of dosDesign issues of dos
Design issues of dosvanamali_vanu
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure callSunita Sahu
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systemssumitjain2013
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communicationAbDul ThaYyal
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed systemSunita Sahu
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)Sri Prasanna
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmpinki soni
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software conceptsPrajakta Rane
 
File replication
File replicationFile replication
File replicationKlawal13
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithmBushra M
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating SystemAjithaG9
 

What's hot (20)

System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query Optimization
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communication
 
Design issues of dos
Design issues of dosDesign issues of dos
Design issues of dos
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
 
Coda file system
Coda file systemCoda file system
Coda file system
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communication
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed system
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithm
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
File replication
File replicationFile replication
File replication
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithm
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating System
 
Chapter 6 os
Chapter 6 osChapter 6 os
Chapter 6 os
 

Similar to Structured naming in distributed systems

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.pptxAschalewAyele2
 
Naming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile EntitiesNaming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile EntitiesRajat Kumar
 
Lec-7-dns.pptx
Lec-7-dns.pptxLec-7-dns.pptx
Lec-7-dns.pptxSyed Ejaz
 
Domain Name System(DNS) - Overview
Domain Name System(DNS) - OverviewDomain Name System(DNS) - Overview
Domain Name System(DNS) - OverviewGunjan Panara
 
c5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptx
c5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptxc5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptx
c5c1db8d-8375-4f17-bf6a-56ea5342e58d.pptxchakravardhannani123
 
Distributed design and architechture .ppt
Distributed design and architechture .pptDistributed design and architechture .ppt
Distributed design and architechture .pptpandeyvivek1602
 
AARAV NAYAN OPERATING SYSTEM LABORATORY PCA
AARAV NAYAN OPERATING SYSTEM LABORATORY PCAAARAV NAYAN OPERATING SYSTEM LABORATORY PCA
AARAV NAYAN OPERATING SYSTEM LABORATORY PCAAaravNayan
 
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 networkIJCNCJournal
 
Domain Name System DNS
Domain Name System DNSDomain Name System DNS
Domain Name System DNSAkshay Tiwari
 
Application layer
Application layerApplication layer
Application layerSisir Ghosh
 
DNS ( Domain Name System)
DNS ( Domain Name System)DNS ( Domain Name System)
DNS ( Domain Name System)Prakhar Rastogi
 

Similar to Structured naming in distributed systems (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)
 

More from Ahmed Magdy Ezzeldin, MSc.

More from 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
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Structured naming in distributed systems

  • 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 ???