Naming - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Naming

Description:

... to use location-independent names (or identifiers) to locate mobile ... Names, identifiers, ... nodes storing absolute path names (symbolic links in Unix) ... – PowerPoint PPT presentation

Number of Views:110
Avg rating:3.0/5.0
Slides: 43
Provided by: stevear
Category:
Tags: names | naming

less

Transcript and Presenter's Notes

Title: Naming


1
Naming
  • Chapter 4

2
Naming
  • Names play an important role in all computer
    systems.
  • E.g., they can be used to share resources, to
    uniquely identify entities, to refer to
    locations, and so on.
  • An important issue with naming is that a name can
    be resolved to the entity it refers to.
  • In a distributed system, the implementation of a
    naming system is itself often distributed to
    achieve efficiency and scalability of the naming
    system. Three major issues covered in this part
  • The organisation and implementation of
    human-friendly names (e.g., file names and WWW
    URLs).
  • How to use location-independent names (or
    identifiers) to locate mobile entities.
  • How to use naming system to support automatic
    collection of unreferenced objects (garbage
    collection).

3
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
  • e.g., a host, printer, file, process, user,
    network connection, etc.
  • An entity may have multiple access points.
  • An access point is yet another special kind of
    entity.
  • The name of an access point is called an address.
  • An entity may have a unique identifier, which is
    a special kind of name that has the following
    properties
  • An identifier refers to at most one entity.
  • Each entity is referred to by at most one
    identifier.
  • An identifier always refers to the same entity
    (i.e., it is never reused).
  • Addresses and identifiers are represented in
    machine-readable form-- bit strings (e.g.,
    Ethernet, IP, and RAM addresses)
  • Human-friendly names (e.g. file, DNS names and
    URLs) are represented as a character string.

4
Name Spaces (1)
Names are organised into a name space, which can
be represented as a labeled, directed graph with
leaf and directory nodes.
  • A general naming graph with a single root node.

5
Name Spaces (2)
  • The general organization of the UNIX file system
    implementation on a logical disk of contiguous
    disk blocks.

6
Name resolution Linking and Mounting (1)
  • Name spaces offer a convenient mechanism for
    storing and retrieving information about entities
    by means of names.
  • The process of looking up a name is called name
    resolution.
  • An alias is another name for the same entity,
    which can be implemented by
  • multiple absolute paths (hard links in Unix), or
  • multiple leaf nodes storing absolute path names
    (symbolic links in Unix)
  • The concept of a symbolic link explained in a
    naming graph.

7
Linking and Mounting (2)
  • Name resolution can be used to merge different
    name spaces in a transparent way.
  • To mount a foreign name space, we can let a
    directory node store the identifier (e.g. URL) of
    a directory node (normally the root) from the
    foreign name space.
  • Mounting remote name spaces through a specific
    process protocol.

8
Linking and Mounting (3)
  • Organization of the DEC Global Name Service

9
Name Space Distribution (1)
  • An example partitioning of the DNS name space,
    including Internet-accessible files, into three
    layers.

10
Name Space Distribution (2)
  • 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.

11
Implementation of Name Resolution (1)
  • The principle of iterative name resolution.

12
Implementation of Name Resolution (2)
  • The principle of recursive name resolution.

13
Implementation of Name Resolution (3)
  • Recursive name resolution of ltnl, vu, cs, ftpgt.
    Name servers cache intermediate results for
    subsequent lookups.

14
Implementation of Name Resolution (4)
  • The comparison between recursive and iterative
    name resolution with respect to communication
    costs.

15
The DNS Name Space
  • The most important types of resource records
    forming the contents of nodes in the DNS name
    space.

16
DNS Implementation (1)
  • An excerpt from the DNS database for the zone
    cs.vu.nl.

17
DNS Implementation (2)
  • Part of the description for the vu.nl domain
    which contains the cs.vu.nl domain.

18
The X.500 Name Space (1)
  • A simple example of a X.500 directory entry using
    X.500 naming conventions.

19
The X.500 Name Space (2)
  • Part of the directory information tree.

20
The X.500 Name Space (3)
  • Two directory entries having Host_Name as RDN.

21
Naming versus Locating Entities
  • Direct, single level mapping between names and
    addresses.
  • T-level mapping using identities.

22
Simple solutions Broadcasting and Multicasting
  • A location service accepts an identifier as input
    and returns the current address of the identified
    entity.
  • Simple solutions exist to work in a local area
    network.
  • Address Resolution Protocol (ARP) to map the IP
    address of a machine to its data-link address,
    which uses broadcasting.
  • Multicasting can be used to locate entities in
    point-to-point networks (such as the Internet).
  • Each multicasting address can be associated with
    multiple replicated entities.

23
Forwarding Pointers (1)
  • The principle of forwarding pointers using
    (proxy, skeleton) pairs.

24
Forwarding Pointers (2)
  • Redirecting a forwarding pointer, by storing a
    shortcut in a proxy.

25
Home-Based Approaches
  • The principle of Mobile IP.

26
Hierarchical Approaches (1)
  • Hierarchical organisation of a location service
    into domains, each having an associated directory
    node.

27
Hierarchical Approaches (2)
  • An example of storing information of a
    (replicated) entity having two addresses in
    different leaf domains.

28
Hierarchical Approaches (3)
  • Looking up a location in a hierarchically
    organised location service.

29
Hierarchical Approaches (4)
  • An insert request is forwarded to the first node
    that knows about entity E.
  • A chain of forwarding pointers to the leaf node
    is created.

30
Pointer Caches (1)
  • Caching a reference to a directory node of the
    lowest-level domain in which an entity will
    reside most of the time.

31
Pointer Caches (2)
  • A cache entry that needs to be invalidated
    because it returns a nonlocal address, while such
    an address is available.

32
Scalability Issues
  • The scalability issues related to uniformly
    placing subnodes of a partitioned root node
    across the network covered by a location service.

33
The Problem of Unreferenced Objects
  • An example of a graph representing objects
    containing references to each other.

34
Reference Counting (1)
  • The problem of maintaining a proper reference
    count in the presence of unreliable communication.

35
Reference Counting (2)
  • Copying a reference to another process and
    incrementing the counter too late
  • A solution.

36
Advanced Referencing Counting (1)
  • The initial assignment of weights in weighted
    reference counting
  • Weight assignment when creating a new reference.

37
Advanced Referencing Counting (2)
  • Weight assignment when copying a reference.

38
Advanced Referencing Counting (3)
  • Creating an indirection when the partial weight
    of a reference has reached 1.

39
Advanced Referencing Counting (4)
  • Creating and copying a remote reference in
    generation reference counting.

40
Tracing in Groups (1)
  • Initial marking of skeletons.

41
Tracing in Groups (2)
  • After local propagation in each process.

42
Tracing in Groups (3)
  • Final marking.
Write a Comment
User Comments (0)
About PowerShow.com