© Chinese University, CSE Dept. Distributed Systems / 4 - 1 Distributed Systems Topic 4: Naming, Trading, and Peer-to-Peer Systems Dr. Michael R. Lyu Computer.

Slides:



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

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
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.
Distributed components
Technical Architectures
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
City University London
Name Services Jessie Crane CPSC 550. History ARPAnet – experimental computer network (late 1960s) hosts.txt – a file that contained all the information.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Hands-On Microsoft Windows Server 2003 Networking Chapter 6 Domain Name System.
Grids and Grid Technologies for Wide-Area Distributed Computing Mark Baker, Rajkumar Buyya and Domenico Laforenza.
Object Naming & Content based Object Search 2/3/2003.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
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.
4.4 Naming And Directory Services Lakshmi Narayana Gupta Kollepara 09/20/2009 CSC-8320.
Client-Server Processing and Distributed Databases
11.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 11: Introducing WINS, DNS,
Distributed Computing COEN 317 DC2: Naming, part 1.
NAME SERVICES. Names and addresses File names /etc/passwd URLS Internet domain names—dcs.qmw.ac.uk Identifiers- ROR, NFS.
Ch-9: NAME SERVICES By Srinivasa R. Gudipati. To be discussed.. Fundamentals of Naming Services Naming Resolution The Domain Name System (DNS) Directory.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Distributed Systems Concepts and Design Chapter 10: Peer-to-Peer Systems Bruce Hammer, Steve Wallis, Raymond Ho.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
Managing Service Metadata as Context The 2005 Istanbul International Computational Science & Engineering Conference (ICCSE2005) Mehmet S. Aktas
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Distributed Systems: Concepts and Design Chapter 1 Pages
CS551 - Lecture 17 1 CS551 Object Oriented Middleware (VI) Advanced Topics (Chap of EDO) Yugi Lee STB #555 (816)
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.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Transparency In Distributed Systems Hiremath,Naveen
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Peer-to-peer systems Chapter Outline Introduction Napster and its legacy Peer-to-peer middleware Routing overlay Pastry 2.
Peer-to-Peer and Collective Intelligence A platform for collaboration Andrew Roczniak Collective Intelligence Lab Multimedia Communications Research Lab.
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.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Slides for Chapter 10: Peer-to-Peer Systems
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Introduction to Active Directory
Bruce Hammer, Steve Wallis, Raymond Ho
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
1 Name services (concepts, DNS, case study X.500)
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Lecture 9: Name and Directory Servers CDK4: Chapter 9 CDK5: Chapter 13 TVS: Chapter 5.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
Distributed Web Systems Peer-to-Peer Systems Lecturer Department University.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Chapter 1 Characterization of Distributed Systems
CHAPTER 3 Architectures for Distributed Systems
Distributed Systems Topic 4: Naming, Trading, and Peer-to-Peer Systems
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Name Services Bina Ramamurthy 5/18/2019 B.Ramamurthy.
Presentation transcript:

© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 4: Naming, Trading, and Peer-to-Peer Systems Dr. Michael R. Lyu Computer Science & Engineering Department The Chinese University

© Chinese University, CSE Dept. Distributed Systems / Outline 1. Naming 2. Trading 3. P2P Systems 4. Summary

© Chinese University, CSE Dept. Distributed Systems / The Need: Location Transparency  Avoid using physical locations for locating components!  Naming: –Locating components by external names –Similar to white pages  Trading: –Locating components by service characteristics –Similar to yellow pages

© Chinese University, CSE Dept. Distributed Systems / Naming 1. Names, Addresses and Other Attributes 2. Naming Service Examples - Network File System (NFS) - Internet Domain Service 3. Common Characteristics 4. Limitations

© Chinese University, CSE Dept. Distributed Systems / Names and Their Attributes  Names are used to refer to a wide variety of resources (computers, services, remote files, or users).  Names are not the only useful means of identification: descriptive attributes are another.  A name is resolved when it is translated into data about the named resource or object, often in order to invoke an action upon it.  The association between a name and an object is called a binding.  In general, names are bound to attributes of the named objects. An attribute is the value of a property associated with an object.

© Chinese University, CSE Dept. Distributed Systems / Name Services  Name service: To store a collection of one or more naming contexts, which are sets of bindings between textual names and attributes for objects such as users, computers, services and remote objects.  Name service operations: binding a name and resolve a name  Name management is separated from other services for openness: –Unification: using the same naming scheme. –Integration: sharing name resources in different administrative domains.  Name space: the collection of all valid names recognized by a name service.  Hierarchic name space: names are hierarchically organized so each part of a name is resolved relative to a separate context.  Name service examples: Network File Service (NFS) Directories, Internet Domain Name Service, and X.500 Directory Service.

© Chinese University, CSE Dept. Distributed Systems / NFS Directories lec lyu teaching course_web www usr sbin bin inetd ls rlogin uac king cprj Example1: /uac/lec/lyu/course_web Example2: /uac/cprj/king/www

© Chinese University, CSE Dept. Distributed Systems / Internet Domain Name Service  The object named by DNS are IP addresses of computers as (naming) domains.  In DNS, any name can be resolved by any client, due to –Hierarchical partitioning of name database –Replication of naming data –Caching  Internet DNS name space is partitioned both organizationally and according to geography.

© Chinese University, CSE Dept. Distributed Systems / Internet Domain Name Service a.root-servers.net (root) edu.hk ac.uk cse.cuhk.edu.hk se.cuhk.edu.hk ns1.cuhk.edu.hk (edu.hk) ns1.cs.ucl.ac.uk (ac.uk) ic.ac.uk qmw.ac.uk city.ac.uk nameserv.city.ac.uk (city.ac.uk) *.city.ac.uk *.cse.cuhk.edu.hk beryl.cuhk.edu.hk (cse.cuhk.edu.hk)

© Chinese University, CSE Dept. Distributed Systems / Composed Naming Domains from URL 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

© Chinese University, CSE Dept. Distributed Systems / Uniform Resource Identifier (URI)  URL is a particular type of URI in identifying web resources.  URLs scale up to an unlimited set of web resources for efficient access.  URLs are essentially addresses of web resources, which do not support mobility transparency.  Uniform Resource Name (URN) allows web resources to move around.  Uniform Resource Characteristic (URC), a subset of URN, describes attributes of web resources.

© Chinese University, CSE Dept. Distributed Systems / Navigation  Navigation is the process of locating naming data from among more than one name server in order to resolve a name.  Iterative navigation: a client presents the name to the local name server which attempts to resolve it.  Multicast navigation: a client multicasts the name to be resolved to the group of name servers.  Server-controlled navigation: A name server coordinates the resolution of the name and passes the result back to the user agent. –Non-recursive vs. recursive

© Chinese University, CSE Dept. Distributed Systems / Iterative Navigation Iterative navigation: A client iteratively contacts name servers NS1–NS3 in order to resolve a name In multicast navigation, the client multicasts the name to be resolved to a group of name servers. Client NS2 NS1 NS3 Name servers

© Chinese University, CSE Dept. Distributed Systems / 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

© Chinese University, CSE Dept. Distributed Systems / Name Caching  Caching is a general computing scheme to improve performance of data access.  Name caching is a process in maintaining the results of previous name resolutions in server memory space.  In addition to name service’s performance, caching helps to maintain the availability of both the name service and other services.  Caching is widely applicable because naming data are changed relatively rarely.

© Chinese University, CSE Dept. Distributed Systems / Common Characteristics Concerns to be addressed by a naming service:  Names.  Name Spaces.  Naming service provides operations for –Defining names of components (bind). –Lookup components by name (resolve).  Persistence of bindings.

© Chinese University, CSE Dept. Distributed Systems / Common Characteristics Qualities of service:  Distribution of name spaces  Performance profile –Caching –Replication  Transaction properties of concurrent naming operations

© Chinese University, CSE Dept. Distributed Systems / Limitations  Limitation of Naming: Client always has to identify the server by name.  Inappropriate if client just wants to use a service at a certain quality but does not know who is the service provider. Example: –Automatic cinema ticketing, –Video on demand, –Electronic commerce.

© Chinese University, CSE Dept. Distributed Systems / Trading 1. Characteristics 2. Example 3. A Typical Trading Service

© Chinese University, CSE Dept. Distributed Systems / Trading Characteristics  Trader operates as broker between client and server.  Enables client to change perspective from ´who?´ to ´what?´  Selection between multiple service providers.  Similar ideas in: –yellow pages –insurance broker –stock brokerage.

© Chinese University, CSE Dept. Distributed Systems / Trading Characteristics  Common language between client and server: –Service types –Qualities of service  Server registers service with trader.  Server defines assured quality of service: –Static QoS definition –Dynamic QoS definition.

© Chinese University, CSE Dept. Distributed Systems / Trading Characteristics  Clients ask trader for –a service of a certain type –at a certain level of quality  Trader supports –service matching –service shopping

© Chinese University, CSE Dept. Distributed Systems / Example  Distributed system for video-on-demand: Trader Video-on- demand provider MGM Warner Independent User Server

© Chinese University, CSE Dept. Distributed Systems / Typical Trading Service Trader Client Server (1) Register (2) Lookup (2a) Monitor QoS (3) Application

© Chinese University, CSE Dept. Distributed Systems / Peer-to-Peer Systems 1.Introduction 2.Napster and its legacy 3.Peer-to-peer middleware 4.Routing overlays

© Chinese University, CSE Dept. Distributed Systems / Introduction  The goal of peer-to-peer systems is to enable the sharing of data and resources.  It aims to support useful distributed services and applications using data and computing resources available in the personal computers and workstations as application.  Shirky: “ Applications that exploit resources available at the edges of the Internet – storage, cycles, content, human presence. ”  Discuss the general techniques that simplify the construction of peer-to-peer applications and enhance their scalability, reliability and security.

© Chinese University, CSE Dept. Distributed Systems / Characteristics of Peer-to-Peer Systems  Ensure each user contributes resources to the systems.  All nodes have the same functional capabilities and responsibilities.  Their correct operation does not depend on the existence of any centrally-administered systems.  Offer limited degree of anonymity to the providers and users of resources.  Choice of algorithm for the placement of data.

© Chinese University, CSE Dept. Distributed Systems / Example: Distributed Video Streaming –Traditional client/server solution is not appropriate for video streaming –Bottlenecks »Server load l The server bandwidth is the major bottleneck »Edge capacity l One connection to one client l The connection may degrade »End to end bandwidth –Scalability?

© Chinese University, CSE Dept. Distributed Systems / Example: P2P-Based Solution –Collaboration between client peers –Source server alleviated –Better scalability –Better reliability

© Chinese University, CSE Dept. Distributed Systems / Peer-to-Peer Systems  Three generations of peer-to-peer system and application development can be identified.  The first generation was launched by the Napster music exchange service  The second generation of file sharing applications offering greater scalability, anonymity and fault tolerance quickly.  The third generation is characterized by emergence of middleware layers for the application-independent management.

© Chinese University, CSE Dept. Distributed Systems / Napster  The first application in which a demand for a globally-scalable information storage and retrieval service emerged.  Popular for music exchange.  Napster ’ s architecture included centralized indexes but users supplied the files.

© Chinese University, CSE Dept. Distributed Systems / Napster ’ s Method of Operation

© Chinese University, CSE Dept. Distributed Systems / Napster ’ s Legacy  The original Napster was shut down as a result of legal proceedings.  Anonymity for the receivers and the providers of shared data and other resources is a concern for the designers of peer-to-peer systems.  Napster demonstrated the feasibility of building a useful large-scale service which depends almost wholly on data and computers owned by ordinary Internet users.

© Chinese University, CSE Dept. Distributed Systems / Peer-to-Peer Middleware  Provide a mechanism to enable clients to access data resources quickly and dependably whenever they are located throughout the network.  Designed specially to meet the need for the automatic placement and subsequent location of the distributed objects.

© Chinese University, CSE Dept. Distributed Systems / Functional Requirement  Simplify the construction of services that are implemented across many hosts in a widely distributed network.  Enable clients to locate and communicate with any individual resources.  Ability to add new resources (or hosts) and to remove them.

© Chinese University, CSE Dept. Distributed Systems / Non-Function Requirements  Global scalability  Load balancing  Optimization for local interactions between neighboring peers  Accommodating to highly dynamic host availability  Security of data in an environment with heterogeneous trust  Anonymity, deniability and resistance to censorship

© Chinese University, CSE Dept. Distributed Systems / Routing Overlays versus IP Routing  Routing overlays share many characteristics with IP packet routing infrastructure.  Additional application-level routing mechanism is required.

© Chinese University, CSE Dept. Distributed Systems / Routing Overlay Information Distribution Object: Node: D C’s routing knowledge D’s routing knowledgeA’s routing knowledge B’s routing knowledge C A B

© Chinese University, CSE Dept. Distributed Systems / Routing Overlays  The distributed algorithm known as a routing overlay takes responsibility for locating nodes and objects.  The routing overlay ensures that any node can access any object by routing each request through a sequence of nodes.  Peer-to-peer systems usually store multiple replicas of objects to ensure availability.

© Chinese University, CSE Dept. Distributed Systems / Routing Overlays  The main task: –Routes the request to a node at which a replica of the object resides.  Other tasks –Ensures that a new object is reachable by all other clients. –Make the object unavailable when its client requests a removal. –When a node leaves, its responsibilities are distributed amongst the other nodes.

© Chinese University, CSE Dept. Distributed Systems / Summary  Naming services provide facilities to give external names to components.  Trading services match service types requested by clients to servers that can satisfy them.  P2P systems exploit existing naming, routing, data replication and security techniques for resource sharing.  Read Chapters 10 and 13 of the textbook.