COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 5: Naming 10/12/20151Distributed Systems - COMP 655.

Slides:



Advertisements
Similar presentations
EECS122 - UCB 1 CS 194: Distributed Systems: Naming Computer Science Division Department of Electrical Engineering and Computer Sciences University of.
Advertisements

Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Distributed Systems Principles and Paradigms Chapter 04 Naming.
An Engineering Approach to Computer Networking
Naming in Distributed System Presented by Faraz Rasheed & Uzair Ahmed RealTime & Multimedia Lab Kyung Hee University, Korea.
The implementation of a name space
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Linux+ Guide to Linux Certification, Second Edition Chapter 14 Network Configuration.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
NamingCS-4513, D-Term Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,
Application Layer At long last we can ask the question - how does the user interface with the network?
Domain Name System: DNS
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
NamingCS-4513, D-Term Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,
Distributed Systems Naming Chapter 5.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
1 DNS,NFS & RPC Rizwan Rehman, CCS, DU. Netprog: DNS and name lookups 2 Hostnames IP Addresses are great for computers –IP address includes information.
Domain Name System ( DNS )  DNS is the system that provides name to address mapping for the internet.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Chapter 25 Domain Name System
Domain Name Services Oakton Community College CIS 238.
NET0183 Networks and Communications Lecture 25 DNS Domain Name System 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks.
Distributed Computing COEN 317 DC2: Naming, part 1.
ICS362 Distributed Systems Dr Ken Cosh Week 5. Review Communication – Fundamentals – Remote Procedure Calls (RPC) – Message Oriented Communication – Stream.
Ch-9: NAME SERVICES By Srinivasa R. Gudipati. To be discussed.. Fundamentals of Naming Services Naming Resolution The Domain Name System (DNS) Directory.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM.
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in.
Naming Chapter 4.
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
Distributed Computing COEN 317 DC2: Naming, part 1.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Naming CSCI 4780/6780.
Netprog: DNS and name lookups1 Address Conversion Functions and The Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
Linux+ Guide to Linux Certification, Second Edition Chapter 14 Network Configuration.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 10/12/2007.
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
CS 7: Introduction to Computer Programming Java and the Internet Sections ,2.1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
EE 122: Lecture 20 (Domain Name Server - DNS) Ion Stoica Nov 15, 2001 (* based on the some on-line slides of J. Kurose & K. Rose and of Raj Jain)
ADVANCED OPERATING SYSTEMS STRUCTURED NAMING BY KANNA KARRI.
Introduction to Active Directory
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
COMP 431 Internet Services & Protocols
1 Introduction to Active Directory Directory Services Uniquely identify users and resources on a network Provide a single point of network management.
Naming CSCI 6900/4900. Mounting Mounting – Merging different namespaces transparently File system example –Directory node of one namespace stores identifier.
Naming CSCI 6900/4900. Names & Naming System Names have unique importance –Resource sharing –Identifying entities –Location reference Name can be resolved.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Slide 1 Structured Naming. Slide 2 Given Credit Where It Is Due The following slides are borrowed from Dr. Katerina Goseva-Popstojanova at West Virginia.
Understand Names Resolution
CS 372 COMPUTER COMMUNICATION AND NETWORKS
Naming A name in a distributed system is a string of bits or characters used to refer to an entity. To resolve name a naming system is needed.
EE 122: Domain Name Server (DNS)
5.3. Structured Naming Advanced Operating Systems Fall 2017
Distributed Systems CS
Distributed Systems CS
Distributed Systems CS
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
Introduction to Active Directory Directory Services
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
An Engineering Approach to Computer Networking
Presentation transcript:

COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 5: Naming 10/12/20151Distributed Systems - COMP 655

10/12/2015Distributed Systems - Comp 6552 What is the naming problem? Name objects in distributed systems so that the naming system provides 1.Human-friendly names for use by people 2.System-friendly names for use by systems 3.Uniqueness where necessary 4.Ambiguity when helpful 5.A service that can be used in many systems 6.Minimal centralized administration 7.Global scalability

10/12/2015Distributed Systems - Comp 6553 Ambiguity when useful A A A A A A A A

10/12/2015Distributed Systems - Comp 6554 Aspects of human-friendliness What do humans need in the names they use?

10/12/2015Distributed Systems - Comp 6555 Examples of human-friendly names Albert Einstein einstein cs.franklin.edu franklin.edu edu /home/export/cs/Htdocs/Syllabus/comp655/

10/12/2015Distributed Systems - Comp 6556 Types of system-friendly names Addresses Identifiers Brainstorm What are identifiers, addresses?

10/12/2015Distributed Systems - Comp 6557 Address Definition – a name that refers to an access point in a communication system Examples – :1677 –00-04-E2-36-A0-5E –201 S. Grant Avenue, Columbus, Ohio – –

10/12/2015Distributed Systems - Comp 6558 Definition Identifier – a name with the following properties: 1.It refers to at most one entity 2.An entity has at most one identifier 3.Once used for one entity, its meaning never changes -- Tanenbaum, Page 181

10/12/2015Distributed Systems - Comp 6559 Examples of identifiers {72eb61e f2e4c68b2e7c} {b4431a67-9e32-4e2d-81e5-076a5f1b6170} 6a29b0a6b9ad79c8:f72617:ff5c75073e:-7ffd E2-36-A0-5E (close to being an identifier)

10/12/2015Distributed Systems - Comp Globally Unique Identifiers (GUIDs) DCE/Microsoft: A GUID is a 128-bit integer (16 bytes) that can be used across all computers and networks wherever a unique identifier is required. Such an identifier has a very low probability of being duplicated. GUIDs are generated using a combination of the current date and time, a counter, and the MAC address from the network card.

10/12/2015Distributed Systems - Comp UIDs in Java new java.rmi.server.UID() –f72617:ff5c75073e:-7ffc Javadocs say: A UID instance contains three primitive values: –unique, an int that uniquely identifies the VM that this UID was generated in –time, a long equal to a time (as returned by System.currentTimeMillis() ) at which the VM that this UID was generated in was alive System.currentTimeMillis() –count, a short to distinguish UID s generated in the same VM with the same time value

VMIDs in Java A VMID is a identifier that is unique across all Java virtual machines. VMIDs are used by the distributed garbage collector to identify client VMs. new java.rmi.dgc.VMID() –6a29b0a6b9ad79c8:f72617:ff5c75073e:-7ffd –Adds an address to the UID. 10/12/2015Distributed Systems - Comp 65512

10/12/2015Distributed Systems - Comp If you remember nothing else Distributed systems use three kinds of names: –Human-friendly names –Addresses –Identifiers Naming services manage the associations among these kinds of names.

10/12/2015Distributed Systems - Comp What about part 7 of the naming problem (global scalability)?

10/12/2015Distributed Systems - Comp Easy naming Directory service in our projects Only notebooks are named Notebook names are arbitrary character strings – no formation rules Light usage –A handful of names –Busy minute: a few dozen transactions Usually on a LAN

10/12/2015Distributed Systems - Comp Hard naming – the Web Global scalability –Millions of entities to name –Millions of name lookups per hour –Slow and expensive communications –Many independently-administered domains Location-related transparency –Location –Re-location –Migration –Replication

10/12/2015Distributed Systems - Comp Definition Name – a string of characters or bits that refers to something –Names in a computer system conform to some set of formation rules –Names have semantics that determine how a name maps to a thing –Some names have to be obtained from a naming authority

10/12/2015Distributed Systems - Comp Name space directory table root node path name (“absolute”) relative path name: steen/.twmrc global path name: nfs://flits/home/steen/.twmrc

10/12/2015Distributed Systems - Comp Another name space: Java packages and classes dino.naming.NameChooser java.rmi.server. ObjID dino/naming/NameChooser.class java/rmi/server/ObjID.class

10/12/2015Distributed Systems - Comp Yet another name space: DNS names ::= | " " ::= | "." ::= [ [ ] ] ::= | ::= | "-" ::= | ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case ::= any one of the ten digits 0 through 9 Source: RFC-1035 RFC-1035

10/12/2015Distributed Systems - Comp Three layers of DNS names Top-level domains DNS supports top 2 levels local file system

Distributed Systems - COMP 655 Name Space Distribution (2) 10/12/201522

10/12/2015Distributed Systems - Comp Semantics - name resolution Given a name, look up information about the entity the name refers to In a hierarchical namespace, resolution works by: –Picking a starting point –Working down, across, or up the hierarchy from there A closure mechanism is a way of deciding where to start name resolution –For local absolute names: where’s the root node? –For relative names: where’s the current node? –For global names: which root node?

10/12/2015Distributed Systems - Comp Resolution implementation Name resolution for common name spaces is usually an operating system function –File system names –DNS names

10/12/2015Distributed Systems - Comp Namespace collaboration Linking Mounting Composite names Abstract naming system interfaces

10/12/2015Distributed Systems - Comp Linking Aliases (aka synonyms) –Hard links (multiple absolute paths to the same entity) –Symbolic links (leaf nodes contains an absolute path to the entity) Beware of cycles Symbolic links often integrate smoothly into distributed systems –hard links cannot be made between files on different file systems nor between directories

Distributed Systems - COMP 655 Linking 10/12/201527

10/12/2015Distributed Systems - Comp Mounting Mounting == allowing a directory node to store the identifier of a directory node in some other namespace Mount point == the local directory node Mounting point == the remote directory node –For UNIX file systems, mounting point is usually a root node –For Windows file systems, mount point is usually a root node (example – G: drive maps to \\randomserver\games)

Distributed Systems - COMP 655 Mounting Information required to mount a foreign name space in a distributed system The name of an access protocol. The name of the server. The name of the mounting point in the foreign name space. 10/12/201529

Distributed Systems - COMP 655 Linking and Mounting 10/12/201530

10/12/2015Distributed Systems - Comp Composite names Include the three essentials in one string: ftp: //ftp.cs.vu.nl/home/steen/mbox protocolserver resource name (in remote name space) http: //cs.franklin.edu/~chuc /655/

10/12/2015Distributed Systems - Comp Composite names in the Java RMI Registry //einstein:4310/SuperTalk //:4321/Inventory //einstein.franklin.edu/Mfg // :4300/chat //host:port/servicename Structure Examples

10/12/2015Distributed Systems - Comp Iterative name resolution Resolving ftp://ftp.cs.vu.nl NOTE: client’s name resolver may not run on the client machine. It may also be a name server for local entities

10/12/2015Distributed Systems - Comp Recursive name resolution Resolving ftp://ftp.cs.vu.nl

10/12/2015Distributed Systems - Comp Compare & contrast Advantages of recursive resolution: –Name servers can cache addresses of lower- level nodes –Usually, fewer long-haul communications Disadvantage of recursive resolution: –Higher-level name servers can become bottlenecks

Distributed Systems - COMP 655 Example: The Domain Name System 10/12/201536

10/12/2015Distributed Systems - Comp Name service clients Embedded in applications –Web browsers – servers – clients –ftp, ssh, etc Command line –nslookup –dig

10/12/2015Distributed Systems - Comp nslookup types on p. 202, cs.vu.nl table on p. 205 $ nslookup Default Server: ns1.franklin.edu Address: > set type=ANY > cs.vu.nl Server: ns1.franklin.edu Address: Non-authoritative answer: cs.vu.nl nameserver = top.cs.vu.nl cs.vu.nl nameserver = solo.cs.vu.nl cs.vu.nl nameserver = star.cs.vu.nl cs.vu.nl nameserver = ns.vu.nl Authoritative answers can be found from: cs.vu.nl nameserver = solo.cs.vu.nl cs.vu.nl nameserver = star.cs.vu.nl cs.vu.nl nameserver = ns.vu.nl cs.vu.nl nameserver = top.cs.vu.nl top.cs.vu.nl internet address = solo.cs.vu.nl internet address =

10/12/2015Distributed Systems - Comp dig To find: Google dig dns download

10/12/2015Distributed Systems - Comp Codd on dig

10/12/2015Distributed Systems - Comp JNDI ceproviders.htmlhttp://java.sun.com/products/jndi/servi ceproviders.html

10/12/2015Distributed Systems - Comp Summary: naming system patterns Hierarchical namespace Independent administration of sub-trees Symbolic links Synonyms Name includes the name of an interpretative system