You are on page 1of 32

Chapter one

• Introduction to distributed system


 It is a collection of independent computers that appears to its users as a
single coherent system.
 It consist of autonomous computers that work together to give the
appearance of a single coherent system.
• Characteristics of Distributed Systems
 differences between the computers and the way they communicate are
hidden from users.
 users and applications can interact with a distributed system in a
consistent and uniform way regardless of location.
 distributed systems should be easy to expand and scale.
 a distributed system is normally continuously available, even if there
may be partial failures.
cont.….

 Problems of Distribution
 Concurrency, Security
 clients must not disturb each other
 Privacy
 unwanted communication such as spam
 Partial failure
 we often do not know where the error is (e.g., RPC)
 Location, Migration, Replication
 clients must be able to find their servers
 Heterogeneity
 hardware, platforms, languages, management
cont.….

 Why Distributed?
 Resource and Data Sharing
 printers, databases, multimedia servers, ...
 Availability, Reliability
 the loss of some instances can be hidden
 Scalability
 the system grows with demand (e.g., extra servers)
 Performance
 huge power (CPU, memory, ...) available
Cont.…..

• Architecture of Distributed system

Goals of a distributed system:


Making Resources Accessible
Distribution Transparency
Openness
Scalability
 different forms of transparency in a distributed system
Transparency Description
Access Hide differences in data representation
and how a resource is accessed.
Location Hide where a resource is physically located; where
is http://www.prenhall.com/index.html? (naming)
Migration Hide that a resource may move to another location
Relocation Hide that a resource may be moved to another location while
in use.
Replication Hide that a resource is replicated
Concurrency Hide that a resource may be shared by several competitive
users; a resource must be left in a consistent state
Failure Hide the failure and recovery of a resource
Persistence Hide whether a (software) resource is in memory or on
disk

December 18, 2023 Introduction 5


Openness in a Distributed System
 well-defined interfaces
 interoperability
 components of different origin can communicate.
 portability
 components work on different platforms.
 Open Distributed System offers services according to standard
rules that describe the syntax and semantics of those
services; e.g., protocols in networks

December 18, 2023 Introduction 6


Scalability in Distributed Systems
 a distributed system should be scalable
 size: adding more users and resources to the system
 geographically: users and resources may be far apart
 administratively: should be easy to manage even if it
spans many administrative organizations.

December 18, 2023 Introduction 7


 scalability problems

examples of scalability limitations

Concept Example
Single server for all users-mostly for security
Centralized services
reasons
Doing routing based on complete
Centralized algorithms
information
Scaling Techniques
 how to solve scaling problems
 three possible solutions: hiding communication latencies,
distribution, and replication

December 18, 2023 Introduction 8


a. Hide Communication Latencies
 try to avoid waiting for responses to remote service
requests
 i.e., use only asynchronous communication instead of
synchronous communication;
 move part of the job to the client to reduce
communication latency; e.g. filling a form and checking
the entries

December 18, 2023 Introduction 9


(a) a server checking the correctness of field entries
(b) a client doing the job

December 18, 2023 Introduction 10


Distribution(DNS)
• In the simplest terms, a domain name is a website address. These are
made up of three essential parts:
• Third-level domains (also known as subdomains) help to organize a
website. While “www” is the most common, there are several others
available to use. The following URLs use “support”, “docs”, and “help”
as third-level domains:
• support.okta.com
• docs.google.com
• help.shopify.com
• Second-level domains are unique to each website and typically
contain the name of a business or product. In the URL www.okta.com,
“okta” is the second-level domain.
• Top-level domains (TLDs) indicate where a website is hosted.
Examples include .com, .org, and .net, among others.
December 18, 2023 Introduction 11
December 18, 2023 Introduction 12
b.Distribution
• e.g., DNS - Domain Name System (xyz@eng.sun.com.us)
• divide the name space into zones

an example of dividing the DNS name space into zones


c. Replication
 replicate components across a distributed system to
increase availability and for load balancing, leading to
better performance

December 18, 2023 Introduction 13


Distributed Systems Examples
(The Internet)
The Internet is a vast interconnected collection of computer
networks of many types.
Its design enabling a program running anywhere to address
messages to programs anywhere else.
Allowing its users to make use of many services as: WWW,
E-Mail, Web hosting, and File transfer.
Its services can be extended by adding new types of service
(open-ended services).
Small organizations and individual users can to access
internet services through Internet Service Providers (ISPs).
Independent intranets are linked together by high
transmission capacity circuits called backbones.

December 18, 2023 Introduction 14


Distributed Systems Examples
(The Internet)

%

%
% ISP

%

 backbone

satellite link

desktop computer:

 server:
network link:

 A typical portion
of the Internet
December 18, 2023 Introduction 15
Distributed Systems Examples
(Intranets)
Composed of several local area networks (LANs) linked
by backbone connections to allow its users to access the
provided services.
Connected to the Internet via a router which allows its
users to make use of the internet services elsewhere.
Many organization protect their own services from
unauthorized use by filtering incoming and outgoing
messages using a firewall.

December 18, 2023 Introduction 16


Distributed Systems Examples
(Intranets)

email server Desktop


computers
print and other servers

Local area
Web server network

email server
print
File server
other servers

the rest of
the Internet
router/firewall

 A typical
Intranet
December 18, 2023 Introduction 17
Chapter two

ARCHITECTURES OF DISTRIBUTED
SYSTEMS

18
Architectures Of Distributed Systems
Transaction Processing Monitor(TP)
 Its main task was to allow an application to access multiple server/databases
by offering it a transactional programming model, as shown .

December 18, 2023 Introduction 19


Enterprise Application Integration
 Application components should be able to communicate directly with
each other .
 not just by means of the request/reply behaviour that was supported
by transaction processing systems.

December 18, 2023 Introduction 20


Architectural Styles
 logical organization of distributed systems .

 formulated in terms of components

 the way that components are connected to each other,

 the data exchanged between components,

 and finally how these elements are jointly configured into a system.

 A component is a modular unit with well-defined required and provided

interfaces that is replaceable within its environment.


 there are various architectural styles

 Layered architectures
 Object-based architectures
 Data-centered architectures
 Event-based architectures

December 18, 2023 Introduction 21


 Layered architectures
◦ components are organized in a layered fashion where a component at
layer Li is allowed to call components at the underlying layer Li-1, but
not the other way around;
◦ requests go down the hierarchy and results flow upward
◦ e.g., network layers

the layered architectural style

December 18, 2023 Introduction 22


• Object-based architectures
• each object corresponds to a component and these components are
connected through a remote procedure call mechanism (matches the
client-server paradigm)

the object-based architectural style

December 18, 2023 Introduction 23


Data-centered architectures
◦ processes communicate through a common repository; e.g., a shared
distributed file system

December 18, 2023 Introduction 24


Event-based architectures
◦ processes communicate through the propagation of events.
◦ publish/subscribe systems
◦ Publishers : Publishers generate event data and publishes(distribute)
them.
◦ Subscribers : Subscribers submit their subscriptions and process the
events received.
◦ P/S service: It’s the mediator/broker that filters and routes events from
publishers to interested subscribers.

December 18, 2023 Introduction 25


System Architectures
• refers to the logical organization of distributed systems
into software components.
• how are processes organized in a system; where do we
place software components
• deciding on software components, their interaction, and
their placement is what system architecture is all about.
• can be centralized, decentralized or a hybrid

December 18, 2023 Introduction 26


Centralized Architectures
• thinking in terms of clients requesting services from
servers
• a server is a process implementing a specific service
• a client is a process that requests a service from a
server by sending a request and waiting for a reply
• we have a request-reply behavior

Server and client Interaction

December 18, 2023 Introduction 27


Centralized Architectures
• thinking in terms of clients requesting services from
servers .
• a server is a process implementing a specific service.
• a client is a process that requests a service from a
server by sending a request and waiting for a reply.
• we have a request-reply behavior

Server and client Interaction

December 18, 2023 Introduction 28


Architecture for Client-Server Systems
• User-interface level: GUI’s (usually) for interacting with end
users.
• Processing level: data processing applications – the core
functionality.
• Data level: interacts with data base or file system
• Data usually is persistent; exists even if no client is
accessing it.
• File or database system

December 18, 2023 Introduction 29


Architecture for Client-Server Systems

December 18, 2023 Introduction 30


Assignment 5%
Types of distributed Systems
Decentralized Architectures
Hybrid Architectures

December 18, 2023 Introduction 31


Thank you!!

December 18, 2023 Introduction 32

You might also like