Principes des systèmes distribués

Classé dans Informatique

Écrit le en français avec une taille de 13,27 KB

Système distribué

Distribué : système. Il s'agit d'un système composé d'éléments matériels et logiciels qui communiquent entre eux par des messages, en utilisant des techniques pour transférer des informations via un réseau local ou à distance.

Applications distribuées

Application distribuée

Une application distribuée est un composant logiciel disponible sur différents ordinateurs et architectures, parfois hétérogènes, et fournit les interfaces nécessaires pour qu'un utilisateur interagisse avec un système particulier.

Fonctionnalités principales

Les fonctionnalités sont réparties sur sept «sœurs» :

Hétérogénéité, extensibilité, sécurité, évolutivité, traitement des échecs, concurrence, transparence

Hétérogénéité

1.2 Hétérogénéité : Caractéristique décrivant la diversité des composants — matériels, logiciels et communications — qui peuvent être mis en œuvre dans un système distribué.

Cette fonctionnalité s'applique à :

  • Les réseaux.
  • Le matériel informatique.
  • Les systèmes d'exploitation.
  • Les langages de programmation.
  • Les implémentations réalisées par différents développeurs.

Extensibilité

Extensibilité : Caractéristique qui détermine si le système distribué peut être étendu de plusieurs façons. Le système peut être ouvert ou fermé vis-à-vis des extensions matérielles ou logicielles.

Sécurité

Sécurité : Responsabilité globale de la protection des données, divisée en trois composantes :

  • Confidentialité : protection contre les personnes non autorisées.
  • Intégrité : protection contre l'altération ou la corruption.
  • Disponibilité : protection contre les interférences qui empêchent l'accès aux ressources.

Évolutivité

Évolutivité : Capacité du système à maintenir son efficacité et ses performances lorsqu'il y a une augmentation du nombre de ressources ou du nombre d'utilisateurs.

Elle aide à prévenir les débordements des ressources logicielles.

Traitement des échecs

Traitement des échecs : Ensemble de techniques, algorithmes et procédures pour détecter et prévenir les pannes ; certains traitements sont les suivants :

  • Détection de défauts (checksums)
  • Masquage des échecs (broadcast)
  • Tolérance aux pannes (utilisateurs tolérants)
  • Basculement (rollback)
  • Redondance (redondant)

Concurrence

Concurrence : Possibilité d'accès simultanés ou fréquents aux services offerts par un système distribué.

Transparence

Transparence : Se concentre sur le fonctionnement interne des composants d'un système distribué et vise à faciliter l'accès pour les utilisateurs, la gestion de la concurrence et la réplication, sans révéler les détails des fonctions internes.

  • Transparence d'accès
  • Transparence de localisation
  • Transparence de concurrence
  • Transparence de réplication
  • Transparence vis-à-vis des pannes
  • Transparence de mobilité
  • Transparence des performances
  • Transparence de montée en charge

Modèles d'architecture

Les modèles d'architecture sont :

  • Couches logicielles
  • Architectures système
  • Interfaces et objets

Modèle architectural

Modèle architectural : Se réfère à la distribution ou au placement des éléments et aux relations entre les composants.

Couche logicielle

Couche logicielle : Concerne la structuration du logiciel en couches sur un équipement informatique unique.

Les couches sont constituées d'un ou plusieurs processus, situés sur des ordinateurs identiques ou différents ; elles offrent des services et en consomment.

Z

Plate-forme

Plate-forme : La couche inférieure offre des services aux couches supérieures et sa mise en œuvre dépend de chaque ordinateur.

Intergiciel

Intergiciel : Couche logicielle dont le but est de masquer l'hétérogénéité et de fournir un modèle de programmation pratique pour les développeurs d'applications.

Systèmes / Architectures

  • Client-serveur : Le serveur et le client peuvent être sur la même machine ou sur des machines distinctes.
  • Services fournis par plusieurs serveurs : Les serveurs peuvent diviser l'ensemble des objets fournissant un service et les distribuer entre eux.
  • Serveur proxy et cache : Un cache est un référentiel d'objets ou de données récemment utilisés.
  • Processus pair-à-pair : Tous les processus effectuent des tâches similaires, interagissent en collaboration égal à égal pour une activité ou un traitement distribué, sans distinction stricte entre clients et serveurs.

Interface de processus

Interface de processus : Spécification de l'ensemble des fonctions qui peuvent être invoquées sur ce processus.

  • Dans les langages orientés objet, le traitement distribué peut être construit avec des objets. Les références à ces objets sont passées à d'autres processus qui peuvent accéder à leurs méthodes à distance.
  • C'est l'approche adoptée par CORBA et Java RMI.

Autres modèles architecturaux

  • Code mobile : Distribution du code de l'application, souvent appelé agents.
  • Agent mobile : Programme qui se déplace d'un ordinateur à un autre sur le réseau pour accomplir une tâche.
  • Applications distantes : Téléchargement depuis un serveur distant de l'application et du logiciel nécessaire.
  • Clients légers : Le client fournit uniquement l'interface utilisateur, tandis que l'application s'exécute sur un serveur distant souvent très puissant (clusters multiprocesseurs, etc.).

Exigences de conception de l'architecture distribuée

Performance

  • Réactivité : Pour obtenir de bons temps de réponse, les systèmes doivent comporter peu de couches logicielles et la quantité de données transférées doit être réduite.
  • Productivité : Travail par unité de temps.
  • Répartition de la charge : Utilisation d'applets, de plusieurs serveurs ou ordinateurs pour héberger un service unique.

Qualité de service (QoS)

  • La QoS est la capacité des systèmes à respecter certaines limites de service.
  • La satisfaction de ces besoins dépend de la disponibilité des ressources au bon moment.

Aspects de la fiabilité

(Fonctionnalité correcte)

  • Exactitude
  • Tolérance aux pannes
  • Sécurité :
  • Confidentialité
  • Intégrité
  • Disponibilité

Tolérance aux pannes

Tolérance aux pannes : Les applications stables doivent continuer à fonctionner correctement en présence de défaillances matérielles, logicielles ou réseau.

  • La redondance est utilisée.
  • D'autres techniques sont employées pour rendre fiables les protocoles de communication.

Sécurité (remarques)

  • Il est nécessaire de placer les données sensibles et d'autres ressources uniquement sur des ordinateurs équipés de moyens efficaces de protection contre les attaques.

Modèles fondamentaux

Modèle d'interaction : Traite des performances et des difficultés à fixer des délais dans un système distribué.

Modèle de faute : Tente de donner une définition précise des défaillances pouvant survenir dans les processus et les canaux de communication.

Modèle de sécurité : Décrit les menaces potentielles pour les processus et les canaux de communication.

Entrées associées :