You are on page 1of 13

Irshad Ahmed Sumra

irshad.ahmed@usa.edu.pk
 Distributed System Definition:
◦ A distributed system is a collection of independent
hosts that are connected through a computer
network.
◦ Each host executes components and operates a
distribution middleware.
◦ Middleware enables the components to coordinate
their activities.
◦ Users perceive the system as a single, integrated
computing facility.
Component-1 … Component-n Component-1 … Component-n

Middleware Middleware

Network OS Network OS

Hardware Hardware

Host-1 Host-2
Network
Component-1 … Component-n Component-1 … Component-n

Middleware Middleware

Network OS Network OS

Hardware Hardware

Host-n Host-3
 What are we trying to achieve when we
construct a distributed system?
 Certain common characteristics can be used
to assess distributed systems
1. Heterogeneity
2. Openness
3. Security
4. Scalability
5. Failure Handling
6. Concurrency
7. Transparency
 Variety and differences in
◦ Networks
◦ Computer hardware
◦ Operating systems
◦ Programming languages
◦ Implementations by different developers
 Middleware as software layers to provide a
programming abstraction as well as masking the
heterogeneity of the underlying networks,
hardware, OS, and programming languages (e.g.,
CORBA).
 Mobile Code to refer to code that can be sent from
one computer to another and run at the destination
(e.g., Java applets and Java virtual machine).
 Openness is concerned with extensions and
improvements of distributed systems.
 Detailed interfaces of components need to be
published.
 New components have to be integrated with
existing components.
 Differences in data representation of interface
types on different processors (of different
vendors) have to be resolved.
 In a distributed system, clients send requests to
access data managed by servers, resources in the
networks:
◦ Doctors requesting records from hospitals
◦ Users purchase products through electronic commerce
 Security is required for
◦ Concealing the contents of messages: security and
privacy
◦ Identifying a remote user or other agent correctly:
authentication
 New challenges:
◦ Denial of service attack
◦ Security of mobile code
 Adaptation of distributed systems to
◦ accommodate more users
◦ respond faster (this is the hard one)

 Usually done by adding more and/or faster


processors.
 Components should not need to be changed
when scale of a system increases.
 Design components to be scalable!
 Hardware, software and networks fail!
 Distributed systems must maintain
availability even at low levels of
hardware/software/network reliability.
 Fault tolerance is achieved by
◦ recovery
◦ redundancy
 Components in distributed systems are
executed in concurrent processes.
 Components access and update shared
resources (e.g. variables, databases, device
drivers).
 Integrity of the system may be violated if
concurrent updates are not coordinated.
◦ Lost updates
◦ Inconsistent analysis
 Distributed systems should be perceived by
users and application programmers as a
whole rather than as a collection of
cooperating components.

 These represent various properties that


distributed systems should have.
Different forms of transparency in a distributed system
Transparency Description
Access Hide differences in data representation &
resource access (enables interoperability)
Location Hide location of resource (can use resource
without knowing its location)
Migration Hide possibility that a system may change
location of resource (no effect on access)
Replication Hide the possibility that multiple copies of the
resource exist (for reliability and/or availability)
Concurrency Hide the possibility that the resource may be
shared concurrently
Failure Hide failure and recovery of the resource. How
does one differentiate betw. slow and failed?
Relocation Hide that resource may be moved during use
 Resource accessibility
◦ For sharing and enhanced performance
 Distribution transparency
◦ For easier use
 Openness
◦ To support interoperability, portability,
extensibility
 Scalability
◦ With respect to size (number of users),
geographic distribution, administrative
domains

You might also like