Mots clés : application multimedia,
architecture qualité de services, temps réel, allocation de
ressources .
Résumé :
Un nombre croissant d'applications reposent sur
l'utilisation du multimedia :au sein d'une même
présentation peuvent être utilisées à la fois des images
animées, du son, du texte, etc. Ces applications se
caractérisent par leur caractère distribué, par leur
contraintes temporelles, et par la grande quantité de
ressources requises. Pour tenter d'assouplir cette dernière
caractéristique, un nombre croissant d'applications
multimedia autorisent différents niveaux de qualité pour un
même service, permettant ainsi d'adapter la qualité en
fonction des ressources disponibles.
La généralisation des applications multimedia conduit
inéluctablement à modifier l'infrastructure qui répartit les
ressources entre les applications. Jusqu'à l'émergence du
multimedia, les exigences de qualité de service des
applications effectuant des transferts d'information se
limitaient le plus souvent à vérifier l'intégrité des données
échangées, afin d'éviter, par exemple, la corruption des
fichiers transférés. Dans ce contexte, les ressources ne sont
en général pas réservées, ce qui rend imprévisible la durée
d'un traitement. Ce modèle, parfois qualifié de
« paresseux (best
effort) », est acceptable pour des applications
où le traitement effectivement effectué est prépondérant sur
les délais. A contrario, le
multimedia se caractérise, outre l'exigence - devenue
« seulement » statistique - d'intégrité des
données, par le respect de garanties temporelles, ce qui
nécessite une certaine disponibilité du processeur, de la
bande passante, de la mémoire, etc. [BS97].
Le premier problème à résoudre est de vérifier la
cohérence des formats des données
échangées, afin de savoir si les différents équipements
utilisés sont compatibles. Comme les flux multimedia sont
maintenant bien standardisés, il n'est pas nécessaire de
connaître le détail des protocoles utilisés. On peut
considérer que ces flux sont typés pour effectuer la
vérification de cohérence des formats des données
échangées.
Le second problème est posé par le respect des
contraintes temporelles. Il
s'agit de savoir si les délais et les fréquences d'arrivée
des données sont compatibles avec les attentes des
utilisateurs. Les contraintes temporelles sont de trois
types. Les contraintes de synchronisation intra-flux
expriment la régularité du flux en précisant le délai
d'arrivée entre deux trames d'information. Les
synchronisations inter-flux précisent les délais qui peuvent
séparer l'arrivée des trames sur plusieurs flux liés. Enfin,
le délai de bout-en-bout concerne le délai qui s'écoule entre
le passsage d'une trame en un point de l'application et son
arrivée en un autre point. Afin de vérifier le respect de ces
contraintes, il est nécessaire de pouvoir connaître les
performances des éléments employés, et de pouvoir en déduire
si leur composition respecte les contraintes temporelles qui
sont exprimées sur l'application.
Le comportement temporel des éléments constituant
l'application ne peut être garanti que si une certaine
quantité de ressources est disponible. En effet, il est
possible de trouver au sein de la plate-forme d'exécution
plusieurs applications multimedia qui s'exécutent en
concurrence. Dans ce cas, les ressources du calculateur et du
réseau ont à être partagées par toutes les applications.
Afin de permettre aux applications multimedia, très
exigeantes en ressources, de s'exécuter avec le plus grand
éventail possible de disponibilités en ressources, on a donné
la faculté aux applications multimedia de fonctionner selon
des modes plus ou moins dégradés. Dans un premier temps on a
pu se satisfaire de solutions ad
hoc, dans lesquelles les applications multimedia
intégraient en leur sein des mécanismes d'adaptation de leur
comportement en fonction des ressources disponibles. Mais ces
solutions ont pour inconvénient d'être difficilement
réutilisables et elles ne permettent pas une gestion
coordonnée des ressources lorsque plusieurs applications
s'exécutent.
Des solutions middleware - appelées architectures qualité de service - ont
été proposées afin de décharger les applications de la
gestion de l'adaptation. Pour profiter de leurs services, les
applications doivent se conformer à un style d'architecture
logicielle. Ce style spécifie entre autre les modalités
d'interactions, l'interface des applications et le type des
données pouvant être échangées.
Le rÔle des architectures qualité de service (que nous
abrégeons dorénavant par AQDS) est d'effectuer
la réservation et la renégociation des ressources de
« bout-en-bout »[ACH95].
Ces mécanismes sont suffisants pour des applications où le
serveur est lié au client directement par un réseau, comme
c'est le cas souvent pour les applications de vidéo à la
demande ; mais ces AQDS ne permettent pas
d'appréhender correctement les liaisons de bout-en-bout d'une
application qui mettent en jeu plusieurs liens de machine à
machine.
Quant aux architectures qualité de service qui ne font pas
d'hypothèse sur les éléments qui sont placés entre les
extrémités, la complexité de leur représentation rend
douteuse l'utilité à grande échelle des algorithmes
proposés.
Ces architectures qualité de service définissent une
infrastructure de connexion, mais ne permettent de savoir
qu'à l'exécution si une application multimedia peut
s'exécuter ou non. Aussi nous sommes nous intéressés à la
caractérisation de ces architectures afin de permettre de
déterminer a priori si la
combinaison d'une application multimedia et d'une
AQDS est, d'une part, compatible pour le
format des données échangées et, d'autre part, que cette
combinaison permet bien le respect des contraintes
temporelles de l'application multimedia.