KEMBAR78
Lecture 1 - Introduction - 2024 | PDF | Distributed Computing | Cache (Computing)
0% found this document useful (0 votes)
8 views55 pages

Lecture 1 - Introduction - 2024

The document provides an introduction to distributed systems (DSY), defining them as systems where components communicate via message passing. It discusses examples, trends, and challenges such as heterogeneity, security, and scalability, as well as various system models including physical, architectural, and fundamental models. The course is taught by Dr. Nguyen Quang Khanh and includes assessments based on weekly performance, progress, and an exam.

Uploaded by

huongdayvan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views55 pages

Lecture 1 - Introduction - 2024

The document provides an introduction to distributed systems (DSY), defining them as systems where components communicate via message passing. It discusses examples, trends, and challenges such as heterogeneity, security, and scalability, as well as various system models including physical, architectural, and fundamental models. The course is taught by Dr. Nguyen Quang Khanh and includes assessments based on weekly performance, progress, and an exam.

Uploaded by

huongdayvan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Introduction to

Distributed Systems
Contents

1 Examples of DSY

2 Trends in DSY

3 Challenges with DSY

4 System Models
Lecturer contact

o Name : Dr.Nguyen Quang Khanh


o Email : khanhnq@hanu.edu.vn
Course assessment

❑ Weekly performance: 10%


❑ Progress: 30%
❑ Exam: 60%

❑ Evening: (17h30 – 19h35) & (19h50 – 21h55)


References

1. Maarten van Steen (2017), “Distributed


Systems”, Digital version.
2. George Coulouris, Jean Dollimore and Tim
Kindberg (2011), “Distributed Systems:
Concepts and Design”, Addison Wesley
Examples
Distributed System
Definition
“We define a distributed system as one in
which hardware or software components
located at networked computers
communicate and coordinate their
actions only by passing messages ”

By George Coulouris, et al.. “Distributed


System – Concepts and Design”, Fifth
Edition.
Examples of DSY
eCommerce e.g. Amazon and eBay, PayPal, online
Finance and commerce
banking and trading
Web information and search engines, e-books,
The information society
Wikipedia; social networking: Facebook and MySpace.
Creative industries and online gaming, music and film in the home, user-
entertainment generated content, e.g. YouTube, Flickr
health informatics, on online patient records, monitoring
Healthcare
patients
e-learning, virtual learning environments; distance
Education
learning
GPS in route finding systems, map services: Google
Transport and logistics
Maps, Google Earth
The Grid as an enabling technology for collaboration
Science
between scientists
sensor technology to monitor earthquakes, floods or
Environmental management
tsunamis
Examples of DSY

(Toolbox)
Trends
Trends in DSY
❖ Pervasive networking and the modern
Internet
❖ Mobile and ubiquitous computing
❖ Distributed multimedia systems
❖ Distributed computing as a utility
Challenges
Challenges
❖ Heterogeneity (Varieties and differences)
▪ networks;
▪ computer hardware;
▪ operating systems;
▪ programming languages;
▪ implementations by different developers.
❖ Solutions
▪ Middleware
▪ Mobile Code: code transferred from one
computer to another & run at the destination
Challenges
❖ Openness
▪ The degree to which new resource-sharing
service can be added / made available for
further usage.
❖ Open Distributed System
▪ Their key interfaces are published
▪ Based on a uniform communication
mechanism & published interfaces for shared
resources
▪ Constructed from heterogeneous hardware
and software
Challenges
❖ Security: 3 components
▪ Confidentiality: protection against disclosure
to unauthorized individuals
▪ Integrity: protection against alteration or
corruption
▪ Availability: protection against interference
with the means to access the resources
❖ Other concerns:
▪ Denial of service attacks
▪ Security of mobile code
Challenges
❖ Scalability: System remains effective
when there is a significant increase in the
number of resources and the number of
users.
❖ Challenges for designing an scalable one:
▪ Controlling the cost of physical resources
▪ Controlling the performance loss
▪ Preventing software resources running out
▪ Avoiding performance bottlenecks
Challenges
❖ Failure handling: Failures in a
distributed system are partial – that is,
some components fail while others
continue to function
❖ Techniques for dealing with failures:
▪ Detecting failures
▪ Masking failures
▪ Tolerating failures
▪ Recovery from failures
▪ Redundancy
Challenges
❖ Concurrency:
▪ Both services and applications provide
resources that can be shared by clients in
distributed system
▪ Several clients will attempt to access a shared
resource at the same time
Challenges
❖ Transparency: The concealment from the user
and the application programmer of the
separation of components in a distributed
system
❖ Forms of transparency:
▪ Access transparency
▪ Location transparency
▪ Replication transparency
▪ Failure transparency
▪ Mobility transparency
▪ Performance transparency
▪ Scaling transparency
Challenges
❖ Quality of service:
▪ Main nonfunctional properties of systems that
affect the quality of the service:
• Reliability
• Security
• Performance
• Adaptability
System Models
Physical models
Architectural models
Fundamental models
Introduction
❖ System should be
▪ designed to function correctly in the widest
possible range of circumstances and possible
difficulties and threats.
❖ Distributed system design
▪ Physical models
▪ Architectural models
▪ Fundamental models
Introduction
Physical Models
Physical Models
❖ Capturing the hardware composition of a
system in terms of the computers and their
interconnecting networks.
❖ Baseline physical model
▪ minimal physical model of a distributed
system
▪ hardware or software components located at
networked computers communicate and
coordinate their actions only by passing
messages
Physical Models
❖ Generations of distributed systems
Architectural Models
Architectural Models
❖ Describing a system in terms of the
computational and communication tasks
performed by its computational elements
❖ Study architectural models by adopting a
three-stage approach
▪ Architectural Elements
▪ Architectural Patterns
▪ Associated Middleware solution
Architecture
Elements
Architectural Elements
❖ To understanding the elements of DSY,
let’s consider four key questions:
▪ What are the entities that are communicating
in the distributed system?
▪ How do they communicate, or, more
specifically, what communication paradigm
is used?
▪ What roles and responsibilities do they
have in the overall architecture?
▪ How are they mapped on to the physical
distributed infrastructure?
Architectural Elements
❖ Communication Entities (Q1)
▪ Objects
▪ Components
▪ Web Services
Architectural Elements
❖ Communication Paradigms (Q2)
▪ Interprocess communication
▪ Remote invocation
• Request-reply protocols
• Remote procedure calls
• Remote method invocation
▪ Indirect Communication
• Group communication
• Publish-subscribe systems
• Message queues
• Tuple spaces
• Distributed shared memory
Architectural Elements
❖ Role and responsibilities (Q3)
▪ Client-server
▪ Peer-to-peer
Architectural Elements
❖ Placement (Q4): how entities such
as objects or services map on to the
underlying physical distributed
infrastructure.
❖ Placement strategies:
▪ mapping of services to multiple servers;
▪ caching;
▪ mobile code;
▪ mobile agents.
Architectural Elements
❖ Caching
▪ A cache: recently used data objects that is
closer to one client than the objects
themselves
▪ When a new object is received from a server
it is added to the local cache store, replacing
some existing objects if necessary
Architectural Elements
❖ Mobile Code
▪ Applets are a well-known and widely used
example of mobile code
▪ (+) Good interactive response (not suffer from
the delays or variability of bandwidth)
▪ (-) potential security threat to the local
resources in the destination computer
❖Mobile Agents => Mobile Application
(Source code + Database)
Architecture
Partterns
Architectural Patterns
❖ Build on more primitive architectural
elements (above) and provide
composite recurring structures.
❖ Key architectural patterns:
▪ Layering
▪ Tired architecture
▪ Thin clients
▪ Other commonly occurring patterns
Architectural Patterns
❖ Layering
▪ a complex system is partitioned into a number
of layers, with a given layer making use of the
services offered by the layer below
▪ a vertical organization of services into service
layers
Architectural Patterns
❖ Tiered architecture
▪ organize functionality of a given layer
and place this functionality into
appropriate servers and, as a secondary
consideration, on to physical nodes
▪ Two-tier and three-tier layer
architectures
Architectural Patterns
Architectural Patterns
❖ Thin clients
▪ a software layer that supports a window-
based user interface that is local to the
user while executing application
programs or, more generally, accessing
services on a remote computer.
▪ Example: RealVNC, Apple Remote
Desktop, TightVNC and Aqua Connect
▪ Drawback: interactive graphical
activities
Architectural Patterns
❖ Other commonly occurring patterns
▪ Proxy pattern
▪ Use of brokerage in web services
▪ Reflection
Architecture
Middleware
Middleware Solutions
❖ Providing a higher-level
programming abstraction for the
development of distributed systems
and, through layering, to abstract over
heterogeneity in the underlying
infrastructure to promote
interoperability and portability
Middleware Solutions
Fundamental Models
Fundamental Models
❖ All of the models share the design requirements
of achieving the performance and reliability
characteristics of processes and networks and
ensuring the security of the resources in the
system
❖ Presenting models based on the fundamental
properties that allow us to be more specific
▪ Interaction
▪ Failure
▪ Security
Fundamental Models
❖ Interaction Model
▪ Performance of communication channels
• Latency: delay between the start of a message’s
transmission from one process and the beginning of its
receipt by another
• Bandwidth: total amount of information that can be
transmitted over it in a given time
• Jitter: variation in the time taken to deliver a series of
messages (relevant to multimedia data)
▪ Computer clocks and timing events
▪ Two variants of the interaction model
▪ Event ordering
Fundamental Models
❖ Failure Model
▪ Defining the ways in which failure may occur in order
to provide an understanding of the effects of failures
▪ Omission failures
• Process omission failures
• Communication omission failures
▪ Arbitrary failures
▪ Timing failures
▪ Masking failures
▪ Reliability of one-to-one communication
Fundamental Models
❖ Security Model
▪ the security of a distributed system can be achieved
by securing the processes and the channels used for
their interactions and by protecting the objects that
they encapsulate against unauthorized access
▪ Protecting objects
• Securing processes and their interactions
▪ The enemy
• Threats to processes (Server & Client)
• Threats to communication channels
▪ Defeating security threats
• Cryptography and shared secrets
• Authentication
• Secure channels
Summary
Definition of DSY
❖ Distributed systems are everywhere
❖ Construction of distributed systems
produces many challenges: Heterogeneity,
Openness, Security, Scalability, Failure
handling, Concurrency, Transparency,
Quality of Service
❖ Describing distributed systems by
▪ Physical Models
▪ Architectural Models
▪ Fundamental Models
Thank You !

You might also like