Download presentation
Presentation is loading. Please wait.
Published byTrevor Todd Modified over 9 years ago
1
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley
2
Contents Introduction Physical models Architectural models Fundamental models
3
Contents Introduction Physical models Architectural models Fundamental models
4
Introduction Distributed system design can be explained through three different models: Physical models – models that capture the hardware composition of a system in terms of computer and their interconnecting networks Architectural models – models that describe the system in terms of the computational and communication tasks performed by its computational elements Fundamental models – models that describe an abstraction of individual items in distributed systems. Three models; interaction, failure, and security models
5
Contents Introduction Physical models Architectural models Fundamental models
6
Physical models Basic physical models - baseline physical model Model that shows hardware and software components located at networked computers communicate and coordinate their actions by passing message Three generations of distributed systems: Early distributed systems Internet-scale distributed systems Contemporary distributed systems
7
Physical models
8
Source: Google
10
Contents Introduction Physical models Architectural models Fundamental models
11
Architectural models Architecture? The structure of a system specifying its components and their interrelationships Why architecture? To ensure that the structure will meet the current and future demands on it To provide a reliable, manageable, adaptable and cost- effective system
12
Architectural models Architectural elements: How to understand the fundamental building blocks of a distributed system? What are the entities that are communicating in the distributed system (communicating entities)? How do they communicate, or, what communication paradigm is used (communication paradigms)? What roles and responsibilities do they have in the overall architecture (roles and responsibilities)? How do they mapped on to the physical distributed architecture (what is their placement)?
13
Architectural models Communicating entities: Processes Objects Components Web services
14
Architectural models Communication paradigms Interprocess communication – low-level process support. E.g. message passing primitives, direct access to API, multicast communication Remote invocation – common communication paradigm in distributed systems. Two-way exchange between communicating entities, common techniques; RPC, RMI, request-reply protocols Indirect communication– E.g. group communication, publish-subscribe systems, message queues, tuple spaces, distributed shared memory
15
Architectural models
16
Roles and responsibilities Client-server Peer-to-peer
17
Architectural models Clients invoke individual servers
18
Architectural models Peer-to-peer architecture
19
Architectural models A service provided by multiple servers
20
Architectural models Placement strategies: Mapping of services to multiple servers – several servers process services in separate hosts. Example: Sun Network Information Service (NIS) Caching – storing recently used data objects. Example: web proxy server Mobile code – Code can be downloaded and run on user’s machine. Example: Applet Mobile agents – Code and data travel in a network and performing specific tasks on behalf of the users. Example: Web crawler program
21
Architectural models Web proxy server
22
Architectural models Web applets
23
Architectural models Architectural patterns: Layering –complex system is partitioned into a number of layers. The top layer utilizes the services of the lower layer. Tiered architecture – complementary to layering, organizes the functionality of the given layer and place it in appropriate server (physical nodes). Thin clients – software layer that supports window-based user interface in remote computers. Other patterns : e.g. proxy, brokerage, reflection
24
Architectural models Software and hardware service layers in distributed systems
25
Architectural models Two-tier and three-tier architectures
26
Architectural models Thin Client Application Process Network computer or PC Compute server network Thin clients and compute servers
27
Architectural models Middleware
28
Source: http://www.locher.ch/en/software/ecosys-epc/technology-architecture.html
29
Source: http://ntl.bts.gov/lib/jpodocs/repts_te/13777.html
30
Source: http://www.ecosys.net/ecosys-epc/technology-architecture/
31
Contents Introduction Physical models Architectural models Fundamental models
33
3 categories of fundamental models: Interaction Failure Security
34
Fundamental models Interaction model Process interaction in a distributed system are affected by: Performance of communication channels: latency, bandwidth, jitter Computer clocks – Clock drift rate
35
Fundamental models Failure model defines the ways in which failure may occur in order to provide an understanding of its effects. Categories of failures: Omission failures - Process or channel failed to do something Arbitrary failures - Any type of error can occur in processes or channels (worst) Timing failures - Applicable only to synchronous distributed systems where time limits may not be met
36
Fundamental models Process p Process q Communication channel send Outgoing message bufferIncoming message buffer receive m Processes and channels
37
Fundamental models Class of failure AffectsDescription Fail-stop ProcessProcess 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 asend, 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. Omission and arbitrary failures
38
Fundamental models 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. Timing failures
39
Fundamental models Security model - Secure processes and channels and protect objects encapsulated against unauthorized access. Protecting access to objects - Access rights, authentication of clients Protecting processes and interactions Threats to processes: problem of unauthenticated requests / replies. e.g., "man in the middle" Threats to communication channels: enemy may copy, alter or inject messages as they travel across network. Use of “secure” channels, based on cryptographic methods.
40
Fundamental models Objects and principals
41
Fundamental models Communication channel Copy of m Process p q m The enemy m’ The enemy
42
Fundamental models Principal A Secure channel Process p q Principal B Secure channels
43
The end
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.