namingcs-4513, d-term 20071 naming cs-4513 distributed computing systems (slides include materials...
Post on 20-Dec-2015
221 views
TRANSCRIPT
NamingCS-4513, D-Term 2007 1
Naming
CS-4513Distributed Computing Systems
(Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne, Modern Operating Systems, 2nd ed., by Tanenbaum, and Distributed Systems: Principles & Paradigms, 2nd
ed. By Tanenbaum and Van Steen)
NamingCS-4513, D-Term 2007 2
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 2007 3
Naming (continued)
• Applies to • Files
• Machines (aka hosts)
• Services (remote and local)
• People
• Places
• Things (objects)
• …
NamingCS-4513, D-Term 2007 4
Resources
• Silbershatz• §16.5.1, §10.5.2.2, §3.4.2.1, etc.
• Tanenbaum (Modern Operating Systems)• §8.3 (Naming Transparency)
• Tanenbaum & Van Steen• All of Chapter 5
NamingCS-4513, D-Term 2007 5
Fundamental Tricotomy
• Names
• Addresses
• Routes (aka paths)
NamingCS-4513, D-Term 2007 6
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 2007 7
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 3rd left
• He lives at the 2nd house on the right
NamingCS-4513, D-Term 2007 8
Example — a File
• Name — index.html
• Address — inode #54321
• Route (path) —• /csopt1/cs4513/public_html/d07/index.html
NamingCS-4513, D-Term 2007 9
Example — a computer
• Name— ccc3.wpi.edu
• Address — 130.215.36.150
• Route —• Nobody bothers with this today due to IP routing• In pre-internet days:– mit!umass!wpi!ccc3
NamingCS-4513, D-Term 2007 10
Example — a Web Page
• Name — CS-4513 Home Page
• Address — inode #54321
• Route —• http://www.cs.wpi.edu/~cs4513/d07
NamingCS-4513, D-Term 2007 11
Example — Remote Object
• Name — Gutenberg (a print server)
• Address — ???
• Route — • rmi://garden.wpi.edu:1099/Gutenberg
NamingCS-4513, D-Term 2007 12
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 2007 13
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 2007 14
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 2007 15
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 2007 16
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 2007 17
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 106 computers attached to Internet
• (50,000 named “Frodo”)
NamingCS-4513, D-Term 2007 18
Issue — Finding Objects that Move
• Forwarding pointers
NamingCS-4513, D-Term 2007 19
Objects that Move (continued)
• Redirection
NamingCS-4513, D-Term 2007 20
Objects that Move (continued)
• Mobile IP
NamingCS-4513, D-Term 2007 21
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 2007 22
Hierarchical Resolution of Flat Names
NamingCS-4513, D-Term 2007 23
Caching
NamingCS-4513, D-Term 2007 24
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 2007 25
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 2007 26
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 2007 27
Familiar Structured Naming Systems
• Unix/Linux/Windows file systems
• Domain Name System (DNS) for Internet nodes and services
• …
NamingCS-4513, D-Term 2007 28
Other Topics in Structured Naming Systems
• Aliases
• Mounting and mount points
• …
NamingCS-4513, D-Term 2007 29
Attribute-based Naming
• Directories store (attribute, value) pairs
• Multiple values for same attribute
• May be combined with hierarchical structure
NamingCS-4513, D-Term 2007 30
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 2007 31
Questions?