Distributed Systems 1 Name Services Dr. Sunny Jeong. Mr. Jerry Li. With Thanks to Prof. G. Coulouris, Prof. A.S.

Slides:



Advertisements
Similar presentations
Distributed Web Systems Name Services Lecturer Department University.
Advertisements

Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Naming (2) DISTRIBUTED.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Slides for Chapter 9: Name Services From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001.
Distributed Systems Principles and Paradigms Chapter 04 Naming.
NAME SERVICES 1 Name Services From Chapter 9 of Distributed Systems Concepts and Design,4 th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published.
Active Directory: Final Solution to Enterprise System Integration
The implementation of a name space
CS 582 / CMPE 481 Distributed Systems Naming Class Overview Why naming? Terminology Naming Fundamentals Name Services Case Studies –DNS –GNS.
Name Services Jessie Crane CPSC 550. History ARPAnet – experimental computer network (late 1960s) hosts.txt – a file that contained all the information.
Election AlgorithmsCS-4513 D-term Election Algorithms CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts,
NamingCS-4513, D-Term Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Slides for Chapter 9: Name Services From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 13: Name Services.
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,
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.
1 Chapter 9: Name Services From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Presentation.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
4.4 Naming And Directory Services Lakshmi Narayana Gupta Kollepara 09/20/2009 CSC-8320.
Naming And Directory Services Geetika Sharma 09/22/200 8 CSC8320.
A centralized system.  Active Directory is Microsoft's trademarked directory service, an integral part of the Windows architecture. Like other directory.
1 Chapter Overview Understanding Windows Name Resolution Using WINS.
Distributed Computing COEN 317 DC2: Naming, part 1.
Name Services Vidya Satyanarayanan. Why do we need Name Services?
Lecturer 8: Name Services Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
NAME SERVICES. Names and addresses File names /etc/passwd URLS Internet domain names—dcs.qmw.ac.uk Identifiers- ROR, NFS.
1 Chapter 6: Name Services. 2 Introduction Name services and DNS Discovery services Summary.
Ch-9: NAME SERVICES By Srinivasa R. Gudipati. To be discussed.. Fundamentals of Naming Services Naming Resolution The Domain Name System (DNS) Directory.
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.
Chapter 17 Domain Name System
The Directory A distributed database Distributed maintenance.
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.
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.
Name services By N.Sudhakar Yadav Outline  General concepts  Domain Name System (DNS)  Directory and Discovery Services  Introduction  Jini  Global.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 10/12/2007.
1 Kyung Hee University Chapter 18 Domain Name System.
Configuring Name Resolution and Additional Services Lesson 12.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
DNS DNS overview DNS operation DNS zones. DNS Overview Name to IP address lookup service based on Domain Names Some DNS servers hold name and address.
Nguyễn Bảo Toàn Bùi Ngọc Sơn Name service.
Introduction to Active Directory
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
1 Name services (concepts, DNS, case study X.500)
Internet Naming Service: DNS* Chapter 5. The Name Space The name space is the structure of the DNS database –An inverted tree with the root node at the.
Domain Name System INTRODUCTION to Eng. Yasser Al-eimad
Lecture 9: Name and Directory Servers CDK4: Chapter 9 CDK5: Chapter 13 TVS: Chapter 5.
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
System Administration(SAD622S) Name of Presenter: Shadreck Chitauro Lecturer 18 July 2016 Faculty of Computing and Informatics.
Understand Names Resolution
Name service.
Domain Name System (DNS)
Chapter 9: Name Services
DNS.
Prepared by Dr: Naglaa Fathi Mohammed Soliman
Lecture 7: Name and Directory Servers
Lecture 7: Name and Directory Servers
Lecture 8: Name and Directory Servers
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Name Services Bina Ramamurthy 5/18/2019 B.Ramamurthy.
Presentation transcript:

Distributed Systems 1 Name Services Dr. Sunny Jeong. Mr. Jerry Li. With Thanks to Prof. G. Coulouris, Prof. A.S. Tanenbaum and Prof. S.C Joo

Distributed Systems 2 Overview  Naming concepts  name space, contexts, hierarchies  The service  function and goals  name resolution  replication and caching  Examples  Domain Name Service (DNS)  Jini discovery service  Global directory Service  X.500 directory service

Distributed Systems 3 Distributed Service

Distributed Systems 4 Naming concepts Names = strings used to identify objects (files, computers, people, processes, objects).  Textual names (human readable)  used to identify individual services, people  address:  URI(Uniform Resource Identifier): URL(Uniform Resource Locator)  URI’s particular type URN(Uniform Resource Name)  URI’s other particular type URC(Uniform Resource Characteristics or Citations)  URN’s subset  Groups of objects  multicast address (e.g. IP Multicast, group of hosts)  broadcast address (e.g. Ethernet, all hosts)

Distributed Systems 5 Naming concepts -ctd  Numeric addresses (location dependent in Internet, now)  ,  Object identifiers( = object handle)  pure names (=bit patterns), usually numeric and large[Needham, 1993]  never reused (include timestamp)  location independent  used for identification purposes =>No real distinction between names and addresses. =>Both must be looked up to obtain lower-level data (= name resolution).

Distributed Systems 6 Examples of name services  DNS (=Domain Name Service)  maps domain names to IP addresses  Jini discovery service  looks up objects according to attributes(service)  GNS (=Global Name Service)  GNS directory tree  maps global names to their attributes (Resource Location, Mail address. Authentication)  scalable, can handle change  X.500 directory service (attribute service)  maps person’s name to attributes ( address, phone number)

Distributed Systems 7 DNS names & look-ups URL Resource ID (IP number, port number, pathname) Network address 2:60:8c:2:b0:5a file Web server WebExamples/earth.html8888 DNS lookup Socket

Distributed Systems 8 Name space  Name space = collection of all valid names recognized by a service with  a syntax for specifying names, and rules for resolving names (left to right, etc)  Naming context = maps a name onto primitive attributes directly, or onto another context and derived name (usually by prefixing)  telephone No. : country, area, number  Internet host names : contexts = domains  Unix file system : contexts = directories

Distributed Systems 9 Name space -ctd  Name binding  an association between a name and an object  names bound to attributes, one of which may be address  Naming domain  has authority that assigns names to objects within a name space or context  object may be registered more than once within context( replication)  Multiple names  alias (alternative name for an object)  symbolic name (alternative name which maps to a path name in the name space)

Distributed Systems 10 Hierarchic name spaces  Sequence of name tokens resolved in different context  syntax: name token (text string) + delimiter  DNS: cs.bham.ac.uk  Unix: /usr/bin  Structure reflects organizational structure  name changes if object migrates  names relative to context or absolute  local contexts managed in a distributed fashion  Examples  domain names, Unix file system, etc

Distributed Systems 11 Flat name spaces  Single global context and naming authority for all names  computer serial number  Ethernet address  remote object reference (IP address, port, time, object number, interface id)  Names (are) not meaningful  difficult to resolve (no tree hierarchy)  easy to create  easy to ensure uniqueness (timestamps)

Distributed Systems 12 Name Resolution  Iteratively, presents name to a naming context,  start with initial naming context  repeat as long as contexts+derived names are returned  aliases introduce cycles  Two solution for no cycle abandon after threshold No. of resolutions ensure no cycles by administrator  Replication  used for improved fault-tolerance on large services (more than one server, cf DNS)  may need navigation, i.e. accessing several servers

Distributed Systems 13 Iterative navigation Client Database partitioned into servers according to its domain. - A client iteratively contacts name servers NS1–NS3 in order to resolve a name. - Servers returns attributes if it knows name, otherwise suggests another server. NS2 NS1 NS3 Name servers

Distributed Systems 14 Navigation methods  Multicast navigation  client multicasts name to be resolved  server who knows name responds with attributes  problem: what if name unbound?  Non-recursive server controlled  any name server can be chosen by the client  chosen server multicast/iteratively calls other peer servers  Recursive server controlled  each iteration through a single server  calls continue recursively until resolution

Distributed Systems 15 Server controlled navigation A name server NS1 communicates with other name servers on behalf of a client. client Recursive server-controlled NS2 NS1 NS3 NS2 NS1 NS3 Non-recursive server-controlled

Distributed Systems 16 Replication & Caching Replicate some directories for performance & availability.  Updates  write to single master, master propagates updates  write to any replica: later merge updates (timestamps)  weak consistency (some entries out of date)  Look-ups  try any local server: go to root and then down the tree  Caching  names & addresses of recently used objects

Distributed Systems 17 Internet Domain Name Service (DNS)  Used mainly for host names and addresses  Extensible number of fields, separated by dot(.)  gromit.cs.bham.ac.uk  Host name resolution  resolves host name into IP address  Mail host location  to resolve query DNS with domain name cs.bham.ac.uk and type ‘mail’  returns list of mail hosts, marked with preference value  Reverse look-up (Maps IP address to domain name)

Distributed Systems 18 DNS name servers  Resource record holds  domain name for which record applies  time to live: initial validity time for cached entries  type (IP address, mail server, name server, alias)  value fields  Replicated and partitioned information  update master server  Secondary servers  periodically download from master and save in cache  hold addresses of one or more masters up the tree  recursive look-up

Distributed Systems 19 DNS name servers ctd Note: Name server names are in italics, and the corresponding domains are in parentheses. Arrows denote name server entries a.root-servers.net (root) ns0.ja.net (ac.uk) dns0.dcs.qmw.ac.uk (dcs.qmw.ac.uk) alpha.qmw.ac.uk (qmw.ac.uk) dns0-doc.ic.ac.uk (ic.ac.uk) ns.purdue.edu (purdue.edu) uk purdue.edu ic.ac.uk qmw.ac.uk dcs.qmw.ac.uk *.qmw.ac.uk *.ic.ac.uk *.dcs.qmw.ac.uk *.purdue.edu ns1.nic.uk (uk) ac.uk co.uk yahoo.com

Distributed Systems DNS in typical operation a.root-servers.net (root) ns0.ja.net (ac.uk) dns0.dcs.qmw.ac.uk (dcs.qmw.ac.uk) alpha.qmw.ac.uk (qmw.ac.uk) dns0-doc.ic.ac.uk (ic.ac.uk) ns.purdue.edu (purdue.edu) uk purdue.edu ic.ac.uk qmw.ac.uk... dcs.qmw.ac.uk *.qmw.ac.uk *.ic.ac.uk *.dcs.qmw.ac.uk *.purdue.edu ns1.nic.uk (uk) ac.uk... co.uk yahoo.com.... client.ic.ac.uk IP: alpha.qmw.ac.uk 2 3 IP:dns0.dcs.qmw.ac.uk jeans-pc.dcs.qmw.ac.uk ? IP:ns0.ja.net 1 IP:jeans-pc.dcs.qmw.ac.uk 4 Without caching * 20

Distributed Systems 21 DNS summary  DNS  relatively short average response time for look-ups  limited variety of data  infrequent changes in system  inconsistency of data possible (stale data may continue to be used)  Problems (resolved in GNS)  rigid structure of the name space  lack of customization of name space to local needs

Distributed Systems 22 Directory and discovery services  Directory service  stores collections of bindings between names and attributes  provides look-up according to attributes (match all)  examples  Microsoft Active Directory Services, X.500  Discovery service  directory service that registers the services in a spontaneous networking environment  clients & services change dynamically  Example  Jini discovery

Distributed Systems 23 Jini discovery service  Function  to enable users to access services (printing etc.) from laptops while away, without their involvement  laptops look-up the services  services tell system of their existence and attributes  Components  lookup service (registers and stores information about services)  Jini services (provide objects and attributes for the service)  Jini clients (request services that match requirements)  Java/JVM based,  uses RMI plus download code

Distributed Systems 24 Service discovery in Jini Printing service Lookup service Lookup Printing service admin admin, finance finance Client Corporate infoservice 1. in ‘finance’ group lookup service? 2. Here I am: Request printing 4. Use printing service ( by RMI) Network

Distributed Systems 25 Jini – How to works  How it works  services and clients join Jini dynamically  services have leases, which they have to renew periodically every t time units  look-up registers services (e.g. printer(name), what type(attributes), etc)  on entering, clients/services send request to multicast address  look-up services listen to such requests, and reply with unicast address of service (e.g. printer), and then, client contacts the service directly via RMI

Distributed Systems 26 Global Name Service  GNS  DEC system research center[1986]  providing facilities(resource location, mail addressing, authentication)  The Global Name Service  Use of caching essential renders it extremely difficult to maintain complete consistency between all copies of a database entry  The cache consistency strategy adopted  A naming database that is composed of a tree of directories holding names and values  Names in GNS  directory name, value name(EC/UK/AC/QMW, Peter.Smith/password)  the first part identifies a directory, second refers to a value tree, or some portion of a value tree

Distributed Systems 27 GNS Directory tree UKFR AC QMW DI: 322 Peter.Smith password mailboxes DI: 599(EC) DI: 574DI: 543 DI: 437 AlphaGammaBeta EC UKFR DI: 599 DI: 574DI: 543 NORTH AMERICA US DI:642 DI: 457DI: 732 #599 = #633/EC #642 = #633/ NORTH AMERICA Well-known directories: CANADA DI: 633 (WORLD) GNS directory and value tree for Peter.SmithMerging trees under a new root(next page)

Distributed Systems 28 GNS Directory Restructuring Restructuring the directory EC UKFR DI: 599 DI: 574DI: 543 NORTH AMERICA US DI: 642 DI: 457 DI: 732 #599 = #633/EC #642 = #633/NORTH AMERICA Well-known directories: CANADA DI: 633(WORLD) #633/EC/US US symbolic link

Distributed Systems 29 GNS Discussion  Discussion of GNS  descended form Grapevine & Clearinghouse[1982]  successful naming systems developed primarily for the purposes of mail delivery by the Xerox Corporation  scalability and re-configurability  adopted for merging and moving directory trees results in a requirement for a database that must be replicated at every node  in a large-scale network, reconfigurations may occur at any level

Distributed Systems 30 X.500 Directory Service  Directory service  providing attributed-based name service  using the existing name service together  CCITT & ISO standard organizations  called the Directory Information Tree(DIT)  Directory Information Base(DIB)  X.500 Architecture  Client : Directory User Agent  Server: Directory Service Agent DSA DUA

Distributed Systems 31 X.500 Directory Information Tree(DIT)...France (country)Great Britain (country)Greece (country)... BT Plc (organization)University of Gormenghast (organization)... Department of Computer Science (organizationalUnit) Computing Service (organizationalUnit) Engineering Department (organizationalUnit)... X.500 Service (root) Departmental Staff (organizationalUnit) Research Students (organizationalUnit) ely (applicationProcess)... Alice Flintstone (person)Pat King (person)James Healey (person)... Janet Papworth (person)...

Distributed Systems 32 X.500 Directory Information Base(DIB) info Alice Flintstone, Departmental Staff, Department of Computer Science, University of Gormenghast, GB commonName Alice.L.Flintstone Alice.Flintstone Alice Flintstone A. Flintstone surname Flintstone telephoneNumber uid alf mail roomNumber Z42 userClass Research Fellow

Distributed Systems 33 X.500 Directory Information Base(DIB)  Functions of Directory access request  read : a request resembles the lookup access defined in DNS model  search : attribute-based access request  Administration and updating of the DIB  DSA(Directory Service Agent) interface includes the following operations  adding, deleting and modifying entries  DIB  if DIB is partitioned, with the expectation that each organization will provide at least one server holding the details of the entities in that organization  Developed at University College, London(QUIPU)  both caching and replication are performed at the level of individual DIB entries, and at the level of collections of entries descended from the same node  values may become inconsistent after an update, and the time interval in which the consistency is restored may be several minutes  Discussion of X.500  the implementation and application of X.500 is at a pilot stage(1994)

Distributed Systems 34 Lightweight Directory Access Protocol(LDAP)  One of Directory Access protocol(DAP) for X.500  DAP works on OSI stack and requiring lots of computing resources  LDAP works on TCP/IP stack and enable users access X.500 directory  OSI x.500 Application TCP IP IP LDAP Physical media Network

Distributed Systems 35 Summary  Name services  Store(= register) names and their attributes of objects, provide look-up  Requirements  handle very large name spaces, long lifetime  high availability, fault tolerance  Design issues  structure of the name space (syntax, resolution rules, is it changing over time?)  distribution across servers, navigation  replication & caching  Case studies  Domain Name Service (DNS) ( domain name  IP)  Jini discovery service( object  attribute)  Global Directory Service( global name  attributes (resource location… ))  X.500 directory service(person’s name to attributes ( address, phone number))