NAMING  Chapter 4

Naming is used to:

Share resources, uniquely identify entities and to refer to locations.

Name resolution:  Allows a process to access the named entity

      In distributed systems, the naming is also distributed.

  It has a key role in scalability.  Naming has to be done efficiently.

 

bullet4.1 Human friendly names
bullet4.2 Locating mobile entities (alternative names, since human friendly names can not be used here)
bullet

4.3 Garbage collecting names (names that are no longer referenced should be removed)

4.1 HUMAN FRIENDLY NAMES:

3 types of names:

  1. Human friendly names
  2. Address of an entity
  3. Identifier

 

# 1 and # 2:

An access point or an address can not be know only by the address. If the entity is changed with a new one with a new accesspoint address, there has to be a name for that entity that does not change.

It is also better to have one single name for an entity if there are many access points to an entity.

Location independent:  Entity that is independent from its addresses, like using one human friendly name.

Entity:  Resources such as hosts, printers, disks and files.  Processes, users, mailboxes, newsgroups, Web pages, network connections and accesspoints( an address, also used as an address of an entity, there can be many accesspoints to one entity).

# 3 True indentifier:

  1. An identifier refers to at most one entity.
  2. Each entity is referred to by at most one identifier
  3. An identifier always refers to the same entity

Human friendly names:

 

Global, administration, managerial layers.

Interativ name resolution:

The Root name server will resolve the name as far as it can and then pass the name back to the Client`s name resolver and the Name server for the different nodes will do the same (creating a lot of traffic).

Recursive name resolution:

The Root name server will resolve the name and then pass the name to the next Name server node.  The last Name server will pass the information back to the Root name server and it will send the resolved name to the Client`s name resolver.

POSITIVE:  caching results is more effective (Name servers learn each others address), communication cost is reduced.

4.2 LOCATING MOBILE ENTITIES:

Four approaches to locating a mobile entity:

  1. broadcasting or multicasting ( LAN with the use of ARP or multicast with groups with multicast address)

  2. forwarding pointers (every time an entity moves, it leaves behind a pointer on where it has gone to)

  3. allocate a home to an entity                                                                                                                            * single tiered ( let home keep track of where the home is)                                                                                * two tiered scheme (keep track of visiting entities)

  4. build a hierarchical search tree

Single layer and two-layered

 

4.3 GARBAGE COLLECTION:

* With reference counting, an entity counts the number of outstanding references to it. When the counter drops to zero, the entity can be removed. Reference listing is more robust than reference counting.

* With tracing-methods, all entities that are directly or indirectly referenced from a given set of root entities, are marked as reachable.  Entities that are unreachable are to be removed.