We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 15
CS 603
Naming in Distributed Systems
January 28, 2002
This week: Naming in Distributed Systems • Today: Overview – What is a name – Issues – Examples • Wednesday and Friday: Name Resolution – Historical (Telephone, mail, …)? – DNS? – DCE? – Others? What is a name? An identifier that: • Identifies a resource – Uniquely? – Describes the resource? • Enables us to locate that resource – Directly? – With help? • Is it really an identifier? – Bijective, persistent Key issues in Naming • How is name used? – Disambiguate only – Access resource given the name – Build a name to find a resource • Do humans need to use name? – Construct? – Recall? Key issues in Naming (cont.) • Is resource static? – Never moves – Change in location should change name – Resource may move – Resource is mobile • Performance requirements Approaches to naming • Globally unique identifier – Ethernet – Solves identification, but not description or location • Hierarchically assigned globally unique identifier – Telephone number, IP address – Solves identification, not description – Helps with location Approaches to naming • Hierarchically assigned name – Domain Name Service, URL – Solves identification – Helps with description – Still problems with location • Globally unique name – TCP/IP Protocol Ports – Extensibility problems Approaches to naming • Registries and name spaces – Uniform Resource Name (URN) – Solves identification and location • If we can get to the registry – Helps with description • Registry can describe in detail – Complicated! URI, URL, URN • URI: Uniform Resource Identifier – IETF meta-standard – Defines naming schemes / protocols – Each naming scheme has it’s own mechanism • URL: Uniform Resource Locator – Uses DNS to map to host – Host knows how to map remainder to resource • URN: Uniform Resource Name – Idea: Permanent URL URN • Each URN maps to a namespace – Currently 10 formally defined: IETF, ISBN, XMLORG, … – Also informal: (3 current) and experimental (unregistered) • Syntax: “urn:” <Namespace ID> “:” <string> – urn:ISBN:0-13-032071-4 – urn:ietf:rfc:2141 • (Bad) Example: – URN:<assigned number>:<FQDN>:<assigned string> – urn:x-1234:www.cs.purdue.edu:%7eclifton%2Fcs603%2f Naming: Why an Issue for Application Developers? • DNS is widely accepted standard – Only names machines – Doesn’t handle mobility • URI / URN will become standard – Can be descriptive – Globally unique – Persistent – But expensive to create Applications that might need custom solutions • Distributed Database – Needs persistence – May be multiple resources for single name (replication) – May need to support mobility – PERFORMANCE! • Small-scale applications – Do you really want to register with IANA? – Is persistence necessary? Distributed Database Example: R* • R* developed at IBM Almaden Research – first distributed relational database • Wanted mobility of resources – Supports fault tolerance – But movement rare • Performance is critical • Solution: Two components to name – Unique ID assigned by “birthplace” – Local catalog maps ID to: • Birthplace (maintains current location) • Presumed current location Security Considerations • Does name give away information? – Social Security Numbers – URL – Batched IDs (e.g., Ethernet) – Sequentially assigned IDs • Solution: Define what name SHOULD do – Ensure it meets goals – Look for reasons it doesn’t Name Resolution: What would you like? • Historical? – Mail – Telephone • DNS? • X.500 / LDAP? • DCE? • ActiveDirectory?