Title: Naming
1Naming
2Name Spaces (1)
- A general naming graph with a single root node.
3Name Spaces (2)
- The general organization of the UNIX file system
implementation on a logical disk of contiguous
disk blocks.
4Name Resolution (3)
- How does name resolution work in OS?
- Traverse the directory
- Poor performance? Why?
- Solution Look-aside cache what kind of info.?
5Linking
- The concept of a symbolic link explained in a
naming graph. - Q1 How to differentiate hard links and symbolic
links?
6Hard links or Symbolic Links
- Hard links store the address of an entity,
i-node? - Symbolic links store the absolute pathname?
7Mounting
- 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
8Mounting
- Mounting remote name spaces through a specific
process protocol.
9Mounting (2)
- Another approach DECs Global Name Service (GNS)
- Add a new root
- Make the existing root nodes as the new roots
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.?
10Mounting (2)
- Organization of the DEC Global Name Service
11Name 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?
12Name Space Distribution (1)
- An example partitioning of the DNS name space,
including Internet-accessible files, into three
layers.
13Name 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.
14Name Resolution
- Iterative name resolution
- Recursive name resolution
15Implementation of Name Resolution (1)
- The principle of iterative name resolution.
16Implementation of Name Resolution (2)
- The principle of recursive name resolution.
17Implementation of Name Resolution (3)
- Recursive name resolution of ltnl, vu, cs, ftpgt.
Name servers cache intermediate results for
subsequent lookups.
18Iterative (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?
19Implementation of Name Resolution (4)
- The comparison between recursive and iterative
name resolution with respect to communication
costs.
20DNS 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
21The DNS Name Space
- The most important types of resource records
forming the contents of nodes in the DNS name
space.
22DNS Implementation (1)
- An excerpt from the DNS database for the zone
cs.vu.nl.
23DNS 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
24The X.500 Name Space (1)
- A simple example of a X.500 directory entry using
X.500 naming conventions.
25The X.500 Name Space (2)
- Part of the directory information tree.
26The X.500 Name Space (3)
- Two directory entries having Host_Name as RDN.
27Naming versus Locating Entities
- 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?
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!
28Naming versus Locating Entities
- Direct, single level mapping between names and
addresses. - Two-level mapping using identities.
29Solution 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
30Approach 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?
31Forwarding Pointers (1)
- The principle of forwarding pointers using
(proxy, skeleton) pairs.
32Forwarding Pointers (2)
- Redirecting a forwarding pointer, by storing a
shortcut in a proxy.
33Home-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
34Home-Based Approaches
- The principle of Mobile IP.
35Hierarchical 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
36Hierarchical Approaches (1)
- Hierarchical organization of a location service
into domains, each having an associated directory
node.
37Hierarchical Approaches (2)
- An example of storing information of an entity
having two addresses in different leaf domains.
38Hierarchical Approaches (3)
- Looking up a location in a hierarchically
organized location service.
39Hierarchical 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.
40Pointer Caches
- Hierarchical approach performance issue?
- Solution cache the unchanged part ? Pointer
caches
41Pointer Caches (1)
- Caching a reference to a directory node of the
lowest-level domain in which an entity will
reside most of the time.
42Pointer Caches (2)
- A cache entry that needs to be invalidated
because it returns a nonlocal address, while such
an address is available.
43Scalability 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
44Discussion
- 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?
45Discussion
- 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?
46The Problem of Unreferenced Objects
- An example of a graph representing objects
containing references to each other.
47Reference Counting (1)
- The problem of maintaining a proper reference
count in the presence of unreliable communication.
48Reference Counting (2)
- Copying a reference to another process and
incrementing the counter too late - A solution.
49Advanced Referencing Counting (1)
- The initial assignment of weights in weighted
reference counting - Weight assignment when creating a new reference.
50Advanced Referencing Counting (2)
- Weight assignment when copying a reference.
51Advanced Referencing Counting (3)
- Creating an indirection when the partial weight
of a reference has reached 1.
52Advanced Referencing Counting (4)
- Creating and copying a remote reference in
generation reference counting.
53Tracing in Groups (1)
- Initial marking of skeletons.
54Tracing in Groups (2)
- After local propagation in each process.
55Tracing in Groups (3)