Title: Distributed Systems
1Distributed Systems
Distributed Systems
Lecture 12 Name Services 9. July, 2002
2Schedule of Today
Distributed Systems
Objectives Definitions Problems in DS
Types of Names Name Service Architecture
Examples
3Name, Address, and Path
Motivation
Name describes the object under consideration
Name
Address identifies the objects location
Address
Path
Path describes how to get to the object
4Objectives (1)
Objectives
- Identification
- Names specify objects unambiguously
- Objects can be
- users, files, database objects, variables
- communication links ...
- Naming systems of different application areas
are usually disjoint - Data Sharing
- Shared access to the same object (by different
users) - Exchange of names among users
5Objectives (2)
Objectives
- Indirection
- Binding of names to objects can change
dynamically - A name can identify multiple (e.g. replicated)
objects - An object can have multiple names
- Naming is a prerequisite for transparency
- Location transparency
- Migration transparency
- Replication transparency
6Objectives Example
Objectives
7Definitions (1)
Definitions
Alphabet set of characters (e.g.
A, B, C
- Name/Identifier
- Sequence of characters of an alphabet
- Generally limited in length
- (e.g. AA, AB, ,CC)
8Definitions (2)
Definitions
- Binding
- Assignment of a name to an object
- Types of binding
- Static binding
- Dynamic binding
- Name Space
- Set of all possible identifiers
- (e.g. AA, AB,AC,
- BA, BB, BC,
- CA, CB,CC)
9Definitions (3)
Definitions
- Context
- Mapping information
- Names are interpreted relatively to a context
- Mapping Information
- Maps identifiers to identifiers of the next
lower level
10Definitions (4)
Definitions
- Resolution
- The process of mapping an identifier to an
object - (possible via multiple stages)
11Example Resolution (Stage 1)
Definitions
Compiler as the mapping function and
context generator
12Example Resolution (Stage 2)
Definitions
Linker
13Example Resolution (Stage 3)
Definitions
Address resolver
14Problems in Distributed Systems
Problems
- Management of global context information
- Name assignment and resolution may depend on
- the availability of other nodes
- ? Loss of autonomy
- Size of systems many nodes, users, files etc.
- ? Large number of names
- Heterogeneity
15Context Management
Problems
- Goal
- Names are interpreted in a global context
- ? On all nodes, the same name identifies the
same object - ? Names can be passed on in messages
- Variants
- Centralized context management
- Distributed context management
- Context management with replication
In what system type addresses can be used within
inter-node messages?
16Centralized Context Management
Problems
Properties Easy to implement - Single point of
failure - Performance bottleneck
Non partitioned name space
Centralized Name Server
Clients will request names from the centralized
name server
17Distributed Context Management
Problems
Properties No single point of failure Load
sharing between several name servers - Failure
of a name server prevents name generation and
resolution for its corresponding partition -
Far more complex implementation
Partitioned name space
Distributed name servers without replication
18Distributed Context Management with Replication
Problems
19Size of Distributed Systems
Problems
- More names, more mappings
- Systems tend to grow, i.e. number of nodes grows
- ? Requires dynamical extension of the name space
- ? Requires scalability of involved algorithms
- Administrative tasks are distributed among many
- nodes, i.e. they require additional overhead
20Heterogeneity
Problems
- Local naming schemes are heterogeneous
- Global naming scheme has to be uniform
- Additional mapping from global to local
- naming scheme
21Types of Names
Types of Names
Examples /node1/files/john/imagine
22Components of a Name Service Architecture
Types of Names
- Name agent
- Supplies interface between
- name service and client
- Cooperates with name servers
- in order to generate, resolve,
- names
- Caches the results
- Name server
- Manages context information and
- implements the mapping function
- Can sometimes cooperate with
- other name servers
- Supplies an interface for name agent
23Name Service Operations
Name Service Architecture
- Manipulation of context information
- ADD Create a reference Name ? Object
- DELETE Delete a reference
- MODIFY Change a reference
- Queries
- READ Resolve a name into an object
- SEARCH Find a name or object based on some
attributes - LIST List all names
- Administration
- Assignment of access privileges
- Authentication
- Extension of the name space
24Name Server Architecture
Name Service Architecture
- Name Resolution
- mapping of names to objects
- Caching
- of remote context information
- for efficient access
- Replicated data management
- management of replicated context information
- Communication
- between agents and name servers
- between name servers for cooperation purposes
- Database
- management of local context information
Name service operations
Name resolution
Caching
Replicated data management
Communication
Database
25Resolution of Structured Names
Name Service Architecture
- Resolution mechanism is dependent on the type of
name - Location-dependent names
- Name contains the location of the object it
identifies - Authority-dependent names
- Name contains the location of the name server
being - responsible for the resolution of the name (the
authority) - Location-independent names
- Name contains no location information
26Location-Dependent Names (1)
Name Service Architecture
- Structure of the name space
- Every node has its own name server
- Name server only manages the
- names of local objects
- Name structure NodeID.ObjectID
- Names are generated
- by the local name server
- through concatenation of the
- NodeID and a local unique ObjectID
27Location-Dependent Names (2)
Name Service Architecture
- Name resolution (of N.O)
- Name agent send a query to node N.
- Name server of N maps O
- to a local object
- Properties
- Nodes are highly autonomous
- Name authority can be found in
- a simple and efficient way
- - Objects can not migrate
Partitioned name space
NS
NS
O11
O21
O12
Node 1
Node 2
Node 3
28Authority-Dependent Names (1)
Name Service Architecture
- Structure of the name space
- Every node has a name server
- Name server manages the
- names of all locally-created objects
- Objects may migrate
- Name server must be aware of the
- locations of all migrated objets
- Name structure NodeID.ObjectID
- Names are generated
- by the local name server
- through concatenation of the
- NodeID and a local unique ObjectID
29Authority-Dependent Names (2)
Name Service Architecture
- Name resolution (of N.O)
- Name agent send a query to node N.
- Name server of N maps O
- to a local object
- Properties
- Name generation is simple
- Name authority can be found in
- a simple and efficient way
- Objects can migrate
- - Additional overhead for the
- monitoring of migrated objects
- - Only one (fixed) authority per object
30Location-independent Names (1)
Name Service Architecture
- Structure of the name space
- Hierarchically structured name space
- Hierarchy can resemble
- organizational structure
- system topology
- geographical distribution
- etc.
31Location-independent Names (2)
Name Service Architecture
- Relative name of an object
- Identifies a name uniquely in the
- context of its parent object
- Example
- uka/ira/schmitt (parent de)
- Absolute name of an object
- Globally unique identifier for an object
- Concatenation of the relative names
- of all predecessors
- Example
- /de/uka/ira/liedtke
32Location-independent Names (3)
Name Service Architecture
- Partitioning of name space
- Hierarchical name space is split
- up in zones
- A zone has at least one name server
- Name server manages the name
- space covered by the zone
- Replication can be achieved by
- having multiple name servers
- per zone
33Location-independent Names (4)
Name Service Architecture
- Every name server knows
- at least one server of the root zone
- the root zone of every child zone
- and at least one name server of it
- Name server manages the name
- Name resolution
- Agent asks an arbitrary name server N
- If N knows the name
- ? local resolution
- If N does not know the name
- ? Resolution starts with a root server
- ? and works its way down the
- server hierarchy until the name
- has been completely resolved
34Location-independent Names (5)
Name Service Architecture
- Name resolution
- is done by the authority
- responsible for the object
- Properties
- Objects can migrate
- Authority for an object can be changed
- Multiple authorities possible
- (replication)
- - Resolution may be expensive
- ( - Efficiency may be improved by caching)
- - Name generation may require
- communication
F
A
F
F
D
E
35Caching
Name Service Architecture
- Cache contains mapping information
- On receipt of a request for resolution,
- agent checks if the required information
- is in the cache
- Yes Resolution is done locally
- No Agent sends a query to the
- naming system its result is
- stored in the cache
- A cache entry is invalidated when
- after a resolution it is found to be stale
Naming System
Agent
Cache
Client
36Replication (1)
Name Service Architecture
- Goal
- High availability and faster access
- Pessimistic methods
- One-copy serialisability
- Limited availability if
- the network is partitioned
- Optimistic methods
- Weak consistency
- But Available even if
- the network is partitioned
37Replication (2)
Name Service Architecture
- Weak consistency is sufficient
- If naming information is changed
- infrequently
- Even if stale information is used,
- in many cases no harm will be done
- If use of the information will reveal
- that it is stale
38Examples Standards
Examples
- DNS - Domain Name System
- NIS - Network Information Service
- X.500
- LDAP - Lightweight Directory Protocol
39Domain Name System
Examples
- DNS distributed database used by TCP/IP
applications - to map between hostnames and IP
addresses - to provide electronic mail routing information
- Primary task
- Mapping from a symbolic name to the 32 bit
Internet(IP) address - mcculler.uni-karlsruhe.de ? 129
- General functionality
- Mapping from hierarchical names to objects
Paul Mockapetris (1984, standard in the Internet
since 1987)
40Domain Name System
Examples
- Name space
- manages names for computer, email-server ...
- Name structuring
- hierarchical name space
- pathnames start at the leave and end at the
root, e.g. i30www.ira.uka.de - The top level domain has fixed names
- (can be changed only by an official
Internet-office) - below top level domain you can have as many
levels as you need
41DNS Top-Level Domain
Examples
42DNS Name Space
Examples
- Hierarchical, location-independent
- names
- Name space is split up into domains
- which are ordered in a tree-like fashion
- Each domain receives a domain name
- that is unique among its sibling nodes
- Absolute name of a domain is
- obtained by concatenating the
- relative names on the path from
- this domain to the root of the tree
- Example i30www.ira.uka.de
de
au
tu-dresden
uka
sydney
informatik
ira
i20www
i30www
43Example of a DNS Name Server Hierarchy
Examples
44DNS Information Model
Examples
- Tables with entries (resource records)
consisting of - Domain name
- Class (e.g. IN for Internet, ISO for ISO)
- Type
- Time-to-live (how long cached info will be
valid) - Value (depending on the type)
- Application-dependent classes can be defined
- for each class there exists a set of object
types. - For each domain name, multiple entries may exist
that differ in - class and/or type and/or value
45DNS Systemarchitecture
Examples
user
Client
AP
OS
service access protocol
name resolver
TCP/IP
TCP/IP
46Example
Examples
user
ftp
name resolver
If the name could be resolved
47Replication and Caching in DNS
Examples
- Replication
- for every root server there are at least two
replicas - primary/backup principle
- backup servers update their state
- periodically via the primary server
- Caching
- each name server implements cache
Further reading F. Halsall Data
Communications, Computer Networks and Open
System, Addison-Wesley 1992 D. Comer
Computernetzwerke und Internets, Prentice Hall
1997
48X 500
Examples
- CCITT and ISO standard (1988)
- Names
- List of tuples ltattribute value)
- Attributes
- country c
- organisation o
- organiational unit on
- surname sn
- ...
- telephone number telephone
- Example
- /cde/ouni-karlsruhe/ourz/snjuling/telephone
49 721 608 3158