namingcs-4513, d-term 20071 naming cs-4513 distributed computing systems (slides include materials...

31
Naming CS-4513, D-Term 2007 1 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)

Post on 20-Dec-2015

221 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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)

Page 2: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 3: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 3

Naming (continued)

• Applies to • Files

• Machines (aka hosts)

• Services (remote and local)

• People

• Places

• Things (objects)

• …

Page 4: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 5: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 5

Fundamental Tricotomy

• Names

• Addresses

• Routes (aka paths)

Page 6: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 7: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 8: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 8

Example — a File

• Name — index.html

• Address — inode #54321

• Route (path) —• /csopt1/cs4513/public_html/d07/index.html

Page 9: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 10: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 11: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 11

Example — Remote Object

• Name — Gutenberg (a print server)

• Address — ???

• Route — • rmi://garden.wpi.edu:1099/Gutenberg

Page 12: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 13: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 14: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 15: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

• …

Page 16: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 17: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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”)

Page 18: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 18

Issue — Finding Objects that Move

• Forwarding pointers

Page 19: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 19

Objects that Move (continued)

• Redirection

Page 20: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 20

Objects that Move (continued)

• Mobile IP

Page 21: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 22: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 22

Hierarchical Resolution of Flat Names

Page 23: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 23

Caching

Page 24: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 25: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 26: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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)

Page 27: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 27

Familiar Structured Naming Systems

• Unix/Linux/Windows file systems

• Domain Name System (DNS) for Internet nodes and services

• …

Page 28: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 28

Other Topics in Structured Naming Systems

• Aliases

• Mounting and mount points

• …

Page 29: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 30: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

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

Page 31: NamingCS-4513, D-Term 20071 Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,

NamingCS-4513, D-Term 2007 31

Questions?