Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes

Slides:



Advertisements
Présentations similaires
Introduction aux environnements répartis
Advertisements

Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Présentation du projet JAVA Système de messagerie instantanée cryptée.
Généralités sur les réseaux Généralités sur les réseaux informatiques.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
1 Observer le paramétrage d’un réseau. 2 Dans notre réseau téléphonique habituel, les postes, reliés à un auto-commutateur... …peuvent dialoguer, car.
1 Identifier les composants d’un réseau local. 2 Les composants d’un réseau Des ordinateurs, appelés stations... …munis d’une carte réseau leur permettant.
Fadhel jied Oussama hédhili V - conclusion IV - Les avantages et les inconvénients III - exemples II - aspect informatique I - introduction.
Pour plus de modèles : Modèles Powerpoint PPT gratuitsModèles Powerpoint PPT gratuits Page 1 Free Powerpoint Templates Client service architecteur réseaux.
 Notion de réseaux informatiques  Infrastructure d’un réseau local  Environnement matériel d’un réseau local  Catégories de réseaux  Les typologies.
Windows NT/2000/XP Enjeux et contraintes techniques
Les Réseaux informatique.
Les Bases de données Définition Architecture d’un SGBD
INTERNET #1 Qu’est-ce qu’internet ? Qu’est-ce qu’un site internet ?
Le modèle TCP/IP Présentation Couche Interface-Réseau Couche Réseau
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Communication client-serveur
1.2 Programmes et données Les programmes comme les données sont stockés dans les mémoires (centrales et périphériques) des ordinateurs Informatique.
Communication et réseaux informatiques
Micro Informatique au Cellier
Rappels et présentation du réseau local
Mise en place d’un système de partage de fichiers
Qu’est-ce un serveur de messagerie?
de la productivité individuelle au travail collaboratif
SNET: Administration et sécurisation des réseaux EPFC Alain Smets
Chiffrement de bout en bout
Les Tests de performances
Les protocoles du Web Professeur: Tanja Dinić Étudiant:
Master Réseaux et Systèmes Distribués (RSD)
Les bases de données et le modèle relationnel
Centralisation de logs
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Les technologies AJAX.
Comment fonctionne RADIUS?
Asynchronous Javascript And Xml
Wireshark Capture et analyse de trames IP
Questions 1- Qu'est ce qu'un réseau informatique ?
Système flexible de Workflow pour la plate-forme Motu
Protocole AODV pour Iot
Août 2009.
HTTP DNS NTP FTP R231 RJ45 definition HTTP DNS NTP FTP R231 RJ45.
Introduction à la conception de site web
Questions Qu'est ce qu'un réseau informatique ?
Plus de 4000 langages....
Informatique générale
Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni 1.
Message Oriented Middleware MOM - Beghdad abdelkrim -abass youcef.
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Les protocoles de la couche application Chapitre 7.
Mise en place d'un Serveur Radius pour la sécurité d'un réseau Wireless sous Windows Serveur Présenter par le Stagiaire : Etienne Mamadou Guilavogui.
Bienvenue sur Coursinfo.fr
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
Auditeur: Léonardo AMODIO Cours: NFE107
MPR - Le concept de réseau - 06
La messagerie électronique
Missions Locales Serveur Mutualisé
 é . SOMMAIRE intérêts réseau client/serveur éléments composant un réseau plan d’adressage du réseau local.
Introduction aux Technologies de Transmission 5eme Année - IGE Communication Multimédia Mrs Rerbal & Djelti.
Centre Universitaire de MASCARA Présenté par M. H.BENAOUDA Melle F.ZENAK Encadrer par M. A.YAGOUBI.
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
Cours présenté par : Mr.Latli Hossam Eddine PSFEP 2 EN informatique / systems d’informations avancées Les Réseaux informatique.
1 O ffice De La F ormation P rofessionnelle Et De La P romotion De T ravail I nstitut S pécialiste en T echnologie A ppliquée -ASSA Prof. : Omar BOUNHAS.
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
Qu’est ce qu’une page web? Comment fonctionne un site web?
TP N°4 Développement d’ une application
LES RESEAUX. Besoin de communication LES RESEAUX Pour communiquer via un réseau informatique Support de transmission Carte réseau Éléments de réseau.
Internet Stage – Semaine 5.
Transcription de la présentation:

Badr Benmammar badr.benmammar@gmail.com Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes et applications réparties Modélisation Conceptuelle des Systèmes Distribués Badr Benmammar badr.benmammar@gmail.com

Plan Partie I : Systèmes distribués Définition Objectifs Avantages Inconvénients Applications réparties Partie II : Communication dans un système distribué Manières de communication Modèles de communication Types de communication

Partie I : Systèmes distribués

Systèmes distribués Système distribué en opposition à système centralisé (tout est localisé sur la même machine). Définition 1 : ensemble d’ordinateurs indépendants qui apparaît à un utilisateur comme un système unique et cohérent. Exemple Google : le plus grand parc de serveurs au monde avec environ 1 million de serveurs répartis sur environ 36 sites (soit près de 2 % du parc mondial).

Systèmes distribués Définition 2 : ensemble d’entités logicielles communiquant entre-elles. Entités logicielles s’exécutent sur des machines reliées entre elles par un réseau. Exemple Skype, Viber, WhatsApp : la téléphonie sur IP.

Objectifs d’un système distribué Transparence (masquer la répartition) : Localisation des ressources non perceptible. URL www.google.com. Duplication de ressources non visible. Plusieurs éléments identiques pour résister à la montée en charge. Deux serveurs de fichiers dupliqués, avec sauvegarde. Sécurité : confidentialité, intégrité, .. Tolérance aux pannes : permettant à un utilisateur de ne pas s’interrompre (ou même se rendre compte) à cause d’une panne d’une ressource. Mise à l’échelle (scalability) : fonctionne efficacement dans différentes échelles : Deux postes de travail et un serveur de fichiers. Réseau local avec plusieurs centaines de postes de travail et serveurs de fichiers. Plusieurs réseaux locaux reliés pour former Internet. Ouverture : Extensibilité (ajout/MAJ de composants sans en affecter les autres). Flexibilité (facilité d’utilisation).

Avantages des systèmes distribués Utiliser et partager des ressources distantes. Imprimante : partagée entre toutes les machines. Optimiser l’utilisation des ressources disponibles. Calculs scientifiques distribués sur un ensemble de machines : les grilles informatiques.

Inconvénients/points faibles Bien souvent, un élément est central au fonctionnement du système : serveur. Si serveur plante : plus rien ne fonctionne. Goulot potentiel d’étranglement si débit d’information très important. Sans élément central : gestion du système totalement décentralisée et distribuée. Nécessite la mise en place d’algorithmes +/- complexes.

Qu’est ce qu’une application répartie ? Application monolithique Une seul machine, même système et même langage de programmation Application répartie C sous Unix Java sous Windows C++ sous Mac Il s’agit d’une application découpée en plusieurs unités. Chaque unité est placée sur une machine différente. Chaque unité peut s’exécuter sur un système différent. Chaque unité peut être programmée dans un langage différent.

Communication dans un système distribué Partie II : Communication dans un système distribué

Communication dans un système distribué Objectif : communiquer les éléments d’une application répartie. 2 manières : Bat niveau : directement en appelant les services des couches TCP ou UDP. Exemple : utilisation des sockets. Haut niveau : définition de couches offrant des services plus complexes. Couche réalisée en s’appuyant sur les couches TCP/UDP. Exemple : appel d’une méthode chez une entité distante. RMI (Remote Method Invocation). Notion de middleware (intergiciel).

Middleware (intergiciel) Le terme middleware vient de l’anglais middle (du milieu) et software (logiciel). Le middleware est une couche intermédiaire (couche logiciel) qui s’intercale entre l’infrastructure de communication d’un réseau et les éléments de l’application distribuée. Machine 1 Machine 2 Machine N Middleware Java Unix C Windows C++ Mac

Middleware : mécanisme de base Les environnements répartis sont basés (pour la plupart) sur un mécanisme RPC (Remote Procedure Call) (Appel de procédure à distance). Ce mécanisme fonctionne en mode requête / réponse. Le client effectue une requête (demande un service ), Le serveur traite la demande puis retourne une réponse au client. Emission d’une requête Renvoie d’une réponse Traitement de la requête c l i e n t s e r v e u r

Programme principal (main) RPC : principe Programme principal (main) ProcA() ProcB() . ProcA() . ProcB() return . return Machine 1 Machine 2 Machine 3

Exemples de middleware RPC (Remote Procedure Call). Pas d’objets. JAVA RMI (Remote Method invocation). Solution purement java. CORBA (Common Object Request Broker Architecture). Langages de programmation distincts. …

Modèles de communication Les éléments distribués interagissent, communiquent entre eux selon plusieurs modèles possibles : Client/Serveur. Diffusion de messages. Pair à pair (peer to peer). Modèle à base de composants. EJB (Enterprise JavaBeans). Modèle à base d’agents mobiles. Modèles à mémoires « virtuelles » partagées. .

Client/Serveur Modèle le plus répandu. Interaction de type « 1 vers 1 » 2 rôles distincts : Client : demande que des requêtes ou des services lui soient rendus. Serveur : répond aux requêtes des clients. Liens forts entre le client et le serveur. Interaction : Message du client vers le serveur pour faire une requête. Exécution d’un traitement par le serveur pour répondre à la requête. Message du serveur vers le client avec le résultat de la requête.

Types de Client/Serveur Client/Serveur traditionnel : RPC (Remote procedure call).

Types de Client/Serveur Client/Serveur traditionnel : RPC (Remote procedure call). Client/Serveur à objets : RMI (Remote Method Invocation) : communique des objets java. CORBA : n’importe quel langage. …

Types de Client/Serveur Client/Serveur traditionnel : RPC (Remote procedure call). Client/Serveur à objets : RMI (Remote Method Invocation) : communique des objets java. CORBA : n’importe quel langage. … Client/Serveur de données : Requêtes SQL pour communiquer avec une base de donnée MySQL par exemple.

Types de Client/Serveur Client/Serveur traditionnel : RPC (Remote procedure call). Client/Serveur à objets : RMI (Remote Method Invocation) : communique des objets java. CORBA : n’importe quel langage. … Client/Serveur de données : Requêtes SQL pour communiquer avec une base de donnée MySQL par exemple. Client/Serveur WEB : Pages web statiques avec HTML. Pages web dynamiques avec PHP. Servlets (*.java) sont des classes Java exécutées par le serveur en réponse à une requête du client (en utilisant le protocole http). JSP (JavaServer Pages) (*.jsp) représentant un code HTML dans lequel du code Java est appelé. RPC, RMI, CORBA, JSP.. : Modèles d’exécution pour le client / serveur

Page HTML avec les résultats donnés par l’exécution du programme PHP Exemple : Application web dans un environnement WAMP (Windows, Apache, MySQL, PHP) Page HTML avec du code PHP intégré Serveur Web : Apache (serveur HTTP) HTML PHP HTML PHP (1) : Demande de la page (2) : demande de l’aide au générateur de pages dynamiques (4) : Renvoi de la page HTML Interpréteur PHP Poste Client Page HTML avec les résultats donnés par l’exécution du programme PHP (3) : demande des données à la base de données : SQL MySQL HTML Serveur de base de données

Diffusion de messages (broadcast) 2 rôles distincts : Emetteur : envoie des messages (ou événements) à destination de tous les récepteurs. Possibilité de préciser un sous-ensemble de récepteurs (multicast). Récepteurs : reçoivent les messages envoyés. Interaction : Emetteur envoie un message. Le middleware s’occupe de transmettre ce message à chaque récepteur. Modèle d’exécution : Message Oriented Middleware (MOM). Package javax.jms permet d’implémenter une architecture de type MOM. JMS : Java Message Service. Broadcast Multicast

Diffusion de messages (broadcast) Interaction de type « 1 vers N ». 2 modes de réception : Le récepteur va vérifier lui-même qu’il a reçu un message. Boîte aux lettres. Le récepteur est prévenu que le message est disponible et il lui est transmis. Le facteur sonne à la porte pour remettre en main propre le courrier. Particularités du modèle : Dépendance plus faible entre les participants. Pas besoin pour l’émetteur d’être directement connecté aux récepteurs ni même de savoir combien ils sont.

Modèle pair à pair (peer to peer / P2P) Un seul rôle : pas de distinction entre les participants. Chaque participant est connecté avec tous les participants d’un groupe et tout le monde effectue les mêmes types d’actions pour partager des données. Exemples : Modèles d’échanges de fichiers (e-mule, bit-torrent). Avec parfois un mode hybride client/serveur – P2P. Serveur sert à connaître la liste des fichiers et effectuer des recherches. Le mode P2P est utilisé ensuite pour les transferts. Chacun envoie une partie du fichier à d’autres participants. Skype emploie une technique P2P VoIP (mélange de P2P et de VoIP (voix sur IP)) pour se connecter avec les autres utilisateurs de Skype.

Client/serveur vs P2P Servent est la contraction du mot serveur et client. Ce terme est souvent utilisé pour désigner les logiciels P2P.

Type de communication (synchrone/asynchrone) Communication synchrone : même notion de temps, transmission instantanée. Exemple : Socket TCP.

Type de communication (synchrone/asynchrone) Communication asynchrone Exemple : Socket UDP.