Naming in Distributed Systems



Similar documents
Naming in Distributed Systems

Cloud Computing An Introduction

Cloud Computing: An Introduction

Naming vs. Locating Entities

Naming. Name Service. Why Name Services? Mappings. and related concepts

Outline. Definition. Name spaces Name resolution Example: The Domain Name System Example: X.500, LDAP. Names, Identifiers and Addresses

Simple Solution for a Location Service. Naming vs. Locating Entities. Forwarding Pointers (2) Forwarding Pointers (1)

Internetworking and Internet-1. Global Addresses

Names & Addresses. Names & Addresses. Names vs. Addresses. Identity. Names vs. Addresses. CS 194: Distributed Systems: Naming

Object-Oriented Middleware for Distributed Systems

1. Domain Name System

Chapter 25 Domain Name System Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Chapter 9: Name Services. 9.1 Introduction 9.2 Name services and the DNS 9.3 Directory services 9.6 Summary

Internet Protocol Address

Introduction to Network Operating Systems

The Domain Name System (DNS) Jason Hermance Nerces Kazandjian Long-Quan Nguyen

Managing Users and Identity Stores

Understanding DNS (the Domain Name System)

Domain Name System. DNS is an example of a large scale client-server application. Copyright 2014 Jim Martin

INTERNET DOMAIN NAME SYSTEM

Chapter 15: Distributed Structures. Topology

COMP 631: COMPUTER NETWORKS. IP Addressing. Jasleen Kaur. Fall How to Deal With Heterogeneity & Scale?

RARP: Reverse Address Resolution Protocol

Distributed Systems. 22. Naming Paul Krzyzanowski. Rutgers University. Fall 2013

Mobile Devices: Server and Management Lesson 06 Device Management

Chapter 23 The Domain Name System (DNS)

4.1 NAMING ENTITIES 184 NAMING CHAP Names, Identifiers, and Addresses

Symbol Tables. Introduction

Resource Monitoring in GRID computing

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets

In this chapter, we will introduce works related to our research. First, we will

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Domain Name System Submitted in partial fulfillment of the requirement for the award of degree of Computer Science

Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 34 DNS & Directory

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

3. The Domain Name Service

Network Layers. CSC358 - Introduction to Computer Networks

Memory management basics (1) Requirements (1) Objectives. Operating Systems Part of E1.9 - Principles of Computers and Software Engineering

CA Identity Manager. Glossary. r12.5 SP8

Java Agent DEvelopment Framework (JADE)

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.

Egon Börger (Pisa) Package Router

Module 15: Network Structures

Introduction to Finite Automata

Visio Enabled Solution: One-Click Switched Network Vision

Understand Names Resolution

CS 348: Computer Networks. - IP addressing; 21 st Aug Instructor: Sridhar Iyer IIT Bombay

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

DHCP and DNS Protocols

The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

Internet Protocols Fall Outline

X.500 and LDAP Page 1 of 8

Binary Search Trees (BST)

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

Torii-HLMAC: Torii-HLMAC: Fat Tree Data Center Architecture Elisa Rojas University of Alcala (Spain)

Copyright 2016 Lexmark. All rights reserved. Lexmark is a trademark of Lexmark International, Inc., registered in the U.S. and/or other countries.

Chapter 14: Distributed Operating Systems

Domain Name Service (DNS) Training Division, NIC New Delhi

VISUALIZING HIERARCHICAL DATA. Graham Wills SPSS Inc.,

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Domain Name Resolver (DNR) Configuration

Internet Control Protocols Reading: Chapter 3

Georgia College & State University

NET0183 Networks and Communications

LDAP Directory Integration with Cisco Unity Connection

Chapter 16: Distributed Operating Systems

The Domain Name Service, Etc. Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems

Forouzan: Chapter 17. Domain Name System (DNS)

Mobile Devices: Server and Management Lesson 05 Service Discovery

Domain Name System (DNS)

Domain Name System. CS 571 Fall , Kenneth L. Calvert University of Kentucky, USA All rights reserved

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

03 Internet Addressing

DNS Domain Name System

A New Marketing Channel Management Strategy Based on Frequent Subtree Mining

Configuring Sponsor Authentication

Your Question. Article: Question: How do I Configure LDAP with Net Report?

Supporting Large-scale Deployments through Virtual Directory Technology. A White Paper by Phil Hunt Director, Product Management, OctetString, Inc.

19 Domain Name System (DNS)

Active Directory. By: Kishor Datar 10/25/2007

A Model for Worldwide Tracking of Distributed Objects Maarten van Steen, Franz J. Hauck, Andrew S. Tanenbaum Vrije Universiteit, Amsterdam

Configuring and Using the TMM with LDAP / Active Directory

Domain Name Servers. Domain Types WWW host names. Internet Names. COMP476 Networked Computer Systems. Domain Name Servers

Resource Management on Computational Grids

Introduction to TCP/IP

DNS Basics. DNS Basics

Visualisation in the Google Cloud

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Certificates, Certification Authorities and Public-Key Infrastructures

Certificates, Certification Authorities and Public-Key Infrastructures

PriveonLabs Research. Cisco Security Agent Protection Series:

Peer-to-Peer: an Enabling Technology for Next-Generation E-learning

How to Use Microsoft Active Directory as an LDAP Source with the Oracle ZFS Storage Appliance

QoS Switching. Two Related Areas to Cover (1) Switched IP Forwarding (2) 802.1Q (Virtual LANs) and 802.1p (GARP/Priorities)

Introduction to Computer Networks

Database Design Patterns. Winter Lecture 24

Naming and the DNS. Focus. How do we name hosts etc.? Application Presentation Topics. Session Domain Name System (DNS) /URLs

Transcription:

Naming in Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2012/2013 Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 1 / 30

Outline Outline 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 2 / 30

Disclaimer These Slides Contain Material from [Tanenbaum and van Steen, 2007] Slides were made kindly available by the authors of the book Such slides shortly introduced the topics developed in the book [Tanenbaum and van Steen, 2007] adopted here as the main book of the course Most of the material from those slides has been re-used in the following, and integrated with new material according to the personal view of the teacher of this course Every problem or mistake contained in these slides, however, should be attributed to the sole responsibility of the teacher of this course Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 3 / 30

Outline Basics 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 4 / 30

Basics What is naming? I The issue of naming Mapping names onto computational entities E.g., resources in REST Finding the entity a name refers to is said resolving a name name resolution Naming system the portion of the system devoted to name resolution Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 5 / 30

Basics What is naming? II The issue of naming in distributed systems Naming is an issue in computational systems in general Features of distributed system makes naming even more difficult openness location mobility distribution of the naming systems The issues of naming systems Distribution Scalability Efficiency Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 6 / 30

Outline Names, Identifiers, Addresses 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 7 / 30

Names, Identifiers, Addresses Names Defining a (distributed) naming system amounts at... defining a set of the admissible names defining the set of the named entities defining the association between names and entities What is a name? A name is something that refers to an entity A string, a sequence of symbols,... Defining the set of the admissible names determines how we can speak about the system Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 8 / 30

Names, Identifiers, Addresses Names Defining a (distributed) naming system amounts at... defining a set of the admissible names defining the set of the named entities defining the association between names and entities What is a name? A name is something that refers to an entity A string, a sequence of symbols,... Defining the set of the admissible names determines how we can speak about the system Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 8 / 30

Names, Identifiers, Addresses Entities Entities are to be used An entity is something one can operate on by accessing to it through an access point Access point A special sort of entity in distributed systems used to access an entity like, the cell phone to access yourselves Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 9 / 30

Names, Identifiers, Addresses Entities Entities are to be used An entity is something one can operate on by accessing to it through an access point Access point A special sort of entity in distributed systems used to access an entity like, the cell phone to access yourselves Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 9 / 30

Names, Identifiers, Addresses Addresses Accessing an entity thru an access point... requires an address like, your cell phone number In short, the address of an access point to an entity can be called the address of the entity Can t we use addresses as names? They are names of some sort But, quite unfriendly for humans Location independence might be desirable Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 10 / 30

Names, Identifiers, Addresses Addresses Accessing an entity thru an access point... requires an address like, your cell phone number In short, the address of an access point to an entity can be called the address of the entity Can t we use addresses as names? They are names of some sort But, quite unfriendly for humans Location independence might be desirable Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 10 / 30

Names, Identifiers, Addresses Identifiers Another type of name 1 An identifier refers to at most one entity 2 Each entity is referred to by at most one identifier 3 An identifier always refers to the same entity it s never reused Addresses vs. identifiers Identifiers are sorts of names But, different purposes E.g., while my user name andrea.omicini is not to be reused for another person of the Alma Mater (identifier), my cell number could instead be reused by someone else (address) Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 11 / 30

Names, Identifiers, Addresses Identifiers Another type of name 1 An identifier refers to at most one entity 2 Each entity is referred to by at most one identifier 3 An identifier always refers to the same entity it s never reused Addresses vs. identifiers Identifiers are sorts of names But, different purposes E.g., while my user name andrea.omicini is not to be reused for another person of the Alma Mater (identifier), my cell number could instead be reused by someone else (address) Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 11 / 30

Names, Identifiers, Addresses Human-friendly Names Identifiers and addresses are often in machine-readable form Humans cannot handle them easily This might create problems in the use, monitoring and control of distributed systems Human-friendly names Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 12 / 30

Names, Identifiers, Addresses Resolving Names to Addresses Main issue in naming Examples How do we associate names and identifiers to addresses? In large, distributed, mobile, open systems, in particular? The simplest case: name-to-address binding, with a table of name, address pairs Problem: a centralised table does not work in large networks The DNS case: hierarchical composition www.apice.unibo.it hierarchically resolved through a recursive lookup Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 13 / 30

Names, Identifiers, Addresses Resolving Names to Addresses Main issue in naming Examples How do we associate names and identifiers to addresses? In large, distributed, mobile, open systems, in particular? The simplest case: name-to-address binding, with a table of name, address pairs Problem: a centralised table does not work in large networks The DNS case: hierarchical composition www.apice.unibo.it hierarchically resolved through a recursive lookup Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 13 / 30

Outline Flat & Structured Naming 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 14 / 30

Flat & Structured Naming Flat Naming Basic Idea Examples A name is just a flat sequence of chars / symbols Works in LANs Broadcasting: messages containing the identifier of the target entity is sent to everyone, only the machine containing the entity responds Example: ARP (Address Resolution Protocol) Problem: inefficient when the network grows Multicasting: only a restricted group of hosts receives the request Example: data-link level in Ethernet networks Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 15 / 30

Flat & Structured Naming Flat Naming Basic Idea Examples A name is just a flat sequence of chars / symbols Works in LANs Broadcasting: messages containing the identifier of the target entity is sent to everyone, only the machine containing the entity responds Example: ARP (Address Resolution Protocol) Problem: inefficient when the network grows Multicasting: only a restricted group of hosts receives the request Example: data-link level in Ethernet networks Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 15 / 30

Flat & Structured Naming Structured Naming Basic Idea Flat names are good for machines, not for humans Example Structured names are composed by simple human-readable names thus matching the natural limitations of human cognition Internet name space Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 16 / 30

Flat & Structured Naming Structured Naming Basic Idea Flat names are good for machines, not for humans Example Structured names are composed by simple human-readable names thus matching the natural limitations of human cognition Internet name space Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 16 / 30

Flat & Structured Naming Name Spaces Basic Idea Names are organised hierarchically, according to a labelled, directed graph a naming graph Leaf nodes represent named entities Directory nodes have a number of outgoing edges, each labelled with an identifier Symbolic link in a naming graph [Tanenbaum and van Steen, 2007] Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 17 / 30

Flat & Structured Naming The Internet Domain Name Space (DNS) The DNS Name Space Hierarchically organised as a rooted tree Each node (except root) has exactly one incoming edge, labelled with the name of the node A subtree is a domain A path name to its root node is a path name A node contains a collection of resource records Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 18 / 30

Resource Records Flat & Structured Naming Most relevant types of resource records in a DNS node [Tanenbaum and van Steen, 2007] Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 19 / 30

Outline Attribute-based Naming 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 20 / 30

Attribute-based Naming Limits of Flat & Structured Naming Beyond Location Independence Flat naming allow for unique and location-independent way to refer to distributed entities Structured naming also provides for human-friendliness However, distributed systems are more and more information-based information could also be the basis for looking for an entity Exploiting information associated to entities to locate them Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 21 / 30

Attribute-based Naming Attribute-based Naming Description as pairs Many way to describe an entity could be used Most popular: a collection of attribute, value pairs associated to an entity to describe it Attribute-based naming A.k.a. Directory services Attribute-based naming systems are also known as directory services The essential point: choosing the right set of attributes to describe resources Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 22 / 30

Attribute-based Naming Attribute-based Naming Description as pairs Many way to describe an entity could be used Most popular: a collection of attribute, value pairs associated to an entity to describe it Attribute-based naming A.k.a. Directory services Attribute-based naming systems are also known as directory services The essential point: choosing the right set of attributes to describe resources Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 22 / 30

Attribute-based Naming Resource Description Framework (RDF) RDF: A model for describing resources Each resource is a triplet Subject, Predicate, Object E.g., FootballPlayer, fullname, Gaby Mudingay describe a resource FootballPlayer whose fullname is Gaby Mudingay Each subject, predicate, object can be a resource itself References in RDF are essentially URLs Querying a directory service If resource descriptions are stored, they can be queried when looking for a certain resource The query could return a reference to the resource, to be fetched by the application Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 23 / 30

Attribute-based Naming Resource Description Framework (RDF) RDF: A model for describing resources Each resource is a triplet Subject, Predicate, Object E.g., FootballPlayer, fullname, Gaby Mudingay describe a resource FootballPlayer whose fullname is Gaby Mudingay Each subject, predicate, object can be a resource itself References in RDF are essentially URLs Querying a directory service If resource descriptions are stored, they can be queried when looking for a certain resource The query could return a reference to the resource, to be fetched by the application Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 23 / 30

Attribute-based Naming Hierarchical Implementations I Combining structured & attribute-based naming Distributed directory services Lightweight Directory Access Protocol (LDAP) Example: MS Active Directory Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 24 / 30

Attribute-based Naming Hierarchical Implementations II Hierarchy through LDAP attribute-based names An LDAP directory service contains a number of directory entries a collection of attribute, value pairs, similar to DNS resource records The directory entries in an LDAP directory service constitute the directory information base (DIB) there, each record is uniquely named Naming attributes are called Relative Distinguished Names (RDN) they are combined to form a globally-unique name, which is a structured name As a result, the Directory Information Tree (DIT) is a collection of directory entries forming the naming graph of an LDAP directory Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 25 / 30

Attribute-based Naming Hierarchical Implementations III Two LDAP directory entries with hierarchical naming... [Tanenbaum and van Steen, 2007] Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 26 / 30

Attribute-based Naming Hierarchical Implementations IV... along with the corresponding (partial) DIT [Tanenbaum and van Steen, 2007] Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 27 / 30

Conclusions Summing Up Naming is a general issue Particularly relevant in the distributed setting Different approaches to naming are possible: flat, structured, attribute-based Typically, naming systems take a hybrid stance to the naming problem DNS and LDAP are paradigmatic examples of naming systems Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 28 / 30

References I References Tanenbaum, A. S. and van Steen, M. (2007). Distributed Systems. Principles and Paradigms. Pearson Prentice Hall, Upper Saddle River, NJ, USA, 2nd edition. Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 29 / 30

Naming in Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2012/2013 Andrea Omicini (DISI, Univ. Bologna) 6 Naming A.Y. 2012/2013 30 / 30