1 / 55

Naming

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

Download Presentation

Naming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Naming Chapter 4

  2. Name Spaces (1) • A general naming graph with a single root node.

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

  4. Name Resolution (3) • How does name resolution work in OS? • Traverse the directory • Poor performance? Why? • Solution: Look-aside cache – what kind of info.?

  5. Linking • The concept of a symbolic link explained in a naming graph. • Q1: How to differentiate hard links and symbolic links?

  6. Hard links or Symbolic Links • Hard links: store the address of an entity, i-node? • Symbolic links: store the absolute pathname?

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

  8. Mounting • Mounting remote name spaces through a specific process protocol.

  9. 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.?

  10. Mounting (2) • Organization of the DEC Global Name Service

  11. 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?

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

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

  14. Name Resolution • Iterative name resolution • Recursive name resolution

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

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

  17. Implementation of Name Resolution (3) • Recursive name resolution of <nl, vu, cs, ftp>. Name servers cache intermediate results for subsequent lookups.

  18. 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?

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

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

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

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

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

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

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

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

  27. 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?

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

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

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

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

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

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

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

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

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

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

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

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

  40. Pointer Caches • Hierarchical approach: performance issue? • Solution: cache the unchanged part  Pointer caches

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

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

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

  44. 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?

  45. 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?

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

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

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

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

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

More Related