550 likes | 659 Views
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
E N D
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) • 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) • 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 • The most important types of resource records forming the contents of nodes in the DNS name space.
DNS Implementation (1) • An excerpt from the DNS database for the zone cs.vu.nl.
DNS Implementation (2): refer to nodes in a subdomain • Part of the description for the vu.nl domain which contains the cs.vu.nl domain. • Need to specify a name server for the subdomain by giving its domain name and IP address
The X.500 Name Space (1) • 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) • Two directory entries having Host_Name as RDN.
Naming versus Locating Entities [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! • Example 1: ftp server ftp.cs.seattleu.edu moved to another machine in the same domain • Solution: • Problem? • Example 2: ftp server ftp.cs.seattleu.edu move to another machine in another domain ftp.cs.uw.edu • Solution: • Problem?
Naming versus Locating Entities • 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) • 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) • Copying a reference to another process and incrementing the counter too late • A solution.
Advanced Referencing Counting (1) • The initial assignment of weights in weighted reference counting • Weight assignment when creating a new reference.
Advanced Referencing Counting (2) • Weight assignment when copying a reference.