54
Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut [email protected] Centre de Recherche en Automatique de Nancy CRAN - CNRS UMR 7039 Université Henri Poincaré - Nancy I

Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut [email protected]

Embed Size (px)

Citation preview

Page 1: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication

Fabien [email protected]

Centre de Recherche en Automatique de NancyCRAN - CNRS UMR 7039

Université Henri Poincaré - Nancy I

Page 2: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

2

Exemple de télé-opération

Dispositiféchographique

Poste decommande

Echographie à distance

RéseauRéseau

Trafics "complexes": contrôle, vidéo Trafics contraints Fonctionnement de l'application dépendant de la Qualité de

Service (QdS) fournie par le réseau de communication Prise en compte de la QdS du réseau indispensable

Page 3: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

3

Approches possibles

Réservation de ressources [IntServ95], [Nahrstedt95], etc. Garantie stricte de QdS Performances optimales de l'application

Maîtrise des ressources pas totale ou impossible

Réseaux hétérogènes (Ex: Internet) Adaptation des applications aux ressources

disponibles "Multimedia applications should be adaptive" [Diot95]

Page 4: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

4

Générique?

Spécification QdS?

SpécificationQdS? Stabilité?

Mécanismed'adaptation

Adapter les applications à la QdS disponible?

Mesurer la QdS

Mécanismed'adaptation

Interactions?

Besoin d'un cadre pour l'adaptation:Architecture de QdS

Utilisateur

Page 5: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

5

Principes

Transparence et séparation [Campbell96] Mécanismes de gestion de QdS transparents pour

l'application Nombre limité de fonctionnalités "QdS" à implanter

dans l'application Complexité de la gestion de la QdS déléguée à

l'architecture Séparation des tâches de gestion de la QdS et de

traitement des flux applicatifs Ex. d'une application vidéo: Signalisation <-> Flux vidéo

Facilite le travail du développeur d'applications Permet une vision / gestion globale de toutes

les applications

Page 6: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

6

Spécification/Traduction de QdS [Cheong99]

Spécification de la QdS Utilisateur, application, système d'exploitation,

système de communication Exemple d'une application vidéo

Utilisateur Qualité vidéo subjective

Application Codec vidéo, taille de l'image, etc.

Système decommunication

Bande passante, etc.

Systèmed'exploitation

Mémoire, etc.

Traduction (translation) de la QdS Conversion de la spécification de la QdS

Page 7: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

7

Mécanismes d'adaptation existants

Adaptation du débit de la source Flux audio/vidéo

Taux de compression / choix du codec (Ex: [Fry99])

Dimensionnement dynamique de mémoires-tampon

Compensation de gigue Flux audio (Ex: [Benaissa02])

Techniques plus génériques Librairies de composants adaptables [Chang99][Ott98]

Implique de prévoir tous les composants possibles Modèle Prayer [Bharghavan97]

Exécution d'un code différent selon la QdS L'application spécifie comment réagir lorsque la QdS varie Un superviseur extérieur pilote l'adaptation Transparence/Séparation

Page 8: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

8

Modèles existants

XRM[Lazar94]

QoS-A[Campbell9

8]

Omega[Nahrstedt9

6]

Heidelberg [Vogt98]

Prayer[Bharghavan97

]

Adaptation du débit

Compensation

de gigue

Cadre architectur

al

Spécification QdS Traduction QdS Métrologie

Préférences Utilisateur

Adaptation des

applications

Générique Transparent Stabilité

Multi-application

Réservation de ressources

Oui Incomplet Non

Page 9: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

9

Problématique

Adapter les applications en ligne à la QdS mesurée

Métrologiede la QdS

PréférencesUtilisateur

GénériqueSpécification QdS

Stabilité

Spécification

QdS

Traduction QdS

Transparent

Architecture de QdS

Multi-application

Mécanismed'adaptation

Page 10: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

10

Suite de l'exposé:

"QdS-Adapt": Une architecture pour l'adaptation en ligne des applications

Mécanisme d'adaptation des applications Service de métrologie de la QdS Architecture "QdS-Adapt"

Expérimentations Télé-pilotage d'un robot mobile Télé-asservissement en position d'un robot mobile

Conclusions & Perspectives

Page 11: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

"QdS–Adapt"Une architecture pour l'adaptation en ligne des applications

1. Mécanisme d'adaptation des applications

2. Service de métrologie de la QdS

3. Architecture "QdS-Adapt"

Page 12: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

12

Métrologiede la QdS

GénériqueSpécification QdS

Stabilité

SpécificationQdS

Transparent

Architecture de QdS

Multi-application

Mécanismed'adaptation

Traduction QdS

PréférencesUtilisateur

Page 13: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

13

Mécanisme d'adaptation en ligne Basé sur des concepts issus du modèle Prayer

[Bharghavan97]

Classes de QdS "Niveaux" de QdS

Séquences d'exécution Associées aux classes de QdS Exécution d'un code différent selon la classe de QdS

disponible

Exemple

Classe de QdS 1

Classe de QdS 2

Classe de QdS 3

+

-

Page 14: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

14

Mécanisme d'adaptation: exemple

Choix de la séquence

Page 15: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

15

Mécanisme d'adaptation

S e q 1

C la s s e

E ta t In itia l

E x e c u te r se q 1

[x = A ]

T e rm in er s eq 1

F in s e q 1

E ta t F in a l

S eq 2 S e q 3F in s e q 2 F in s e q 3

E x e c u te r se q 2

[x = B ]

E x e c u ter s e q3

[x = C ]

T e rm in e r s e q 2 T e rm in e r s e q3

Je to n

x

x

x

J e to n

J e to n

x

x

x J e to n

x

x J e to n

J e to n J e to n

J e to n J e to n

x

x

x

x

Page 16: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

16

Adaptation en ligne: exemple

t

QdS

Page 17: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

17

Actions d'adaptation

Actions "Bas" Initiées lorsque la classe de QdS courante plus disponible BLOCK, BEST_EFFORT, ROLLBACK, ABORT, SWITCH()

Actions "Haut" Initiées lorsque une (des) classe(s) de QdS supérieure(s)

disponible(s) BEST_EFFORT, ROLLBACK, SWITCH()

Un couple (Action Haut, Action Bas) associé à chaque séquence Application informée de l'initiation nécessaire d'une action

d'adaptation

t

QdS

Page 18: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

18

Blocs d'adaptation

Page 19: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

19

PréférencesUtilisateurs

GénériqueSpécification QdS

Stabilité

SpécificationQdS

Transparent

Architecture de QdS

Multi-application

Mécanismed'adaptation

Traduction QdS

Métrologiede la QdS

Page 20: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

20

Métrologie de la QdS réseau Mesurer la QdS telle qu'elle est perçue par l'application

Mettre en œuvre une politique de métrologie

Fonctionnalités attendues

Paramètres différents

Plusieurs mesures simultanées

Mesures bidirectionnelles

Paramétrable

Page 21: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

21

Système A

Métrologie de la QdS réseau

Mesurer la QdS telle qu'elle est ressentie par

l'application

Mesures actives:Effectuées en envoyant des

paquets-sonde

Réseau

Réseau

Système B

Page 22: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

22

Paramètres retenus et outils de mesures

Outils de mesure

Capacité (lien)Pathchar [Jacobson97], Bing [Beyssac95], Clink [Downey99], Pchar [Mah99], Nettimer [Lai01]

Bande passante disponible (lien/chemin)

Cprobe [Carter96], Pipechar [Jin01], Pathload [Jain02],Spruce [Strauss03], Topp [Melander03]

Bande passante minimale (chemin)

Bprobe [Carter96], Pathrate [Dovrolis01],Nettimer [Lai01], Sprobe [Saroiu01]

Délai unidirectionnel -

Délai aller-retour Ping [BSD4.3]

Variation de délai Iperf [Tirumala03]

Pertes de paquets Ping [BSD4.3], Sting [Savage99], Iperf [Tirumala03]

Route Traceroute [Jacobson89]

Page 23: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

23

Analyse

Outils inutilisables pour mettre en œuvre une politique de métrologie

Fonctionnalités

Paramètres différents Non

Plusieurs mesures simultanées Non

Mesures bidirectionnelles Non

Paramétrable Non

Page 24: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

24

Service de métrologie

Cadre générique pour l'implantation de techniques de mesure

Dont les techniques des outils précédents Mesures actives

Réalisées par des couples d'émetteur-récepteur de paquets-sonde: Capteurs

Structure modulaire Ajout de couples de capteurs

Page 25: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

25

Service de métrologie: principe

Service deMétrologie

Application

Capteur

Gère la politique de métrologie:

paramètres à mesurer,période de mesure(caractéristiques de

capteurs)

Système A Système B

Coordinateur

Service deMétrologie

Coordinateur

Canal de contrôle

Agent deSurveillance

Application

Capteur Capteur

Capteur

Page 26: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

26

Modélisation UML - Diagramme de Classes

Service deMétrologie

Capteur

Capteur

Système A

Coordinateur

Agent deSurveillance

Application

CapteurActif CapteurPassif

+démarrer()+arrêter()+évaluerTraficMesure()

-tailleSondes

CapteurActifDélaiVdPertesClient

+démarrer()+arrêter()+mesurerDélai()+mesurerVariationDélai()+mesurerPertes()+envoyerMesures()

-délai-variationDélai-pertes-timeout-périodeMesure

CapteurActifDélaiVdPertesServeur

+démarrer()+arrêter()+mesurerRtt()+envoyerMesures()+évaluerTraficMesure()

-périodeSondes-tailleSondes-périodeMesure

CapteurActifRttClient

+démarrer()+arrêter()

CapteurActifRttServeur

-périodeSondes

CapteurActifDélaiVdPertes CapteurActifRtt

+démarrerSurveillance()+validerCréationCapteurs()+recevoirMesures()

-idAgent-périodeMesure

AgentDeSurveillance

+créerCoupleCapteurs()+créerCapteur()+démarrerCoupleCapteurs()+démarrerCapteur()+aiguillerMessage()

Coordinateur

+connecterSystèmeDistant()+envoyerMessage()+recevoirMessage()

CanalDeContrôle

+obtenirAdresseCapteur()+obtenirCanalCapteur()+obtenirAdresseCapteurDistant()+obtenirCanalCapteurDistant()

-idCapteur-idAgent-protocoleTransport-idCapteurDistant

Capteur

-numéro

Canal

-typeCapteur-idAgent-adresseSystèmeLocal-adresseSystèmeDistant-numéroCanalLocal-numéroCanalDistant-protocoleTransport

DescripteurCapteur

1*

1

*

11

*1

1

*

-mesureParamètre1-mesureParamètre2-...

RésultatsDeMesure

1

1

1

*

Page 27: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

27

Modélisation UML – Diagramme de Séquence

idCapteur

numéroCanal

AgentDeSurvAppli:AgentDeSurveillance

CoordSiteA:Coordinateur

créerCoupleCapteurs

CanalSiteA:Canalcréer

CoordSiteB:Coordinateur

créerCapteur

CanalSiteB:Canalcréer

CapteurDVdPServeur:CapteurActifDélaiVdPertesServeur

créer

idCapteur

créer

idCapteur

validerCréationCapteurs

démarrerCoupleCapteurs

démarrerCapteur démarrer

étatétat

démarrer

état

CapteurDVdPClient:CapteurActifDélaiVdPertesClient

Page 28: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

28

Fonctionnalités du service de métrologie

Fonctionnalités

Paramètres différents

Plusieurs mesures simultanées

Mesures bidirectionnelles

Paramétrable

Page 29: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

29

Implantation: QoSMet

One-way delay (RFC2679)Type-P-One-way-Delay Type-P-One-way-Delay-Poisson-Stream Type-P-One-way-Delay-Percentile Type-P-One-way-Delay-Median Type-P-One-way-Delay-Minimum

One-way delay variation (RFC3393)Type-P-One-way-ipdv Type-P-One-way-ipdv-Poisson-Stream Type-P-One-way-ipdv-jitter Type-P-One-way-peak-to-peak-ipdv

Packet loss (RFC2680)Type-P-One-way-Packet-Loss Type-P-One-way-Packet-Loss-Poisson-Stream Type-P-One-way-Packet-Loss-Average Type-P-One-way-Packet-Loss

Packet loss pattern sample metrics (RFC3357) Type-P-One-way-Loss-Distance-Stream Type-P-One-way-Loss-Period-Stream Type-P-One-way-Loss-Noticeable-Rate

Packet reordering (draft)Type-P-Reordered-Ratio-Stream

En cours d'implantationBande passante disponible selon l'algorithme "Spruce" [Strauss03]

Paramètres mesurés selon les recommandations de l'IETF(métriques conformes aux

RFCs)

Compatible One-Way Active Measurement Protocol [IETF]

Page 30: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

30

Métrologiede la QdS

PréférencesUtilisateurs

GénériqueSpécification QdS

Stabilité

SpécificationQdS

Transparent

Architecture de QdS

Multi-application

Mécanismed'adaptation

Traduction QdS

Page 31: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

31

Architecture "QdS-Adapt"

Gestion

Application

Ressources

Processeur Mémoire Réseaux

Page 32: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

32

Modélisation UML - Diagramme de Classes

+exporterClassesQos()

-périodeBloc-périodeAdaptation

Application

+enregistrerApplication()+déterminerNouvelleClasseQos()+adapterApplication()

Superviseur

1

*

contrôle

+démarrerSurveillance()+validerCréationCapteurs()+recevoirMesures()

-idAgent-périodeMesure

AgentDeSurveillance

1

*

utilise

1

1

correspond à

+exécuterSéquence()+activerActionHaut()+activerActionBas()

-positionCourante

CAP

ClasseQosApplication

1

1

-paramètre1Inf-paramètre1Sup-paramètre2Inf-paramètre2Sup-...

ClasseQosMétrique

1

1

correspond à

+afficherClassesQos()+ordonnerClassesQos()+démarrerApplication()

-préférencesUtilisateur

InterfaceUtilisateur

1

1+enregistrerApplication()+ordonnerApplications()

-préférencesUtilisateurInterApplications

InterfaceUtilisateurInterApplications

1..* 1

représente

+faireTranslation()

Translation

-prioritésApplications

Ordonnanceur

+contrôlerTrafic()

ContrôleurDeTrafic

+corrigerTrafic()

GestionnaireDeFlux

+exporterCAP()

-numéro

BlocAdaptation11..*

1

1..*

1

1

interagit avec

1

1

1

1

utilise

11

utilise1* crée

+mettreAJour()

-classeCourante-classesPrécédentes

Historique

1

1

utilise

*

1

utilise

1

1

Page 33: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

33

-Saisie des préférences de l'utilisateur

:InterfaceUtilisateur

:InterfaceUtilisateurInterApplications

Paquetage supérieur::Utilisateur

2: ordonnerClassesQos()

3: démarrerApplication()

1: ordonnerApplications()

:Superviseur :Application

1: enregistrerApplication()2: exporterClassesQos()

:Translation

3: faireTranslation()

:ClasseQosMetriques

3.1: *[i:=1..n]:création()

:AgentDeSurveillance4: création()

5: démarrerS

urveillance()

-Enregistrement de l'application auprès du superviseur et exportation des classes de QdS "application"

-Traduction des classes de QdS en classes "métriques"-Création d'un agent de surveillance

-Démarrage de la métrologieDéterminer Nouvelle Classe QoS

[nouvelleClasse := classeCourante]

[sinon]

Démarrer séquence d'exécution suivante

Mettre à jour historique

[bloc en cours d'exécution] [fin d'exécution du bloc courant]

Activer action d'adaptation Haut Activer action d'adaptation Bas

[nouvelle classe < classe courante][nouvelle classe > classe courante]

Pendant l'exécution de l'application-Détermination périodique de la classe de QdS la plus adaptée

-Choix de la séquence d'exécution associée / Activation des actions d'adaptation

:Application

:InterfaceUtilisateur

2: création()

3: afficherClassesQos()

:InterfaceUtilisateurInterApplications1: enregistrerApplication()

-Enregistrement de l'application auprès de l'interface inter-applications

-Création de l'interface utilisateur propre

Fonctionnement

Page 34: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

34

Calcul de la classe de QdS la plus adaptée

Principe1. Parmi toutes les classes du bloc en cours, déterminer les classes disponibles selon la QdS courante2. Trier l'ensemble obtenu selon l'ordre indiqué par l'utilisateur

Soit A l'ensemble des couples (classes de QdS de l'application, préférence de l'utilisateur):

Soit B l'ensemble des classes de QdS du bloc,

Soit D l'ensemble des classes de QdS de l'application disponibles en fonction de la QdS courante,

L'ensemble des classes de QdS disponibles pour le bloc est

La classe de QdS la plus adaptée est

à ni;npppaA iiii 1,1 , avec ,

AB

AD

nmmj, qeDBE jj , à 1 avec

k...mk

jj qqe1

min que tel

Page 35: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

35

Métrologiede la QdS

PréférencesUtilisateurs

GénériqueSpécification QdS

Stabilité

SpécificationQdS

Transparent

Architecture QdS-Adapt

Multi-application

Mécanismed'adaptation

Traduction QdS

Page 36: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

Expérimentations

Télé-pilotage d'un robot mobileTélé-asservissement en position d'un robot

mobile

Page 37: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

37

Plate-forme d'expérimentation

Ordinateur embarqué

Système mobile

Carte réseau sans-fil802.11b

Robot et caméra embarquée

Point d’accès802.11b

Poste decommande

Serveur vidéo http

EmulateurInternet

[Lecuire01]

Délai, pertes

Page 38: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

38

Application de télé-pilotage

Application démonstrative Suivre le trajet de A à E

Page 39: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

39

Stratégie d'adaptation / Classes de QdS Degré d’autonomie du robot variable selon l’importance

des perturbations [Lin96] Modes de pilotage

Mode "joystick" Maîtrise complète du robot par l'opérateur (pilotage interactif)

Mode "rail" Déplacement le long d'un rail virtuel Maîtrise des degrés de liberté du robot partagée entre le robot

et l’opérateur Mode "point à point"

Maîtrise de la trajectoire par le robot (interactivité quasi-nulle)

Interactivitéopérateur-robot

+ -

Délaialler-retour (s)

0,100 0,25 1,00

Page 40: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

40

Blocs – Séquences – Actions d'adaptationA

B

C

D

E

Aller de A à B(- / SW)

Aller de A à B(B_E / SW)

Aller de A à B(B_E / BL)

Aller de D à E(- / SW)

Aller de D à E(B_E / SW)

Aller de D à E(B_E / BL)

Aller de C à D(- / SW)

Aller de C à D(B_E / BL)

Aller de B à C(- / SW)

Aller de B à C(B_E / BL)

Tra

jet

Page 41: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

41

Exemple: Bloc B-C

Page 42: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

42

Application de télé-asservissement

Asservir la position du robot Commande en vitesse

RobotCorrecteurpositionconsigne vitesse

RéseauRéseau

Hypothèses Délais identiques à l'aller et au retour Pas de perte de paquets Correcteur proportionnel

2AR

RA

DDD

Page 43: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

43

Boucle de commande

Identification du robot CONTSID [Garnier02]

Fonction de transfert en boucle fermée

sD

sD

AR

AR

eksss

eksFTBF

3

3

10.7023

210.70

..6117,165611,160450,4

..6117,16)(

F(s)k e-(D /2)s

Yref Y+

-

e-(D /2)s

Correcteurproportionnel

Délai

Fonction de transfertdu robot

AR

AR

sss

eksF

s

5611,160450,4

..6117,16)(

23

10.70 3

Page 44: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

44

Etude en simulation: Impact du réseau

Introduction de délai dans la boucle Provoque des dépassements

0 5 10 150

0.2

0.4

0.6

0.8

1

1.2

temps (s)

po

sitio

n (

mm

)

rtt=0srtt=0.2srtt=0.4s

Simulation Matlab

Page 45: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

45

Comment supprimer le dépassement? Calcul d'un gain pour délaiAR max

tel que dépassement nul

Pas satisfaisant Système inutilement lent lorsque le

retard est très inférieur au retard max

Gain (k) 0,9 0,7 0,5 0,3

DélaiAR max (s) 0,1 0,3 0,5 1,1

tm (s) 1,38 2,37 3,59 6,53

0 5 10 15 200

0.2

0.4

0.6

0.8

1

1.2

1.4

temps (s)

po

sitio

n (

mm

)

k=0.3 - rtt=0.3k=0.9 - rtt=0.3

Simulation Matlab

Page 46: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

46

Stratégie d'adaptation / Classes de QdS

Choix du gain du correcteur en fonction du délaiAR

Dépassement au détriment de la rapidité du système

Classe de QdS

Gain (k) 0,9 0,7 0,5 0,3

DélaiAR max (s) 0,1 0,3 0,5 1,1

Page 47: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

47

Bloc – Séquences – Actions d'adaptation

Réguler(- / SW)

Gain=0,9

Réguler(B_E / SW)Gain=0,7

Réguler(B_E / SW)Gain=0,5

Réguler(B_E / BL)Gain=0,3

Périodes Choisies en fonction de la dynamique du système Période du bloc: 2s Période du calcul de la classe de QdS la plus adaptée: 0,5s

Page 48: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

48

Modélisation

Page 49: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

49

Résultats Expérimentaux

Mesure dudélai aller-retour

(secondes)

Gain

0.00

0.10

0.20

0.30

0.40

0.50

0.60

0.70

0.80

0.90

1.00

1.10

1.20

1.30

1.40

1.50

1.60

0 10 20 30 40 50 60 70 80 90 100

0,300,50

1,10

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 10 20 30 40 50 60 70 80 90 1000

0,3

0,5

0,7

temps (s)

délai A-R(s)

k

Page 50: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

50

Résultats Expérimentaux (2)

Consigne / Réponse(mm)

0.00

0.10

0.20

0.30

0.40

0.50

0.60

0.70

0.80

0.90

1.00

1.10

1.20

1.30

1.40

1.50

1.60

0 10 20 30 40 50 60 70 80 90 100

0,300,50

1,10

temps (s)

-100

0

100

200

300

400

500

600

700

0 10 20 30 40 50 60 70 80 90 100

consigne

réponse

0100

200

400

600

position (mm)

Mesure dudélai aller-retour

(secondes)

délai A-R(s)

Page 51: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

51

Conclusions

Adaptation en cours d'exécution de l'application en fonction de la QdS mesurée possible

Contributions Architecture de QdS pour l'adaptation Service de métrologie de la QdS Plate-forme d'expérimentation opérationnelle pour

l'accueil et le test de Nouvelles techniques de métrologie Algorithmes de commande évolués pour les systèmes à

retard (Equipe Projet Multi-Laboratoires "Retards de Transmission en Télé-opération", CRAN-LAIL-LIRMM)

Page 52: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

52

Conclusions

XRM[Lazar94]

QoS-A[Campbell9

8]

Omega[Nahrstedt9

6]

Heidelberg [Vogt98]

Prayer[Bharghavan97

]

QdS-Adapt

[Michaut03]

Cadre architectur

al

Spécification QdS Traduction QdS

Métrologie Préférences Utilisateur

Adaptation des

applications

Générique Transparent Stabilité Multi-application

Réservation de ressources intégrable

Oui Incomplet Non

Page 53: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

53

Conclusions

Réservation de ressources

Adaptation de l'application

+

- Garanties strictes de QdS

- Performances optimales de l'application

- Fonctionnement correct de l'application même lorsque la maîtrise des

ressources incomplète ou impossible

- Orienter les dégradations de la QdS

-

- Non utilisable pour les réseaux hétérogènes

(Internet)

- Réservation impossible: Mauvais fonctionnement (voire fonctionnement

impossible) de l'application

- Performances inférieures de l'application

- Tolérance aux dégradations limitée (Ex:

Action ABORT)

Page 54: Adaptation des applications distribuées à la Qualité de Service fournie par le réseau de communication Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

54

Perspectives

Classification des applications Modèles de spécification de la QdS Fonctions de traduction de la QdS Politiques de métrologie adaptées

Paramètres pertinents, période, etc.

Métrologie Impact du flux de mesure sur le réseau (finesse des

capteurs) Quantifier les incertitudes de mesures Prédiction des mesures

Stabilité Priorités inter-applications