I.3. Objectifs d'un système distribué
La conception d'un système distribué vise des
objectifs divers, entre
autres :
? La séparation fonctionnelle : les ordinateurs ont des
configurations différentes (clients et serveurs, collection des
données et traitement des données).
? La distribution inhérente au système :
information créée et mise à jour par des personnes
différentes (pages web, etc.).
? L'équilibrage des charges
? Fiabilité : Sauvegarde des données
(réplication)
? L'économie : partage des ressources
I.4. Caractéristiques d'un système
distribué
Un système distribué peut avoir des
caractéristiques comme ci-après :
a. Interopérabilité
Dans un système distribué, il se pose un vrai
problème de coopération entre différents composants du
système. Ce problème peut être vu au niveau de la couche
« matérielle » (différents réseaux physiques et
plateforme matérielle), de la couche système d'exploitation
(divers OS utilisés (UNIX, Windows, Mac OS, Solaris)), de la couche
application (
l.NET pour Microsoft, Corba pour le
Consortium OMG, ...).
Actuellement, il existe deux approches principales de
standardisation pour masquer l'hétérogénéité
: les middlewares et les machines virtuelles.
b. Partage des ressources
Le partage des ressources est le facteur principal de
motivation pour construire les systèmes répartis. Des ressources
telles que des imprimantes, des dossiers, des pages Web ou des disques, de base
de données sont contrôlées par des serveurs du type
approprié. Par exemple, les serveurs Web contrôlent des pages Web
et d'autres ressources d'enchaînement. Des ressources sont
consultées par des clients - par exemple, les clients des serveurs web
s'appellent généralement les browsers (navigateurs).
c.
5
Ouverture
Cette caractéristique fait mention de
l'extensibilité dans la mesure où des composants peuvent
être ajoutés, remplacés ou supprimés dans un
système distribué sans en affecter les autres. Et lorsque nous
parlons des composants, nous voyons les matériels (les
périphériques, mémoires, interfaces, etc.) et les
logiciels (protocoles, pilote, etc.).
L'ouverture nécessite que les interfaces logicielles
soient documentées et accessibles aux développeurs
d'applications.
d. Expansible
Nous disons qu'un système distribué est
expansible lorsque les modifications du système et des applications ne
sont pas nécessaires quant à l'augmentation de la taille de ce
système.
e. Performance
Dans ce cas, le système doit s'adapter à bien
fonctionner même quand le nombre d'utilisateurs ou de ressources
augmentent.
f. Transparence
La transparence cache aux utilisateurs l'architecture, la
distribution des ressources, le fonctionnement de l'application ou du
système distribué pour apparaître comme une application
unique cohérente.
La norme ISO (1995) définit différents niveaux
de transparences telle que la transparence d'accès, de localisation, de
concurrence, de réplication, de mobilité, de panne, de
performance, d'échelle.
· Transparence d'accès : il s'agit
d'utiliser les mêmes opérations pour l'accès aux ressources
distantes que locales ;
· Transparence à la localisation :
l'accès aux ressources indépendamment de leur emplacement doit
être inconnue à l'utilisateur ;
· Transparence à la concurrence : il
s'agit de cacher à l'utilisateur l'exécution possible de
plusieurs processus en parallèle avec l'utilisation des ressources
partagées en évitant des interférences ;
· Transparence à la réplication :
la possibilité de dupliquer certains éléments/ressources
(fichiers de base de données) pour augmenter la fiabilité et
améliorer les performances doit être cachée à
l'utilisateur ;
· Transparence de mobilité : il s'agit
de permettre la migration des ressources et des clients à
l'intérieur d'un système sans influencer le déroulement
des applications ;
· Transparence de panne : il s'agit de
permettre aux applications des utilisateurs d'achever leurs exécutions
malgré les pannes qui peuvent affecter les composants d'un
système (composants physiques ou logiques) ;
6
7
? Transparence à la modification de
l'échelle : il s'agit de la possibilité d'une extension
importante d'un système sans influence notable sur les performances des
applications.
? Transparence à la reconfiguration : il
s'agit de cacher à l'utilisateur la possibilité de reconfigurer
le système pour en augmenter les performances en fonction de la
charge.
g. Concurrence
Le problème de la concurrence permet l'accès
simultané à des ressources par plusieurs processus. Ce
problème se pose pour les systèmes distribués comme pour
les systèmes centralisés. En effet, il y a bien d'autres
ressources dont l'accès simultané n'est pas possible. Dans ce
cas, leur manipulation ne peut se faire que par un processus à la fois.
Le cas des ressources physiques telles que l'imprimante mais aussi des
ressources logiques telles que les fichiers, les tables des bases de
données, etc. Dans ce cas, les applications distribuées
(reparties) actuelles autorisent l'exécution de plusieurs services en
concurrence (cas de l'accès à une base de données). Chaque
demande est prise en compte par un processus simple appelé thread ; et
la gestion de la concurrence fait appel aux mécanismes de
synchronisation classiques.
|