Le DSLA Manager est le composant permettant la gestion des accords de niveau de
service, depuis leur création jusqu’à leur terminaison. Il est donc responsable :
• de la création des accords,
• de leur conservation,
• de leur suivi et de l’évaluation du respect des objectifs de niveau de service (SLO)
concernant les interruptions,
• et de leur terminaison de manière coordonnée afin que chaque partie, même
absente, soit avertie.
Le schéma ci-dessous (Figure 46) représente le DSLA Manager. Ce gestionnaire
composite est constitué d’un moniteur de niveau de service (DSLM) et d’un composant
prenant en charge les négociations. Il est également fournisseur de deux services donnant
accès à ses fonctionnalités listées au-dessus (négociation, accès aux accords passés, …).
DSLA Manager
DSLA Manager
DSLM
DSLM
Negotiator
Negotiator
DisruptionsLog Service DSLA Negotiation Service •addOffer •removeOffer •negotiate DSLA Negotiation Service •addOffer •removeOffer •negotiate DSLA Admin Service •getAgreements •terminate •confirmTermination DSLA Admin Service •getAgreements •terminate •confirmTerminationVI.3.1 Contenu d’un DSLA
Les accords de niveau de services gérés par le DSLA Manager ont une forme qui découle
directement de l’analyse faite dans l’état de l’art. Le SLA (i.e., DSLA) se découpe en trois
parties : les informations générales (nom, ID, description, service concerné), le contexte
(dates de validité et parties impliquées) et les termes (principalement les objectifs de
niveau de service).
Les SLOs sont de la forme décrite dans le chapitre précédent. Ils sont exprimés par un
nom, une description, une valeur, une unité, une relation d’ordre en gardant une
possibilité d’extension (ensembles de clés-valeurs) pour des informations telles que la
précision de la mesure (marge d’erreur) ou les conditions de validité du SLO. Nous nous
intéressons essentiellement aux critères de QdS caractéristiques de la disponibilité des
services intermittents. Néanmoins d’autres objectifs peuvent être décrits via des paires
clé-valeur. En revanche le système actuel ne fournit pas les mécanismes de mesure
d’autres SLOs.
Par défaut la partie obligée est le fournisseur de service, nous ne proposons pas ici de
résoudre le cas de l’intermittence des consommateurs qui nécessiterait une réflexion plus
poussée sur la mesure de cette intermittence, sur les concepts de sessions et de contrôle
d’admission. Néanmoins cette voie est présentée plus en détails dans les perspectives de
cette thèse (chapitre IX.1).
VI.3.2 Négociation et établissement d’un SLA
Le DSLA Manager prend aussi en charge la négociation et donc la création d’un accord
de niveau de service. L’accord se construit à partir des capacités et besoins des parties. En
pratique le prestataire (ou plus rarement le consommateur [Andrieux et al 2004]) propose
une offre servant de base à la négociation. Nous avons décidé de suivre ce mode de
fonctionnement. Le schéma d’interaction Figure 47 montre les différentes étapes du
processus de négociation entre un consommateur et un fournisseur de service.
Les fournisseurs de service publient une proposition d’accord en même temps que leur
service. Les consommateurs en plus de trouver le service requis doivent alors confronter
leurs besoins aux capacités (et vice versa) des fournisseurs découverts, activement ou
passivement lorsque c’est possible, ceci afin de fixer les termes de l’accord (i.e., les SLOs).
Cette offre est elle-même en quelque sorte tolérante aux interruptions puisqu’elle reste
active même si le fournisseur est indisponible. Elle est automatiquement retirée par le
gestionnaire de SLAs lorsque le fournisseur ne respecte plus ses SLOs. Toutefois ce
dernier n’est pas mis sur liste noire et pourra proposer une autre offre ultérieurement.
Le service de négociation proposé par le DSLA Manager est fourni par un composant
dédié à la gestion de la négociation. Il permet à un fournisseur d’enregistrer (ou retirer)
une proposition de SLA au moment de la publication (ou du retrait) de son service, et à un
consommateur de négocier une offre publiée. La négociation peut porter aussi bien sur les
SLOs spécifiques aux interruptions de service que sur d’autres paramètres de qualité de
service. Cependant, nous avons choisi de procéder par simple comparaison des valeurs
des paramètres de qualité de service, ce qui fait que le composant de négociation reste du
niveau de la simple sélection. Pour qu’un accord soit conclu entre un consommateur et un
fournisseur de service, il est également nécessaire que l’ensemble des besoins du
consommateur soit un sous-ensemble de l’offre du fournisseur. Ce service de négociation
pourra être raffiné par la suite pour supporter des protocoles plus complexes, mais ce
n’est pas le but de cette thèse.
Consumer DSLA Manager ServiceRegistry Provider
1 : registerService() 2 : addOffer() 3 : notifiyArrival 4 : negotiate() 5 : OK 6 : useService() 7 : useService 8 : unregisterService() 9 : notifyDeparture 10 : removeOffer()
Figure 47. Diagramme de séquence UML du processus de négociation
VI.3.3 Suivi de la conformité
L’évaluation du respect des objectifs de niveau de service, et donc de la conformité à
l’accord, est un des rôles du SLM (Service Level Management). Dans notre cas, elle est
gérée par un composant appelé DSLM dont la tâche est de comparer les mesures faites par
les sondes et de déclencher des actions lorsque ces mesures ne sont plus en accord avec les
termes du SLA.
Le DSLM utilise le service du DisruptionsLogger comme sonde de mesure des
interruptions de service. Lorsqu’un SLA entre en application, le DSLM fait appel au
DisruptionsLogger pour surveiller un fournisseur. Il y enregistre un objet servant
(DisruptionsListener, cf. Figure 45) qui est ensuite notifié en cas d’interruption et de
retour via deux méthodes de rappel. Quand une interruption survient, le DSLM
programme selon un mécanisme de chien de garde (watchdog) un rapport de violation à
l’instant t où t correspond à l’échéance la plus proche dans le temps : le temps restant
avant le dépassement de la durée maximum d’interruption, ou celui du seuil des durées
d’interruptions cumulées. Si le prestataire est de retour avant l’échéance alors la tache est
simplement annulée. Un mécanisme similaire est utilisé au retour d’un service afin
d’évaluer le troisième critère, c’est-à-dire le temps minimum de fonctionnement.
A la création d’un accord, le DSLA Manager crée une instance du composant DSLM
chargé de la supervision du SLA. Cette instance est alors identifiée dans la partie de
l’accord relative au contexte comme partie chargée de la supervision.
En tant qu’évaluateur de conformité, le DSLM est responsable du maintien de l’état de
l’accord qu’il surveille. Il peut transmettre une violation de clause au DSLA Manager afin
que ce dernier invalide l’accord et selon la politique de recours choisie y mette fin en
conséquence.
Enfin le DSLM, qui supervise le respect des SLOs et rapporte les violations de clauses,
applique les pénalités et déclenche les politiques de recours. Ici, nous ne souhaitons pas
couvrir un ensemble conséquent de pénalités (cf. chapitre III.2.3.3). Seule la mise sur liste
noire (blacklisting) a été validée dans l’implémentation et les expériences. Elle est
déléguée au conteneur gérant les liaisons de services.
VI.3.4 Terminaison
N’importe quelle partie peut mettre fin à un accord. Que ce soit la partie tierce chargée
de la supervision (SLM), le consommateur ou le fournisseur du service. Seulement les
autres parties doivent alors être averties de la terminaison afin de pouvoir réagir en
conséquence. Par exemple, un consommateur averti pourra alors librement changer de
prestataire, ou un fournisseur pourra facturer son service au consommateur ayant rompu
l’accord, voire appliquer les pénalités définies par le contrat. Enfin le gestionnaire de
niveau de service pourra arrêter son activité de supervision une fois l’accord terminé.
Dans le document
Politique de Liaison aux Services Intermittents dirigée par les Accords de Niveau de Service
(Page 136-140)