0% found this document useful (0 votes)
50 views15 pages

Introduction to Distributed Systems Concepts

This presentation will cover key concepts and aspects of distributed information systems, their importance, and various system architectures
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views15 pages

Introduction to Distributed Systems Concepts

This presentation will cover key concepts and aspects of distributed information systems, their importance, and various system architectures
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Prof. Dr.

Suha Mohammed Hadi

Introduction to Distributed Systems

Welcome to the course on Distributed Systems


This presentation will cover key concepts and aspects of distributed
information systems, their importance, and various system
architectures.

Contact: [Link]@[Link]
2025-2026
Introduction to Distributed
Systems
Distributed systems are a fundamental concept in modern
computing that power everything from social media
platforms to cloud storage services. They involve multiple
interconnected computers working together as a unified
system to solve problems that would be impossible or
impractical for a single machine to handle alone.

This presentation explores the essential aspects of


distributed systems, covering basic definitions, architectural
approaches, design goals, and common challenges. We'll
examine how these systems enable resource sharing, handle
transparency requirements, and balance trade-offs between
performance and reliability in real-world applications.
Two Views on Realizing Distributed Systems

Integrative View Expansive View


This approach focuses on connecting existing networked This method involves extending an existing networked
computer systems into a larger, more comprehensive computer system by adding new computers and resources to
system. Think of it as building bridges between separate grow the system's capabilities. It's like adding new wings to
islands of computing resources. an existing building.

Examples include connecting different departmental Common in cloud computing environments where new
networks within a company or integrating legacy systems servers are dynamically added to handle increased load.
with modern cloud infrastructure. The challenge lies in This approach allows for gradual scaling and often provides
making diverse systems communicate effectively while better integration since new components are designed to
maintaining their individual characteristics. work with the existing architecture.

Both approaches have their merits and are often used in combination. The choice depends on your existing
infrastructure, budget constraints, and specific performance requirements.
Decentralized vs Distributed
Systems

Decentralized System
A networked computer system where processes and resources are
necessarily spread across multiple computers. This distribution is inherent
to the system's design and cannot be centralized.

Examples: Blockchain networks, peer-to-peer file sharing systems like


BitTorrent, where the very nature of the system requires distribution across
multiple nodes.

Distributed System
A networked computer system where processes and resources are
sufficiently spread across multiple computers. This allows for flexibility in
resource allocation and system configuration.

Examples: Web services, cloud computing platforms, database clusters


where distribution is chosen for performance, reliability, or scalability
benefits.
Importance of Understanding
Distributed Systems

01 02

Skill Development Critical Analysis


Developing skills to understand The ability to critically analyze
distributed systems is crucial for distributed systems helps engineers
judging misconceptions about make informed decisions about system
scalability, fault tolerance, and security. architecture and design. This includes
Many developers make incorrect understanding trade-offs between
assumptions about how these systems consistency, availability, and partition
behave under different conditions. tolerance (Consistency, Availability,
Partition tolerance (CAP ) theorem).
03

Practical Application
Understanding these systems enables better implementation and management of
complex networked environments in real-world scenarios. From microservices to
cloud deployments, this knowledge is essential for modern software development.
Perspectives on Distributed Systems

Architecture Communication
Common organizational Facilities for exchanging
structures in distributed data between system
systems, including client- components, including
server, peer-to-peer, and message passing, remote
hybrid models. procedure calls, and
publish-subscribe patterns.

Process
Security
Types of processes and their
relationships within the Ensuring authorized access
system, including threads, to resources in the
virtual machines, and distributed environment
containers. through authentication,
authorization, and
encryption.
Overall Design Goals of Distributed Systems

Resource Sharing
Enabling efficient sharing of computational resources, storage, and services across the network.
This includes sharing expensive hardware, software licenses, and specialized services.

Distribution Transparency
Hiding the complexities of distribution from end-users and applications, making the system appear as a single
coherent entity rather than a collection of separate machines.

Openness
Ensuring interoperability and extensibility through standard interfaces and protocols.
This allows different vendors' systems to work together and enables future enhancements.

Scalability
The ability to grow and accommodate increasing demands without significant performance degradation.
This includes handling more users, data, and geographic distribution.
Resource Sharing in Distributed Systems

Cloud-Based Storage P2P Multimedia Shared Mail Services


Shared storage and file systems Streaming Outsourced email systems providing
accessible across multiple devices Distributed content delivery networks scalable and reliable communication
and locations. Services like Google that enable efficient, large-scale infrastructure. Services like Gmail
Drive, Dropbox, and Amazon S3 allow media streaming. Platforms like and Office 365 handle billions of
users to access their data from Netflix and YouTube use distributed messages daily by distributing the
anywhere while providing systems to cache content closer to workload across multiple data
redundancy and scalability through users, reducing latency and centers worldwide.
distributed infrastructure. bandwidth costs while improving user
experience.
Distribution Transparency

What is Key
transparency? Observation

Distribution
The phenomenon by which a
transparency is
distributed system attempts to hide
handled
the fact that its processes and
through many
resources are physically distributed
different
across multiple computers, possibly
techniques in a
separated by large distances.
layer between
Transparency makes distributed applications
systems appear as single, unified and operating
systems to users and applications. This systems: a
abstraction simplifies interaction with middleware
complex distributed infrastructure. layer.
Middleware in Distributed Systems
Definition Function
Middleware is a software layer that It provides a unified interface for
sits between applications and applications to interact with
operating systems, specifically distributed resources seamlessly.
designed to handle the complexities Middleware handles communication
of distribution transparency. It acts protocols, data serialization, load
as a bridge that abstracts away the balancing, and failure recovery
underlying distributed without exposing these complexities
infrastructure. to application developers.

Importance
Middleware is crucial for
implementing various transparency
techniques in distributed systems.
Examples include CORBA, Java RMI,
gRPC, and modern container
orchestration platforms like
Kubernetes that abstract away
infrastructure complexity.
Types of Distribution Transparency

Access Transparency Location Transparency


Hide differences in data representation and how resources are accessed. Hide where resources are located in the network. A user accessing a web
Users shouldn't need to know whether they're accessing a local file or a service shouldn't need to know whether the server is in California or
remote database - the interface remains consistent. Singapore - the URL remains the same.

Migration Transparency Replication Transparency


Hide that resources may move to another location during operation. Virtual Hide that resources may be copied in multiple places for performance or
machines can be migrated between physical servers without affecting reliability. Users see one logical file even though copies may exist on
running applications or user sessions. multiple servers across different continents.
Challenges with Full Transparency
Aiming at full distribution transparency may be too much

1 2 3

Communication Failure Detection Performance Trade-


Latencies Impossibility offs
There are inherent communication Completely hiding failures of Full transparency often costs
latencies that simply cannot be networks and nodes is performance by exposing the
hidden from applications. Network theoretically and practically distribution of the system. Keeping
delays, especially across long impossible. You cannot distinguish replicas exactly up-to-date with
distances, create unavoidable between a slow computer and a the master takes time, and
bottlenecks that affect user failing one, and you can never be immediately flushing write
experience and system completely sure that a server operations to disk for fault
performance. actually performed an operation tolerance introduces significant
before a crash occurred. delays.
Benefits of Exposing Distribution

Location-Based Services
Exposing the distributed nature allows Time Zone Awareness
User Understanding
Acknowledging different time zones in a
applications to provide context-aware Providing visibility into system
distributed system improves scheduling
services, such as finding nearby friends operations, such as server response
and communication across global teams.
on social media, recommending local times or data center locations, helps
Applications can automatically schedule
restaurants, or optimizing ride-sharing users better understand performance
meetings at convenient times for all
routes based on geographic proximity. variations and make informed decisions
participants or show local timestamps
about their usage patterns.
for events.
While distribution transparency is a valuable goal, recognizing when to expose certain aspects of the system's distributed
nature can lead to improved functionality and user experience. The key is striking the right balance between transparency and
visibility.
Key Takeaways
Distributed Systems are Everywhere
From social media platforms to online banking, distributed systems power the
digital services we use daily. Understanding their principles is essential for
modern software engineers.

Balance Transparency and Performance


Perfect transparency isn't always possible or desirable. Smart system design
requires understanding when to hide complexity and when to expose useful
information to users and applications.

Trade-offs are Inevitable


Every design decision in distributed systems involves trade-offs between
consistency, availability, partition tolerance, performance, and complexity. The
CAP theorem reminds us that we can't have everything.

Middleware Enables Abstraction


Middleware layers are crucial for managing complexity in distributed systems,
providing the abstractions that make these systems practical for real-world
applications.
Is their any questions

You might also like