Vous êtes sur la page 1sur 25

Université Abdelhamid Mehri – Constantine 2

Faculté des Nouvelles Technologies de l'Information et de la Communication


Département d’Informatique Fondamentale et ses Applications

DÉVELOPPEMENT
D’APPLICATIONS
RÉPARTIES
Master 1 - Réseaux et Systèmes Distribués

Dr Ilham Kitouni
22-23 1
CHAPITRE3- COMMUNICATION
PARTIE 1
2
Sommaire
 Introduction
 Modèle conceptuel pour les SD
 Types
de communication inter
processus
1. Communication par messages
2. Communication par mémoire partagée
3. Communication par évènements et notifications
4. Communication de groupe
5. Communication par flux
6. Appel de procédures à distance
7. Invocation de méthodes à distance
4
MODÈLES CONCEPTUELS DE SYSTÈMES DISTRIBUÉS

 Onmodélise un système distribué selon plusieurs


dimensions:
 Modèle d'interaction
 Modèle de fautes
 Modèle de sécurité
…
 Élémentsde base pour la modélisation d'un
système (communication)
 Processus communiquant
 Canaux de communication
EXEMPLE
8
 On parle aussi de paradigmes de
communication
 L’objet d’une communication est de faire
parvenir une information transmise par un
processus à un autre pour :
 synchronisation,
 demande de service,
 renvoi de résultats,
 communication d’un état,
…

MODÈLES DE COMMUNICATION 9
 Plusieurs types de communication:
1. Communication par messages
2. Communication par mémoire commune
3. Communication par évènements et
notifications
4. Communication de groupe
5. Communication par flux
6. Appel de procédures à distance
7. Invocation de méthodes à distance

10
TYPES DE COMMUNICATION
1. Communication par messages
Deux primitives de communication:
- Send
- Receive

Exemple:
process P process Q
… …

Send(M,Q); Receive(Msg,P);
… …
end end

TYPES DE COMMUNICATION 11
1- Communication par messages
Deux problèmes à considérer:
a) Synchronisation
- Communication synchrone: primitives bloquantes
- Communication asynchrone: primitives non
bloquantes: utilisation de buffers
b) Canal de transmission
- Fiable, non fiable.
- Unidirectionnel, bidirectionnel

TYPES DE COMMUNICATION 12
1. Communication par messages
Communication synchrone:
 Lacommunication est dite
synchrone quand les actions
d'envoi et de réception ne
A B
sont possibles que si :
 l'émetteur se trouve dans msg1
un état d'envoi,
 et le récepteur dans bloqué
un état de réception.
msg2

13
TYPES DE COMMUNICATION
1. Communication par messages
Communication synchrone:
Avantage: facile à implémenter
Inconvénient:
A attend/dépend de B
 Communication un-à-un
 Beaucoup de synchronisation tue la
concurrence!

14
TYPES DE COMMUNICATION
1. Communication par messages
Communication asynchrone:
 Exemple: téléphone avec répondeur
 L’action d'envoi n'est pas bloquante

1. Le processus A appelle le processus B


en créant un thread
A B
2. A continue son exécution
3. B répond (en créant un thread msg1
ou non)

Avantage: communication un-à-n msg2


Inconvénient: implémentation délicate

15
TYPES DE COMMUNICATION
1. Communication par messages
b) Canal de transmission
• Défini par la paire (Expéditeur, Destinataire)
• Une des solutions: sockets
- socket = <protocole de transport,
@source, port source, @destination, port
destination>
ou
- socket = <@IP, port>

Types de communication
16
2. Communication par mémoire
partagée
• Mécanismes de synchronisation classique
comme les sémaphores.
• Pas de problème de canal de transmission:
les processus peuvent communiquer sans se
connaitre.
• Pas convenable pour les applications
client/serveur où le serveur encapsule les
ressources pour des raisons de protection.

17
Types de communication
2- COMMUNICATION PAR MÉMOIRE
PARTAGÉE
Motivations
 (Re)placer le programmeur d'application dans les conditions
d'un système centralisé
 Utiliser une mémoire commune comme espace de
communication
 Synchronisation par variables partagées
Avantages attendus (pour le programmeur)
 Simplicité : distribution "transparente"
 Efficacité : utilisation des paradigmes usuels de la programmation
concurrente

Limites
 utilisation des outils de développement existants : langages,
compilateurs, débuggeur, . . . 18
 mise en œuvre "efficace" d'une mémoire partagée/Distribuée
3. Communication par évènements
et notifications
- Système centralisé: un clic sur une bouton de la souris constitue
un évènement qui est notifié aux objets responsables de
l’affichage
- Système distribué: mécanisme de publication/abonnement
(publish-subscribe): un objet qui génère des évènements publie
le type d’évènement qu’il rend observable aux autres objets. Les
objets qui souhaitent recevoir des évènements souscrivent un
abonnement.
- Hétérogénéité
- Asynchronisme: couplage faible

20
TYPES DE COMMUNICATION
3. Communication par évènements et
notifications

21
Types de communication
3. Communication par évènements et
notifications
Hub and spoke
Protocole de communication point-à-point
Serveur centralisé de gestion des événements

22
3. Communication par évènements
et notifications
Snowflake
Protocole de communication point-à-point
Serveur de gestion des événements réparti

23
3. Communication par évènements
et notifications
Bus de Messages
Protocole de communication multicast
Service réparti de gestion des événements

24
4. Communication de groupe
- Communication entre un processus et un
groupe de processus
- Utilise la communication *-cast: envoyer un
message vers un groupe de processus et
non plus un seul processus
- Exemple: notification d’abonnés

TYPES DE COMMUNICATION 25
4. Communication de groupe

26
5. Communication par flux (streaming)
- Représentation continue de l’information: les
éléments d’information ont une relation
temporelle.
- Exemple: animation vidéo

- Représentation discrète: la relation temporelle


n’a aucune influence sur l’interprétation correcte
des données.
- Implémentation: flux de données (séquence
d’unités de données).

TYPES DE COMMUNICATION 27
5. Communication par flux
(streaming)
Flux de données:
- Simple, ex: son mono
- Complexe, ex: son stéréo, film

Emetteur du flux: source (fichier, webcam, microphone, …)


Récepteur du flux: puits (fichier, écran, périphérique audio,
…)

Applications: Vidéoconférence

28
TYPES DE COMMUNICATION

6. Appel de procédures à distance (déjà


vue)
7. Invocation de méthodes à distance
(Chapitre5)

29

Vous aimerez peut-être aussi