DISTRIBUTED SYSTEM
Distributed Systems
Characterization,goal andclient-
server model
1
Instructor:Hailemichael A.
OUTLINE
1. What is a Distributed System
2. Common Characteristics
3.organization and goals of distributed
systems
4. hardware and software concept
5.client-server model
6.SUMMARY
2
Instructor:Hailemichael A.
1. WHAT IS A DISTRIBUTED SYSTEM?
Definition: A distributed system is one in which
components located at networked computers
communicate and coordinate their actions only by
passing messages.
Instructor:Hailemichael A.
1.1 CENTRALIZED SYSTEM CHARACTERISTICS
One component with non-autonomous parts
Component shared by users all the time
All resources accessible
Software runs in a single process
Single point of control
Single point of failure
4
Instructor:Hailemichael A.
CHARACTESTICS OF DISTRIBUTED SYSTEM
Multiple autonomous components
Components are not shared by all users
Resources may not be accessible
Software runs in concurrent processes on different
processors
Multiple points of control
Multiple points of failure
5
Instructor:Hailemichael A.
3. COMMON CHARACTERISTICS
What are we trying to achieve when we construct a
distributed system?
Certain common characteristics can be used to assess
distributed systems
Scalability
Transparency
Fault Tolerance
Concurrency
Heterogeneity
6
Instructor:Hailemichael A.
3.1SCALABILITY
VAbility to grow and manage increased load by adding
more resources.
Can be horizontal (adding more machines) or vertical
(adding resources to existing machines).
7
Instructor:Hailemichael A.
3.2 TRANSPARENCY
Access Transparency: Users should not be aware
of the location of resources.
Location Transparency: Resources can be
accessed without knowing their physical location.
Migration Transparency: Resources can move
without affecting the operations.
8
Instructor:Hailemichael A.
3.4 FAULT TOLERANCE
Ability to continue operating in the event of a
failure of one or more components.
Redundancy and replication are often used to
achieve this.
Fault tolerance is achieved by
recovery
redundancy
9
Instructor:Hailemichael A.
3.6 CONCURRENCY
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
10
Instructor:Hailemichael A.
HETEROGENEITY
Supports a variety of hardware, operating
systems, and networks.
Allows for the integration of diverse components.
11
Instructor:Hailemichael A.
4.4 SYSTEM ARCHITECTURES
Client-Server
Peer-to-Peer
12
Instructor:Hailemichael A.
4.4.1 CLIENTS INVOKE INDIVIDUAL SERVERS
Client invocation invocation Server
result result
Server
Client
Key:
Process: Computer:
13
Instructor:Hailemichael A.
4.4.2 PEER-TO-PEER SYSTEMS
Peer 2
Peer 1
Application
Application
Sharable Peer 3
objects
Application
Peer 4
Application
Peers 5 .... N
14
Instructor:Hailemichael A.
1.3 ORGANIZATION OF DISTRIBUTED SYSTEMS
COMPONENTS:
Nodes: Individual computers or devices in the
network.
Middleware: Software that provides common
services and capabilities to applications outside of
what's offered by the operating system.
Communication Protocols: Define the rules for
data exchange between nodes.
15
Instructor:Hailemichael A.
ARCHITECTURAL MODELS
Client-Server Architecture: A server provides
resources or services, and clients request them.
Peer-to-Peer Architecture: All nodes act as both
clients and servers.
Multi-tier Architecture: Divides the application
into layers, improving scalability and
manageability.
16
Instructor:Hailemichael A.
1.4 GOALS OF DISTRIBUTED SYSTEMS
Resource Sharing: Enable users to access and
share resources efficiently.
Openness: Systems should be designed with open
standards to allow for easy integration and
expansion.
Reliability: Ensure that the system can recover
from failures.
Performance: Provide high throughput and low
latency in resource access.
Security: Protect data and resources from
unauthorized access and threats.
17
Instructor:Hailemichael A.
1.5 HARDWARE AND SOFTWARE CONCEPTS
Hardware:
Diverse hardware components including servers,
workstations, and mobile devices.
Network infrastructure like routers, switches,
and communication links.
Software:
Distributed operating systems (e.g., Google
Kubernetes).
18
Applications designed for distributed
environments (e.g., cloud computing services).
Instructor:Hailemichael
1.6 THE CLIENT-SERVER MODEL
Overview:
A foundational architecture for distributed
systems.
Clients request services, and servers provide
them.
Components:
Client: Initiates requests for services.
Server: Listens for requests, processes them, and
sends responses. 19
Instructor:Hailemichael A.
5. SUMMARY
Definitions of distributed systems and comparisons to
centralized systems.
The characteristics of distributed systems.
The eight forms of transparency.
The basic design issues.
20
Instructor:Hailemichael A.