SlideShare una empresa de Scribd logo
1 de 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.

Más contenido relacionado

Similar a Chapter 5-Naming in distributed system.pptx

Application layer
Application layerApplication layer
Application layer
Sisir Ghosh
 
Discussion # 6Operating-System StructureA system as large an.docx
Discussion # 6Operating-System StructureA system as large an.docxDiscussion # 6Operating-System StructureA system as large an.docx
Discussion # 6Operating-System StructureA system as large an.docx
lynettearnold46882
 

Similar a Chapter 5-Naming in distributed system.pptx (20)

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
 
Windows Network concepts
Windows Network conceptsWindows Network concepts
Windows Network concepts
 
Dns
DnsDns
Dns
 
Distributed design and architechture .ppt
Distributed design and architechture .pptDistributed design and architechture .ppt
Distributed design and architechture .ppt
 
Domain Name System DNS
Domain Name System DNSDomain Name System DNS
Domain Name System DNS
 
Dns1111111111
Dns1111111111Dns1111111111
Dns1111111111
 
Discussion # 6Operating-System StructureA system as large an.docx
Discussion # 6Operating-System StructureA system as large an.docxDiscussion # 6Operating-System StructureA system as large an.docx
Discussion # 6Operating-System StructureA system as large an.docx
 
Introduction to distributed database
Introduction to distributed databaseIntroduction to distributed database
Introduction to distributed database
 
Application layer
Application layerApplication layer
Application layer
 
Ch20 system administration
Ch20 system administration Ch20 system administration
Ch20 system administration
 

Más de 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
 

Más de 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
 

Último

The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
heathfieldcps1
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
中 央社
 

Último (20)

Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
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
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024
 
philosophy and it's principles based on the life
philosophy and it's principles based on the lifephilosophy and it's principles based on the life
philosophy and it's principles based on the life
 
Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...
Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...
Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading RoomSternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
 
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING IIII BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
 
The Liver & Gallbladder (Anatomy & Physiology).pptx
The Liver &  Gallbladder (Anatomy & Physiology).pptxThe Liver &  Gallbladder (Anatomy & Physiology).pptx
The Liver & Gallbladder (Anatomy & Physiology).pptx
 
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
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
Envelope of Discrepancy in Orthodontics: Enhancing Precision in Treatment
 Envelope of Discrepancy in Orthodontics: Enhancing Precision in Treatment Envelope of Discrepancy in Orthodontics: Enhancing Precision in Treatment
Envelope of Discrepancy in Orthodontics: Enhancing Precision in Treatment
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17
 
ĐỀ 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...
 

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.

Notas del editor

  1. 1