Distributed Systems - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Distributed Systems

Description:

users, files, database objects, variables. communication links ... Size of systems: many nodes, users, files etc. Large number of names. Heterogeneity ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 49
Provided by: liefl
Category:

less

Transcript and Presenter's Notes

Title: Distributed Systems


1
Distributed Systems
Distributed Systems
Lecture 12 Name Services 9. July, 2002
2
Schedule of Today
Distributed Systems
Objectives Definitions Problems in DS
Types of Names Name Service Architecture
Examples
3
Name, 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
4
Objectives (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

5
Objectives (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

6
Objectives Example
Objectives
7
Definitions (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)

8
Definitions (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)

9
Definitions (3)
Definitions
  • Context
  • Mapping information
  • Names are interpreted relatively to a context
  • Mapping Information
  • Maps identifiers to identifiers of the next
    lower level

10
Definitions (4)
Definitions
  • Resolution
  • The process of mapping an identifier to an
    object
  • (possible via multiple stages)

11
Example Resolution (Stage 1)
Definitions
Compiler as the mapping function and
context generator
12
Example Resolution (Stage 2)
Definitions
Linker
13
Example Resolution (Stage 3)
Definitions
Address resolver
14
Problems 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

15
Context 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?
16
Centralized 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
17
Distributed 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
18
Distributed Context Management with Replication
Problems
19
Size 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

20
Heterogeneity
Problems
  • Local naming schemes are heterogeneous
  • Global naming scheme has to be uniform
  • Additional mapping from global to local
  • naming scheme

21
Types of Names
Types of Names
Examples /node1/files/john/imagine
22
Components 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

23
Name 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

24
Name 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
25
Resolution 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

26
Location-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

27
Location-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
28
Authority-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

29
Authority-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

30
Location-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.

31
Location-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

32
Location-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

33
Location-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

34
Location-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
35
Caching
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
36
Replication (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

37
Replication (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

38
Examples Standards
Examples
  • DNS - Domain Name System
  • NIS - Network Information Service
  • X.500
  • LDAP - Lightweight Directory Protocol

39
Domain 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)
40
Domain 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

41
DNS Top-Level Domain
Examples
42
DNS 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
43
Example of a DNS Name Server Hierarchy
Examples
44
DNS 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

45
DNS Systemarchitecture
Examples
user
Client
AP
OS
service access protocol
name resolver
TCP/IP
TCP/IP
46
Example
Examples
user
ftp
name resolver
If the name could be resolved
47
Replication 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
48
X 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
Write a Comment
User Comments (0)
About PowerShow.com