Distributed System Models (Fundamental Model). Architectural Model Goal Reliability Manageability Adaptability Cost-effectiveness Service Layers Platform.

Slides:



Advertisements
Similar presentations
SYSTEM MODEL From Chapter 2 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Advertisements

Some ideas from Chapter 1
CMPT 431 Dr. Alexandra Fedorova Lecture II: Architectural Models.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Teaching material based on Distributed Systems: Concepts and Design, Edition 3, Addison-Wesley Copyright © George Coulouris, Jean Dollimore, Tim.
Slides for Chapter 2: Architectural Models
Edition 3, © Addison-Wesley 2001
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Failure Detectors Steve Ko Computer Sciences and Engineering University at Buffalo.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
OCT Masters of Information Systems Management 1 Organizational Communications and Distributed Object Technologies Week 3: Models and Architectures.
System Models. Architectural model Structure of the system in terms of components Goals:  reliable, manageable, adaptable, cost-effective system design.
OCT1 Principles From Chapter Two of “Distributed Systems Concepts and Design” Material on Lamport Clocks from “Distributed Systems Principles and Paradigms”
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture II: Architectural Models.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Distributed System Models
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Distributed Systems – CS425/CSE424/ECE428 – Fall Nikita Borisov — UIUC1.
IS473 Distributed Systems
October 2005Distributed systems: Introduction1 Distributed Systems: Introduction.
CSE 486/586 Distributed Systems Failure Detectors
1 A Modular Approach to Fault-Tolerant Broadcasts and Related Problems Author: Vassos Hadzilacos and Sam Toueg Distributed Systems: 526 U1580 Professor:
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
CH2 System models.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Exercises for Chapter 2: System models
1 Lecture 2: System Models Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2003.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Architectures of distributed systems Fundamental Models
Introduction Architecture Models Fundamental Models Summary Chapter 2: System Model.
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 2: Architectural.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Chapter 2: Architectural Models Jenhui Chen. Introduction zArchitectural models ySoftware layers ySystem architecture yVariations on the client-server.
Agenda Fail Stop Processors –Problem Definition –Implementation with reliable stable storage –Implementation without reliable stable storage Failure Detection.
Lecture 11 Failure Detectors (Sections 12.1 and part of 2.3.2) Klara Nahrstedt CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009)
Prepared By: Md Rezaul Huda Reza
Chapter 2: System Models  Architectural Models  Fundamental Models.
Slides for Chapter 2: Architectural Models
1DT066 D ISTRIBUERADE I NFORMATIONSSYSTEM Distribuerade System Karaktäristik och Design 1.
D ISTRIBUTED S YSTEM UNIT-1 Prepared By: G.S.Mishra.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
Distributed System Models
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
Network Security Celia Li Computer Science and Engineering York University.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 System Models by Dr. Sarmad Sadik.
Distributed Systems: Concepts and Design Jinghai Rao 13,9,2000.
1 SYSTEM MODEL. 2 Topics  Introduction  Architectural Models  Fundamental Models SYSTEM MODEL.
Nouf Al Batati NET 422. Course outline Characterization of distributed systems Introduction Examples Resource sharing and the web Challenges Summary system.
Distributed Systems Lecture 4 Failure detection 1.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
CSE 486/586 Distributed Systems Failure Detectors
CSE 486/586 Distributed Systems Failure Detectors
Chapter 2: System Model Introduction Architecture Models
Slides for Chapter 2: Architectural Models
Slides for Chapter 2: Architectural Models
SYSTEM MODEL From Chapter 2 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
COMP28112 Lecture 2 A few words about parallel computing
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
CSE 486/586 Distributed Systems Failure Detectors
Chapter 2: System models
Presentation transcript:

Distributed System Models (Fundamental Model)

Architectural Model Goal Reliability Manageability Adaptability Cost-effectiveness Service Layers Platform Middleware System Architecture Client/Server Proxy Peer to Peer Variations on Client/Server Mobile code and mobile agent Design requirements for distributed systems

Objectives of the lecture To provide fundamental models that reflect common properties for distributed system designs. To understand the characteristics of the most common fundamental models of distributed systems.

System models – what and why? System model: Abstract, consistent description of a relevant aspect of a distributed system. A system model could address: What are the main entities in the system? How do they interact? What are the characteristics that affect their individual and collective behavior? The purpose of a system model: Make explicit all assumptions. To make generalizations concerning what is possible or impossible.

Distributed system models Architectural models: ? Fundamental models: Formal description of system properties common in all architectural models Interaction, failure, security

Fundamental models Interaction model: Performance of processes and communication channels, absence of a global clock, timing problems, … Failure model: Failures of processes and communication channels, reliable communication… We define and Classifies the faults and their effects Security model: Possible threats to processes and communication channels secure channels…

Interaction model - basics Interaction Multiple server processes may cooperate to provide service eg.DNS A set of peer processes may cooperate to achieve common goal eg. Voice conferencing Communication & Coordination Distributed Algorithm definition of the steps to be taken by each of the processes of which DS is made of, including the transmission of messages. Rate at which each process proceed and the timing of transmission of messages cannot in general be predicted. Each process has its own state. Significant factors affecting interacting processes: Communication performance. Lack of global notion of time.

Interaction model – Significant factors Performance of communication channels: Latency. Delay between sending of a message by one process and its receipt by another. Transmission time Time taken to for the first of the string of bits transmitted through a network to reach its destination. Delay network access time Increase significantly with increase in network load. Operating system communication services time In sending and receiving messages. Varies with load on OS Bandwidth. total amount of information that can be transmitted in given time Jitter. Variation in the time taken to deliver a series of messages. e.g. multimedia data

Interaction model – Signifiant factors (cont.) Computer clocks and timing events. Local processes use time service Different time values for processes at different systems Drift rate The relative amount of time that a clock differs from a perfect reference clock Computers may use radio receivers to get time from GPS Costly

Interaction model – synchronous vs. asynchronous Synchronous distributed systems: The time to execute each step of a process has known lower and upper bounds. Each message transmitted over a channel is received within a known bounded time. Each process has a local clock whose drift rate from real time has a known bound.

Interaction model – synchronous vs. asynchronous Asynchronous distributed systems – no bounds on: Process execution speed. Message transmission delays. Clock drift rates. Web is asynchronous system Actual distributed systems are very often asynchronous Sharing processors Sharing network

Interaction model – event ordering Lamport Logical Clock for time stamping

Failure Models Failure System doesn’t give desired behavior Component-level failure System-level failure (incorrect result) Fault Cause of failure (component-level) Transient: Not repeatable Intermittent: Repeats, but (apparently) independent of system operations Permanent: Exists until component repaired Failure Model How the system behaves when its not working properly

Failure models - Types Omission failures. Arbitrary failures. Timing failures.

Failure model - omission failure (1) A process or communication channel fails to perform actions that it is supposed to do. Process omission failures: Crash. Use timeouts. Process crash is called Fail-stop If other processes can detect certainly that Process has been crashed. Can be produced in synchronous systems only. Where message delivery is guaranteed.

Failure model – omission failure (2) Communication omission failures: Communication primitives are send and receive. Send-omission failures. Receive-omission failures. Channel-omission failures. Also known as dropping message Generally caused by Lack of buffer space at receiving end or intervening gateway Network transmission error, detected by a checksum

Failure model – Arbitrary failure Arbitrary or Byzantine failures Describe the worst possible failure semantics, in which any type of error may occur process/channel exhibits arbitrary behavior Arbitrary Process failure Process may omit a step/s or Perform uninterested step/s Arbitrary Communication Failure Messages contents can be corrupted, a duplicate message can be sent or message can be lost on its way Rare and can be detected by checksum or message numbering

Failure model – overview of omission failures Class of failureAffectsDescription Fail-stop ProcessProcess halts and remains halted. Other processes may detect this state. Crash ProcessProcess halts and remains halted. Other processes may not be able to detect this state. OmissionChannelA message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer. Send-omissionProcessA process completes asend, but the message is not put in its outgoing message buffer. Receive-omission ProcessA message is put in a process’s incoming message buffer, but that process does not receive it. Arbitrary (Byzantine) Process or channel Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times, commit omissions; a process may stop or take an incorrect step.

Failure model - timing failures Applicable in synchronous distributed systems. Time limits Process execution time Message delivery time Clock drift rate ClassAffectsDescription PerformanceProcessProcess exceeds the bounds on the interval between two steps. PerformanceChannelA message’s transmission takes longer than the stated bound. ClockProcessProcess’s local clock exceeds the bounds on its rate of drift from real time. Real Time Operating System Provides timing guarantee Multimedia

Failure model - remedies Masking failures: A knowledge of the failure characteristic of a component can enable us to develop a reliable service which use such components which can fail. Converting failure, retransmit message, replication, restoring information Reliability of one-to-one communication: Correct message delivery in presence of failure Validity: Validity: Any message in the outgoing message buffer is eventually delivered to the incoming message buffer. Integrity: Integrity: The message received is identical to one sent, and no messages are delivered twice.

Security model - basics The security of a distributed system: securing the processes and the channels protecting the objects against unauthorized access. Protecting objects. Access rights:Access rights: Who is allowed to perform operation Principal:Principal: Authority associated with each invocation and each result – The behalf on which it is issued

Security model – Securing processes Securing processes and their interactions. Processes interact by sending messages Servers and Peers expose their interfaces

Security model – enemies and threats The enemy capable of sending any message to any process and reading or copying any message between a pair of processes. Threats to processes. generate a message with a forged source IP address Servers. Clients. Threats to communication channels. copy, alter or inject messages as they travel across the network Privacy Integrity

Security model - the enemy Communication channel Copy of m Process p q m The enemy m’

Security model – defeating security threats Shared secret Private information of two users Encryption Process of scrambling messages to hide the contents Cryptography The science of keeping messages secure based on encryption algorithms that use secret keys Authentication. include in a message an encrypted portion to guarantee its authenticity

Security model - Secure channels Secure channels. Encryption and authentication are used to build secure channels as service layers on top of the exiting communication services Characteristics Identity of the processes Privacy and integrity Physical or logical time Principal A Secure channel Process p q Principal B

Security model – Other possible threats Denial of service attack by making excessive and pointless invocations resulting in overloading of physical resource Mobile code Can play Torjan Horse role e.g. attachment, java applets

Summary Models in general. Architectural models: Fundamental models: Interaction. Failure. Security.