Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.