October 2005Distributed systems: Introduction1 Distributed Systems: Introduction.

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
Technical Architectures
CMPT 431 Dr. Alexandra Fedorova Lecture II: Architectural Models.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
City University London
Edition 3, © Addison-Wesley 2001
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
OCT Masters of Information Systems Management 1 Organizational Communications and Distributed Object Technologies Week 3: Models and Architectures.
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.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED COMPUTING
Distributed Systems System Models Chapter 2.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
IS473 Distributed Systems
CS431 Distributed Systems
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 Distributed Computing Class: BIT 5 & 6 Instructor: Aatif Kamal Chapter 01: Character of Distributed Systems Dated: 06 th Sept 2006.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006.
Chapter 1 Characterization of Distributed Systems Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education.
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.
Distributed Systems: Concepts and Design Chapter 1 Pages
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.
Learning Objectives 1.Identify the major categories and trends of distributed system 2.Identify the essential processes of an e- commerce system, and give.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction.
Distributed System Models (Fundamental Model). Architectural Model Goal Reliability Manageability Adaptability Cost-effectiveness Service Layers Platform.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
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.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Shuman Guo CSc 8320 Advanced Operating Systems
Prepared By: Md Rezaul Huda Reza
Chapter 2: System Models  Architectural Models  Fundamental Models.
Slides for Chapter 2: Architectural Models
Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Examples of distributed systems Resource sharing and the web
Distributed System Models
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.
Chapter 1 Characterization of Distributed Systems
Examples of distributed systems Resource sharing and the web
Chapter 2: System Model Introduction Architecture Models
Slides for Chapter 2: Architectural Models
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Slides for Chapter 2: Architectural Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
System Models and Networking Chapter 2,3
Architectures of distributed systems
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Introduction To Distributed Systems
Architectures of distributed systems Fundamental Models
Presentation transcript:

October 2005Distributed systems: Introduction1 Distributed Systems: Introduction

October 2005Distributed systems: Introduction2 Overview of chapters Introduction –Ch 1: Characterization of distributed systems –Ch 2: System models Coordination models and languages General services Distributed algorithms Shared data Building distributed services

October 2005Distributed systems: Introduction3 Introduction: Overview Definitions Examples Resource sharing and the Web Types of concurrency Challenges Architectural models Fundamental Models Summary

October 2005Distributed systems: Introduction4 Definitions Distributed system = –Hardware or software components, –Network –Communication, coordination by message passing. Consequences: –Concurrency –No global clock –Independent failures Motivation –Resource sharing

October 2005Distributed systems: Introduction5 Definitions (cont.) Distributed algorithm = –collection of cooperating algorithms –using message passing –examples: mutual exclusion: to prevent different processes to use the same resource simultaneously

October 2005Distributed systems: Introduction6 Overview Definitions Examples Resource sharing and the Web Types of concurrency Challenges Architectural models Fundamental Models Summary

October 2005Distributed systems: Introduction7 Examples Examples of distributed systems: –Internet & intranets –Distributed UNIX –Mobile & ubiquitous computing –Commercial applications History

October 2005Distributed systems: Introduction8 Example 1: Internet

October 2005Distributed systems: Introduction9 Example 1: Internet (cont.) = A vast interconnected collection of computer networks –collection of intranets connected by backbones ISPs: connectivity + services Services: WWW, , file transfer

October 2005Distributed systems: Introduction10 Example 1: Intranets LAN

October 2005Distributed systems: Introduction11 Example 1: Intranets (cont.) = portion of internet –A collection of LAN’s connected through backbones –Connected to internet through routers +Separate administration +Local security policies Motivation –Internet applications: WWW, , file transfer –More resource sharing Sharing files, printers, databases, Avoiding the installation of software through services over the intranet (using “thin clients”) Firewall: filtering messages at router

October 2005Distributed systems: Introduction12 Example 2: Distributed Unix Origin: Bell labs, 1975 Interprocess communication: BSD UNIX Distributed operating system = Operating system of –a collection of autonomous computers –linked by computer network –equipped with distributed software –to ….. create for the users a single integrated computing facility A technical achievement !

October 2005Distributed systems: Introduction13 Example 2: Distributed Unix (cont) wide spread components (SUN license) –Remote Procedure Calling (RPC) –Network File System (NFS) –Network Information Service (NIS)

October 2005Distributed systems: Introduction14 Example 2: Distributed Unix (cont) Applied research –remove limitations of original UNIX –improve scaling Result.. –new generation of distributed systems –Examples: Mach, Amoeba, Andrew (file system), Kerberos (security) open modular extensible *

October 2005Distributed systems: Introduction15 Example 3: Mobile & ubiquitous computing

October 2005Distributed systems: Introduction16 Example 3: Mobile & ubiquitous computing Miniaturization & wireless networking –Laptops –Handheld devices: Personal Data Assistent, mobile phones, video/digital camera’s,… –Wearable computers: smart watches, smart cards, … –Embedded devices: washing machines, cars, hi-fi systems,… => Mobile computing: => Ubiquitous computing

October 2005Distributed systems: Introduction17 Mobile computing: moving computing devices in and out intranets –Transparent access to home intranet –Access to local resources at remote site  Location-aware computing Ubiquitous computing –Small computing devices everywhere –Communication between devices Example 3: Mobile & ubiquitous computing

October 2005Distributed systems: Introduction18 Challenges –Discovery of resources –Automated reconfiguration of host intranet and mobile device when entering or leaving –Cope with limited connectivity –Privacy and security to Users Visited environment Example 3: Mobile & ubiquitous computing

October 2005Distributed systems: Introduction19 Example 4: Commercial applications E-commerce –On-line retail, home banking Airline reservation systems Telecommunication –Audio and video: real-time traffic Healthcare –Global access to patient information Manufacturing –Resource planning and control …

October 2005Distributed systems: Introduction20 Examples (cont) History –1950s: programmers reserve computers –1960s: batch processing on mainframes –1970s: time sharing on mainframes and minicomputers –1980s: personal computers first: in isolation later: integrated in networks  distributed file systems –1990s: distributed systems increased integration; middleware –2000s: ???  ubiquitous computing

October 2005Distributed systems: Introduction21 Overview Definitions Examples Resource sharing and the Web Types of Concurrency Challenges Architectural models Fundamental Models Summary

October 2005Distributed systems: Introduction22 Types of Concurrency Interleaved computation (single processor) –Job = execution of one program –Concurrent job = cooperating subtasks/threads –interleaved execution –threads communicate via shared memory –a single clock => events can be ordered

October 2005Distributed systems: Introduction23 Parallel computing (Multiprocessor) –job = execution of one program –job = cooperating subtasks/threads –real concurrency –threads communicate via shared memory –a single clock  events can be ordered E.g. SIMD: Single Instruction/Multiple Data Types of Concurrency

October 2005Distributed systems: Introduction24 Distributed computing: –job = execution of many procedures –Job = many cooperating tasks –a single process can have subtasks/threads –real concurrency –processes communicate via message passing –multiple clocks => only partial order for events Types of Concurrency

October 2005Distributed systems: Introduction25 Types of Concurrency Parallel versus Distributed “parallel” hardware: –identical processors, –regular interconnection structure small granularity of tasks frequent communication between tasks homogeneity: tasks perform similar functions Clock synchronised “distributed” hardware: –different types of processors and –networks large granularity of tasks less frequent communication between tasks inhomogeneity: tasks perform different functions synchronized execution of tasks

October 2005Distributed systems: Introduction26 Comparison (cont.) Local concurrency versus Distributed Fundamental realities: *

October 2005Distributed systems: Introduction27 Overview Definitions Examples Resource sharing and the Web Types of Concurrency Challenges Architectural models Fundamental Models Summary

October 2005Distributed systems: Introduction28 Challenges Heterogeneity Openness Security Scalability Failure handling Concurrency Transparency

October 2005Distributed systems: Introduction29 Heterogeneity at many levels –Networks (ethernet, token ring,.. ) –Computer hardware –Operating systems(different API to internet) –Programming languages –Implementations by different developer (data structures) Solutions … middleware –Java RMI –CORBA –Implement uniform high level API Challenges: Heterogeneity Remote procedures Remote method invocation Remote event notification Distributed transactions

October 2005Distributed systems: Introduction30 Challenges: Openness Open systems –enables adding system extensions without disruption or duplication of existing services How? –Uniform communication mechanism to enable distributed programming –Published and standard interfaces to access shared resources Result –open distributed systems –heterogeneous hardware possible

October 2005Distributed systems: Introduction31 Challenges: Security Attacks against –Confidentiality/privacy –Integrity of messages –Authentication of user: simulating false identity –Availability : unauthorized use of resources Accessing files, printers, … Denial of service: blocking server by overwhelming it with requests Mobile code performing unauthorized operations

October 2005Distributed systems: Introduction32 Challenges: Scalability major challenge! –Control cost of physical resources ( cost < O(n), n number of users) –Control performance loss ( loss < O(log n), n size of data) –Prevent software resources running out (e.g. IP addresses) –Avoid performance bottlenecks general techniques: –Replication & partitioning of data, –Caching of data –multiple servers allow scaling up the system while keeping the same software

October 2005Distributed systems: Introduction33 Challenges: Scalability Computers vs. Web servers in the Internet DateComputersWeb serversPercentage 1993, July 1,776, , July6,642,00023, , July19,540,0001,203, , July56,218,0006,598, , July125,888,19731,299, ,298, , July

October 2005Distributed systems: Introduction34 Challenges: Failure handling Partial failures  Difficult to handle Techniques used: –Detecting failures (e.g. checksums) –Masking failures (e.g. message retransmission) –Tolerating failures (e.g. browser announces server not available) –Recovery from failures (e.g. save & restore state) –Redundancy: replicating services

October 2005Distributed systems: Introduction35 Challenges: Concurrency The problem: –different clients simultaneous accessing a shared resource Solutions –limit the number of users to 1 (inefficient and restrictive) –allow concurrent executions non-trivial Synchronization tools are needed –Known techniques e.g. semaphores

October 2005Distributed systems: Introduction36 Challenges: Transparency A system is transparent for a feature if the feature is unobservable for the user Examples: –rlogin : local versus remote computer –Java RMI: local versus remote object Message to local or remote object is the same –GSM: location is transparent Increase of uniformity!

October 2005Distributed systems: Introduction37 Challenges: Transparency Access: identical access to local and remote resources Location: access to resources without knowledge of their physical/network location Concurrency Replication Failure Mobility: allows movement of resources Performance Scaling

October 2005Distributed systems: Introduction38 Overview Definitions Examples Resource sharing and the Web Types of Concurrency Challenges Architectural models Fundamental Models Summary

October 2005Distributed systems: Introduction39 Architectural Models A model of a system = certain aspect of a system = abstract view on a system making abstraction of all properties not related to the selected aspect

October 2005Distributed systems: Introduction40 Architectural models Focus on organization and interaction of the distributed system: –Different component objects/processes –their way of communication Architecture has major impact on quality of system –Architecture determines to great deal whether the system will meet present and expected future demands.

October 2005Distributed systems: Introduction41 Architectural models Architecture: structure in terms of separately specified components Overall goal: structure will meet present and likely future demands Major concerns: make system –Reliable –Manageable –Adaptable –Cost-effective

October 2005Distributed systems: Introduction42 Architectural models Architectural model –Simplifies & abstracts functions of components –Placement of components –Interrelationships between components Overview –Software layers –System architectures –Design requirements

October 2005Distributed systems: Introduction43 Architectural models: Software layers

October 2005Distributed systems: Introduction44 Architectural models: Software layers Platform –Various implementations –Provides communication & cooperation between processes Middleware

October 2005Distributed systems: Introduction45 Architectural models: Software layers Middleware –Purpose Mask heterogeneity Provide convenient programming model –Raises level of communication activities Remote method invocation: RMI, CORBA, DCOM Group communication Notification of events Partitioning, replication of shared data –Provides infrastructural services Naming, transactions, persistent storage

October 2005Distributed systems: Introduction46 Architectural models: Software layers Middleware: limitations end-to-end argument –Some aspects require support at application level

October 2005Distributed systems: Introduction47 Architectural models Architectural model –Simplifies & abstracts functions of components –Placement of components –Interrelationships between components Overview –Software layers –System architectures –Design requirements

October 2005Distributed systems: Introduction48 Architectural models: System architectures Overview –Client-server: different roles n-Tier Architectures Multiple servers Proxy servers and caches Mobile code –Peer-to-peer: cooperation as peers

October 2005Distributed systems: Introduction49 Architectural models: System architectures Client-server model –defines roles for 2 interacting entities –client: needs a particular service sends request to server gets (after some time) reply –server: awaits requests from clients performs requested function –server can be client of another server

October 2005Distributed systems: Introduction50 Architectural models: System architectures Client-server model

October 2005Distributed systems: Introduction51 Architectural models: System architectures One-tier application architecture: Presentation Processing Data mainframe Terminals, or PC + terminal emulation Network

October 2005Distributed systems: Introduction52 Architectural models: System architectures Two-Tier Architecture –2 entities used in the distributed application: at the user desktop: user interface + %(application) at the database server: %(application) + database –thin <> fat client thin:  no application code at desktop, only GUI fat:  all application code at desktop

October 2005Distributed systems: Introduction53 Architectural models: System architectures Two-Tier Architecture: thin client Presentation Processing Data mainframe Network PC

October 2005Distributed systems: Introduction54 Architectural models: System architectures Two-Tier Architecture: fat client Presentation Processing Data mainframe Network PC

October 2005Distributed systems: Introduction55 Architectural models: System architectures Two-Tier Architecture: issues –update of code at clients: hard (many different systems)  thin clients –application code executed at mainframe: performance bottleneck  fat clients

October 2005Distributed systems: Introduction56 Architectural models: System architectures Multi-Tier Architecture –3 entities used in the distributed application: at the user desktop: user interface at the application server application logic at the database server: data

October 2005Distributed systems: Introduction57 Architectural models: System architectures Multi-Tier Architecture: Data mainframe Network Presentation Processing PC Application server

October 2005Distributed systems: Introduction58 Architectural models: System architectures Multi-Tier Architecture: issues –opportunities for better performance more flexibility –interactions between 3 parties more cooperation overhead need for transactions?

October 2005Distributed systems: Introduction59 Architectural models: System architectures Services provided by multiple servers

October 2005Distributed systems: Introduction60 Architectural models: System architectures Services provided by multiple servers –Partition objects Examples: DNS, WWW –Replicated copies of objects Examples: Sun NIS Increases performance & availability Improves fault tolerance

October 2005Distributed systems: Introduction61 Architectural models: System architectures Proxy servers and caches + Reduce load on network & web servers - Consistency!

October 2005Distributed systems: Introduction62 Architectural models: System architectures Mobile code –Good interactive response –Potential security threat

October 2005Distributed systems: Introduction63 Architectural models: System architectures Mobile agents = Running program (code + data) + Travels from computer to computer → Local access to data → Potential security threat

October 2005Distributed systems: Introduction64 Architectural models: System architectures Client-server model + variations –Simple approach to sharing –Centralization of service provision & management → Poor scaling Observations –Functionality today’s desktop >> yesterday’s servers –Always-on broadband connections → Peer-to-peer

October 2005Distributed systems: Introduction65 Architectural models: System architectures Peer processes

October 2005Distributed systems: Introduction66 Architectural models: System architectures Peer-to-peer –Exploit resources in a large number of participating computers –Shared objects distributed over participants –Replication to distribute load & to provide resilience → More complex architecture –Examples: Antecedents: DNS, Netnews/Usenet, Grapevine name registration Napster, Ivy file system

October 2005Distributed systems: Introduction67 Architectural models Architectural model –Simplifies & abstracts functions of components –Placement of components –Interrelationships between components Overview –Software layers –System architectures –Design requirements

October 2005Distributed systems: Introduction68 Architectural models: Design requirements Minimal requirement: –maintain functionality of a non-distributed system added value: –extended resource access –extended application interface for explicit sharing, fault tolerance, etc. –advanced end user applications: CSCW (computer supported cooperative work) QoS … –Reliability –Security –Performance –Adaptability

October 2005Distributed systems: Introduction69 User Requirements Quality of service Reliability and availability –reliability = measure of the likelihood of the system to deviate from the designed behaviour –increased by enabling failure detection and recovery –highly reliable services  often worse response –fault tolerant system: detects failures and either fails gracefully (predictably) masks the fault

October 2005Distributed systems: Introduction70 User Requirements Quality of service Security: new problems –privacy and integrity of users data in network packets by tampering the network cable by connecting a machine to read and/or inject data packets –openness to interface with system software not all machines are physically secure e.g. a bogus file server could be created

October 2005Distributed systems: Introduction71 User Requirements Quality of service Performance –Responsiveness –Throughput Processing speed at clients & servers + data transfer rate –Balancing computational load

October 2005Distributed systems: Introduction72 Overview Definitions Examples Resource sharing and the Web Comparison: distributed versus... Challenges Architectural models Fundamental Models Summary

October 2005Distributed systems: Introduction73 Fundamental models System model gives answers to –What are the main entities in the system? –How do they interact? –What are characteristics that affect individual & collective behavior? Purpose of model: –Make explicit all relevant assumptions –Make generalizations concerning what is possible or impossible

October 2005Distributed systems: Introduction74 Fundamental models Aspects captured in our models: –Interaction: time aspects –Failure –Security

October 2005Distributed systems: Introduction75 Fundamental models: Interaction model Time is important –E.g. multimedia application requires timeliness –E.g. Event ordering problem in Inbox ItemFromSubject 23ZRe:Meeting 24XMeeting 25YRe:Meeting

October 2005Distributed systems: Introduction76 Fundamental models: Interaction model How to avoid the ordering problem? –No problem if clock synchronization –Clock synchronization is sometimes impossible

October 2005Distributed systems: Introduction77 Fundamental models: Interaction model No global notion of time Synchronisation of time impossible due to: –Performance variations: Latency (time between start of sending and end of receiving) Bandwidth Processing time for messages –Computers have different clock drift rates Synchronous model Asynchronous model

October 2005Distributed systems: Introduction78 Fundamental models: Interaction model Synchronous distributed systems –Upper & lower bounds for Time to execute processing step Message transmission Clock drift rate –Allow Use of timeouts to detect process failure Guarantee of timeliness (multimedia) Partial clock synchronisation

October 2005Distributed systems: Introduction79 Fundamental models: Interaction model Asynchronous distributed systems –No time bounds –Many systems are asynchronous E.g. Internet Due to sharing of processors & communication channels Often offer the best performance (because no resources are wasted) –Consequences: Clock synchronization impossible No guarantee of timeliness possible

October 2005Distributed systems: Introduction80 Fundamental models: Interaction model Solution to ordering problem –With (perfect) clock synchronization  no problem –In asynchronous model Facts: –Ordering possible within a single process –Send m before receive m  Event ordering possible Implementation: logical clocks

October 2005Distributed systems: Introduction81 Fundamental models: Interaction model Event ordering

October 2005Distributed systems: Introduction82 Fundamental models Aspects captured in models: –Interaction –Failure –Security

October 2005Distributed systems: Introduction83 Fundamental models: Failure model How can distributed systems fail? –Partial failures – of processes communication channels Taxonomy –Process <> communication channels –Kind of failure: Omission Arbitrary Timing

October 2005Distributed systems: Introduction84 Fundamental models: Failure model Omission failure =Failure to perform an action –Processes: Subclasses: –Crash no further execution –Fail-stop crash + detection possible Consequences for asynchronous systems –Failure not detectable –Reaching agreement impossible –Communication:

October 2005Distributed systems: Introduction85 Fundamental models: Failure model Omission failure –Communication: Send-omission Receive-omission Channel-omission

October 2005Distributed systems: Introduction86 Fundamental models: Failure model Arbitrary or Byzantine failures: =Worst possible failure semantics Any behavior possible –Processes: Omit processing steps Perform unintended steps –Communication Message contents corrupted Non-existing message delivered Messages delivered twice Rare: checksums, sequence numbers

October 2005Distributed systems: Introduction87 Fundamental models: Failure model Class of failureAffectsDescription Fail-stopProcessProcess halts and remains halted. Other processes may detect this state. CrashProcessProcess 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 a send, but the message is not put in its outgoing message buffer. Receive-omissionProcessA 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.

October 2005Distributed systems: Introduction88 Fundamental models: Failure model Timing failures –Applicable in synchronous systems Class of FailureAffectsDescription ClockProcessProcess’s local clock exceeds the bounds on its rate of drift from real time. PerformanceProcessProcess exceeds the bounds on the interval between two steps. PerformanceChannelA message’s transmission takes longer than the stated bound.

October 2005Distributed systems: Introduction89 Fundamental models: Failure model Masking failures –Approach: Hide Convert to a more acceptable failure –Examples: Checksums: corrupted message  omission failure Retransmission of message: hide omission failure

October 2005Distributed systems: Introduction90 Fundamental models Aspects captured in models: –Interaction –Failure –Security

October 2005Distributed systems: Introduction91 Fundamental models: Security model Avoid unauthorized use of resources Secure processes and interactions Communication channel Copy of m Process p q m The enemy m’

October 2005Distributed systems: Introduction92 Fundamental models: Security model Based on architectural model with –Clients –Servers: manage objects

October 2005Distributed systems: Introduction93 Protecting objects Protecting objects/resources by –giving access rights to users –associating with each invocation an authority (a user with access rights) who allows for the use of the object or asked for it e.g. user asks a remote process to print something on his printer the authority here is the user authority = PRINCIPAL principal is user or process server checks identity of authority and checks its access rights Works only if communication is secure

October 2005Distributed systems: Introduction94 Fundamental models: Security model Securing processes and interactions –Threats to processes False identification of sender of message –Threats to communication channels Copy, alter, inject messages –Denial of service Overload resource (channel, processor)

October 2005Distributed systems: Introduction95 Fundamental models: Security model Defeating security threats –Cryptography –Shared secrets  Authentication  Secure channels Principal A Secure channel Process p q Principal B

October 2005Distributed systems: Introduction96 Fundamental models: Security model Uses of model –Security straightforward? NO Processing cost Management cost Inconvenience for users –Approach: Analysis of all threats Acceptable cost

October 2005Distributed systems: Introduction97 Overview Definitions Examples Comparison: distributed versus... Resource sharing and the Web Challenges Architectural models Fundamental Models Summary

October 2005Distributed systems: Introduction98 Summary Distributed systems: –Computers –Processes –Messages –No common clock –Partial failures

October 2005Distributed systems: Introduction99 Summary Challenges –Heterogeneity –Openness –Security –Scalability –Failure handling –Concurrency –Transparency

October 2005Distributed systems: Introduction100 Summary Architectural models: –Variations on client-server +Large scale resource sharing +Management of concurrent updates +QOS Reliability Security Performance adaptability

October 2005Distributed systems: Introduction101 Summary Fundamental models: –Interaction –Failure –security

October 2005Distributed systems: Introduction102 Distributed Systems: Introduction