Académique Documents
Professionnel Documents
Culture Documents
Introduction
Distribution
Physical Location
E.g. user data stored on remote server
Higher performance
E.g. cluster computing
Fault tolerance
E.g. backup server
Connection
Formerly isolated systems are connected
Additional functionality
E.g. World Wide Web
Universitt Duisburg-Essen Torben Weis 3
Verteilte Systeme
Characteristics of Distributed Systems
Parallel activities
Autonomous components executing concurrent tasks
Communication via message passing
No shared memory
Resource sharing
Printer, database, other services
No knowledge of global state
No single process can have knowledge of the current global
state of the system
No global clock
Only limited precision for processes to synchronize their
clocks
Universitt Duisburg-Essen Torben Weis 4
Verteilte Systeme
Differentiation
Multiprocessor systems
Shared memory
E.g. dual processor system
Multicomputer systems
No shared memory
Homogeneous in hard- and software
Massively Parallel Processors (MPP)
Workstation clusters
Heterogeneous
This is the scope of this lecture!
What if
Your customer uses a completely different hardware?
(PC, MAC, Android, )
a different operating system? (Windows, Linux, )
a different way of representing data? (ASCII, ISO
8859-1, UTF-16, )
Compatibility
What if
You want to move your business and computers to
the Caribbean (because of the weather)?
Your customer moves to the Caribbean (more likely)?
Distribution transparency
What if
Two customers want to order the same item at the
same time?
Concurrency
What if
The database with your inventory information
crashes?
Your customers computer crashes in the middle of an
order?
Fault tolerance
What if
Someone tries to break into your system to steal data?
sniffs for information?
your customer orders something and doesnt
accept the delivery saying he didnt?
Security
What if
You are so successful that millions of people are
visiting your online store at the same time?
Scalability
Universitt Duisburg-Essen Torben Weis 10
Verteilte Systeme
Business Example Challenges (5)
Compatibility
Heterogeneous components must be able to
interoperate
Distribution transparency
Distribution should be hidden from the user
Distributed system appears coherent to the user
Fault tolerance
Failure of a component (partial failure) should not
result in failure of the whole system
Scalability
System should work efficiently with an increasing
number of users and orders
Concurrency
Shared access to resources must be possible
Openness
Interfaces should be publicly available to ease adding
new components
Security
The system should only be used in the way intended
Migration transparency
Hides that a resource has been moved
E.g. mailbox moves to another server
Relocation transparency
Hides that a resource has been moved while the
resource is in use
Universitt Duisburg-Essen Torben Weis 15
Verteilte Systeme
Distribution Transparency (2)
Access transparency
Access to local or remote resources is identical
E.g. Network File System
Replication transparency
Access to replicated resources as if there was just one
Failure transparency
Tasks can be completed despite failures
E.g. message retransmission
Concurrency transparency
A process should not notice that there are others
sharing the same resources
Persistence transparency
Masks the deactivation and reactivation of an object
E.g. application continues with a computation
although the process has been restarted
Transaction transparency
Hides the coordination required to satisfy the
transactional properties of operations
Failure
An offered service no longer complies with its
specification, e.g. web server is not responsive
Fault
Cause of a failure, e.g. server hard disk crashed
A fault in the system is the failure of a component
E.g. hard disk fails its function due to fault in
magnetic head
Fault tolerance
No failure despite faults
Universitt Duisburg-Essen Torben Weis 18
Verteilte Systeme
Fault Tolerance Mechanisms
Fault detection
Checksums, heartbeat,
Fault masking
Retransmission of corrupt messages, redundancy,
Fault toleration
Exception handling, timeouts,
Fault recovery
Rollback mechanisms,
Performance
1 server handles 1000 requests, 2 servers handle
2000 requests, etc.
Load balancing
Distribute work requests between components
Partitioning
Components are responsible for different parts
Replication
Copy resources to multiple components
Caching
Save resource temporarily after fetching it
Open system:
... a system that implements sufficient open
specifications for interfaces, services, and
supporting formats to enable properly
engineered applications software to be ported
across a wide range of systems with minimal
changes, to interoperate with other applications
on local and remote systems, and to interact
with users in a style which facilitates user
portability (Guide to the POSIX Open Systems
Environment, IEEE POSIX 1003.0).
Integrity
No corruption or alteration of data
E.g. intact account number in a money transfer
Authenticity
Data comes from its originator
E.g. signed message
Non-repudiation
Proof of sending / receiving an information
E.g. signed message
Availability
Access to resources must always be possible
E.g. despite of denial of service attack
Encryption
E.g. AES, RSA
Digital signatures
E.g. RSA, ECDSA
Authentication
E.g. password, public-key authentication
Authorization
E.g. access control lists
Client-server systems
Cloud computing systems
Distributed computing systems
Cluster computing
Grid computing
Peer-to-peer systems
Pervasive systems
Client request
reply
Server
request
reply
Client
Computer
Process
History
Development driven by new hardware (e.g. PCs and
Ethernet)
Replaced monolithic mainframe time-sharing
applications and dumb terminals
Motivation
Server provides access to shared resources
Database, files, printers,
Client on (cheap) workstations relies on server
Less application logic, mainly information presentation
Advantages
Easy to set up
Easy to manage
Problems
Server is the weak point (scalability, security)
request
Client Server
reply
Peer
Peer
Peer
Peer