SlideShare ist ein Scribd-Unternehmen logo
1 von 30
1
 names play an important role to:
 share resources
 uniquely identify entities
 refer to locations
 etc.
 an important issue is that a name can be resolved to the entity
it refers to
 to resolve names, it is necessary to implement a naming
system
 in a distributed system, the implementation of a naming
system is itself often distributed, unlike in nondistributed
systems
 efficiency and scalability of the naming system are the main
issues
Chapter 5 - Naming
2
5.1 Names, Identifiers, and Addresses
 a name in a distributed system is a string of bits or characters
that is used to refer to an entity
 an entity is anything; e.g., resources such as hosts, printers,
disks, files, objects, processes, users, Web pages, ...
 entities can be operated on; e.g., a resource such as a printer
offers an interface containing operations for printing a
document, requesting the status of a job, ...
 to operate on an entity, it is necessary to access it through its
access point, itself an entity (special)
3
 access point
 the name of an access point is called an address (such as
IP address and port number as used by the transport layer)
 the address of the access point of an entity is also referred
to as the address of the entity
 an entity can have more than one access point (similar to
accessing an individual through different telephone
numbers)
 an entity may change its access point in the course of time
(e.g., a mobile computer getting a new IP address as it
moves)
4
 an address is a special kind of name
 it refers to at most one entity
 each entity is referred by at most one address; even when
replicated such as in Web pages
 separating the name of an entity and its address makes it
easier and more flexible; such a name is called location
independent
 there are also other types of names that uniquely identify an
entity; in any case an identifier is a name with the following
properties
 it refers to at most one entity
 each entity is referred by at most one identifier
 it always refers to the same entity (never reused)
 identifiers allow us to unambiguously refer to an entity
 examples
 name of an FTP server (entity)
 URL of the FTP server
 address of the FTP server
 IP number:port number
 the address of the FTP server may change
5
there are three classes on naming systems: flat naming,
structured naming, and attribute-based naming
5.2 Flat Naming
 a name is a sequence of characters without structure; like
human names? may be if it is not Ethiopian name!
 difficult to be used in a large system since it must be centrally
controlled to avoid duplication
 how are flat names resolved
 name resolution: mapping a name to an address or an
address to a name is called name-address resolution
 possible solutions: simple, home-based approaches, and
hierarchical approaches
6
1. Simple Solutions
 two solutions for LANs: Broadcasting and Multicasting,
and Forwarding Pointers
a. Broadcasting and Multicasting
 a computer that wants to access another computer for
which it knows its IP address broadcasts this address
 the owner responds by sending its Ethernet address
 used by ARP (Address Resolution Protocol) in the
Internet to find the data link address (MAC address) of a
machine
 broadcasting is inefficient when the network grows
(wastage of bandwidth and too much interruption to other
machines)
 multicasting is better when the network grows - send only
to a restricted group of hosts
 multicasting can also be used to locate the nearest
replica - choose the one whose reply comes in first
7
b. Forwarding Pointers
 how to look mobile entities
 when an entity moves from A to B, it leaves behind a
reference to its new location
 advantage
 simple: as soon as the first name is located using
traditional naming service, the chain of forwarding
pointers can be used to find the current address
 drawbacks
 the chain can be too long - locating becomes expensive
 all the intermediary locations in a chain have to maintain
their pointers
 vulnerability if links are broken
 hence, making sure that chains are short and that
forwarding pointers are robust is an important issue
8
2. Home-Based Approaches
 broadcasting and multicasting have scalability problems;
performance problems and broken links are problems in
forwarding pointers
 a home location keeps track of the current location of an
entity; often it is the place where an entity was created
 it is a two-tiered approach
 an example where it is used in Mobile IP
 each mobile host uses a fixed IP address
 all communication to that IP address is initially directly
sent to the host’s home agent located on the LAN
corresponding to the network address contained in the
mobile host’s IP address
 whenever the mobile host moves to another network, it
requests a temporary address in the new network
(called care-of-address) and informs the new address
to the home agent
9
3. Hierarchical Approaches
 a generalization of the two-tiered approach into multiple
layers
 a network is divided into a collection of domains, similar
to DNS
 a single top-level domain spans the entire network
 each domain can be subdivided into multiple, smaller
domains
 the lowest-level domain is called a leaf domain; typically a
LAN
 each domain D has an associated directory node dir(D)
that keeps track of the entities in that domain leading to a
tree of directory nodes
 the root (directory) node knows about all entities
10
hierarchical organization of a location service into domains, each
having an associated directory node
11
5.3 Structured Naming
 flat names are not convenient for humans
 Name Spaces
 names are organized into a name space
 each name is made of several parts; the first may define
the nature of the organization, the second the name, the
third departments, ...
 a name space is generally organized as a labeled, directed
graph with two types of nodes
 leaf node: represents the named entity and stores
information such as its address or the state of that entity
 directory node: a special entity that has a number of
outgoing edges, each labeled with a name
 a directory node stores a table in which an outgoing edge
is represented as a pair (edge label, node identifier), called
a directory table
12
 if the first node is the root of the naming graph, it is called an
absolute path name; otherwise it is a relative path name
 Name Resolution
 given a path name, the process of looking up a name
stored in the node is referred to as name resolution; it
consists of finding the address when the name is given (by
following the path)
 Linking and Mounting
 Linking: giving another name for the same entity (an alias)
 two types of links (or two ways to implement an alias):
 hard link: to allow multiple absolute path names to
refer to the same node in a naming graph
13
the concept of a symbolic link explained in a naming graph
 symbolic link: representing an entity by a leaf node and
instead of storing the address or state of the entity, the
node stores an absolute path name
14
 name resolution can also be used to merge different name
spaces in a transparent way
 the solution is to use mounting
Mounting
 let a directory node store the directory node from a
different (foreign) name space
 the directory node storing the node identifier is called a
mount point
 the directory node in the foreign name space is called a
mounting point, normally the root of a name space
 during name resolution, the mounting point is looked up
and resolution proceeds by accessing its directory table
15
 The Implementation of a Name Space
 a name space forms the heart of a naming service
 a naming service allows users and processes to add,
remove, and lookup names
 a naming service is implemented by name servers
 for a distributed system on a single LAN, a single server
might suffice; for a large-scale distributed system the
implementation of a name space is distributed over multiple
name servers
 Name Space Distribution
 in large scale distributed systems, it is necessary to
distribute the name service over multiple name servers,
usually organized hierarchically
 a name service can be partitioned into logical layers
16
 global layer
 formed by highest level nodes (root node and nodes close
to it or its children)
 nodes on this layer are characterized by their stability, i.e.,
directory tables are rarely changed
 they may represent organizations, groups of organizations,
..., where names are stored in the name space
 administrational layer
 groups of entities that belong to the same organization or
administrational unit, e.g., departments
 relatively stable
 managerial layer
 nodes that may change regularly, e.g., nodes representing
hosts of a LAN, shared files such as libraries or binaries, …
 nodes are managed not only by system administrators, but
also by end users
17
an example partitioning of the DNS name space, including Internet-
accessible files, into three layers
18
 the name space is divided into nonoverlapping parts, called
zones in DNS
 a zone is a part of the name space that is implemented by a
separate name server
 some requirements of servers at different layers
 performance (responsiveness to lookups), availability (failure
rate), etc.
 high availability is critical for the global layer, since name
resolution cannot proceed beyond the failing server; it is
also important at the administrational layer for clients in the
same organization
 performance is very important in the lowest layer, since
results of lookups can be cached and used due to the
relative stability of the higher layers
 they may be enhanced by client side caching (global and
administrational layers since names do not change often)
and replication; they create implementation problems since
they may introduce inconsistency problems (see Chapter 7)
19
a comparison between name servers for implementing nodes from a
large-scale name space partitioned into a global layer, an
administrational layer, and a managerial layer
Item Global Administrational Managerial
Geographical scale of network Worldwide Organization Department
Total number of nodes Few Many Vast numbers
Responsiveness to lookups Seconds Milliseconds Immediate
Update propagation Lazy Immediate Immediate
Availability requirement Very High High low
Number of replicas Many None or few None
Is client-side caching applied? Yes Yes Sometimes
20
 Implementation of Name Resolution
 recall that name resolution consists of finding the address
when the name is given
 assume that name servers are not replicated and that no client-
side caches are allowed
 each client has access to a local name resolver, responsible for
ensuring that the name resolution process is carried out.
 Resolution
 mapping a name to an address or an address to a name is
called name-address resolution
 Resolver
 a host that needs to map an address to a name or a name to
an address calls a DNS client named a resolver
 the resolver accesses the closest DNS server with a mapping
request
 if the server has the information it satisfies the resolver;
otherwise, it either refers the resolver to other servers (called
Iterative Resolution) or asks other servers to provide the
information (called Recursive Resolution)
21
 Iterative
 a name resolver hands over the complete name to the root
name server
 the root name server will resolve the name as far as it can and
return the result to the client; at the minimum it can resolve
the first level and sends the name of the first level name
server to the client
 the client calls the first level name server, then the second, ...,
until it finds the address of the entity
the principle of iterative name resolution
22
 Recursive
 a name resolver hands over the whole name to the root name
server
 the root name server will try to resolve the name and if it
can’t, it requests the first level name server to resolve it and
to return the address
 the first level will do the same thing recursively
the principle of recursive name resolution
23
the comparison between recursive and iterative name resolution with
respect to communication costs; assume the client is in Ethiopia
and the name servers in the Netherlands
Advantages and drawbacks
recursive name resolution puts a higher performance demand on
each name server; hence name servers in the global layer support
only iterative name resolution
caching is more effective with recursive name resolution; each
name server gradually learns the address of each name server
responsible for implementing lower-level nodes; eventually lookup
operations can be handled efficiently
 communication costs may be reduced in recursive name
resolution
 Summary
Method Advantage(s)
Recursive Less Communication cost; Caching is more effective
Iterative Less performance demand on name servers
24
 Example - The Domain Name System (DNS)
 one of the largest distributed naming services is the
Internet DNS
 it is used for looking up host addresses and mail servers
 hierarchical, defined in an inverted tree structure with the
root at the top.
 Label
 each node has a label, a string with a maximum of 63
characters (case insensitive)
 the root label is null
 children of a node must have different names (to guarantee
uniqueness)
 Domain Name
 each node has a domain name
 a full domain name is a sequence of labels separated by
dots (the last character is a dot; null string is nothing)
 domain names are read from the node up to the root
 full path names must not exceed 255 characters
25
 Fully Qualified Domain Name (FQDN) or Absolute
 terminated by a null string
 contains the full name of a host, e.g., cs.du.edu.et.
 usually the last dot is omitted for readability
 Partially Qualified Domain Name (PQDN) or Relative
 not terminated with a null string
 it starts from a node but does not reach the root
 used when the name to be resolved belongs to the same
site as the client (the resolver supplies the missing part,
called the suffix to create an FQDN)
 Hierarchy of Name Servers
 storing the information contained in the domain name space
in a single computer is inefficient and unreliable
 distribute the information among many computers called
DNS servers.
26
 Zone
 what a server is responsible for, or has authority over, is
called a zone; zones are nonoverlapping
 the server makes a database called a zone file and keeps all
the information for every node under that domain
 it can divide its domain into subdomains and delegate part
of its authority to other servers
 Root Server
 a server whose zone consists of the whole tree
 it usually does not store the whole information about
domains but delegates its authority to other servers and
keeps references to those servers
 there are currently more than 13 root servers, each covering
the whole domain name space and distributed all around the
world
 Primary and Secondary Servers
 a primary server is one that stores a file about the zone for
which it is an authority; it is responsible for creating,
maintaining, and updating the zone file.
27
 A secondary server is one that transfers the complete
information about a zone from another server (primary or
secondary); it does not create or update the file
 such arrangement is to create redundancy so that if one
server fails, the other can still serve clients
 Types of Top-Level Domains
 two types: generic domains and country domains; there is a
third one called Inverse Domain (used to map an address to a name;
 Generic Domains
define registered hosts according to their generic behaviour
Label Description
Com Commercial organizations
Edu Educational institutions
Gov Government institutions
Int International organizations
Mil Military groups
Net Network support centers
Org Nonprofit organizations
28
5.4 Attribute-Based Naming
 flat naming: provides a unique and location-independent way
of referring entities
 structured naming: also provides a unique and location-
independent way of referring entities as well as human-friendly
names
 but do not allow searching entities by giving a description of
an entity
 each entity is assumed to have a collection of attributes that
say something about the entity
 then a user can search an entity by specifying (attribute, value)
pairs known attribute-based naming
 Directory Services
 attribute-based naming systems are also called directory
services
29
 how are resources described? one possibility is to use RDF
(Resource Description Framework) that uses triplets
consisting of a subject, a predicate, and an object
 e.g., (person, name, Alice) to describe a resource Person
whose Name is Alice
 Hierarchical Implementations: LDAP
 distributed directory services are implemented by combining
structured naming with attribute-based naming
 e.g., Microsoft’s Active directory service
 such systems rely on the lightweight directory access
protocol or LADP which is derived from OSI’s X.500
directory service
 a LADP directory service consists of a number of records
called directory entries (attribute, value) pairs, similar to a
resource record in DNS; could be single- or multiple-valued
(e.g., Mail_Servers)
30
 the collection of all directory entries is called a Directory
Information Base (DIB)
 each record is uniquely named so that it can be looked up
 each naming attribute is called a Relative Distinguished
Name (RDN).
 a globally unique name is formed using abbreviations of
naming attributes.

Weitere ähnliche Inhalte

Was ist angesagt?

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
Jammil Ramos
 

Was ist angesagt? (20)

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Linux Network Management
Linux Network ManagementLinux Network Management
Linux Network Management
 
Windows file system
Windows file systemWindows file system
Windows file system
 
Microsoft Windows File System in Operating System
Microsoft Windows File System in Operating SystemMicrosoft Windows File System in Operating System
Microsoft Windows File System in Operating System
 
CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2
 
Linux Run Level
Linux Run LevelLinux Run Level
Linux Run Level
 
Os unit 3
Os unit 3Os unit 3
Os unit 3
 
Ch11 file system implementation
Ch11 file system implementationCh11 file system implementation
Ch11 file system implementation
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-scheduling
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Linux and windows file system
Linux and windows  file systemLinux and windows  file system
Linux and windows file system
 
Disk and File System Management in Linux
Disk and File System Management in LinuxDisk and File System Management in Linux
Disk and File System Management in Linux
 
Ch1-Operating System Concept
Ch1-Operating System ConceptCh1-Operating System Concept
Ch1-Operating System Concept
 
Windows Network concepts
Windows Network conceptsWindows Network concepts
Windows Network concepts
 
Introdução a Sistemas Operacionais
Introdução a Sistemas OperacionaisIntrodução a Sistemas Operacionais
Introdução a Sistemas Operacionais
 
Storage Management
Storage ManagementStorage Management
Storage Management
 
Windows 2000 Presentation
Windows 2000 PresentationWindows 2000 Presentation
Windows 2000 Presentation
 
Windows Kernel-
Windows Kernel-Windows Kernel-
Windows Kernel-
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 

Ähnlich wie Chapter 5-Naming in distributed system.pptx

Application layer
Application layerApplication layer
Application layer
Sisir Ghosh
 

Ähnlich wie Chapter 5-Naming in distributed system.pptx (20)

Chapter 4-Naming.ppt
Chapter 4-Naming.pptChapter 4-Naming.ppt
Chapter 4-Naming.ppt
 
Naming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile EntitiesNaming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile Entities
 
DS_Unit_05.pptx
DS_Unit_05.pptxDS_Unit_05.pptx
DS_Unit_05.pptx
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
Distributed Systems Naming
Distributed Systems NamingDistributed Systems Naming
Distributed Systems Naming
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
DNS
DNS DNS
DNS
 
DNS AND DDNS
DNS AND DDNSDNS AND DDNS
DNS AND DDNS
 
The Application Layer
The Application LayerThe Application Layer
The Application Layer
 
Application Layer.pptx
Application Layer.pptxApplication Layer.pptx
Application Layer.pptx
 
DNS ( Domain Name System)
DNS ( Domain Name System)DNS ( Domain Name System)
DNS ( Domain Name System)
 
Chapter Six Application Layer.ppt
Chapter Six Application Layer.pptChapter Six Application Layer.ppt
Chapter Six Application Layer.ppt
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
IP Addresses and Its Uses
IP Addresses and Its UsesIP Addresses and Its Uses
IP Addresses and Its Uses
 
Lecture 4 -_internet_infrastructure_2_updated_2011
Lecture 4 -_internet_infrastructure_2_updated_2011Lecture 4 -_internet_infrastructure_2_updated_2011
Lecture 4 -_internet_infrastructure_2_updated_2011
 
Application layer
Application layerApplication layer
Application layer
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Dns And Snmp
Dns And SnmpDns And Snmp
Dns And Snmp
 
Dns
DnsDns
Dns
 
Distributed design and architechture .ppt
Distributed design and architechture .pptDistributed design and architechture .ppt
Distributed design and architechture .ppt
 

Mehr von AschalewAyele2

Chapter_Five Compueter secuityryhf S.pdf
Chapter_Five Compueter secuityryhf   S.pdfChapter_Five Compueter secuityryhf   S.pdf
Chapter_Five Compueter secuityryhf S.pdf
AschalewAyele2
 
Chapter_three - Computer Security.pdf
Chapter_three -      Computer Security.pdfChapter_three -      Computer Security.pdf
Chapter_three - Computer Security.pdf
AschalewAyele2
 
Chapter 5 Selected Topics in computer.pptx
Chapter 5 Selected Topics in computer.pptxChapter 5 Selected Topics in computer.pptx
Chapter 5 Selected Topics in computer.pptx
AschalewAyele2
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptx
AschalewAyele2
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptx
AschalewAyele2
 
Chapter 4 Classification in data sience .pdf
Chapter 4 Classification in data sience .pdfChapter 4 Classification in data sience .pdf
Chapter 4 Classification in data sience .pdf
AschalewAyele2
 
Chapter 4- Communication in distributed system.ppt
Chapter 4- Communication in distributed system.pptChapter 4- Communication in distributed system.ppt
Chapter 4- Communication in distributed system.ppt
AschalewAyele2
 
Chapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.pptChapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.ppt
AschalewAyele2
 
Chapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.pptChapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.ppt
AschalewAyele2
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
AschalewAyele2
 

Mehr von AschalewAyele2 (11)

Chapter_Five Compueter secuityryhf S.pdf
Chapter_Five Compueter secuityryhf   S.pdfChapter_Five Compueter secuityryhf   S.pdf
Chapter_Five Compueter secuityryhf S.pdf
 
Chapter_three - Computer Security.pdf
Chapter_three -      Computer Security.pdfChapter_three -      Computer Security.pdf
Chapter_three - Computer Security.pdf
 
Chapter 5 Selected Topics in computer.pptx
Chapter 5 Selected Topics in computer.pptxChapter 5 Selected Topics in computer.pptx
Chapter 5 Selected Topics in computer.pptx
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptx
 
chapter 3 Selected Topics in computer.pptx
chapter 3 Selected Topics in computer.pptxchapter 3 Selected Topics in computer.pptx
chapter 3 Selected Topics in computer.pptx
 
chapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptxchapter 4 Selected Topics in computer.pptx
chapter 4 Selected Topics in computer.pptx
 
Chapter 4 Classification in data sience .pdf
Chapter 4 Classification in data sience .pdfChapter 4 Classification in data sience .pdf
Chapter 4 Classification in data sience .pdf
 
Chapter 4- Communication in distributed system.ppt
Chapter 4- Communication in distributed system.pptChapter 4- Communication in distributed system.ppt
Chapter 4- Communication in distributed system.ppt
 
Chapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.pptChapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.ppt
 
Chapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.pptChapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.ppt
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
 

Kürzlich hochgeladen

會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
中 央社
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 

Kürzlich hochgeladen (20)

Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdf
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
HVAC System | Audit of HVAC System | Audit and regulatory Comploance.pptx
HVAC System | Audit of HVAC System | Audit and regulatory Comploance.pptxHVAC System | Audit of HVAC System | Audit and regulatory Comploance.pptx
HVAC System | Audit of HVAC System | Audit and regulatory Comploance.pptx
 
The Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxThe Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptx
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptxREPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
 
IPL Online Quiz by Pragya; Question Set.
IPL Online Quiz by Pragya; Question Set.IPL Online Quiz by Pragya; Question Set.
IPL Online Quiz by Pragya; Question Set.
 
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
An Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppAn Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge App
 
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
How to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryHow to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 Inventory
 

Chapter 5-Naming in distributed system.pptx

  • 1. 1  names play an important role to:  share resources  uniquely identify entities  refer to locations  etc.  an important issue is that a name can be resolved to the entity it refers to  to resolve names, it is necessary to implement a naming system  in a distributed system, the implementation of a naming system is itself often distributed, unlike in nondistributed systems  efficiency and scalability of the naming system are the main issues Chapter 5 - Naming
  • 2. 2 5.1 Names, Identifiers, and Addresses  a name in a distributed system is a string of bits or characters that is used to refer to an entity  an entity is anything; e.g., resources such as hosts, printers, disks, files, objects, processes, users, Web pages, ...  entities can be operated on; e.g., a resource such as a printer offers an interface containing operations for printing a document, requesting the status of a job, ...  to operate on an entity, it is necessary to access it through its access point, itself an entity (special)
  • 3. 3  access point  the name of an access point is called an address (such as IP address and port number as used by the transport layer)  the address of the access point of an entity is also referred to as the address of the entity  an entity can have more than one access point (similar to accessing an individual through different telephone numbers)  an entity may change its access point in the course of time (e.g., a mobile computer getting a new IP address as it moves)
  • 4. 4  an address is a special kind of name  it refers to at most one entity  each entity is referred by at most one address; even when replicated such as in Web pages  separating the name of an entity and its address makes it easier and more flexible; such a name is called location independent  there are also other types of names that uniquely identify an entity; in any case an identifier is a name with the following properties  it refers to at most one entity  each entity is referred by at most one identifier  it always refers to the same entity (never reused)  identifiers allow us to unambiguously refer to an entity  examples  name of an FTP server (entity)  URL of the FTP server  address of the FTP server  IP number:port number  the address of the FTP server may change
  • 5. 5 there are three classes on naming systems: flat naming, structured naming, and attribute-based naming 5.2 Flat Naming  a name is a sequence of characters without structure; like human names? may be if it is not Ethiopian name!  difficult to be used in a large system since it must be centrally controlled to avoid duplication  how are flat names resolved  name resolution: mapping a name to an address or an address to a name is called name-address resolution  possible solutions: simple, home-based approaches, and hierarchical approaches
  • 6. 6 1. Simple Solutions  two solutions for LANs: Broadcasting and Multicasting, and Forwarding Pointers a. Broadcasting and Multicasting  a computer that wants to access another computer for which it knows its IP address broadcasts this address  the owner responds by sending its Ethernet address  used by ARP (Address Resolution Protocol) in the Internet to find the data link address (MAC address) of a machine  broadcasting is inefficient when the network grows (wastage of bandwidth and too much interruption to other machines)  multicasting is better when the network grows - send only to a restricted group of hosts  multicasting can also be used to locate the nearest replica - choose the one whose reply comes in first
  • 7. 7 b. Forwarding Pointers  how to look mobile entities  when an entity moves from A to B, it leaves behind a reference to its new location  advantage  simple: as soon as the first name is located using traditional naming service, the chain of forwarding pointers can be used to find the current address  drawbacks  the chain can be too long - locating becomes expensive  all the intermediary locations in a chain have to maintain their pointers  vulnerability if links are broken  hence, making sure that chains are short and that forwarding pointers are robust is an important issue
  • 8. 8 2. Home-Based Approaches  broadcasting and multicasting have scalability problems; performance problems and broken links are problems in forwarding pointers  a home location keeps track of the current location of an entity; often it is the place where an entity was created  it is a two-tiered approach  an example where it is used in Mobile IP  each mobile host uses a fixed IP address  all communication to that IP address is initially directly sent to the host’s home agent located on the LAN corresponding to the network address contained in the mobile host’s IP address  whenever the mobile host moves to another network, it requests a temporary address in the new network (called care-of-address) and informs the new address to the home agent
  • 9. 9 3. Hierarchical Approaches  a generalization of the two-tiered approach into multiple layers  a network is divided into a collection of domains, similar to DNS  a single top-level domain spans the entire network  each domain can be subdivided into multiple, smaller domains  the lowest-level domain is called a leaf domain; typically a LAN  each domain D has an associated directory node dir(D) that keeps track of the entities in that domain leading to a tree of directory nodes  the root (directory) node knows about all entities
  • 10. 10 hierarchical organization of a location service into domains, each having an associated directory node
  • 11. 11 5.3 Structured Naming  flat names are not convenient for humans  Name Spaces  names are organized into a name space  each name is made of several parts; the first may define the nature of the organization, the second the name, the third departments, ...  a name space is generally organized as a labeled, directed graph with two types of nodes  leaf node: represents the named entity and stores information such as its address or the state of that entity  directory node: a special entity that has a number of outgoing edges, each labeled with a name  a directory node stores a table in which an outgoing edge is represented as a pair (edge label, node identifier), called a directory table
  • 12. 12  if the first node is the root of the naming graph, it is called an absolute path name; otherwise it is a relative path name  Name Resolution  given a path name, the process of looking up a name stored in the node is referred to as name resolution; it consists of finding the address when the name is given (by following the path)  Linking and Mounting  Linking: giving another name for the same entity (an alias)  two types of links (or two ways to implement an alias):  hard link: to allow multiple absolute path names to refer to the same node in a naming graph
  • 13. 13 the concept of a symbolic link explained in a naming graph  symbolic link: representing an entity by a leaf node and instead of storing the address or state of the entity, the node stores an absolute path name
  • 14. 14  name resolution can also be used to merge different name spaces in a transparent way  the solution is to use mounting Mounting  let a directory node store the directory node from a different (foreign) name space  the directory node storing the node identifier is called a mount point  the directory node in the foreign name space is called a mounting point, normally the root of a name space  during name resolution, the mounting point is looked up and resolution proceeds by accessing its directory table
  • 15. 15  The Implementation of a Name Space  a name space forms the heart of a naming service  a naming service allows users and processes to add, remove, and lookup names  a naming service is implemented by name servers  for a distributed system on a single LAN, a single server might suffice; for a large-scale distributed system the implementation of a name space is distributed over multiple name servers  Name Space Distribution  in large scale distributed systems, it is necessary to distribute the name service over multiple name servers, usually organized hierarchically  a name service can be partitioned into logical layers
  • 16. 16  global layer  formed by highest level nodes (root node and nodes close to it or its children)  nodes on this layer are characterized by their stability, i.e., directory tables are rarely changed  they may represent organizations, groups of organizations, ..., where names are stored in the name space  administrational layer  groups of entities that belong to the same organization or administrational unit, e.g., departments  relatively stable  managerial layer  nodes that may change regularly, e.g., nodes representing hosts of a LAN, shared files such as libraries or binaries, …  nodes are managed not only by system administrators, but also by end users
  • 17. 17 an example partitioning of the DNS name space, including Internet- accessible files, into three layers
  • 18. 18  the name space is divided into nonoverlapping parts, called zones in DNS  a zone is a part of the name space that is implemented by a separate name server  some requirements of servers at different layers  performance (responsiveness to lookups), availability (failure rate), etc.  high availability is critical for the global layer, since name resolution cannot proceed beyond the failing server; it is also important at the administrational layer for clients in the same organization  performance is very important in the lowest layer, since results of lookups can be cached and used due to the relative stability of the higher layers  they may be enhanced by client side caching (global and administrational layers since names do not change often) and replication; they create implementation problems since they may introduce inconsistency problems (see Chapter 7)
  • 19. 19 a comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, an administrational layer, and a managerial layer Item Global Administrational Managerial Geographical scale of network Worldwide Organization Department Total number of nodes Few Many Vast numbers Responsiveness to lookups Seconds Milliseconds Immediate Update propagation Lazy Immediate Immediate Availability requirement Very High High low Number of replicas Many None or few None Is client-side caching applied? Yes Yes Sometimes
  • 20. 20  Implementation of Name Resolution  recall that name resolution consists of finding the address when the name is given  assume that name servers are not replicated and that no client- side caches are allowed  each client has access to a local name resolver, responsible for ensuring that the name resolution process is carried out.  Resolution  mapping a name to an address or an address to a name is called name-address resolution  Resolver  a host that needs to map an address to a name or a name to an address calls a DNS client named a resolver  the resolver accesses the closest DNS server with a mapping request  if the server has the information it satisfies the resolver; otherwise, it either refers the resolver to other servers (called Iterative Resolution) or asks other servers to provide the information (called Recursive Resolution)
  • 21. 21  Iterative  a name resolver hands over the complete name to the root name server  the root name server will resolve the name as far as it can and return the result to the client; at the minimum it can resolve the first level and sends the name of the first level name server to the client  the client calls the first level name server, then the second, ..., until it finds the address of the entity the principle of iterative name resolution
  • 22. 22  Recursive  a name resolver hands over the whole name to the root name server  the root name server will try to resolve the name and if it can’t, it requests the first level name server to resolve it and to return the address  the first level will do the same thing recursively the principle of recursive name resolution
  • 23. 23 the comparison between recursive and iterative name resolution with respect to communication costs; assume the client is in Ethiopia and the name servers in the Netherlands Advantages and drawbacks recursive name resolution puts a higher performance demand on each name server; hence name servers in the global layer support only iterative name resolution caching is more effective with recursive name resolution; each name server gradually learns the address of each name server responsible for implementing lower-level nodes; eventually lookup operations can be handled efficiently  communication costs may be reduced in recursive name resolution  Summary Method Advantage(s) Recursive Less Communication cost; Caching is more effective Iterative Less performance demand on name servers
  • 24. 24  Example - The Domain Name System (DNS)  one of the largest distributed naming services is the Internet DNS  it is used for looking up host addresses and mail servers  hierarchical, defined in an inverted tree structure with the root at the top.  Label  each node has a label, a string with a maximum of 63 characters (case insensitive)  the root label is null  children of a node must have different names (to guarantee uniqueness)  Domain Name  each node has a domain name  a full domain name is a sequence of labels separated by dots (the last character is a dot; null string is nothing)  domain names are read from the node up to the root  full path names must not exceed 255 characters
  • 25. 25  Fully Qualified Domain Name (FQDN) or Absolute  terminated by a null string  contains the full name of a host, e.g., cs.du.edu.et.  usually the last dot is omitted for readability  Partially Qualified Domain Name (PQDN) or Relative  not terminated with a null string  it starts from a node but does not reach the root  used when the name to be resolved belongs to the same site as the client (the resolver supplies the missing part, called the suffix to create an FQDN)  Hierarchy of Name Servers  storing the information contained in the domain name space in a single computer is inefficient and unreliable  distribute the information among many computers called DNS servers.
  • 26. 26  Zone  what a server is responsible for, or has authority over, is called a zone; zones are nonoverlapping  the server makes a database called a zone file and keeps all the information for every node under that domain  it can divide its domain into subdomains and delegate part of its authority to other servers  Root Server  a server whose zone consists of the whole tree  it usually does not store the whole information about domains but delegates its authority to other servers and keeps references to those servers  there are currently more than 13 root servers, each covering the whole domain name space and distributed all around the world  Primary and Secondary Servers  a primary server is one that stores a file about the zone for which it is an authority; it is responsible for creating, maintaining, and updating the zone file.
  • 27. 27  A secondary server is one that transfers the complete information about a zone from another server (primary or secondary); it does not create or update the file  such arrangement is to create redundancy so that if one server fails, the other can still serve clients  Types of Top-Level Domains  two types: generic domains and country domains; there is a third one called Inverse Domain (used to map an address to a name;  Generic Domains define registered hosts according to their generic behaviour Label Description Com Commercial organizations Edu Educational institutions Gov Government institutions Int International organizations Mil Military groups Net Network support centers Org Nonprofit organizations
  • 28. 28 5.4 Attribute-Based Naming  flat naming: provides a unique and location-independent way of referring entities  structured naming: also provides a unique and location- independent way of referring entities as well as human-friendly names  but do not allow searching entities by giving a description of an entity  each entity is assumed to have a collection of attributes that say something about the entity  then a user can search an entity by specifying (attribute, value) pairs known attribute-based naming  Directory Services  attribute-based naming systems are also called directory services
  • 29. 29  how are resources described? one possibility is to use RDF (Resource Description Framework) that uses triplets consisting of a subject, a predicate, and an object  e.g., (person, name, Alice) to describe a resource Person whose Name is Alice  Hierarchical Implementations: LDAP  distributed directory services are implemented by combining structured naming with attribute-based naming  e.g., Microsoft’s Active directory service  such systems rely on the lightweight directory access protocol or LADP which is derived from OSI’s X.500 directory service  a LADP directory service consists of a number of records called directory entries (attribute, value) pairs, similar to a resource record in DNS; could be single- or multiple-valued (e.g., Mail_Servers)
  • 30. 30  the collection of all directory entries is called a Directory Information Base (DIB)  each record is uniquely named so that it can be looked up  each naming attribute is called a Relative Distinguished Name (RDN).  a globally unique name is formed using abbreviations of naming attributes.

Hinweis der Redaktion

  1. 1