Presentation is loading. Please wait.

Presentation is loading. Please wait.

Based on last years lecture notes, used by Juha Takkinen.

Similar presentations


Presentation on theme: "Based on last years lecture notes, used by Juha Takkinen."— Presentation transcript:

1 Based on last years lecture notes, used by Juha Takkinen

2 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.

3 Definition of a Distributed System (2) Figure 1-1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.

4 Examples of Distributed Systems Network of workstations at a university Workflow information system supporting automatic order processing World Wide Web

5 Goals of Distributed Systems What makes it worth the effort? Connecting Users and Resources Transparency Openness Scalability

6 Transparency in a Distributed System Different forms of transparency in a distributed system. Hide whether a (software) resource is in memory or on disk Persistence Hide the failure and recovery of a resourceFailure Hide that a resource may be shared by several competitive users Concurrency Hide that a,ultiple copies of a resource existReplication Hide that a resource may be moved to another location while in use Relocation Hide that a resource may move to another locationMigration Hide where a resource is locatedLocation Hide differences in data representation and how a resource is accessed Access DescriptionTransparency

7 Openness Services are offered according to standard rules that describe syntax and semantics E.g., Interface Definition Language Interoperability and portability Separating Policy from Mechanism!

8 Scalability (Problems)‏ Examples of scalability limitations. Doing routing based on complete informationCentralized algorithms A single on-line telephone bookCentralized data A single server for all usersCentralized services ExampleConcept

9 Scaling Techniques Scalability problems appear as performance problems Three basic techniques: –hiding communication latency –distribution –replication Asynchronous communication Divide and conquer Caching (consistency!)

10 Scaling Techniques (1)‏ 1.4 The difference between letting: a)a server or b)a client check forms as they are being filled

11 Scaling Techniques (2)‏ 1.5 An example of dividing the DNS name space into zones.

12 More Scaling CDN (e.g., akamai) Youtube, Facebook VoD Google

13 Common Pitfalls The network is reliable The network is secure The network is homogenous The topology does not change Latency is zero Bandwidth is infinite Transport cost is zero There is one administrator

14 Example types of systems Distributed computing Cluster vs grid computing Distributed information systems Transactions (incl. nested) Distributed pervasive systems Home: plug and play eHealth (BAN) Sensor networks

15 Networked software: Architectural Styles (1) Layered architectures Object-based architectures Data-centered architectures Event-based architectures

16 Architectural Styles (2) Figure 2-1. The (a) layered architectural style and …

17 Architectural Styles (3) Figure 2-1. (b) The object-based architectural style.

18 Architectural styles (4) data-centric: e.g. web-based distributed systems shared distributed file system communication through files

19 Architectural Styles (5) Figure 2-2. (a) The event-based architectural style and …

20 Architectural Styles (6) Figure 2-2. (b) The shared data-space architectural style. Event-based and data-centric!

21 Centralized Architectures Figure 2-3. General interaction between a client and a server.

22 Application Layering The user-interface level The processing level The data level

23 Processing Level The general organization of an Internet search engine into three different layers 1-28

24 Multitiered Architectures (1) The simplest organization is to have only two types of machines: A client machine containing only the programs implementing (part of) the user-interface level A server machine containing the rest, – the programs implementing the processing and data level

25 Physical two-tired Architectures‏ Alternative client-server organizations (a) – (e). 1-29

26 Multitiered Architectures (2)‏ An example of a server acting as a client. 1-30

27 Modern Architectures An example of horizontal distribution of a Web service. 1-31

28 Decentralized Architectures Vertical distribution Horizontal distribution Peer-to-peer distribution

29 Overlays and p2p Distributed Hash tables (DHT) Chord CAN Unstructured Gnutella Super peers Hybrid

30 Hybrid of client-server and p2p Edge-server system CDN Collaborative BitTorrent


Download ppt "Based on last years lecture notes, used by Juha Takkinen."

Similar presentations


Ads by Google