Title: Name Services
1Name Services
2Introduction
- In a distributed system names are used to refer
to a wide variety of resources such as computers,
services, remote objects, and files as well as
users. - Names facilitate communication and resource
sharing. - Names are used for identification as well as for
describing attributes. - Naming Service provides data about named objects
in a distributed systems. - Directory and discovery service locates objects
that satisfy a given description. - We will discuss services needed to look up
resources from names and description.
3Names, Addresses and other attributes
- Any process that requires access to a specific
resource must posses a name or identifier for it.
Ex URL http//www.cdk3.net/ - A name has to be looked up before it can be used.
- A name is said to be resolved when it is
translated into data about the resource or object.
4Names and Binding
- Names are bound to the attributes of named
objects (and not to any specific
implementations.) - The association between a name and an object is
called binding. - Services are written to map between names and the
attributes of objects they refer to. - Example domain name? Domain name Service (DNS)
maps ? attributes of the host computer
5Composed naming domains used to access a resource
from a URL
6Composed Domain Name
- A URL is composed of names from three naming
domains IP (IP address), port number (IPC
domain, socket), and file name (file system). - All three have to successfully resolved to get at
the resource. - An IP address must be looked up to obtain the
network address such as an Ethernet address.
Similarly port number and file name have to be
resolved by the file system. - In the last slide an URL is resolved by a DNS
into IP address, and then ARP into Ethernet
address.
7Universal Resource (L,I,N and C)
- URL universal Resource Locator is the principle
means of identifying web resources. - Advantages Scalability and efficiency.
- Disadvantages dangling links on removal of a
resource. - URLs are particular type of URI (UR Identifier).
Another type of URI is URN (UR Name). - URNs are intended to solve the dangling link
problem and to provide richer modes of finding
resources on the web. - URN lookup service will provide URN given a URL.
- Of course the owner registers the resource with
the lookup service when it moves. - URC (UR Characteristics) is for looking up a
resource that matches a description of one or
more of its attributes Ex authorLeslie
Lamport
8Universal Resource Names
- Is an abstraction over URLs.
- A URN is of the form
- urnnameSpacenameSpace-specificName
- urndoi10.555/music-pop-1234
- Refers to publication called music-pop-1234 in
the naming scheme of publisher known as 10.555 in
the Digital Object Identifier (doi) scheme
(www.doi.org). - Another urn example
- urndcs.gormenghast.ac.ukTR2000-56 can be used
to get the latest information about technical
report TR2000-56 registered with the URL lookup
service gormenghast.ac.uk department of CS (dcs)
9Server Types
- Connectionless vs. connection-oriented
- Stateless vs. stateful
- Concurrent processing vs. iterative processing
Iterative Connection-oriented
Iterative Connectionless
Concurrent Connection-oriented
Concurrent Connectionless
10Name Service
- A name service stores a collection of one or more
naming contexts sets of bindings between
textual names and attributes for objects such as
users, computers, services and remote objects.
(Definition) - Major operation resolve a name to look up
attributes from a given name. (Operational
Requirements) - Other operations required creating new binding,
deleting bindings, listing bound names and adding
and deleting contexts.
11General Name Service Requirements
- Originally Name Service was simple since it was
to bind names to addresses in a single domain.
Interconnection of networks and increased scale
of distributed systems have produced a much
larger name-mapping problem. - To handle arbitrary number of names and to server
arbitrary number of administrative organizations. - A long lifetime.
- High availability
- Fault isolation
- Tolerance of mistrust
12Design Issues
- Main design issues for Name services are (Taking
DNS as case study) - Name spaces
- Name Resolution
- The domain name system
13Name Spaces
- A name space is a collection of all valid names
recognized by a particular service. - Name may be bound to an object or unbound.
- Name spaces require syntactic definition.
- For example two is not an unix process name
whereas 2 is, and is not acceptable as a DNS
computer name. - Name spaces are typically hierarchical.
- DNS names are called domain names examples
bruno.dcs.qmw.ac.uk (computer) dcs.qmw.ac.uk,
com, purdue.edu (domains). - Not case sensitive ac.uk is same as AC.UK
14Name Space (contd.)
- Aliases DNS allows aliases in which one domain
name may stand for another. - A very popular alias is that for a web server
www.dcs.qmw.ac.uk stands for copper.dcs.qmw.ac.uk - This has the advantage that the clients can refer
to the web server by one generic name.
15Combining Name Spaces
- DNS provides a global and homogeneous name space
in which a given name refers to the same entity,
no matter which process on which computer looks
up the name. - But some other name services allow distinct name
space and even heterogeneous name spaces to be
embedded in them. Issues merging, heterogeneity,
and customization. - We will look at heterogeneity in DCE.
16DCEs Heterogeneous Namespace
- DCE allows heterogeneous namespaces to be
embedded within it. DCE names are called
junctions which are similar to mount points in
NFS and Unix. - Example consider
- //dcs.qmw.ac.uk/principals/Jean.Dollimore
- //dcs.qmw.ac.uk denotes a context called a cell.
- Next component principals is a junction which
is a context containing security principals in
which final component is Jean.Dollimore can be
looked up. - Another Example //dcs.qmw.ac.uk/files/pub/report
s/TR2000-99 where files is the junction point. - Principals and files are the root for the
heterogeneous names space.
17Name Resolution
- Resolution is an iterative process whereby a name
is repeatedly presented to the naming contexts. - A naming context either maps name on to a set of
primitive attributes or it maps it on to a
further naming context and a derived name to be
presented to the context. - Example1 /etc/passwd in which etc is presented
to context / and paswd is presented to context
/etc. - Example 2 www.dcs.qmw.ac.uk in which the alias
is resolved to another domain name such as
copper.dcs.qmw.ac,uk which is further resolved to
produce IP address.
18Name Servers and Navigation
- Any name service stores a very large database.
- Data is partitioned into servers according to its
domain. In DNS most of the entries are local
computers. - Partitioning of the data implies that the local
name server cannot answer all the enquiries
without the help of other name servers. For
example, the name server in the cse.buffalo.edu
would not be able to IP address of a computer in
cs.purdue.edu domain unless it is cached. - Process of locating naming data from among more
than one name server in order to resolve a name
is called navigation. Ex Iterative Navigation
19Iterative navigation
20Non-recursive and recursive server-controlled
navigation
21Caching
- Client name resolution software and servers
maintain a cache of previous name resolutions. - Server may use data from its own cache or other
server cache it is authorized to access. - Caching is key to performance and fault tolerance.
22The Domain Name System
- The Domain Name System (DNS) is a name service
whose principal naming database is used across
the internet. - It was designed by Mockapetris(1987) to replace
the original internet naming scheme which did not
scale well. - Objects named by DNS are primarily computers for
which IP addresses are stored as attributes. - Millions of names are bound by Internet DNS,
lookup are made from around the world. This is by
hierarchical partitioning of name database,
replication and caching.
23Domain Names
- Top level organizational domains are partitioned
geographically and organizationally. edu , uk - DNS Queries host name resolution and well known
services.
24Figure 9.4DNS name servers
Note Name server names are in italics, and the
corresponding domains are in parentheses.
Arrows denote name server entries