Fabien Michaut fabien.michaut@cran.uhp-nancy.fr

  • View
    48

  • Download
    2

Embed Size (px)

DESCRIPTION

Adaptation des applications distribues la Qualit de Service fournie par le rseau de communication. Fabien Michaut fabien.michaut@cran.uhp-nancy.fr. Centre de Recherche en Automatique de Nancy CRAN - CNRS UMR 7039 Universit Henri Poincar - Nancy I. Dispositif chographique. Poste de - PowerPoint PPT Presentation

Transcript

  • Adaptation des applications distribues la Qualit de Service fournie par le rseau de communicationFabien Michautfabien.michaut@cran.uhp-nancy.frCentre de Recherche en Automatique de Nancy CRAN - CNRS UMR 7039 Universit Henri Poincar - Nancy I

  • Exemple de tl-oprationEchographie distanceRseauTrafics "complexes": contrle, vidoTrafics contraintsFonctionnement de l'application dpendant de la Qualit de Service (QdS) fournie par le rseau de communicationPrise en compte de la QdS du rseau indispensable

  • Approches possiblesRservation de ressources[IntServ95], [Nahrstedt95], etc.Garantie stricte de QdSPerformances optimales de l'application

    Matrise des ressources pas totale ou impossibleRseaux htrognes (Ex: Internet)Adaptation des applications aux ressources disponibles"Multimedia applications should be adaptive" [Diot95]

  • Adapter les applications la QdS disponible?Gnrique?Spcification QdS?SpcificationQdS?Stabilit?Mcanismed'adaptationMesurer la QdSMcanismed'adaptationInteractions?Utilisateur

  • PrincipesTransparence et sparation [Campbell96]Mcanismes de gestion de QdS transparents pour l'applicationNombre limit de fonctionnalits "QdS" implanter dans l'applicationComplexit de la gestion de la QdS dlgue l'architectureSparation des tches de gestion de la QdS et de traitement des flux applicatifsEx. d'une application vido: Signalisation Flux vido

    Facilite le travail du dveloppeur d'applicationsPermet une vision / gestion globale de toutes les applications

  • Spcification/Traduction de QdS [Cheong99]Spcification de la QdSUtilisateur, application, systme d'exploitation, systme de communicationExemple d'une application vidoUtilisateurQualit vido subjectiveApplicationCodec vido, taille de l'image, etc.Systme decommunicationBande passante, etc.Systmed'exploitationMmoire, etc.Traduction (translation) de la QdSConversion de la spcification de la QdS

  • Mcanismes d'adaptation existantsAdaptation du dbit de la sourceFlux audio/vidoTaux de compression / choix du codec (Ex: [Fry99])Dimensionnement dynamique de mmoires-tamponCompensation de gigueFlux audio (Ex: [Benaissa02])Techniques plus gnriquesLibrairies de composants adaptables [Chang99][Ott98]Implique de prvoir tous les composants possiblesModle Prayer [Bharghavan97]Excution d'un code diffrent selon la QdSL'application spcifie comment ragir lorsque la QdS varieUn superviseur extrieur pilote l'adaptationTransparence/Sparation

  • Modles existants

  • ProblmatiqueAdapter les applications en ligne la QdS mesureMtrologiede la QdSPrfrencesUtilisateurGnriqueSpcification QdSStabilitSpcificationQdSTraduction QdSTransparentArchitecture de QdSMulti-applicationMcanismed'adaptation

  • Suite de l'expos:"QdS-Adapt": Une architecture pour l'adaptation en ligne des applicationsMcanisme d'adaptation des applicationsService de mtrologie de la QdSArchitecture "QdS-Adapt"

    ExprimentationsTl-pilotage d'un robot mobileTl-asservissement en position d'un robot mobile

    Conclusions & Perspectives

  • "QdSAdapt"Une architecture pour l'adaptation en ligne des applications1. Mcanisme d'adaptation des applications

    2. Service de mtrologie de la QdS

    3. Architecture "QdS-Adapt"

  • Mtrologiede la QdSGnriqueSpcification QdSStabilitSpcificationQdSTransparentArchitecture de QdSMulti-applicationMcanismed'adaptationTraduction QdSPrfrencesUtilisateur

  • Mcanisme d'adaptation en ligneBas sur des concepts issus du modle Prayer [Bharghavan97]

    Classes de QdS"Niveaux" de QdS

    Squences d'excutionAssocies aux classes de QdSExcution d'un code diffrent selon la classe de QdS disponible

  • Mcanisme d'adaptation: exempleChoix de la squence

  • Mcanisme d'adaptation

  • Adaptation en ligne: exempletQdS

  • Actions d'adaptationActions "Bas"Inities lorsque la classe de QdS courante plus disponibleBLOCK, BEST_EFFORT, ROLLBACK, ABORT, SWITCH()Actions "Haut"Inities lorsque une (des) classe(s) de QdS suprieure(s) disponible(s)BEST_EFFORT, ROLLBACK, SWITCH()Un couple (Action Haut, Action Bas) associ chaque squenceApplication informe de l'initiation ncessaire d'une action d'adaptationtQdS

  • Blocs d'adaptation

  • PrfrencesUtilisateursGnriqueSpcification QdSStabilitSpcificationQdSTransparentArchitecture de QdSMulti-applicationMcanismed'adaptationTraduction QdSMtrologiede la QdS

  • Mtrologie de la QdS rseauMesurer la QdS telle qu'elle est perue par l'applicationMettre en uvre une politique de mtrologie

  • Mtrologie de la QdS rseauSystme AMesurer la QdS telle qu'elle est ressentie par l'applicationMesures actives:Effectues en envoyant des paquets-sondeRseauSystme B

  • Paramtres retenus et outils de mesures

  • AnalyseOutils inutilisables pour mettre en uvre une politique de mtrologie

  • Service de mtrologieCadre gnrique pour l'implantation de techniques de mesureDont les techniques des outils prcdentsMesures activesRalises par des couples d'metteur-rcepteur de paquets-sonde: CapteursStructure modulaireAjout de couples de capteurs

  • Service de mtrologie: principeService deMtrologieApplicationCapteurGre la politique de mtrologie:paramtres mesurer,priode de mesure(caractristiques de capteurs)Systme ASystme BCoordinateurAgent deSurveillanceApplicationCapteur

  • Modlisation UML - Diagramme de ClassesService deMtrologieCapteurCapteurSystme ACoordinateurAgent deSurveillanceApplication

    CapteurActif

    CapteurPassif

    +dmarrer()+arrter()+valuerTraficMesure()

    -tailleSondes

    CapteurActifDlaiVdPertesClient

    +dmarrer()+arrter()+mesurerDlai()+mesurerVariationDlai()+mesurerPertes()+envoyerMesures()

    -dlai-variationDlai-pertes-timeout-priodeMesure

    CapteurActifDlaiVdPertesServeur

    +dmarrer()+arrter()+mesurerRtt()+envoyerMesures()+valuerTraficMesure()

    -priodeSondes-tailleSondes-priodeMesure

    CapteurActifRttClient

    +dmarrer()+arrter()

    CapteurActifRttServeur

    -priodeSondes

    CapteurActifDlaiVdPertes

    CapteurActifRtt

    +dmarrerSurveillance()+validerCrationCapteurs()+recevoirMesures()

    -idAgent-priodeMesure

    AgentDeSurveillance

    +crerCoupleCapteurs()+crerCapteur()+dmarrerCoupleCapteurs()+dmarrerCapteur()+aiguillerMessage()

    Coordinateur

    +connecterSystmeDistant()+envoyerMessage()+recevoirMessage()

    CanalDeContrle

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

    -idCapteur-idAgent-protocoleTransport-idCapteurDistant

    Capteur

    -numro

    Canal

    -typeCapteur-idAgent-adresseSystmeLocal-adresseSystmeDistant-numroCanalLocal-numroCanalDistant-protocoleTransport

    DescripteurCapteur

    1

    *

    1

    *

    1

    1

    *

    1

    1

    *

    -mesureParamtre1-mesureParamtre2-...

    RsultatsDeMesure

    1

    1

    1

    *

  • Modlisation UML Diagramme de Squence

    idCapteur

    numroCanal

    AgentDeSurvAppli:AgentDeSurveillance

    CoordSiteA:Coordinateur

    crerCoupleCapteurs

    CanalSiteA:Canal

    crer

    CoordSiteB:Coordinateur

    crerCapteur

    CanalSiteB:Canal

    crer

    CapteurDVdPServeur:CapteurActifDlaiVdPertesServeur

    crer

    idCapteur

    crer

    idCapteur

    validerCrationCapteurs

    dmarrerCoupleCapteurs

    dmarrerCapteur

    dmarrer

    tat

    tat

    dmarrer

    tat

    CapteurDVdPClient:CapteurActifDlaiVdPertesClient

  • Fonctionnalits du service de mtrologie

  • Implantation: QoSMetOne-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] Paramtres mesurs selon les recommandations de l'IETF(mtriques conformes aux RFCs)Compatible One-Way Active Measurement Protocol [IETF]

  • Mtrologiede la QdSPrfrencesUtilisateursGnriqueSpcification QdSStabilitSpcificationQdSTransparentArchitecture de QdSMulti-applicationMcanismed'adaptationTraduction QdS

  • Architecture "QdS-Adapt"GestionApplicationRessourcesProcesseurMmoireRseaux

  • Modlisation UML - Diagramme de Classes

    +exporterClassesQos()

    -priodeBloc-priodeAdaptation

    Application

    +enregistrerApplication()+dterminerNouvelleClasseQos()+adapterApplication()

    Superviseur

    3 contrle

    1

    *

    +dmarrerSurveillance()+validerCrationCapteurs()+recevoirMesures()

    -idAgent-priodeMesure

    AgentDeSurveillance

    3 utilise

    1

    *

    3 correspond

    1

    1

    +excuterSquence()+activerActionHaut()+activerActionBas()

    -positionCourante

    CAP

    ClasseQosApplication

    1

    1

    -paramtre1Inf-paramtre1Sup-paramtre2Inf-paramtre2Sup-...

    ClasseQosMtrique

    correspond

    1

    1

    +afficherClassesQos()+ordonnerClassesQos()+dmarrerApplication()

    -prfrencesUtilisateur

    InterfaceUtilisateur

    1

    1

    +enregistrerApplication()+ordonnerApplications()

    -prfrencesUtilisateurInterApplications

    InterfaceUtilisateurInterApplications

    3 reprsente

    1..*