Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis

Similar documents
2. System Models Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems. Chapter 2 System Models

Chapter 2 System Models

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

System Models for Distributed Systems

Architecture of distributed systems

Architecture of distributed systems

02 - Distributed Systems

02 - Distributed Systems

System Models 2. Lecture - System Models 2 1. Areas for Discussion. Introduction. Introduction. System Models. The Modelling Process - General

Architectural Models

Distributed Systems (5DV147)

System models for distributed systems

MODELS OF DISTRIBUTED SYSTEMS

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Distributed Systems: Models and Design

Fault Tolerance. Distributed Software Systems. Definitions

TDDD82 Secure Mobile Systems Lecture 1: Introduction and Distributed Systems Models

Distributed Systems (5DV147)

Distributed Information Processing

MODELS OF DISTRIBUTED SYSTEMS

DISTRIBUTED SYSTEMS UNIT I

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

Specifying and Proving Broadcast Properties with TLA

Introduction to Distributed Systems

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs

Module 1 - Distributed System Architectures & Models

Introduction to Distributed Systems Seif Haridi

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

The Timed Asynchronous Distributed System Model By Flaviu Cristian and Christof Fetzer

CAN protocol enhancement

Subject: Adhoc Networks

SCALABLE MPC WITH STATIC ADVERSARY. Mahnush Movahedi, Jared Saia, Valerie King, Varsha Dani University of New Mexico University of Victoria

Frequently asked questions from the previous class survey

CSE 486/586 Distributed Systems

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

Practical Byzantine Fault Tolerance. Miguel Castro and Barbara Liskov

Introduction Distributed Systems

Designing Issues For Distributed Computing System: An Empirical View

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

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

Introduction to Distributed Systems (DS)

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Fundamental Interaction Model

C 1. Recap. CSE 486/586 Distributed Systems Failure Detectors. Today s Question. Two Different System Models. Why, What, and How.

Distributed Information Processing

Distributed Systems Conclusions & Exam. Brian Nielsen

To do. Consensus and related problems. q Failure. q Raft

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

CA464 Distributed Programming

Distributed Systems (ICE 601) Fault Tolerance

PART B UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM PART A

Failures, Elections, and Raft

Distributed Systems. Lecture 14: Security. Distributed Systems 1

Toward Intrusion Tolerant Clouds

Distributed Systems (5DV020) Group communication. Fall Group communication. Fall Indirect communication

Distributed Systems. Lecture 14: Security. 5 March,

Dep. Systems Requirements

Distributed Systems. Pre-Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2015

C 1. Today s Question. CSE 486/586 Distributed Systems Failure Detectors. Two Different System Models. Failure Model. Why, What, and How

Byzantine Failures. Nikola Knezevic. knl

Transactions Between Distributed Ledgers

Slides for Chapter 2: System Models

Fair exchange and non-repudiation protocols

Client Server & Distributed System. A Basic Introduction

DISTRIBUTED OBJECTS AND REMOTE INVOCATION

Chapter 39: Concepts of Time-Triggered Communication. Wenbo Qiao

Transport protocols Introduction

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016

What is a distributed system?

Distributed Systems. 09. State Machine Replication & Virtual Synchrony. Paul Krzyzanowski. Rutgers University. Fall Paul Krzyzanowski

Distributed Algorithms Models

DISTRIBUTED COMPUTER SYSTEMS

CSE 5306 Distributed Systems. Fault Tolerance

Communication Paradigms

Threat Modeling. Bart De Win Secure Application Development Course, Credits to

Cryptography and Network Security Chapter 1

Failure Tolerance. Distributed Systems Santa Clara University

05 Indirect Communication

Advanced Distributed Algorithms and Data Structures. Christian Scheideler Institut für Informatik Universität Paderborn

Introduction to Distributed Systems (DS)

DISTRIBUTED COMPUTER SYSTEMS

Consensus and related problems

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Middleware and Interprocess Communication

Distributed Systems. To do. q Distributed systems q This class q Models and architectures q Next: A brief introduction to Go

Assignment 12: Commit Protocols and Replication Solution

Lecture 1: Introduction to distributed Algorithms

Overview. System architectures Software layers Architectural models. Design requirements. client-server, peer processes, mobile code, agents,...

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q

GEMOM Genetic Message Oriented Secure Middleware Significant and Measureable Progress beyond the State of the Art

BYZANTINE AGREEMENT CH / $ IEEE. by H. R. Strong and D. Dolev. IBM Research Laboratory, K55/281 San Jose, CA 95193

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer

Module 8 - Fault Tolerance

Distributed Information Processing

Consensus Problem. Pradipta De

Transcription:

Middleware and Distributed Systems System Models Dr. Martin v. Löwis

System Models (Coulouris et al.) Architectural models of distributed systems placement of parts and relationships between them e.g. client-server, peer-to-peer Fundamental models formal description of properties common to all architectural models addresses correctness, reliability, and security Selected drawings taken from Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design, Edition 4, Pearson Education 2005 System Models Middleware and Distributed Systems 2

Architectural Models placement of components across a network of computers define useful patterns for the distribution of data and workload interrelationships between components functional roles, patterns of communication abstraction: server processes, client processes, peer processes variation of models, e.g. for client-server architecture define mobile code to have some part of the application run on the client support mobile clients to allow matching of clients and servers dynamically System Models Middleware and Distributed Systems 3

Software Layers Pearson Education 2005 Application Services Middleware Operating System Computer and network hardware }Platform System Models Middleware and Distributed Systems 4

5 Protocol Layers: OSI-RM Application Presentation Session Transport Network Data Link Physical Application Protocol Presentation Protocol Session Protocol Transport Protocol Network Protocol Data Link Protocol Physical Protocol Application Presentation Session Transport Network Data Link Physical System Models Middleware and Distributed Systems

Client - Server Model Client: consumer process, uses remote services / information Server: provider process, offers a service / information may in turn be client of another server Pearson Education 2005 Client Server Server Client Node Process System Models Middleware and Distributed Systems 6

potentially large number of participants often, home users communication pattern varies over time Sharable objects replication necessary to provide resilience in the event of disconnection Peer 1 Application Peer 2 Application Pearson Education 2005 Peer 3 Application Peer 4 Application Peers 5... N System Models Middleware and Distributed Systems 7

Variation: Services provided by multiple servers Services provided by multiple servers Service Pearson Education 2005 Server Client Server Client Server System Models Middleware and Distributed Systems 8

Variation: Proxy Servers and Caches Pearson Education 2005 Client Proxy server Web server Client Web server System Models Middleware and Distributed Systems 9

Variation: Mobile Code Pearson Education 2005 a) client request results in the downloading of applet code Client Applet code Web server b) client interacts with the applet Client Applet Web server System Models Middleware and Distributed Systems 10

Variation: Mobile Agent running program is moved from node to node (with both code and data) security challenge to the server: client gets hold of the entire state of the agent only have non-secret data in the agent security challenge to the client: client node runs arbitrary server-defined code need to establish trust in agent code need to restrict agent's access to local resources (sandboxing) System Models Middleware and Distributed Systems 11

Variation: Thin Clients Client performs just I/O, no computation Pearson Education 2005 Network computer or PC Compute server Thin Client network Application Process System Models Middleware and Distributed Systems 12

s and Objects Set of operations offered by a process is defined by its interface more precisely: set of messages it is able to send and receive often formally specified in interface definitions object-oriented middleware applications: interfaces get implemented by classes System Models Middleware and Distributed Systems 13

Design Requirements for Distributed Architectures Various objectives for creation of distributed systems sharing of computational resources (e.g. cluster computing) sharing of data sharing of services Performance issues: responsiveness, throughput, load balancing Quality of Service (QoS): reliability, security, performance, adaptability, timecritical data Dependability: correctness, security, fault tolerance, (maintainability) Caching and Replication System Models Middleware and Distributed Systems 14

Fundamental Models Model: abstraction of essential properties of a natural phenomenon, for the purpose of understanding and analysis make explicit all relevant assumptions make generalizations concerning what is possible or impossible Models of distributed systems: Reasoning about Interaction (e.g. communication involves delays) Failure (node and network failure threatens correct operation of system) Security (consider attacks by both internal and external agents) System Models Middleware and Distributed Systems 15

Interaction Notion of distributed algorithm: each node has a set of data, and runs a program state of each node not accessible to any other node nodes interchange messages assume that all activity in the system is driven by message reception (may need to consider system boundaries specially) relative speed of nodes should assumed to be unknown performance of network: latency, bandwidth, jitter each node has its own internal clock with specific drift rate - clock synchronization is necessary System Models Middleware and Distributed Systems 16

Interaction (cntd.) two variants of interaction: synchronous and asynchronous synchronous systems: known lower and upper time bound for each execution step, for each message transmission, and for the clock drift consequence: can introduce a pulsed execution system practically difficult to build, may help in simplifying analysis asynchronous systems: messages can arrive and be sent at any time event ordering: can usually assume no relative order of reception wrt. sending of messages exception: messages sent on an order-preserving channel System Models Middleware and Distributed Systems 17

Interaction: Lamport's "Logical Time" (1978) happens-before relation: e1 happens before e2, iff e1 is executed by the same process before e2, or e1 is a send operation, and e2 is the corresponding receive operation, or there is an e3 such that e1 happens before e3, and e3 happens before e2 logical time: Assign a number L to each event, such that L(e1) < L(e2) if e1 happens before e2 System Models Middleware and Distributed Systems 18

Logical Time (cntd.) send receive Pearson Education 2005 receive X 1 m 1 4 Y 2 receive send 3 m 2 receive Physical time Z receive receive send A m 3 m 1 m 2 receive receive receive t 1 t 2 t 3 System Models Middleware and Distributed Systems 19

Failure Model Omission Failures: process or channels fails to perform an operation process omission failure (e.g. crash failure) fail-stop: other processes can detect crash (requires guaranteed delivery of messages) communication omission failures (message drop) Arbitrary Failures (Byzantine failure): anything may happen Timing Failures: synchronous system: activities not completed within pulse real-time systems: activity not completed within promised time System Models Middleware and Distributed Systems 20

Failure Model (cntd.) Masking failures: reconstruct reliable services on top of unreliable ones through retries, error correction,... Reliability of one-to-one communication: validity (messages are eventually delivered to the receiver) integrity (received message identical to sent one, and no message is delivered twice) System Models Middleware and Distributed Systems 21

Security Model securing processes and channels against unauthorized access protecting objects: access rights given to a principal assumption of an enemy (aka adversary), capable of (threat model) sending messages to any process reading and copying any message between a pair of processs enemy may operate either legitimitely-connected node, or illegal node System Models Middleware and Distributed Systems 22

Security Model (cntd.) threat to processes: may receive messages sent by enemy may not be able to reliably determine identity of sender server: may not be able to identify principal client: may fall to "spoofing" Threats to communication channels: enemy may copy, alter, inject, or delete messages gain information only intended for the communication partner Other threats: denial of service, trojan horses,... Defeating security threats: cryptography, authentication, secure channels System Models Middleware and Distributed Systems 23