NamingCS-4513, D-Term Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne, Modern Operating Systems, 2 nd ed., by Tanenbaum, and Distributed Systems: Principles & Paradigms, 2 nd ed. By Tanenbaum and Van Steen)
NamingCS-4513, D-Term Naming One of most difficult issues in all of computing Most large, long-lived systems outgrow their naming subsystems Scalability Global distribution … No general solution
NamingCS-4513, D-Term Naming (continued) Applies to Files Machines (aka hosts) Services (remote and local) People Places Things (objects) …
NamingCS-4513, D-Term Resources Silbershatz §16.5.1, § , § , etc. Tanenbaum (Modern Operating Systems) §8.3 (Naming Transparency) Tanenbaum & Van Steen All of Chapter 5
NamingCS-4513, D-Term Fundamental Tricotomy Names Addresses Routes (aka paths)
NamingCS-4513, D-Term Fundamental Tricotomy Names (Abstract) strings or other data types that refer to specific entities in a system Addresses Identifiers of places to find the named entities Routes Sequences of names or addresses specifying steps to follow to get to named entities Sometimes called paths
NamingCS-4513, D-Term Example — a Person Name — Jonathan M. Smith Address — 123 Park St., Andover, MA Route — From Andover center, go west 1.2 miles Turn right, then take 3 rd left He lives at the 2 nd house on the right
NamingCS-4513, D-Term Example — a File Name — index.html Address — inode #54321 Route (path) — /csopt1/cs4513/public_html/d07/index.html
NamingCS-4513, D-Term Example — a computer Name— ccc3.wpi.edu Address — Route — Nobody bothers with this today due to IP routing In pre-internet days:– mit!umass!wpi!ccc3
NamingCS-4513, D-Term Example — a Web Page Name — CS-4513 Home Page Address — inode #54321 Route —
NamingCS-4513, D-Term Example — Remote Object Name — Gutenberg (a print server) Address — ??? Route — rmi://garden.wpi.edu:1099/Gutenberg
NamingCS-4513, D-Term Names vs. Addresses A name in one context may be an address in another Example:– “Park Street” is (part of) Jonathan Smith’s address “Park Street” is a name of a road in the town
NamingCS-4513, D-Term Names vs. Addresses (continued) When you hand a name to a naming system to resolve, it must look it up to find the corresponding object or entity When you hand an address to a system, it already knows how to find it. E.g., an IP address
NamingCS-4513, D-Term Addresses vs. Paths When you hand an address to a system, it already knows how to find it. E.g., and IP address When you hand a path (i.e., a route) to a system, you are giving it a sequence of things it knows how to find Iterative or recursive follow Step-by-step
NamingCS-4513, D-Term Naming Systems we all know Unix/Linux file names URL’s on the World Wide Web Types and objects in a C++ or Java program Computers attached to the Internet …
NamingCS-4513, D-Term Types of Names in Distributed Systems Flat All names are equivalent in name space Must be globally unique Hierarchical Names (usually) have structure Unique only within immediately containing level Each level resolved within context of next higher level
NamingCS-4513, D-Term Flat Name Spaces Need global directory May be replicated May be partitioned Not (necessarily) tied to location … But many challenges Issues of scaling Imagine 600 10 6 computers attached to Internet (50,000 named “Frodo”)
NamingCS-4513, D-Term Issue — Finding Objects that Move Forwarding pointers
NamingCS-4513, D-Term Objects that Move (continued) Redirection
NamingCS-4513, D-Term Objects that Move (continued) Mobile IP
NamingCS-4513, D-Term Hierarchical Approaches –A flat name space with hierarchical administration –Top level domain knows (or can find) all names –Each sub-domain knows subset of names –Local names resolved within own subset –Other names cached as needed
NamingCS-4513, D-Term Hierarchical Resolution of Flat Names
NamingCS-4513, D-Term Caching
NamingCS-4513, D-Term Domain Name System (DNS) Internet names are structured, not flat ccc3.wpi.edu update.microsoft.com Resolution works the same way If a name is cached in local name server, try to use it If not, go to up the hierarchy one level to find a cached entry, etc. Difference is that each level knows only its level –E.g., edu knows wpi but not ccc3
NamingCS-4513, D-Term Structured Naming Systems Names organized into name spaces Names spaces organized into directed graph Leaf nodes represent named entities Interior nodes represent directories Everyone has to know root node
NamingCS-4513, D-Term Structured Naming Systems (continued) Names are really paths through the naming system Relative vs. Absolute Resolution – iterative vs. recursive Iterative – repeatedly contact hierarchy of nodes to resolve parts of the name Recursive – contact your local name space and let it walk the hierarchy (and cache results)
NamingCS-4513, D-Term Familiar Structured Naming Systems Unix/Linux/Windows file systems Domain Name System (DNS) for Internet nodes and services …
NamingCS-4513, D-Term Other Topics in Structured Naming Systems Aliases Mounting and mount points …
NamingCS-4513, D-Term Attribute-based Naming Directories store (attribute, value) pairs Multiple values for same attribute May be combined with hierarchical structure
NamingCS-4513, D-Term LDAP – Lightweight Directory Access Protocol Directory entry stores a bunch of (attribute, value) pairs for some entity Lookup can find entitites by name by attribute by value Implementation OSI X.500 Directory service Microsoft Active Directory Service
NamingCS-4513, D-Term Questions?