You are on page 1of 6

01/10/2023

I- Introduction to DIS
What is a distributed system?
Ministry of Higher Education and Scientific Research
University of M'hamed Bougara, Boumerdes (UMBB)
÷ Physically, a distributed system is made up of distributed computers, where each can
ÿÿÿÿÿÿÿ ÿÿÿÿÿ ÿÿÿÿÿ þþÿþÿ execute tasks (processes) in competition with the others.

Distributed Information System ÷ «A distributed system is a system that prevents me from working when a machine I've
(DIS) never heard of breaks » Leslie Lamport

Realized by Ali Belgacem øProcessus: set of instructions executable by a computer.

a.belgacem@univ-boumerdes.dz
It's a running program.
Process
Process (dynamic) b Program (static)

Scholar year 2023/2024


DIS Scholar year 2023/2024 UMBB 01

Plan I- Introduction to DIS


Inter-application
I. Introduction to DIS communication
What is a distributed system? (Historical)
technologies 1960 1980 1985 1991 1999-&
II. Sockets

III. Remote Method Invocation (RMI) Internet

IV. Common Object Request Broker Architecture (CORBA) Mainframe Personal


computer
÷ Networks: (LAN, WAN,...)
V. Java DataBase Connectivity (JDBC) ÷ Increased computing power.
Grid computing
÷ Evolution of needs:
ü Remote access 1991
Cloud computing
VI. Simple Object Access Protocol (SOAP) ü Collaboration
2010
ü More resources
Internet of things
2017
etc

DIS Scholar year 2023/2024 UMBB DIS Scholar year 2023/2024 UMBB 02
01/10/2023

I- Introduction to DIS I- Introduction to DIS


What is a distributed system? Examples of distributed systems

A distributed system meets the following criteria:


ü Multiple Processes: The system consists of several sequential processes, which can be either o Internet: Interconnection of local networks.

system or user processes.


o Peer-to-peer networks: P2P systems are highly popular for file sharing, content
ü Interprocess Communication: Processes communicate with each other using messages that
take a limited amount of time to travel from one process to another (absence of a common clock). distribution, and Internet telephony (e.g., Audiogalaxy and Napster)
These message links are also referred to as channels.
ü Disjoint Address Spaces: Processes have disjoint address spaces (absence of a common o Distributed Real-Time Systems: Media (digital decoders), Telecommunication

physical memory)
Services (e.g GSM terminal), Industrial Production Systems (nuclear power plant,
ü Common Objective: Processes must interact with each other to achieve a common objective.
ü Heterogeneity: The presence of different hardware and software environments that need to be assembly line, chemical factory, etc.).
integrated.

DIS Scholar year 2023/2024 UMBB 03 DIS Scholar year 2023/2024 UMBB 05

I- Introduction to DIS I- Introduction to DIS


Why Choose a Distributed System? Examples of distributed systems
o Geographically Distributed Environment: In many cases, the computing infrastructure is o Sensor Networks: These networks have the potential to be used in a wide range of applications, including
spread across different geographical locations. battlefield surveillance, detection of biological and chemical attacks, healthcare, home automation, etc.
o Acceleration: Speeding up computations (e.g., image processing, big data) is essential.
o Resource Sharing: Both hardware (e.g., printers, servers) and software resources (e.g., o Social Networks: Millions of users now use their desktop or laptop computers or smartphones to publish
databases) need to be shared. and exchange messages, photos, and video clips with their friends through these social networking sites.
o Transparency: Users should not notice when utilizing remote resources.
o Fault Tolerance: o Grid Computing and Cloud Computing: These are forms of distributed computing that support parallel
ü High Availability programming across a network of computers.
ü Failure of one machine should not affect others
ø There are other examples as well: Amazon Web Services (AWS), Distributed computing, etc.

DIS Scholar year 2023/2024 UMBB 04 DIS Scholar year 2023/2024 UMBB 06
01/10/2023

I- Introduction to DIS I- Introduction to DIS


Conceptual Challenges of Distributed Systems Conceptual Challenges of Distributed Systems
Interoperability Security
A distributed system must ensure the security of messages during communication between its
ü This is the ability to make components compatible components. Unfortunately, during transmission, a message can be intercepted by malicious entities,
with each other, using, for example, middleware potentially revealing its contents and posing a threat to the security of the distributed system.
like CORBA, DCOM, etc., as well as virtual Concurrency Management
machines. Resource sharing can lead to concurrency issues, such as when one wants to modify information in a
ü Middleware is a layer of software positioned database or when multiple users want to use the same printer (Resource Allocator).
above the operating system but below the Failures
application program, providing a common A failure occurs when a system as a whole or one or more of its components do not behave in accordance
programming abstraction across a distributed with their specifications.
system.

SID Année universitaire 2022/2023 UMBB 07 DIS Scholar year 2023/2024 UMBB 09

I- Introduction to DIS I- Introduction to DIS


Conceptual Challenges of Distributed Systems The architecture of distributed applications
Openness Client-Server Architecture
An open system must support:
ü The addition/removal of physical components (computers or others) or logical components (OS, In the context of a distributed application, two distinct roles can be identified:
middleware, etc.) ü Client: Initiates service requests. Client
ü Updating (or even reimplementation) of the existing services ü Server: Provides services.
Scalability
A system is considered broadly stable if it remains efficient after adding a large number of users and the When the server requests services from another server, it becomes a client.
resources it manages. The cost of addition is proportional to the number of users and resources added. The
system should maintain its performance and exhibit a reasonable decrease after the addition.

Server
Serveur

DIS Scholar year 2023/2024 UMBB 08 DIS Scholar year 2023/2024 UMBB 10
01/10/2023

I- Introduction to DIS I- Introduction to DIS


The architecture of distributed applications The architecture of distributed applications
Architecture 03 tier Architecture n tier Architecture Peer to Peer P2P
In this architecture, processes share local resources (files, storage space, etc.) through a TCP/IP
connection. Each of these processes can simultaneously assume both roles: the client-server. It serves
DB
Client what it has and acts as a client for what others want to share. These operations cooperate on an equal
footing to accomplish distributed tasks.

DB Client
Application Service request
Process Process
server and response

Application
server Web Process
Server
DIS Scholar year 2023/2024 UMBB 11 DIS Scholar year 2023/2024 UMBB 13

I- Introduction to DIS I- Introduction to DIS


The architecture of distributed applications Interprocess Communication
Proxy base Architecture Communication among distributed entities involves the exchange of messages, which can serve various
In this architecture, a cache is introduced between the client and the server. This cache purposes, such as synchronization, service requests, result feedback, and more.
stores recently used objects. When a client requests an object, the cache manager first looks
within the existing objects. If it doesn't find the requested object, it sends a request to the
Client We distinguish two types of communication:
server; otherwise, it directly returns the result to the client. Synchronous Communication: In this type, the sender is blocked until the receiver receives
the message, and vice versa.

Client proxy Asynchronous Communication: In this type, the sender is not blocked. Instead, the operating
system takes care of delivering the message to its destination.

Server
DIS Scholar year 2023/2024 UMBB 12 DIS Scholar year 2023/2024 UMBB 14
01/10/2023

I- Introduction to DIS I- Introduction to DIS


Communication interprocessus Communication interprocessus
Remote Procedure Call (RPC) Distributed Shared Memory
In a distributed system, for In a distributed system, there is no physical memory sharing. Nevertheless, it is possible to create a shared
processes to be invoked by remote virtual memory that enables communication between processes. Shared memory can be established by
methods, we need a mechanism to adapting either a hardware-based solution (multiprocessor machine) or a software-based one (middleware).
perform method calls seamlessly,
regardless of the location of the invoked Event Notification
Proxy Proxy Serveur
Serer
object and its implementation. To Client Communication between remote objects can be achieved by leveraging the publish/ notification principle.
address these challenges, we can Local Proxy Invocation Local Server Method Objects generating events (such as method execution) can send notifications to objects interested in these
Sending Data Request
Invocation
employ intermediary objects known as events. An object desiring to receive a notification must subscribe to event types that interest it (e.g., Java
Proxies, which handle the connection. Message Service, CORBA's Event Service, etc.).
Returning the Method
Returning Response Data Result
Method Result Return

DIS Scholar year 2023/2024 UMBB 15 DIS Scholar year 2023/2024 UMBB 17

I- Introduction to DIS I- Introduction to DIS


Communication interprocessus Web Services
Remote Procedure Call (RPC) The term "service" originates from the mainframe world, where it involves a series of operations connected
The connection is established using proxy technology, offering three options: to a transaction to achieve a meaningful result. In a broader context, the concept of service reintroduces
ü RMI (Remote Method Invocation): Used for calling methods between distributed Java objects. workflow and functional breakdown ideas.
ü CORBA (Common Object Request Broker Architecture): Enables method calls regardless of the Web services are software component encapsulating the business functionalities of the company, accessible
programming language, providing language independence. through standard protocols based on XML and HTTP/SMTP
ü SOAP (Simple Object Access Protocol): Allows method calls regardless of the programming Components:
language, but it employs an XML-based message format for communication. ü Access Protocol: SOAP (Simple Object Access Protocol) - a platform-independent protocol based
on XML.
For the last two models, it is necessary to provide an interface description to specify the method signatures and ü Interface: WSDL (Web Services Description Language) - an XML-based description of Web Services,
the data type handled by the objects. These descriptions are formatted in a special language called Interface including methods, signatures, and access points.
Definition Language (IDL) for CORBA and Web Service Description Language (WSDL) for SOAP. ü Registry: UDDI (Universal Description, Discovery, and Integration) - a Web Services directory for
their registration

DIS Scholar year 2023/2024 UMBB 16 DIS Scholar year 2023/2024 UMBB 18
01/10/2023

.
I- Introduction to DIS I- Introduction to DIS
Message exchanges Network Virtualization
ü Network virtualization enables the creation of virtual networks on a
o Communication occurs through the exchange of messages between processes, utilizing communication
physical infrastructure, providing increased flexibility and more
primitives such as 'send' and 'receive.
efficient utilization of network resources.
o Messages can be transient or persistent:
ü Network virtualization software: VMware NSX, Cisco ACI
üIn transient communication, a message is discarded by a communication server as soon as it (Application Centric Infrastructure), Open vSwitch, etc.
cannot be delivered to the next server or recipient. ü Key features of Network Virtualization: Partitioning, Isolation,
üIn persistent communication, messages are not lost but are instead stored in a buffer for potential Abstraction, Aggregation.
future retrieval (e.g., Email) ü Software-Defined Networking (SDN) enable the creation of
o Data Streams: Generally, streams are sequences of data elements. They can be thought of as a virtual network slices.
connection between a source and a sink (e.g., video). ü Network Function Virtualization (NFV) is about virtualizing network services that used
to rely on dedicated hardware
ø Used by: Sockets ü Docker is a platform that enables developers to easily create, deploy, and run applications
in isolated containers, making it simpler to manage and distribute software across different environments.
DIS Scholar year 2023/2024 UMBB 19 DIS Scholar year 2023/2024 UMBB 21

I- Introduction to DIS Research Presentation

Remote Procedure Call (RPC) technology Form groups of four students and each group should select a topic from

the following list for your research presentation:


Request 01
(Parameters + name of the remote procedure)
ñ REST (Representational State Transfer)

Pro. name ñ GraphQL


Client Arg 01 Server
ñ Software-Defined Networking (SDN) and Network Function Virtualization (NFV)
Arg 02
Responnse Evaluate
&. 02
Return 1 the procedure ñ Docker
Return 2
ñ Spring 5 and Spring Boot 2
&

1. Marshalling refers to the copying of parameters into a buffer in a format suitable for transmission over the network.
ñ Microservices

2. When the request arrives at the server, the parameters are unmarshalled, and the server evaluates the procedure. ñ Blockchain
øUsed by : CORBA, RMI
ñ Cloud computing
DIS Scholar year 2023/2024 UMBB 20

You might also like