1 distribuerede systemer og sikkerhed – 7. februar 2002 from coulouris, dollimore and kindberg...
DESCRIPTION
3 Chapter 2: System Models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001TRANSCRIPT
![Page 1: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/1.jpg)
1
Distribuerede systemer og sikkerhed – 7. februar 2002
From Coulouris, Dollimore and KindbergDistributed Systems:
Concepts and DesignEdition 3, © Addison-Wesley 2001
Presentation based on slides for the book:
Slides modified by Jens B Jorgensen, University of Aarhus
![Page 2: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/2.jpg)
2
Instruktorer
Hold 1: Onsdag 8-11, lokale 1-532-316, Lisa Wells.
Hold 2: Mandag 12-15, H2.28, Thomas Ljungberg (Thomas Mailund vikar 11/2).
Hold 3: Torsdag 11-14, lokale 1-532-316, Thomas Mailund.
Hold 4: Torsdag 11-14, lokale 1-521-228, Thomas Ljungberg (Thomas Pedersen vikar 14/2).
Hold 5: Onsdag 9-12, Kollokvium G4, Thomas Pedersen.
![Page 3: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/3.jpg)
3
Chapter 2: System Models
From Coulouris, Dollimore and KindbergDistributed Systems:
Concepts and DesignEdition 3, © Addison-Wesley 2001
![Page 4: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/4.jpg)
4
System models – what and why?
System model: Abstract, consistent description of a relevant aspect of a
distributed system. Description of the main entities of a system and their
interaction, and individual and collective behaviourAid for design, analysis, discussion, etc.
Make assumptions explicit. Investigate what is possible or impossible.
![Page 5: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/5.jpg)
5
Architectural and fundamental models
Architectural model: Description of the components of a system and the relationship between them.
Fundamental models: Description of properties that are common in architectural models: Interaction model. Failure model. Security model.
![Page 6: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/6.jpg)
6
Architectural models
Describe the components of systems and their interaction; describe mapping of components to computers.
Define useful patterns for the distribution of data and workload.
Define the functional roles of components and the patterns of communication between them.
![Page 7: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/7.jpg)
7
Architectural models – layered architecture
Applications, services
Computer and network hardware
Platform
Operating system
Middleware
![Page 8: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/8.jpg)
8
Basic architectural models – client-server
Server
Client
Client
invocation
result
Serverinvocation
result
Process:Key:
Computer:
![Page 9: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/9.jpg)
9
Basic architectural models – multiple servers
Server
Server
Server
Service
Client
Client
Partition set of objects orreplicate set of objects
![Page 10: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/10.jpg)
10
Basic architectural models – proxy server and caching
Client
Proxy
Web
server
Web
server
serverClient
Cache: Store of recently used data objectscloser than the objects themselves
Proxy servers increase performance and availability
![Page 11: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/11.jpg)
11
Basic architectural models – peer processes
Coordination
Application
code
Coordination
Application
code
Coordination
Application
code
![Page 12: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/12.jpg)
12
Other architectural models – mobile code, web applets
a) client requests results in the downloading of applet code
Web server
ClientWeb serverApplet
Applet codeClient
b) client interacts with the applet
![Page 13: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/13.jpg)
13
Other architectural models – spontaneous networking
Internet
gateway
PDA
service
Music service
serviceDiscovery
Alarm
Camera
Guestsdevices
LaptopTV/PC
Hotel wirelessnetwork
Easy connection and integration; limited connectivity; problems withsecurity and privacy; discovery service with registration and lookup.
![Page 14: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/14.jpg)
14
Architectural models – design requirements
Performance issues: Responsiveness. Throughput. Balancing computational loads.
Quality of service: Reliability. Security. Performance. Adaptability.
Use of caching and replication. Dependability issues:
Correctness. Security. Fault tolerance.
![Page 15: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/15.jpg)
15
Architectural models in practice
Often specified in UML, the Unified Modeling Language, e.g., as: Class diagrams. Object diagrams. Component diagrams. Deployment diagrams.
For more info, see www.uml.org
![Page 16: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/16.jpg)
16
Fundamental models
Description of properties that are common in architectural models: Interaction model (performance/timing model?):
Performance of processes and communication channels, absence of a global clock, timing problems, …
Failure model: Failures of processes and communication channels, reliable communication, …
Security model: Possible threats to processes and communication channels, secure channels, …
![Page 17: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/17.jpg)
17
Interaction model – basic issues
Performance of processes.Performance of communication channels:
Latency. Bandwidth. Jitter.
Computer clocks and timing events. Lack of global notion of time.
![Page 18: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/18.jpg)
18
Interaction model – synchronous vs. asynchronous
Synchronous distributed systems – bounds on: Process execution speed. Message transmission delays. Local clock drift rates.
Asynchronous distributed systems – no bounds.
![Page 19: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/19.jpg)
19
Interaction model – event ordering
send
receive
send
receive
m1 m2
2
1
3
4X
Y
Z
Physical time
Am3
receive receive
send
receive receive receivet1 t2 t3
receive
receivem2
m1
![Page 20: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/20.jpg)
20
Failure model – basic issues
The ways in which failures in a distributed system may occur.
Types of failures: Arbitrary (Byzantine) failures. Omission failures. Timing failures.
![Page 21: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/21.jpg)
21
Failure model – process omission failures
A process fails to perform actions that it is supposed to do.
Process omission failures: Crash. Fail-stop.
Use timeouts.
![Page 22: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/22.jpg)
22
Failure model – communication omission failures
process p process q
Communication channel
send
Outgoing message buffer Incoming message buffer
receivem
Network transmission error Send-omission failure Receive-omission failure
![Page 23: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/23.jpg)
23
Failure model – timing failures
Applicable in synchronous distributed systems.Bounds exceeded for:
Process execution time. Message transmission delay. Clock drift rate.
![Page 24: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/24.jpg)
24
Failure model – remedies
Masking failures: Hiding failures. Converting failures into less severe ones.
Ensuring reliability of one-to-one communication: Validity: Any message sent is eventually delivered. Integrity: All messages received have been sent; no
messages are delivered twice.
![Page 25: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/25.jpg)
25
Security model – basic issues
Protecting objects against unauthorized access. Specify who is allowed to perform which operations. Use access rights.
Securing processes and their interactions.Securing communication channels. Identifying threats.
![Page 26: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/26.jpg)
26
Security model – objects and principals
Network
invocation
resultClient
Server
Principal (user) Principal (server)
ObjectAccess rights
![Page 27: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/27.jpg)
27
Security model - enemies
Communication channel
Copy of m
Process p Process qm
The enemym’
An enemy is capable of sending any message to any process, and read or copy any message in transfer between a pair of processes
![Page 28: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/28.jpg)
28
Security model – threats
Issues: Servers. Clients. Communication channels. Denial of service. Mobile code.
Remedies: Cryptography. Authentication. Secure channels.
![Page 29: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/29.jpg)
29
Security model – secure channels
Principal A
Secure channelProcess p Process q
Principal B
![Page 30: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley](https://reader035.vdocument.in/reader035/viewer/2022062317/5a4d1b0f7f8b9ab05998e3c6/html5/thumbnails/30.jpg)
30
Summary
Architectural models: Basic client-server. Multiple servers. Proxies and caching. Peer processes. …
Fundamental models: Interaction. Failure. Security.