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
#
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.