Today. Architectural Styles

Similar documents
Today. Architectural Styles

Architectures for distributed systems (Chapter 2)

Lecture 2: January 24

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 2 ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Chapter 2 ARCHITECTURES

ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES

Chapter 2 ARCHITECTURES

Distributed Systems: Architectural Issues

Distributed Systems Principles and Paradigms

Chapter 2 ARCHITECTURES

Architectures for Distributed Systems

Software Architectures

Software Architectures

Making Gnutella-like P2P Systems Scalable

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Distributed Systems Architectures

Introduction to Peer-to-Peer Systems

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

MASTER DEGREE COMPUTER SCIENCE COMPUTER SCIENCE AND NETWORKING. Peer to Peer Systems LAURA RICCI 2/5/2011

Peer-to-Peer Networks

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview:

Peer-to-Peer Systems. Chapter General Characteristics

Scalable overlay Networks

Distributed Information Processing

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

Chapter 2: Application layer

Peer to Peer Networks

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Web caches (proxy server) Applications (part 3) Applications (part 3) Caching example (1) More about Web caching

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

A Survey of Peer-to-Peer Content Distribution Technologies

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli

LECTURE 3: CONCURRENT & DISTRIBUTED ARCHITECTURES

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

Telecommunication Services Engineering Lab. Roch H. Glitho

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1

Peer-to-Peer (P2P) Systems

Introduction to Distributed Systems

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Peer-to-peer systems and overlay networks

Lecture 8: Application Layer P2P Applications and DHTs

Advanced Computer Networks

6. Peer-to-peer (P2P) networks I.

Chapter 2 ARCHITECTURES

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Unit 8 Peer-to-Peer Networking

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza

CS 43: Computer Networks. 14: DHTs and CDNs October 3, 2018

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems

Peer-to-Peer Systems. Internet Computing Workshop Tom Chothia

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

Peer to Peer Networks

Chapter 2 Architectures. Software Architectures

Distributed Hash Table

CMSC 332 Computer Networks P2P and Sockets

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen

CPSC 536N: Randomized Algorithms Term 2. Lecture 4

Introduction to Peer-to-Peer Networks

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

CS 3516: Advanced Computer Networks

Fast Topology Management in Large Overlay Networks

416 Distributed Systems. Mar 3, Peer-to-Peer Part 2

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Scalable overlay Networks

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

CA464 Distributed Programming

Dr. Jack Lange Computer Science Department University of Pittsburgh. Fall Distributed System Definition. A distributed system is

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

CS6601 DISTRIBUTED SYSTEM / 2 MARK

Overlay and P2P Networks. Unstructured networks: Freenet. Dr. Samu Varjonen

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

P2P Computing. Nobuo Kawaguchi. Graduate School of Engineering Nagoya University. In this lecture series. Wireless Location Technologies

Peer-to-Peer Internet Applications: A Review

Introduction to P2P Computing

CSCI 3130 Software Architectures 1/3. February 5, 2013

EE 122: Peer-to-Peer Networks

RELOAD P2P Overlay Access Protocol. Younghan Kim Soongsil University

Peer-to-Peer Applications Reading: 9.4

Minimizing Churn in Distributed Systems

Peer-to-Peer Architectures and Signaling. Agenda

CSCI-1680 P2P Rodrigo Fonseca

Cooperation in Open Distributed Systems. Stefan Schmid

CS 43: Computer Networks BitTorrent & Content Distribution. Kevin Webb Swarthmore College September 28, 2017

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Introduction on Peer to Peer systems

Peer-to-Peer Systems and Distributed Hash Tables

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

internet technologies and standards

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Octoshape. Commercial hosting not cable to home, founded 2003

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

Locality in Structured Peer-to-Peer Networks

CSE 5306 Distributed Systems

Scaling Problem Computer Networking. Lecture 23: Peer-Peer Systems. Fall P2P System. Why p2p?

Transcription:

Today Architectures for distributed systems (Chapter 2) Centralized, decentralized, hybrid Middleware Self-managing systems Lecture 2, page 1 Architectural Styles Important styles of architecture for distributed systems Layered architectures Object-based architectures Data-centered architectures Event-based architectures Lecture 2, page 2

Layered Design Each layer uses previous layer to implement new functionality that is exported to the layer above Example: Multi-tier web apps Lecture 2, page 3 Object-based Style Each object corresponds to a components Components interact via remote procedure calls Popular in client-server systems Lecture 2, page 4

Event-based architecture Communicate via a common repository Use a publish-subscribe paradigm Consumers subscribe to types of events Events are delivered once published by any publisher Lecture 2, page 5 Shared data-space Bulletin-board architecture Decoupled in space and time Post items to shared space; consumers pick up at a later time Lecture 2, page 6

Client-Server Architectures Most common style: client-server architecture Application layering User-interface level Processing level Data level Lecture 2, page 7 Search Engine Example Search engine architecture with 3 layers Lecture 2, page 8

Multitiered Architectures The simplest organization is to have only two types of machines: A client machine containing only the programs implementing (part of) the userinterface level A server machine containing the rest, the programs implementing the processing and data level Lecture 2, page 9 A Spectrum of Choices From browser-based to phone-based to desktop apps Lecture 2, page 10

Three-tier Web Applications Server itself uses a client-server architecture 3 tiers: HTTP, J2EE and database Very common in most web-based applications Lecture 2, page 11 Decentralized Architectures Peer-to-peer systems Removes distinction between a client and a server Overlay network of nodes Chord: structured peer-to-peer system Use a distributed hash table to locate objects Data item with key k -> smallest node with id >= k Lecture 2, page 12

Content Addressable Network (CAN) CAN: d-dimensional coordinate system Partitioned among all nodes in the system Example: [0,1] x [0,1] space across 6 nodes Every data item maps to a point Join: pick a random point, split with node for that point Leave: harder, since a merge may not give symmetric partitions Lecture 2, page 13 Unstructured P2P Systems Topology based on randomized algorithms Each node pick a random set of nodes and becomes their neighbors Gnutella Choice of degree impacts network dynamics Lecture 2, page 14

Structured and Unstructured P2P Can move from one to another Carefully exchange and select entries from partial views Lecture 2, page 15 SuperPeers Some nodes become distinguished Take on more responsibilities (need to have or be willing to donate more resources) Example: Skype super-peer Lecture 2, page 16

Edge-Server Systems Edge servers: from client-server to client-proxy-server Content distribution networks: proxies cache web content near the edge Lecture 2, page 17 Collaborative Distributed Systems BitTorrent: Collaborative P2P downloads Download chunks of a file from multiple peers Reassemble file after downloading Use a global directory (web-site) and download a.torrent.torrent contains info about the file Tracker: server that maintains active nodes that have requested chunks Force altruism:» If P sees Q downloads more than uploads, reduce rate of sending to Q Lecture 2, page 18

Self-Managing Systems System is adaptive Monitors itself and takes action autonomously when needed Autonomic computing, self-managing systems Self-*: self-managing, self-healing Example: automatic capacity provisioning Vary capacity of a web server based on demand Monitor workload Compute current/ future demand Adjust allocation Lecture 2, page 19 Feedback Control Model Use feedback and control theory to design a selfmanaging system Lecture 2, page 20