Naming - Seattle University

Download Report

Transcript Naming - Seattle University

Naming

Chapter 4

Name Spaces (1)

A general naming graph with a single root node.

Name Spaces (2)

The general organization of the UNIX file system implementation on a logical disk of contiguous disk blocks.

Name Resolution (3)

 How does name resolution work in OS?

 Traverse the directory  Poor performance? Why?

 Solution: Look-aside cache – what kind of info.?

Linking

The concept of a symbolic link explained in a naming graph.

Q1: How to differentiate hard links and symbolic links?

Hard links or Symbolic Links

 Hard links: store the address of an entity, i-node?

 Symbolic links: store the absolute pathname?

Mounting

 Purpose: Merge different name spaces  Mount (local) and Mounting points (for foreign name space)  3 Requirements to mount a foreign name space in a distributed system  Access protocol, e.g., NFS protocol  Server name  Name of mounting point in the foreign name space  Example: nfs://oitlnx.seattleu.edu//home/zhuy

Mounting

Mounting remote name spaces through a specific process protocol.

Mounting (2)

 Another approach: DEC’s Global Name Service (GNS)  Add a new root  Make the existing root nodes as the new root’s children  Problem: the new root must have a table mapping from old root nodes to new names, posing a scalability issue in the table size.?

Mounting (2)

Organization of the DEC Global Name Service

Name Space Distribution

 Large-scale distributed systems  Name space is in hierarchy  Global layer: stable, why? how? Availability? (replication?) Performance? (replication, client/proxy side caching due to stability, no change?)  Administrational layer: by organization. Availability? (resource within the organization), performance? (critical), quick response? (high-performance, replicated servers, with client-side cache?)  Managerial layer: change. Low availability?

Name Space Distribution (1)

An example partitioning of the DNS name space, including Internet-accessible files, into three layers.

Name Space Distribution (2)

Item

Geographical scale of network Total number of nodes Responsiveness to lookups Update propagation Number of replicas Is client-side caching applied?

Global

Worldwide Few Seconds Lazy Many Yes

Administrational

Organization Many Milliseconds Immediate None or few Yes

Managerial

Department Vast numbers Immediate Immediate None Sometimes A comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, as an administrational layer, and a managerial layer.

Name Resolution

 Iterative name resolution  Recursive name resolution

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

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

Implementation of Name Resolution (3)

Server for node

cs vu ni root

Should resolve

Looks up

# #

Passes to child

-

Receives and caches

- #

Returns to requester

# # # # # # # # # # # # # # # # # Recursive name resolution of <

nl, vu, cs, ftp

>. Name servers cache intermediate results for subsequent lookups.

Iterative (I) vs. Recursive (R)

 Comparison:  Overload the global layer name servers. I or R?

 Caching at servers are more effective. I or R?

 Low latency?. I or R?

 Trouble shooting? I or R? know which server goes wrong?

 DNS name resolver  proxy sitting the entry/exit of the oganization, caching,  DNS name servers stateful or stateless?

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

DNS Implementation

 DNS name space, only two layers: global and administrative layers  Each zone is implemented by a/multiple name server(s), primary name server  zone transfer to secondary name servers  A DNS database: a collection of files

The DNS Name Space

Type of record

SOA A MX SRV NS CNAME PTR HINFO TXT

Associated entity

Zone

Description

Holds information on the represented zone Host Domain Contains an IP address of the host this node represents Refers to a mail server to handle mail addressed to this node Domain Zone Node Host Host Refers to a server handling a specific service Refers to a name server that implements the represented zone Symbolic link with the primary name of the represented node Contains the canonical name of a host Holds information on the host this node represents Any kind Contains any entity-specific information considered useful The most important types of resource records forming the contents of nodes in the DNS name space.

An excerpt from the DNS database for the zone

cs.vu.nl

.

DNS Implementation (1)

DNS Implementation (2): refer to nodes in a subdomain

Name

cs.vu.nl

solo.cs.vu.nl

Record type

NS A

Record value

solo.cs.vu.nl

130.37.24.1

Part of the description for the

vu.nl

contains the

cs.vu.nl

domain which domain.

Need to specify a name server for the subdomain by giving its domain name and IP address

The X.500 Name Space (1)

Country

Attribute

Locality Organization OrganizationalUnit CommonName Mail_Servers FTP_Server WWW_Server

Abbr.

C L L OU CN - - --

Value

NL Amsterdam Vrije Universiteit Math. & Comp. Sc.

Main server 130.37.24.6, 192.31.231,192.31.231.66

130.37.21.11

130.37.21.11

A simple example of a X.500 directory entry using X.500 naming conventions.

The X.500 Name Space (2)

Part of the directory information tree.

The X.500 Name Space (3)

Attribute

Country Locality Organization OrganizationalUnit CommonName Host_Name Host_Address

Value

NL Amsterdam Vrije Universiteit Math. & Comp. Sc.

Main server star 192.31.231.42

Attribute

Country Locality Organization OrganizationalUnit CommonName Host_Name Host_Address

Value

NL Amsterdam Vrije Universiteit Math. & Comp. Sc.

Main server zephyr 192.31.231.66

Two directory entries having

Host_Name

as RDN.

Naming versus Locating Entities

 Example 1: ftp server ftp.cs.seattleu.edu

the same domain   Solution: Problem?

moved to another machine in  Example 2: ftp server ftp.cs.seattleu.edu

another domain ftp.cs.uw.edu

 Solution:  Problem?

move to another machine in [1] Solution: the local DNS server update the entry. The client-side cached copy should be invalidated [2] Solution: add a symbolic link into the old DNS name server. Performance issue. For mobile entities, even worse, need to update frequently the entry!

Naming versus Locating Entities

a) b) Direct, single level mapping between names and addresses.

Two-level mapping using identities.

Solution to Locating an Entity  Broadcasting  Address Resolution Protocol (ARP)  Problem: scalability issue  Multicasting  IP-level multicasting  Efficient than Broadcasting, but hard to deploy  Multicast tree, multicast group   Functions: address resolution (identifier  IP); find nearby replicas Overlay multicasting: easy to deploy, lower performance

Approach to Locating Mobile Entities  Forwarding pointers  When an entity moves from A to B, it leaves behind a reference to its new location at B  Problem  Result in long chain of forwarding pointers  expensive locating  All intermediate locations in a chain have to be available (maintain the pointers and avoid broken chain)  Solution: short-cut the chain  Send the response directly back to the initiator or along the reverse path of the forwarding path?

Forwarding Pointers (1)

The principle of forwarding pointers using (

proxy, skeleton

) pairs.

Forwarding Pointers (2)

Redirecting a forwarding pointer, by storing a shortcut in a proxy.

Home-Based Approaches

 A popular approach to support mobile entities in large-scale networks  Home location: keep track of the current location of an entity  New requests to the entity is first forwarded to its home location which tunnels the request to its current location

Home-Based Approaches

The principle of Mobile IP.

Hierarchical Location Scheme

Domains, directory nodes Location record: pointing to next-level domain in which the entity is located multiple records for multiple replicas of an entity

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

Hierarchical Approaches (2) An example of storing information of an entity having two addresses in different leaf domains.

Hierarchical Approaches (3) Looking up a location in a hierarchically organized location service.

Hierarchical Approaches (4) a) b) 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.

Pointer Caches

 Hierarchical approach: performance issue?

 Solution: cache the unchanged part  Pointer caches

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.

Pointer Caches (2)

A cache entry that needs to be invalidated because it returns a nonlocal address, while such an address is available.

Scalability Issues

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

Root nodes tend to be overloaded

Discussion

 Problem: Do you know how a wireless network works where mobile entities mover around?

 If a mobile PC keeps moving around, faraway from its home station, do we have other option to solve this problem without keeping the forwarding pointer in the home base station?

Discussion

 Base stations, Hand-off, broadcast, transmission range, energy efficient routing  Two-layer solution  First, locating its current base station with its identifier  Second, go to its current base station for address  Why not keep identifier  address one step?

The Problem of Unreferenced Objects

An example of a graph representing objects containing references to each other.

Reference Counting (1)

The problem of maintaining a proper reference count in the presence of unreliable communication.

Reference Counting (2)

a) b) Copying a reference to another process and incrementing the counter too late A solution.

Advanced Referencing Counting (1)

a) b) The initial assignment of weights in weighted reference counting Weight assignment when creating a new reference.

Advanced Referencing Counting (2)

c) Weight assignment when copying a reference.

Advanced Referencing Counting (3)

Creating an indirection when the partial weight of a reference has reached 1.

Advanced Referencing Counting (4)

Creating and copying a remote reference in generation reference counting.

Tracing in Groups (1)

Initial marking of skeletons.

Tracing in Groups (2)

After local propagation in each process.

Tracing in Groups (3)

Final marking.