Presentation is loading. Please wait.

Presentation is loading. Please wait.

Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.

Similar presentations


Presentation on theme: "Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley."— Presentation transcript:

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

9

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

32

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


Download ppt "Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley."

Similar presentations


Ads by Google