Naming in Distributed Systems

Similar documents
Fault Tolerance in Distributed Systems: An Introduction

Fault Tolerance in Distributed Systems: An Introduction

Consistency & Replication in Distributed Systems

Processes in Distributed Systems

Processes in Distributed Systems

Communication in Distributed Systems

Software Architectures

Software Architectures

Introduction to Distributed Systems

Introduction to Distributed Systems

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems. Naming

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 5 Naming

Jade: Java Agent DEvelopment Framework Overview

Introduction to Distributed Systems

Object-Oriented Middleware for Distributed Systems

Lecture 4 Naming. Prof. Wilson Rivera. University of Puerto Rico at Mayaguez Electrical and Computer Engineering Department

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Naming WHAT IS NAMING? Name: Entity: Slide 3. Slide 1. Address: Identifier:

From Objects to Agents: The Java Agent Middleware (JAM)

Introduction to Distributed Systems

Software Architectures

Naming in Distributed Systems

Jade: Java Agent DEvelopment Framework Getting Started

Introduction to Distributed Systems

Introduction to Distributed Systems

Naming. Naming. Naming versus Locating Entities. Flat Name-to-Address in a LAN

Jade: Java Agent DEvelopment Framework Overview

The Architecture of the World Wide Web

Chapter 5 Naming (2)

殷亚凤. Naming. Distributed Systems [5]

Naming. Distributed Systems IT332

Naming in Distributed Systems

Distributed Information Processing

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

9.1 Introduction 9.2 Name services and the DNS 9.3 Discovery services 9.6 Summary

Chapter 3: Naming Page 38. Clients in most cases find the Jini lookup services in their scope by IP

Chapter 5 Naming (2)

Chapter 5 Naming. Names, Identifiers, and Addresses

Labelled Variables in Logic Programming: A First Prototype in tuprolog

Parallelism. Master 1 International. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

Certificates, Certification Authorities and Public-Key Infrastructures

OWL-S for Describing Artifacts

Prolog Examples. Distributed Systems / Technologies. Sistemi Distribuiti / Tecnologie

ITTC Science of Communication Networks The University of Kansas EECS 784 Identifiers, Names, and Addressing

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014

Distributed Naming. EECS 591 Farnam Jahanian University of Michigan. Reading List

Systèmes Distribués. Master MIAGE 1. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

The Architecture of the World Wide Web

ICT 6544 Distributed Systems Lecture 7

COMP 631: NETWORKED & DISTRIBUTED SYSTEMS 9/6/16 COMP 631: NETWORKED & DISTRIBUTED SYSTEMS. IP Addressing. Jasleen Kaur. Fall 2016

Naming. To do. q What s in a name q Flat naming q Structured naming q Attribute-based naming q Next: Content distribution networks

CptS 464/564 Lecture 18

Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Coordination in Situated Systems

MYE017 Distributed Systems. Kostas Magoutis

Chapter 12: Indexing and Hashing. Basic Concepts

Naming and Service Discovery in Peer-to-Peer Networks

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing

Introduction to LAN Introduction to TDC 363 Lecture 05 Course Outline What is NOS?

CONFIGURING LDAP. What is LDAP? Getting Started with LDAP

Directory Service. X.500 Directory Service. X.500 Directory Service and Lightweight Directory Access Protocol (LDAP)

Chapter 11: Indexing and Hashing" Chapter 11: Indexing and Hashing"

Application-layer Protocols

CRM Integration LDAP 06/01/2016

Homework 2 assignment for ECE374 Posted: 02/20/15 Due: 02/27/15

Working with recursion. From definition to template. Readings: HtDP, sections 11, 12, 13 (Intermezzo 2).

Working with recursion

CS 3516: Advanced Computer Networks

Chapter 8 Fault Tolerance

7. Naming and Directory Services. Distributed Systems Prof. Dr. Alexander Schill

Binary Trees

(Refer Slide Time: 05:25)

New Topic: Naming. Differences in naming in distributed and non-distributed systems. How to name mobile entities?

Documents and computation. Introduction to JavaScript. JavaScript vs. Java Applet. Myths. JavaScript. Standard

DOMAIN NAME SECURITY EXTENSIONS

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Lecture 11: February 29

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

Distributed Systems Principles and Paradigms. Chapter 12: Distributed Web-Based Systems

CONFIGURING ENTERGROUP. What is LDAP? Getting Started with LDAP

Name Services and DNS

CA IdentityMinder. Glossary

Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

On the importance and pervasiveness of computer networking

Computing Parable. New Topic: Naming

Distributed File Systems. CS432: Distributed Systems Spring 2017

The major elements of the object-oriented model

An Introduction to Complex Systems Science

Introduction to TCP/IP

ICS 351: Networking Protocols

Chapter 11: Indexing and Hashing

Middleware and Interprocess Communication

Connecting to the Network

Lecture 4: Basic Internet Operations

EEC-684/584 Computer Networks

Introduction. for large input, even access time may be prohibitive we need data structures that exhibit times closer to O(log N) binary search tree

Computer Network laboratory (2015) Pattern TE Computer 1 (5)

Transcription:

Naming in Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2010/2011 Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 1 / 29

Outline Outline 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 2 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 3 / 29

Outline Basics 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 4 / 29

Basics What is naming? 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 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 issue of naming system Distribution Scalability Efficiency Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 5 / 29

Basics What is naming? 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 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 issue of naming system Distribution Scalability Efficiency Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 5 / 29

Basics What is naming? 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 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 issue of naming system Distribution Scalability Efficiency Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 5 / 29

Outline Names, Identifiers, Addresses 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 6 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 7 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 7 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 8 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 8 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 9 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 9 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 10 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 10 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 11 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 12 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 12 / 29

Outline Flat & Structured Naming 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 13 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 14 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 14 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 15 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 15 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 16 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 17 / 29

Resource Records Flat & Structured Naming Most relevant types of resource records in a DNS node [Tanenbaum and van Steen, 2007] Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 18 / 29

Outline Attribute-based Naming 1 Basics 2 Names, Identifiers, Addresses 3 Flat & Structured Naming 4 Attribute-based Naming Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 19 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 20 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 21 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 21 / 29

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 description 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 (Università di Bologna) 6 Naming A.Y. 2010/2011 22 / 29

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 description 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 (Università di Bologna) 6 Naming A.Y. 2010/2011 22 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 23 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 24 / 29

Attribute-based Naming Hierarchical Implementations III Two LDAP directory entries with hierarchical naming... [Tanenbaum and van Steen, 2007] Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 25 / 29

Attribute-based Naming Hierarchical Implementations IV... along with the corresponding (partial) DIT [Tanenbaum and van Steen, 2007] Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 26 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 27 / 29

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 (Università di Bologna) 6 Naming A.Y. 2010/2011 28 / 29

Naming in Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2010/2011 Andrea Omicini (Università di Bologna) 6 Naming A.Y. 2010/2011 29 / 29