Ds 01
Ds 01
L-T- P: 3-0-0 3
Class Schedule:
Tues: 12.05 -01.00
Wed: 12.05 -01.00
Thurs: 12.05 -01.00
• Personalise environments
• Location independence
• Modularity & expandability
• Availability & reliability
• Scalability
Communication: Make human-to-human communication easier
-- Email.
Consequences
Distributed systems are concurrent systems
• The Internet
– Heterogeneous network of computers and
applications
– Implemented through the Internet Protocol Stack
– Typical configuration:
A typical portion of the Internet
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
Examples (cont’d)
• Intranets
– Locally administered network
– Usually proprietary (e.g., the University campus
network)
– Interfaces with the Internet
Firewalls
– Provides services internally and externally
A typical intranet
Local area
Web server network
email server
print
File server
other servers
the rest of
the Internet
router/firewall
Examples (cont’d)
• Distributed Multimedia-Systems
• Some approaches
1. Middleware (e.g., CORBA): transparency of
network, hardware, software and programming
language heterogeneity
2. Mobile Code (e.g., JAVA): transparency from
hardware, software and programming language
heterogeneity through virtual machine concept
Openness
• One of the important features of distributed
systems is openness and flexibility:
– every service is equally accessible to every client (local
or remote);
– it is easy to implement, install and debug new
services;
– users can write and install their own services.
• Key aspect of openness:
- Standard interfaces and protocols (like Internet
communication protocols)
- Support of heterogeneity (by adequate middleware, like
CORBA)
Openness(Cont’d.)
Middleware
Node1 Node2
Software Architecture
Reliability and Fault Tolerance
One of the main goals of building distributed
systems is improvement of reliability.
Availability: If machines go down, the system
should work with the reduced amount of
resources.
• There should be a very small number of critical resources;
critical resources: resources which have to be up in order
the distributed system to work.
• Key pieces of hardware and software (critical resources)
should be replicated if one of them fails another one
takes up - redundancy.
Data on the system must not be lost, and copies stored
redundantly on different servers must be kept consistent.
• The more copies kept, the better the availability, but
keeping consistency becomes more difficult.
Reliability and Fault Tolerance
Fault-tolerance is a main issue related
to reliability: the system has to detect
faults and act in a reasonable way:
• mask the fault: continue to work with
possibly reduced performance but
without loss of data/information.
• fail gracefully: react to the fault in a
predictable way and possibly stop
functionality for a short period, but
without loss of data/information.
Security
Security of information resources:
1. Confidentiality: Protection against
disclosure to unauthorized person
2. Integrity: Protection against alteration and
corruption
3. Availability: Keep the resource accessible.
The appropriate use of resources by different
users has to be guaranteed.
Distributed systems should allow communication between
programs/users/resources on different computers .