Beruflich Dokumente
Kultur Dokumente
Naming
Naming is a layer of indirection
Name Resolution
Naming Entities
Name?
A name is a string of bits or characters used to refer to an
entity
a resource such as hosts, printers, disks, files, process, Web pages, network connections, etc
entities Naming systems implement name resolution In distributed system the naming system is often distributed across multiple machines
3
Address
Name of an AP
4/11/2012
Naming Entities
An entity can offer more than one AP
e.g.1 a person (entity) can have more than one telephone
Naming Entities
Location independent name that is independent
numbers (AP) e.g. 2 a host running a specific service, can have its address formed by the combination of an IP address and a port number
Naming Entities
An identifier is another type of name. A TRUE identifier has the following properties
It refers to at most one entity Each entity referred to by at most one identifier An identifier always refers to the same entity Never reused!
Naming Entities
Human-friendly names are character based
File names supported by most of the OSes In many computer systems addresses and identifiers are
represented only in machine readable form (e.g., Ethernet address is a random string of 48 bits)
Routes
Sequences of names or addresses specifying steps to
4/11/2012
Naming Entities
Name Service One-to-Many Routing Algorithm
9
Name Spaces
Names in a distributed system are organized into a
name space
Name spaces offer a convenient mechanism for
storing and retrieving information about entities by means of names There are many different ways to organize a name space
Tree (strictly hierarchical) Directed Acyclic Graph (DAG)
10
Name Spaces
A name space can be represented as a labeled,
Name Spaces
A directory node is an entity that refers to other nodes. A
directed graph with two types of nodes. Each node is considered as an entity and associated with an identifier A leaf node represents a (named) entity
Attributes in a node describe aspects of the entity the node
directory node contains a (directory) table of (edge label, node identifier) pairs
represents:
Type of the entity An identifier for that entity Address of the entitys location
11
12
4/11/2012
Name Spaces
Root node
A node that has only outgoing
Name Resolution
The process of looking up a name
E.g.
Resolve the path name
Path name
This is a sequence of labels
N: first node in the path if N is root, e.g., n0:<home, steen, mbox> if N is not root
13
14
Name Resolution
Closure Mechanism
Knowing how to start the name resolution process
Aliases
Another name for the same entity Example: environment variable such as HOME
Need to select the initial node from where to start the resolution process (this starting node in many cases is implicit) In file systems, the root directory is accessed and known independent of the name space
Global Name
denotes the same entity, no matter where that name is used in a system
allow multiple absolute path names to refer to the same node Hard Links
Local Name
interpretation depends on where the name is being used (e.g.,
4/11/2012
Aliases
Implementing Aliases Method 2: Symbolic Links
represent an entity by a leaf node that stores an absolute path name rather than state or address of that entity
17
18
Mounting
Mounted File System
Letting a directory node store the identifier of a
Mounting
The principle of mounting can be generalized to
directory node from a different name space, which we refer to as a foreign name space. The directory node storing the node identifier is called a mount point. The directory node in the foreign name space is called a mounting point.
other name spaces If we want to mount foreign name space NS2 into NS1 it may be necessary to communicate over a network:
Name of an access protocol Name of the server implementing NS2 Name of mounting point in the foreign name space NS2 each of these names needs to be resolved
Normally, the mounting point is the root of a name space. During name resolution, the mounting point is looked up and resolution proceeds by accessing its directory table.
19
20
4/11/2012
Mounting
The name of an access protocol needs to be resolved to the
implementation of a protocol by which communication with the server of the foreign name space can take place. The name of the server needs to be resolved to an address where that server can be reached. The name of the mounting point needs to be resolved to a node identifier in the foreign name space.
children
home
21
22
23
24
4/11/2012
machines
Distribute the name resolution process & Distribute name space management
25
26
administrational layer is that they represent groups of entities that belong to the same organization or administrational unit.
stable, although changes generally occur more frequently than to nodes in the global layer
27
28
4/11/2012
nodes in the managerial layer are maintained not only by system administrators, but also by individual end users of a distributed system
29
30
layer is primarily important for clients in the same organization as the name server.
simultaneous users)
Replicating servers, in combination with client-side caching are
If the name server fails, many resources within the organization become unreachable because they cannot be looked up.
it may be less important that resources in an organization are temporarily unreachable for users outside that organization.
used
Updates in this layer generally do not have to come into effect
4/11/2012
Because changes to nodes do not occur very often, caching lookup results can be highly effective, making performance less critical.
E.g., it is unacceptable that an account for a new user takes hours to become effective.
take care that lookup results are returned within a few milliseconds, either directly from the server or from the clients local cache.
33
34
Users expect operations to take place immediately. Because updates occur regularly, client-side caching is often less effective
35
A comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, an administrational layer, and a managerial layer.
36
4/11/2012
for availability and performance, but which also introduce consistency problems.
Some of the problems are aggravated by the fact that caches and
replicas are spread across a wide-area network, which introduces long communication delays thereby making synchronization even harder.
which is responsible for ensuring that the name resolution process is carried out Two types of name resolution
Iterative name resolution Recursive name resolution
37
38
In practice, the last step, namely contacting the FTP server and requesting it to transfer the file with path name ftp:<pub, globe, index.txt>, is carried out separately by the client process.
39 40
10
4/11/2012
a name server is required to handle the complete resolution of a path name this additional burden is generally so high that name servers in the global layer of a name space support only iterative name resolution
41
42
Karachi
43
44
11
4/11/2012
forward it to the name server for the cs node, and request it to resolve the remaining path name cs:<flits>.
The root is represented by a dot E.g. the path name root:<nl, vu, cs, flits>, is represented by the string flits.cs.vu.nl.
Label attached to a nodes incoming edge is used as name of the node A subtree is called a domain Domain Name
45
DNS: Subdomains
One domain is a subdomain of another if its apex node
nominum.com
47
12