SlideShare a Scribd company logo
2
Most read
3
Most read
5
Most read
NAMING IN DISTRIBUTED SYSTEMS
1. Introduction
2. Desirable features of a good naming system
3. Name-Example
o System-oriented names
o Human-oriented names
4. Names and Addresses
5. Names VS Addresses
6. Name Space Implementation
o Naming Service
o Name space
 Flat Name Space
 Partitioned Name Space
7. Name Server
8. Name Resolution
o Recursive
o Iterative
1. INTRODUCTION
• The naming facility of a distributed operating system
enables users and programs to assign character-string names
to objects and subsequently use these names to refer to those
objects.
• The locating facility, which is an integral part of the naming
facility, maps an object's name to the object's location in a
distributed system.
• The naming and locating facilities jointly form a naming
system that provides the users with an abstraction of an object
that hides the details of how and where an object is actually
located in the network.
• It provides a further level of abstraction when dealing with
object replicas. Given an object name, it returns a set of the
locations of the object's replicas.
• The naming system plays a very important role in achieving
the goal of
location transparency,
facilitating transparent migration and replication of
Objects,
object sharing.
2. DESIRABLE FEATURES OF A GOOD NAMING
SYSTEM
1. Location transparency. Location transparency means should
not reveal any hint to the physical location of the object.
2. Location independency. Should provide the facility of
object migration that allows the movement and relocation of
objects dynamically among the various nodes of a system.
Location independency means that the name of an object need
not be changed when the object's location changes.
Therefore, the requirement of location independency calls for
a global naming facility with the following two features:
An object at any node can be accessed without the
knowledge of its physical location (location independency of
request-receiving objects).
An object at any node can issue an access request without
the knowledge of its own physical location (location
independency of request-issuing objects).
This property is also known as user mobility.
3. Multiple user-defined names for the same object. A naming
system must provide the flexibility to assign multiple user-
defined names to the same object. In this case, it should be
possible for a user to change or delete his or her name for the
object without affecting those of other users.
4. Replication transparency. In a distributed system, replicas
of an object are generally created to improve performance and
reliability. A naming system should support the use of
multiple copies of the same object in a user-transparent
manner. That is, if not necessary, a user should not be aware
that multiple copies of an object are in use.
3. Name
In a distributed system, names are used to refer to a wide
variety of resources (computers, services, remote objects and
files, ...).
A name is a string composed of a set of symbols chosen from
a finite alphabet. For example, TEMPUS, #173#4879#5965,
node-1!node-2!node-3!sinha, /a/b/c, 25A2368DM197, etc. are
all valid names composed of symbols from the ASCII
character set. A name is also called an identifier because it is
used to denote or identify an object.
A name may also be thought of as a logical object that
identifies a physical object to which it is bound from among a
collection of physical objects. Therefore, the correspondence
between names and objects is the relation of binding logical
and physical objects for the purpose of object identification.
Human-Oriented names
Human-oriented names are defined by their users.
A human-oriented name is generally a character-string
that is meaningful to its users. For example,
/user/sinha/project-file-1 is a human-oriented name.
Human-oriented names are also known as high-level
names because they can be easily remembered by their
users.
Human-oriented names are not unique.
Hence, they cannot be easily manipulated, stored, and
used by the machines for identification purpose.
System-oriented names
They are automatically generated by the system.
These names generally are bit patterns of fixed size that
can be easily manipulated and stored by machines.
They are also known as unique identifiers and low-level
names.
In this naming model, a human-oriented name is first mapped
(translated) to a system-oriented name that is then mapped to
the physical locations of the corresponding object's replicas.
4. Names and Addresses
Any process that requires access to a specific resource
must possess a name for it.
‣ file names: /etc/passwd
‣ URLs: http://www.cdk4.net
‣ Internet domain names: www.cdk4.net
Name: An identifier permanently associated with an
object, independent of its location within the distributed
system.
Address: An identifier associated with the current
location of the object.
‣ Example: Email addresses
5. Names VS Addresses
An address is how you get to an endpoint.
Typically, hierarchical (for scaling):
- 950 Charter Street, Redwood City CA, 94063
- 204.152.187.11, +1-650-381-6003
A “name” is how an endpoint is referenced.
Typically, no structurally significant hierarchy
- “David”, “Tokyo”, “itu.int”
6. Name Space Implementation
Naming Service
It translates an often humanly meaningful, text-based
identifier to a system-internal, often numeric identification or
addressing component.
Name-to-object associations are referred to as name bindings.
Example:
“www.imm.dtu.dk” (name) is bound to the IP address
(attribute) “192.38.82.230” of the IMM Web server
(resource).
An attribute is the value of a property associated with an
object (for instance, its address).
Major operation of a name service: name resolution that is to
look up attributes from a given name.
Example:
Domain Name System (DNS) (maps human-friendly
hostnames into IP addresses).
Name space
A name space is the collection of all valid names recognized
by a particular service.
Types:
Flat Name Space
The simplest name space is a flat name space where names
are character strings exhibiting no structure.
Names defined in a flat name space are called primitive or flat
names. Since flat names do not have any structure, it is
difficult to assign unambiguous meaningful names to a large
set of objects.
Partitioned Name Space
When there is a need to assign unambiguous meaningful
names to a large set of objects, a naming convention that
partitions the name space into disjoint classes is normally
used.
Each partition of a partitioned name space is called a domain
of the namespace.
A commonly used type of partitioned name space is the
hierarchical name space, in which the namespace is
partitioned into multiple levels and is structured as an inverted
tree.
For instance, telephone numbers fully expanded to include
country and area codes form a four-level hierarchical name
space and network addresses in computer networks form a
three-level hierarchical name space where the three levels are
for network number, node number, and socket number.
http://www2.imm.dtu.dk/courses/02222/Spring_2011/W6L2/
Chapter_09.pdf
7. Name Server
Name spaces are managed by name servers. A name server is
a process that maintains information about named objects and
provides facilities that enable users to access that information.
It acts to bind an object's name to some of its properties,
including the object's location.
Each name server normally has information about only a
small subset of objects in the distributed system. The name
servers that store the information about an object are called
the authoritative name servers of that object.
To determine the authoritative name servers for every named
object, the name service maintains authority attributes that
contain a list of the authoritative name servers for each object.
8. Name Resolution
Name resolution is the process of mapping an object's name to
the object's properties, such as its location.
Since an object's properties are stored and maintained by the
authoritative name servers of that object, name resolution is
basically the process of mapping an object's name to the
authoritative name servers of that object.
To get a name resolved, a client first contacts its name agent,
which in turn contacts a known name server, which may in
turn contact other name servers.
Absolute and Relative Names
An absolute name begins at the root context of the name space
tree and follows a path down to the specified object, giving
the context names on the path.
On the other hand, a relative name defines a path from the
current context to the specified object. It is called a relative
name because it is "relative to” (start from) the user's current
context.
Interacting with Name Servers during Name Resolution
A context can be thought of as the environment in which a
name is valid.
Various contexts of a given pathname may be stored at
different name servers. Therefore, the resolution of a
pathname in such a situation will involve interacting with all
the name servers that store one or more contexts of the
pathname. During name resolution, a name agent may interact
with the name servers in one of the following manners:
1. Recursive. In this method, the name agent forwards the
name resolution request to the name server that stores the first
context needed to start the resolution of the given name.
After this, the name servers that store the contexts of the given
pathname are recursively activated one after another until the
authority attribute of the named object is extracted from the
context corresponding to the last component name of the
pathname.
The last name server returns the authority attribute to its
previous name server, which then returns it to its own
previous name server, and so on.
Finally, the fast name server that received the request from the
name agent returns the authority attribute to the name agent.
2. Iterative.
When a client sends an iterative request to a name server, the
server responds back with either the answer to the request (for
a regular resolution, the IP address we want) or the name of
another server that has the information or is closer to it. The
original client must then iterate by sending a new request to
this referred server, which again may either answer it or
provide another server name. The process continues until the
right server is found.
Naming in Distributed System
Name Cache Implementation
Name resolution is expensive due to name-mapping
operations. Thus, caching of the results of name resolution on
the client is attractive.
There are three types of name caches:
1. Directory cache: Directory node data is cached. Directory
caches are normally used with iterative name resolution.
They require large caches, but are useful for directory
listings etc.
2. Prefix cache: path name prefix and zone information is
cached. Prefix caching is unsuitable with structure-free
context distribution.
3. Full-name cache: full path name information is cached.
Full-name caching is mostly used with structure-free
context distribution and tends to require larger cache sizes
than prefix caches.
Methods:
1. Cache per process:
Separate cache for each process.
Corresponding to process address space
Cache size is small
Accessing is fast
2. A Single Cache for all processes:
Single cache for all the processes
Cache size will be large.
Located in the memory area of OS.
Accessing will be slower.
Multicache Consistency:
Two commonly used methods for multicache consistency of
name caches are
1. immediate invalidate:
Caches are immediately invalidated when an update
occurs.
Each node caches will be examined.
Otherwise the list of nodes available in the storage
node will be notified to invalidate their cache entry.
2. on-use update:
when a client uses invalid cache data, it will be
informed by the naming system that the data being
used is either incorrect or stale

More Related Content

PPT
Naming in Distributed Systems
PPTX
Fault tolerance in distributed systems
PDF
Distributed Systems Naming
PPT
Synchronization in distributed systems
PPT
Linux forensics
PPTX
Message passing in Distributed Computing Systems
PDF
السلامة في المدارس
PPS
Java rmi
Naming in Distributed Systems
Fault tolerance in distributed systems
Distributed Systems Naming
Synchronization in distributed systems
Linux forensics
Message passing in Distributed Computing Systems
السلامة في المدارس
Java rmi

What's hot (20)

PPT
Clock synchronization in distributed system
PPT
System models in distributed system
PPTX
Replication in Distributed Systems
PPT
Distributed System-Multicast & Indirect communication
PPT
Distributed File Systems
PDF
Deadlock in Distributed Systems
PPTX
Trends in distributed systems
PPT
Coda file system
PDF
CS8791 Cloud Computing - Question Bank
PDF
Agreement Protocols, distributed File Systems, Distributed Shared Memory
PPT
Process Management-Process Migration
PPT
Distributed objects & components of corba
PPTX
Case Study - SUN NFS
PPTX
MapReduce Programming Model
PPTX
object oriented methodologies
PPT
15. Transactions in DBMS
PPT
distributed shared memory
PPTX
Common Standards in Cloud Computing
PPTX
Distributed system architecture
PPT
Chapter 14 replication
Clock synchronization in distributed system
System models in distributed system
Replication in Distributed Systems
Distributed System-Multicast & Indirect communication
Distributed File Systems
Deadlock in Distributed Systems
Trends in distributed systems
Coda file system
CS8791 Cloud Computing - Question Bank
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Process Management-Process Migration
Distributed objects & components of corba
Case Study - SUN NFS
MapReduce Programming Model
object oriented methodologies
15. Transactions in DBMS
distributed shared memory
Common Standards in Cloud Computing
Distributed system architecture
Chapter 14 replication
Ad

Similar to Naming in Distributed System (20)

PPTX
Distributed system in information technology
PPTX
DS.pptx for study for a long ghuiiiiijjj
PPTX
Naming Entities and Locating Mobile Entities
PPTX
Chapter 5-Naming in distributed system.pptx
PPT
Chapter 4-Naming.ppt
PPT
Name services
PPTX
DS_Unit_05.pptx
PPT
Name Services
PPT
Active diirecotry
PPT
Directory and discovery services
PPT
Chapter 9 names
PDF
Namespace.pdf
DOCX
X.500 More Than a Global Directory
PPT
Active Directory
PPTX
The Application Layer
PPTX
PPTX
Hunt for Domain Controller : Active Directory Pentesting Session
PPTX
CSE dns ppt.pptx
PPTX
Introduction to the core.ns application framework
Distributed system in information technology
DS.pptx for study for a long ghuiiiiijjj
Naming Entities and Locating Mobile Entities
Chapter 5-Naming in distributed system.pptx
Chapter 4-Naming.ppt
Name services
DS_Unit_05.pptx
Name Services
Active diirecotry
Directory and discovery services
Chapter 9 names
Namespace.pdf
X.500 More Than a Global Directory
Active Directory
The Application Layer
Hunt for Domain Controller : Active Directory Pentesting Session
CSE dns ppt.pptx
Introduction to the core.ns application framework
Ad

More from MNM Jain Engineering College (15)

DOCX
IT8602 MOBILE COMMUNICATION.docx
PDF
IT8602 Syllabus.pdf
DOC
PDF
DOC
Distributed Mutual exclusion algorithms
DOC
Task assignment approach
PPT
Peer to Peer services and File systems
PPT
Remote method invocation
PPT
Remote Procedure Call
PPT
Engineering Ethics
DOCX
It6312 dbms lab-ex2
DOCX
Expected questions in Artificial Intelligence
PDF
Qp mobile & pervasive 2015
DOC
It6611 mobile application development laboratory l t p c0 0 3 2
PDF
Instruction formats-in-8086
IT8602 MOBILE COMMUNICATION.docx
IT8602 Syllabus.pdf
Distributed Mutual exclusion algorithms
Task assignment approach
Peer to Peer services and File systems
Remote method invocation
Remote Procedure Call
Engineering Ethics
It6312 dbms lab-ex2
Expected questions in Artificial Intelligence
Qp mobile & pervasive 2015
It6611 mobile application development laboratory l t p c0 0 3 2
Instruction formats-in-8086

Recently uploaded (20)

PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
web development for engineering and engineering
PPTX
Geodesy 1.pptx...............................................
PPT
Project quality management in manufacturing
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Welding lecture in detail for understanding
PDF
Well-logging-methods_new................
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
DOCX
573137875-Attendance-Management-System-original
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Sustainable Sites - Green Building Construction
PPTX
UNIT 4 Total Quality Management .pptx
Operating System & Kernel Study Guide-1 - converted.pdf
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
web development for engineering and engineering
Geodesy 1.pptx...............................................
Project quality management in manufacturing
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
additive manufacturing of ss316l using mig welding
Lesson 3_Tessellation.pptx finite Mathematics
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Welding lecture in detail for understanding
Well-logging-methods_new................
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
573137875-Attendance-Management-System-original
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Sustainable Sites - Green Building Construction
UNIT 4 Total Quality Management .pptx

Naming in Distributed System

  • 1. NAMING IN DISTRIBUTED SYSTEMS 1. Introduction 2. Desirable features of a good naming system 3. Name-Example o System-oriented names o Human-oriented names 4. Names and Addresses 5. Names VS Addresses 6. Name Space Implementation o Naming Service o Name space  Flat Name Space  Partitioned Name Space 7. Name Server 8. Name Resolution o Recursive o Iterative 1. INTRODUCTION • The naming facility of a distributed operating system enables users and programs to assign character-string names to objects and subsequently use these names to refer to those objects. • The locating facility, which is an integral part of the naming facility, maps an object's name to the object's location in a distributed system. • The naming and locating facilities jointly form a naming system that provides the users with an abstraction of an object
  • 2. that hides the details of how and where an object is actually located in the network. • It provides a further level of abstraction when dealing with object replicas. Given an object name, it returns a set of the locations of the object's replicas. • The naming system plays a very important role in achieving the goal of location transparency, facilitating transparent migration and replication of Objects, object sharing. 2. DESIRABLE FEATURES OF A GOOD NAMING SYSTEM 1. Location transparency. Location transparency means should not reveal any hint to the physical location of the object. 2. Location independency. Should provide the facility of object migration that allows the movement and relocation of objects dynamically among the various nodes of a system. Location independency means that the name of an object need not be changed when the object's location changes. Therefore, the requirement of location independency calls for a global naming facility with the following two features: An object at any node can be accessed without the knowledge of its physical location (location independency of request-receiving objects). An object at any node can issue an access request without the knowledge of its own physical location (location independency of request-issuing objects).
  • 3. This property is also known as user mobility. 3. Multiple user-defined names for the same object. A naming system must provide the flexibility to assign multiple user- defined names to the same object. In this case, it should be possible for a user to change or delete his or her name for the object without affecting those of other users. 4. Replication transparency. In a distributed system, replicas of an object are generally created to improve performance and reliability. A naming system should support the use of multiple copies of the same object in a user-transparent manner. That is, if not necessary, a user should not be aware that multiple copies of an object are in use. 3. Name In a distributed system, names are used to refer to a wide variety of resources (computers, services, remote objects and files, ...). A name is a string composed of a set of symbols chosen from a finite alphabet. For example, TEMPUS, #173#4879#5965, node-1!node-2!node-3!sinha, /a/b/c, 25A2368DM197, etc. are all valid names composed of symbols from the ASCII character set. A name is also called an identifier because it is used to denote or identify an object. A name may also be thought of as a logical object that identifies a physical object to which it is bound from among a collection of physical objects. Therefore, the correspondence
  • 4. between names and objects is the relation of binding logical and physical objects for the purpose of object identification. Human-Oriented names Human-oriented names are defined by their users. A human-oriented name is generally a character-string that is meaningful to its users. For example, /user/sinha/project-file-1 is a human-oriented name. Human-oriented names are also known as high-level names because they can be easily remembered by their users. Human-oriented names are not unique. Hence, they cannot be easily manipulated, stored, and used by the machines for identification purpose. System-oriented names They are automatically generated by the system. These names generally are bit patterns of fixed size that can be easily manipulated and stored by machines. They are also known as unique identifiers and low-level names.
  • 5. In this naming model, a human-oriented name is first mapped (translated) to a system-oriented name that is then mapped to the physical locations of the corresponding object's replicas. 4. Names and Addresses Any process that requires access to a specific resource must possess a name for it. ‣ file names: /etc/passwd ‣ URLs: http://www.cdk4.net ‣ Internet domain names: www.cdk4.net Name: An identifier permanently associated with an object, independent of its location within the distributed system. Address: An identifier associated with the current location of the object. ‣ Example: Email addresses
  • 6. 5. Names VS Addresses An address is how you get to an endpoint. Typically, hierarchical (for scaling): - 950 Charter Street, Redwood City CA, 94063 - 204.152.187.11, +1-650-381-6003 A “name” is how an endpoint is referenced. Typically, no structurally significant hierarchy - “David”, “Tokyo”, “itu.int” 6. Name Space Implementation Naming Service It translates an often humanly meaningful, text-based identifier to a system-internal, often numeric identification or addressing component. Name-to-object associations are referred to as name bindings.
  • 7. Example: “www.imm.dtu.dk” (name) is bound to the IP address (attribute) “192.38.82.230” of the IMM Web server (resource). An attribute is the value of a property associated with an object (for instance, its address). Major operation of a name service: name resolution that is to look up attributes from a given name. Example: Domain Name System (DNS) (maps human-friendly hostnames into IP addresses).
  • 8. Name space A name space is the collection of all valid names recognized by a particular service. Types: Flat Name Space The simplest name space is a flat name space where names are character strings exhibiting no structure. Names defined in a flat name space are called primitive or flat names. Since flat names do not have any structure, it is difficult to assign unambiguous meaningful names to a large set of objects. Partitioned Name Space When there is a need to assign unambiguous meaningful names to a large set of objects, a naming convention that partitions the name space into disjoint classes is normally used. Each partition of a partitioned name space is called a domain of the namespace. A commonly used type of partitioned name space is the hierarchical name space, in which the namespace is partitioned into multiple levels and is structured as an inverted tree.
  • 9. For instance, telephone numbers fully expanded to include country and area codes form a four-level hierarchical name space and network addresses in computer networks form a three-level hierarchical name space where the three levels are for network number, node number, and socket number. http://www2.imm.dtu.dk/courses/02222/Spring_2011/W6L2/ Chapter_09.pdf 7. Name Server Name spaces are managed by name servers. A name server is a process that maintains information about named objects and provides facilities that enable users to access that information. It acts to bind an object's name to some of its properties, including the object's location. Each name server normally has information about only a small subset of objects in the distributed system. The name servers that store the information about an object are called the authoritative name servers of that object.
  • 10. To determine the authoritative name servers for every named object, the name service maintains authority attributes that contain a list of the authoritative name servers for each object. 8. Name Resolution Name resolution is the process of mapping an object's name to the object's properties, such as its location. Since an object's properties are stored and maintained by the authoritative name servers of that object, name resolution is basically the process of mapping an object's name to the authoritative name servers of that object. To get a name resolved, a client first contacts its name agent, which in turn contacts a known name server, which may in turn contact other name servers. Absolute and Relative Names An absolute name begins at the root context of the name space tree and follows a path down to the specified object, giving the context names on the path. On the other hand, a relative name defines a path from the current context to the specified object. It is called a relative name because it is "relative to” (start from) the user's current context. Interacting with Name Servers during Name Resolution A context can be thought of as the environment in which a name is valid.
  • 11. Various contexts of a given pathname may be stored at different name servers. Therefore, the resolution of a pathname in such a situation will involve interacting with all the name servers that store one or more contexts of the pathname. During name resolution, a name agent may interact with the name servers in one of the following manners: 1. Recursive. In this method, the name agent forwards the name resolution request to the name server that stores the first context needed to start the resolution of the given name. After this, the name servers that store the contexts of the given pathname are recursively activated one after another until the authority attribute of the named object is extracted from the context corresponding to the last component name of the pathname. The last name server returns the authority attribute to its previous name server, which then returns it to its own previous name server, and so on. Finally, the fast name server that received the request from the name agent returns the authority attribute to the name agent.
  • 12. 2. Iterative. When a client sends an iterative request to a name server, the server responds back with either the answer to the request (for a regular resolution, the IP address we want) or the name of another server that has the information or is closer to it. The original client must then iterate by sending a new request to this referred server, which again may either answer it or provide another server name. The process continues until the right server is found.
  • 14. Name Cache Implementation Name resolution is expensive due to name-mapping operations. Thus, caching of the results of name resolution on the client is attractive. There are three types of name caches: 1. Directory cache: Directory node data is cached. Directory caches are normally used with iterative name resolution. They require large caches, but are useful for directory listings etc. 2. Prefix cache: path name prefix and zone information is cached. Prefix caching is unsuitable with structure-free context distribution. 3. Full-name cache: full path name information is cached. Full-name caching is mostly used with structure-free context distribution and tends to require larger cache sizes than prefix caches. Methods: 1. Cache per process: Separate cache for each process. Corresponding to process address space Cache size is small Accessing is fast 2. A Single Cache for all processes: Single cache for all the processes
  • 15. Cache size will be large. Located in the memory area of OS. Accessing will be slower. Multicache Consistency: Two commonly used methods for multicache consistency of name caches are 1. immediate invalidate: Caches are immediately invalidated when an update occurs. Each node caches will be examined. Otherwise the list of nodes available in the storage node will be notified to invalidate their cache entry. 2. on-use update: when a client uses invalid cache data, it will be informed by the naming system that the data being used is either incorrect or stale