Top Banner
Naming Chapter 5
28

Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Dec 24, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Naming

Chapter 5

Page 2: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary

Some slides are from Brennen Reynolds at University of California, Davis

I have modified them and added new slides

Giving credit where credit is due:

CSCE455/855 Distributed Operating Systems

Page 3: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Names (1)

Name: a string of bits or characters Why we need names in a computer system?

To refer to and operate on entities such as hosts, printers, disks, and files etc.

To operate on an entity, we need to access it i.e., to obtain an entity’s access points (addresses)

for example, the following are my access points: [email protected], (402)472-5793

for a running server process, its transport-level address (IP address, port number) serves as its access point

Page 4: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Names (2)

How about use an address as the name to refer to an entity? Use (129.93.165.4, TCP port 21) to refer to our dept.

ftp service? Use (402) 472 – 5793 to refer to me?

Page 5: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Names (3)

Using address to refer to an entity is Inflexible, human unfriendly, subject to changes

an entity changes address, address reassigned to another entity

An entity has more than one address (access point), which one to use as a reference?

Easier and more flexible to use location independent names

Page 6: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

A Special Type of Name: Identifier

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 (prohibits reusing an identifier)

What could serve as a person’s identifier?

Page 7: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Name Types

• Identifier– unambiguously refers to an entity

• Address– access point

• Human Friendly Name– a name tailored to be used by humans, often

a character string

Page 8: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

What is a Naming System

• Name system maintains a name-to-address binding to resolve name (or identifier) to address

• The implementation of naming systems in distributed and non-distributed systems are quite different– Say, how to locate a process in a uniprocessor

system?

Page 9: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.
Page 10: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Naming Systems

• Part I: Flat Naming– Resolves identifiers to addresses

• Part II: Structured Naming– Resolves structured human-friendly names

to addresses

• Part III: Attributed-based Naming– Resolves descriptive names to addresses

Page 11: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Flat Naming

• Simple Solutions– Broadcasting– Forwarding pointers

• Home-based Solutions

• Hierarchical Solutions

• Distributed Hash Tables

Page 12: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Broadcasting (I)

Entity(A)

Need Address for Entity(A)

Reply toRequest

Address of Entity(A)

IGNORERequest

Internet ARP: Network IP addresses data-link MAC addresses

Page 13: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Broadcasting (II)

• Broadcasting is not suitable for larger networks

– Bandwidth is wasted– Hosts are interrupted for no reason

Page 14: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Forwarding Pointers

• A popular method to locate mobile entities

• When an entity moves from A to B, it leaves a pointer to B at A

• Simple: use traditional naming service to locate A, then follow the pointer chain

• Example: postal service– One person moves from Florida Virginia

Page 15: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Forwarding Pointers

• Figure 5-1. The principle of forwarding pointers using (client stub, server stub) pairs.

Page 16: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Forwarding Pointers

• Expensive if chain gets too large

• Lost pointer?

Page 17: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Forwarding Pointers

• Figure 5-2. Redirecting a forwarding pointer by storing a shortcut in a client stub.

Page 18: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Forwarding Pointers

• Figure 5-2. Redirecting a forwarding pointer by storing a shortcut in a client stub.

Page 19: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Comparison

• Broadcasting:– Scalability problems– Efficiency problems in large scale systems

• Forwarding Pointers:– Geographical scalability problems

• Long chains: performance problem

• Prone to failure

Page 20: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Home-Based Approaches

• Home-location: popular for supporting mobile entities in large-scale networks

• Keeps track of the current location

Page 21: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Mobile IP

• Assign a fixed IP (home location) to a mobile host• Contact host through home location

Page 22: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Flat Naming

• Simple Solutions– Broadcasting– Forwarding pointers

• Home-based Solutions

• Hierarchical Solutions

• Distributed Hash Tables

Page 23: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Hierarchical Approaches

Hierarchical organization of a location service into domains, each having an associated directory node.

Page 24: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Hierarchical Approaches – Lookup Operation

Looking up a location in a hierarchically organized location service.

Page 25: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Hierarchical Approaches – Update Operation

a) An insert request is forwarded to the first node that knows about entity E.

b) A chain of forwarding pointers to the leaf node is created.

Page 26: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Hierarchical Approaches – Replicating Entities

An example of storing information of an entity having two addresses in different leaf domains.

Page 27: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Hierarchical Approaches – Delete Operation

•Delete a replica of entry E?

Page 28: Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.

Hierarchical Approaches – Delete Operation

• Delete Replica R of Entity E from domain D• Delete pointer from dir(D) to R• If location record of E at dir(D) is empty,

delete record• Apply recursively, going up the tree