Distributed Program Construction

Fall 1999

Lecture 7: Naming

Reading: Cheriton, Ch7 (take this chapter with a grain of salt)
                or, Chapter 9 in Coulouris et al.
 


COMP 413
        Naming Model (1/2)





Basics: We consider a name space consisting of nodes that contain information on entities . Nodes can be named.

Context: A function that maps names to nodes

Each edge from node M to node N is labeled with the name N has in the context stored in M.


COMP 413
        Naming Model (2/2)

Compound name : a nonempty sequence of names [name1,...,nameK]

Compound names are resolved recursively:



COMP 413



COMP 413 Observation: We can easily store all kinds of attributes in a node, describing aspects of the entity the node represents: Observation: Context nodes can also have attributes, besides just storing a context
 
 
 
 
 
 
 
 
 


COMP 413 Problem: To resolve a name we need a context. How do we actually find that (initial) context?

Closure mechanism: The mechanism to select the implicit context from which to start name resolution:

Question: Why are closure mechanisms always implicit ?

Observation: A closure mechanism may also determine how name resolution should proceed
 
 
 
 
 
 


COMP 413

Name Linking (1/2)

Hard link: What we have described so far as a name-to-entity binding

Soft link: Allow a node O to contain a name of another node:

Observations:
 
 


COMP 413

COMP 413 Basic issue: Distribute the name resolution process as well as name space management across multiple machines, by distributing nodes of the naming graph.

Consider a hierarchical naming graph and distinguish three levels:

Global level: Consists of the high-level context objects. Main aspect is that these context objects have to be jointly managed by different administrations

Administrational level: Contains mid-level context objects which can be grouped in such a way that each group can be assigned to a separate administration.

Local level: Consists of low-level context objects within a single administration. Main issue is effectively mapping context objects to local name servers.
 
 
 
 
 
 
 



COMP 413


COMP 413


COMP 413 Problem: We have different name spaces that we wish to access from any given name space.

Solution 1: Introduce a naming scheme by which pathnames of different name spaces are simply concatenated (URLs).


COMP 413

Merging Name Spaces (2/3)

Solution 2: Introduce nodes that contain the name of a node in a ?foreign? name space , along with the information how to select the initial context in that foreign name space (Jade).


COMP 413

Merging Name Spaces (3/3)

Solution 3: Use only full pathnames, in which the starting context is explicitly identified, and merge by adding a new root node (DEC? s Global Name Space).
 
 




Note: In principle, you always have to start in the new root
 


COMP 413
  Size scalability: We need to ensure that servers can handle a large number of requests per time unit ->
high-level servers are in big trouble.

Solution: Assume (at least at global and administrative level) that content of nodes hardly ever changes. In that case , we can apply extensive replication by mapping nodes to multiple servers, and start name resolution at the nearest server.

Observation: An important attribute of many nodes is the address where the represented entity can be contacted. Replicating nodes makes large-scale traditional name servers unsuited for locating mobile entitities.
 
 
 
 
 
 
 
 
 


COMP 413

Scalability Issues (2/2)

Geographical scalability: We need to ensure that the name resolution process scales across large geographical distances.

Problem: By mapping nodes to servers that may, in principle, be located anywhere, we introduce an implicit location dependency in our naming scheme.

Solution: No general one available yet.
 
 
 
 
 
 
 
 
 
 
 
 
 
 


COMP 413
 
 

    Domain Name System (DNS)

Internet name service that translates "domain names" to IP addresses. See Notes.
 


COMP 413

X.500

World-wide, attribute based directory service, originally designed to supersede telephone directories (yellow and white pages).

Directory Information Base (DIB) entry contains: Two types of lookups:
COMP 413

WWW URLs

Merges namespaces:
 
 
 
 
 
 
 
 
 
 
 
 
 
 


COMP 413

Traditional Name Service Summary

Hierarchical Namespaces

Caching



COMP 413
 


Naming & Locating Objects (1/2)




Location service: Solely aimed at providing the addresses of the current locations of entities.

Assumption: Entities are mobile, so that their current address may change frequently .

Naming service: Aimed at providing the content of nodes in a name space, given a (compound) name. Content comprises different (attribute,value) pairs.

Assumption: Node contents at global and administrative level is relatively stable for scalability reasons.

Observation: If a traditional naming service is used to locate entities, we also have to assume that node contents at the local level is stable, as we can use only names as identifiers (think of Web pages).
 
 
 


COMP 413

Naming & Locating Objects (2/2)

Problem: It is not realistic to assume stable node contents down to the local naming level

Solution: Decouple naming from locating entities









Name: Any name in a traditional naming space

Object handle: An object identifier (P1, P3)

Contact address: An address providing all information necessary to contact an object

Observation: An object? s name is now completely independent of its location.


COMP 413

Simple Solutions for Locating Objects

Broadcasting: Simply broadcast the OID, requesting the object to return its current address.

Forwarding pointers: Each time an object moves, it leaves behind a pointer telling where it has gone to.
COMP 413

Home-Based Approaches (1/2)

Single-tiered scheme: Let a home keep track of where the object is:


COMP 413

Home-Based Appr oac hes (2/2)








Two-tiered scheme: Keep track of visiting objects

Problems with home-based approaches:
COMP 413
 
 

Hierarchical Location Services (HLS)

Basic idea: Build a large-scale search tree for which the under lying network is divided into hierarchical domains. Each domain is represented by a separate directory node.








COMP 413

HLS: Tree Organization







COMP 413
HLS: Look-up Operation

Basic principles:







COMP 413

HLS: Insert Operation


COMP 413

HLS: Record Placement

Observation: If an object O moves regularly between leaf domains D1 and D2, it may be more efficient to
store O? s contact record at the least common ancestor LCA of D1 and D2.


COMP 413

HLS: Scalability Issues

Size scalability: Again, we have a problem of overloading higher-level nodes:

Geographical scalability: We have to ensure that look-up operations generally proceed monotonically in
the direction of where we?ll find an address:
COMP 413