Title: Naming A name in a distributed system is a string of bits or characters used to refer to an entity. To resolve names a naming system is needed.
1NamingA name in a distributed system is a
string of bits or characters used to refer to an
entity.To resolve names a naming system is
needed.
2- Naming Entities
- An entity can be anything
- An entity can be operated on
- To operate on an entity we need an access point
- An access point in a DS is called address
- An address is a special type of name
- A name for an entity independent from its address
is called location independent - A true identifier is a special type of name that
uniquely identifies an entity and has the
following properties - - An identifier
refers to at most one entity - - Each entity is
referred to by at most one identifier - - An identifier
always refers to the same entity - Human friendly name is another type of name
3Name Spaces Names in a DS are organized in a
name space
Root node
Directory table
- A naming space can be represented as a graph with
leaf nodes (containing entity information) and
directory nodes. - Absolute and relative path names are related to a
directory node - A global name denotes the same entity in the
system - A local name depends on where the name is being
used
4Name ResolutionLinking and Mounting
Name resolution can take place only if how and
where to start is known (a.k.a. closure
mechanism) An alias is another name for the same
entity (multiple absolute reference or symbolic
link)
- The concept of a symbolic link explained in a
naming graph within a single name space.
5Linking and Mounting
Name space B
Name space A
Protocol Server Mounting point
Mounting point
Mount point
- Mounting remote name spaces through a specific
process protocol ( i.e. in NFS) to merge
different mane spaces
6Linking and Mounting A different approach to
merge name spaces (with scalability problems)
Mapping table
New root node
- Organization of the DEC Global Name Service
- Names in GNS always include the id of the node
from where resolution should start
7Name Space Distribution (1)
Rarely changed
Relatively stable
- An example partitioning of the DNS name space,
including Internet-accessible files, into three
layers. - A zone is a part of the name space implemented by
a separate name server
8Name Space Distribution (2)
Item Global Administrational Managerial
Geographical scale of network Worldwide Organization Department
Total number of nodes Few Many Vast numbers
Responsiveness to lookups Seconds Milliseconds Immediate
Update propagation Lazy Immediate Immediate
Number of replicas Many None or few None
Is client-side caching applied? Yes Yes Sometimes
- 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. - Replication and caching can be difficult to
implement maintaining consistency
9Implementation of Name Resolution
- Ex resolution of rootltnl, vu, cs, ftp, pub,
globe, index.txtgt - The principle of iterative name resolution.
10Implementation of Name Resolution
- Ex resolution of rootltnl ,vu, cs, ftp, pub,
globe, index.txtgt - The principle of recursive name resolution.
11Implementation of Name Resolution
- The comparison between recursive and iterative
name resolution
12Naming versus Locating Entities usually nodes in
managerial layers vary very often
- Direct, single level mapping between names and
addresses. - Two-level mapping using identifiers.
- Simple example in LAN ARP via
broadcasting
13Forwarding Pointers when an entity moves, it
leaves a reference to its new location
Exit item
Entry items
- The principle of forwarding pointers using
(proxy, skeleton) pairs or SSP (stub and scion
pair) - Problems when the chain is broken
14Forwarding Pointers
- Redirecting a forwarding pointer, by storing a
shortcut in a proxy. - The current location is sent back to the caller
15Home-Based Approachesfor mobile entities in
large scale networksa home location keeps track
of the current location of an entity
1
0,3
2bis
4
2
- The principle of Mobile IP (2 tiered case)
- Each mobile host has a fixed IP add.,
communications directed to the host home agent - IP address is used ad an identifier
16Hierarchical Approach Mechanism
- Hierarchical organization of a location service
into domains, each having an associated directory
node. - Each entity in a domain is represented by a
location record in the directory node. - The root node has a location record for each
entity, storing a pointer to the directory node
where the entity is.
17Hierarchical Approaches
- An entity may have multiple addresses.
- If an entity has an address in different leaf
domains D1 and D2, then the directory node of the
smallest domain containing D1 and D2 will have 2
pointers.
18Hierarchical Approaches
pointer
address
client
- Looking up a location in a hierarchically
organized location service.
19Hierarchical Approaches
Update operation in a hierarchical location
service (top-down)
- An insert request is forwarded to the first node
that knows about entity E (replica). - A chain of forwarding pointers to the leaf node
is created.
20Pointer Caches Caching in a hierarchical
location service supporting mobile entities is
not effectiveCaching is effective only if data
rarely change, or entity moves within the
domainPointer caching let the lookup start at
the directory of the smallest domain in which a
mobile entity moves regularly
- Caching a reference to a directory node of the
lowest-level domain in which an entity will
reside most of the time.
21Scalability Issueshierarchical location services
have bottlenecks at root directory
partitioning high level nodes
- The scalability issues is related to uniformly
placing sub-nodes of a partitioned root node
across the network covered by a location service.
Choice of partitions is critical
22The Problem of Unreferenced ObjectsWhen an
entity can no longer be accessed, it has to be
removed
- A graph representing objects containing
references to each other - Entities that are not directly or indirectly
referenced by root nodes have to be removed.
23Removing unreferenced entities
- Reference counting
- reference to the object are counted,
dynamically - Reference listing
- a skeleton maintains the explicit listing of
the proxies that point to it - Tracing-based garbage collection
- all entities in a DS are traced, checking
which entity can be reached - from the root set.
- In a distributed system garbage collection
requires network communication