1 / 28

Naming

Chapter 5. Naming. Giving credit where credit is due:. CSCE455/855 Distributed Operating Systems. 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

cooper-cruz
Download Presentation

Naming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 5 Naming

  2. Giving credit where credit is due: CSCE455/855Distributed Operating Systems • 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

  3. 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: ylu@cse.unl.edu, (402)472-5793 • for a running server process, its transport-level address (IP address, port number) serves as its access point

  4. 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?

  5. 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

  6. 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?

  7. NameTypes • Identifier • unambiguously refers to an entity • Address • access point • Human Friendly Name • a name tailored to be used by humans, often a character string

  8. 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?

  9. 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

  10. Flat Naming • Simple Solutions • Broadcasting • Forwarding pointers • Home-based Solutions • Hierarchical Solutions • Distributed Hash Tables

  11. Broadcasting (I) Internet ARP: Network IP addresses  data-link MAC addresses Reply to Request Need Address for Entity(A) IGNORE Request Entity(A) Address of Entity(A)

  12. Broadcasting (II) • Broadcasting is not suitable for larger networks • Bandwidth is wasted • Hosts are interrupted for no reason

  13. 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

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

  15. Forwarding Pointers • Expensive if chain gets too large • Lost pointer?

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

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

  18. Comparison • Broadcasting: • Scalability problems • Efficiency problems in large scale systems • Forwarding Pointers: • Geographical scalability problems • Long chains: performance problem • Prone to failure

  19. Home-Based Approaches • Home-location: popular for supporting mobile entities in large-scale networks • Keeps track of the current location

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

  21. Flat Naming • Simple Solutions • Broadcasting • Forwarding pointers • Home-based Solutions • Hierarchical Solutions • Distributed Hash Tables

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

  23. Hierarchical Approaches – Lookup Operation Looking up a location in a hierarchically organized location service.

  24. Hierarchical Approaches – Update Operation • An insert request is forwarded to the first node that knows about entity E. • A chain of forwarding pointers to the leaf node is created.

  25. Hierarchical Approaches – Replicating Entities An example of storing information of an entity having two addresses in different leaf domains.

  26. Hierarchical Approaches – Delete Operation • Delete a replica of entry E?

  27. 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

More Related