![Page 1: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/1.jpg)
2010 1
Overview
Distributed systems
![Page 2: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/2.jpg)
2010 2
Layers•Communication is logically on the application layer•Only that has to be considered
•except for speed, reliability, security and cost
•Error correction (and security) might (will) be on application layer, but is usually also on lower layers
![Page 3: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/3.jpg)
2010 3
Client-Server and Peer-to-PeerServer always on; Client and Peers not
P2P: Skype, BitTorrent; IM: partly, messages yes, setup+addr. not
![Page 4: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/4.jpg)
2010 4
Problems•No throughput guaranties:
•problems with bandwidth-sensitive application, like many multimedia applications •some may use adaptive coding techniques (reducing quality) to match available throughput
•No timing (delay or jitter) guaranties•problems for real-time streaming multimedia
•like telephony, multi-layer games, teleconferencing•no solution for this except special networks•non-real time streaming multimedia (like a movie replay) can buffer at the receiver
•No security•this can be cured by SSL(secure socket layer)•also by network layer security methods
![Page 5: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/5.jpg)
2010 5
Distributed systemsA collection of independent computersthat appears to its users (people or programs)as a single coherent system.
![Page 6: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/6.jpg)
2010 6
Goals: sharing, transparent• making resources accessible
– economics: printers, storage systems, supercomputers– information exchange: mail, audio, video– collaboration: groupware, videoconferencing, virtual
organizations• distribution transparency
![Page 7: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/7.jpg)
2010 7
Goals: openness• Openness
– offer services according standard rules• describing syntax and semantics of services• computer networks: protocols• distributed systems: interfaces described in an IDL
(Interface Definition Language)– to achieve interoperability and portability– extensible: add new components or replace existing
• collection of relatively small component• separate policies and mechanism
![Page 8: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/8.jpg)
2010 8
• size: easily add more users and resources
• geographically: increasing distances
• administration: easy to manage if it increases limitations
• decentralized algorithm:
– no machine has complete information about the system state
– each machines makes decisions based only on local information
– failure of one machine does not ruin the algorithm
– no implicit assumption a global clock exists
Goals: scalable
![Page 9: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/9.jpg)
2010 9
Distributing Computing SystemsCluster Computing Systems: high performance computing
![Page 10: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/10.jpg)
2010 10
Grid Computing Systemshigh degree of heterogeneity: resource from different organizations
are brought together in a virtual organization.
![Page 11: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/11.jpg)
2010 11
Distributed Information SystemsTransaction Processing System
•Atomic: To the outside world, the transaction happens indivisibly.•Consistent: The transaction does not violate system invariants.•Isolated: Concurrent transactions do not interfere with each other.•Durable: Once a transaction commits, the changes are permanent.
![Page 12: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/12.jpg)
2010 12
Nested Transaction
![Page 13: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/13.jpg)
2010 13
TP monitor
![Page 14: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/14.jpg)
2010 14
Distributed Pervasive Systems• consisting of mobile and embedded computing devices
– small, battery-powered, mobile, wireless connections
![Page 15: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/15.jpg)
2010 15
Sensor Networks
![Page 16: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/16.jpg)
2010 16
Important topics1. architecture: software and system
2. processes: treads, virtual machines, client-server organization, code migration
3. communication: layered protocols, Remote Procedure Calls, Message Passing Interface
4. naming: names, identifiers, addresses
5. synchronization: (logical) clocks, mutual exclusion, election algorithms
6. consistency and replication
7. fault tolerance
8. security
![Page 17: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/17.jpg)
2010 17
Architecture (1)• layered• object-based• data-centered• event-based
![Page 18: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/18.jpg)
2010 18
Architecture (2)
Processes communicate through a common (passive or active) repository.
Events may carry dataPublish/subscribe systemsLoosely coupled processes
![Page 19: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/19.jpg)
2010 19
Application layering• user-interface• processing• data
Using an Internet search engine
![Page 20: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/20.jpg)
2010 20
Alternative client-server organization
Thin - fat clientseasier – difficult to manage
application and database on different servers Vertical distribution: placing logically different components on different machines
![Page 21: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/21.jpg)
2010 21
Peer-to-peer systemsHorizontal distribution:
client or server physically
split up in equivalent parts,
operating on its own share of the data set
Distributed Hash Tables
data items with key k
mapped on node with
id: smallest id >= k
![Page 22: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/22.jpg)
2010 22
Collaborative Distributed Systemsfor a node to join often a client-server scheme is used
an example is BitTorrent
a Tracker keeps an account of active nodes (currently downloading some file) having (chunks of) the requested file
the client node becomes than active, providing also (chunks of) files
![Page 23: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/23.jpg)
2010 23
Processes and treads• a way to do more things at the same time• illusion that each one has it own virtual CPU• used in clients (e.g. browser to start downloading parts of a
website at the same time) and servers
![Page 24: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/24.jpg)
2010 24
Virtual Machines• not only virtualization of CPU but also of other resources• many different OS’s working concurrently on 1 machine• old technique from the 1960’s
![Page 25: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/25.jpg)
2010 25
Process virtual machinesame OS, different runtime-systems (with applications)
![Page 26: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/26.jpg)
2010 26
Virtual machine managermultiple different OS’s concurrently on same hardware
System HardwareSystem Hardware
Host Operating SystemHost Operating System
Virtual Machine ManagerVirtual Machine Manager
Virtual MachineVirtual Machine
Guest OSGuest OS(Windows 2003)(Windows 2003)
ApplicationsApplications
Virtual MachineVirtual Machine Virtual MachineVirtual Machine
Guest OSGuest OS(Windows NT)(Windows NT)
Guest OSGuest OS(Windows 2000)(Windows 2000)
ApplicationsApplications ApplicationsApplications
V i
r t
u a
l P
h y
s i
c a
l
![Page 27: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/27.jpg)
2010 27
Virtual private servers• bridge the gap between shared web hosting services and
dedicated hosting services• also for workstations• examples VMware, VirtualPC
![Page 28: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/28.jpg)
2010 28
Communication
• send and receive over TCP streams using socket interface for networks
• message passing, higher level of abstraction– representation of integers, floats, structures, etc– usable for shared memory communication and high-
speed interconnect busses on parallel machines• RPC, Remote Procedure Call
![Page 29: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/29.jpg)
2010 29
Naming
• Names are used to refer to entities (anything that can be operated on)
• The naming system may be itself be implemented in a distributed fashion.
• We need to resolve a name to the entity it refers to. • How to organize a human friendly name system?
E.g. files systems, World Wide Web• How to locate from a name the entity it refers to in a
way that is independent of their current location.• How to resolve names by means of entity attributes?• Internets Domain Name System as an example
![Page 30: 20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,](https://reader030.vdocument.in/reader030/viewer/2022032522/56649d6c5503460f94a4b324/html5/thumbnails/30.jpg)
2010 30
Synchronization• Synchronization of distributed processes is more difficult
than that of processes in uni/multi-processor systems.• using physical clocks on systems is not accurate enough,
need for logical clocks• distributed global states• distributed mutual exclusion• the bully election algorithm