La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Gestion de cache sur terminaux mobiles Guy Bernard Institut National des Télécommunications, Evry, France

Présentations similaires


Présentation au sujet: "Gestion de cache sur terminaux mobiles Guy Bernard Institut National des Télécommunications, Evry, France"— Transcription de la présentation:

1 Gestion de cache sur terminaux mobiles Guy Bernard Institut National des Télécommunications, Evry, France

2 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT 20062Plan introduction motivations et objectifs de la gestion de cache rôle du gestionnaire de cache stratégies d'adaptation types d'adaptation MADA : Mobile Approach Development Approach DOMINT : Disconnected Operation for Mobile Internetworking Terminals conclusions et perspectives

3 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT 20063Introduction Gestion de déconnexion : besoin de continuité de service Déconnexion volontaire : économiser la batterie, minimiser la probabilité de déconnexions inopinées... Déconnexion involontaire : déplacement hors de la zone de couverture du réseau de communication sans fil...

4 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT Motivations et objectifs de la gestion de cache Entité déconnectée pour assurer la continuité de service Trois modes de fonctionnement Connecté : opérations effectuées à distance (entité déconnectée non à jour) Partiellement connecté : opérations effectuées localement et à distance Déconnecté : opérations effectuées localement (entité distante non à jour) Exécution en mode déconnecté non équivalente à exécution en mode connecté Acceptable si le mode de fonctionnement est explicitement affiché à l'utilisateur

5 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT Rôle du gestionnaire de cache Autoriser la participation aux applications réparties : travail collaboratif... Tout en exploitant au mieux les ressources locales limitées du terminal mobile Compromis entre : Batterie : traitement en local pour minimiser les communications, voire traitement à distance pour éviter les calculs intensifs Bande passante : traitement en local pour pallier les aléas Mémoire : accès à distance aux larges masses de données Processeur : traitement à distance des calculs intensifs Stratégie de déploiement : À la demande, quelle entité déployer ? Quand déployer ? Où ? Pour quelle durée ? Stratégie de remplacement : Si nécessaire, quelle entité supprimer ? Quand supprimer ? Où ? Pour quelle durée ? Stratégie de maintien de la cohérence des données : cf. la présentation sur la gestion de cohérence

6 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT Stratégies d'adaptation [Satyanarayanan, 1996a, Satyanarayanan, 1996b, Capra et al., 2002] [Jing et al., 1999] : stratégies laisser-faire et transparence non adéquates

7 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT Types d'adaptation Trois types d'adaptation [Bruneton, 2001] Statique : adaptation durant le développement modification du code ou d'options de compilation nécessite de connaître a priori quel sera l'environnement d'exécution Dynamique : adaptation durant l'exécution à l'initiative et contrôlée par un acteur extérieur à l'application, en général l'utilisateur attribution de valeurs à des paramètres Auto-adaptation : adaptation automatique durant l'exécution contrôlée par l'intergiciel ou l'application => Capacité de sensibilité au contexte => Intergiciel avec gestion/détection de contexte Proposition pour la gestion de cache : adaptations statique et dynamique utilisées dans la méthodologie de conception auto-adaptation : commutation transparente entre les différentes configurations définies dans l'adaptation statique

8 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT 20068MADA MADA : Mobile Application Development Approach notion de "service" ensemble de logique de composants interagissant entre eux identifié dans les diagrammes de cas d'utilisation de l'application 2 types d'interaction entre les entités d'une application : intra-service : entre les composants du service inter-services : entre les différents services de l'application patron de conception "Façade" [Gamma et al. 1994] permet de réduire le nombre de composants exposés à l'utilisateur final c'est la "façade" qui contrôle le mode de fonctionnement (par exemple, travailler en local pendant les déconnexions)

9 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT MADA : profil de l'application ensemble de méta-données caractérisant les entités de l'application distribuée Déconnectabilité Indique si une entité déconnectée de l'entité de l'application de l'hôte distant est autorisée Du point de vue de la sémantique de l'application : par ex., cohérence des données Du point de vue de l'architecture de l'application : par ex., sécurité Nécessité Indique si l' entité déconnectable est obligatoire pour le bon fonctionnement de l'application en mode déconnecté Choix de l'architecte Surcharge possible de ce choix par l'utilisateur de "non nécessaire développeur" vers "nécessaire utilisateur" Priorité Indique l' importance relative de l'entité déconnectée pour le déploiement et le remplacement

10 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT MADA : propagation dans le graphe de dépendances si le service "Réserver un billet" est "nécessaire", alors : le service "Tarifs" est nécessaire les composants "Available seat", "Prices provider" et "Booked seat" sont nécessaires

11 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT DOMINT : architecture générale DOMINT : Disconnected Operation for Mobile Internetworking Terminals canevas logiciel mettant en œuvre le patron de conception "composant- conteneur" [Volter 2001] s'appuie sur le modèle de composants CCM (Corba Component Model) de l'OMG extension du canevas logiciel OpenCCM du consortium ObjectWeb

12 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT DOMINT : architecture du conteneur 2 intercepteurs pré- et post-requête 4 objets de contrôle utilisés par les intercepteurs et par le composant afin de gérer les déconnexions DCA : Disconnected Component Access LCD : Local Connectivity Detector RA : Reconciliation Access CM : Connector Manager ces objets de contrôle interagissent avec le CacheManager, le ReconciliationManager et les Detectors ajoutés à l'intergiciel

13 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT DOMINT : gestionnaire de cache (1) 2 stratégies à définir stratégie de déploiement détermine les entités déconnectées à créer dans le cache, quand, et pour quelle durée stratégie de remplacement détermine quelles sont les entités déconnectées à supprimer du cache

14 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT DOMINT : gestionnaire de cache (2) stratégie de déploiement pré-chargement (au lancement de l'application) déploiement des services "nécessaires développeur" lancement (en arrière-plan) du processus OptProcess qui charge successivement (en fonction de l'espace restant, et dans l'ordre de la méta-donnée "priorité") : services "nécessaires utilisateur", composants "nécessaires utilisateur" des services "nécessaires développeur", composants "nécessaires utilisateur" des services "nécessaires utilisateur" à la demande initié à chaque changement dans le profil, par l'utilisateur, de la nécessité ou de la priorité à l'invocation services et composants "non nécessaires"

15 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT DOMINT : gestionnaire de cache (3) stratégie de remplacement à la demande possibilité donnée à l'utilisateur services sélectionnés par l'utilisateur via interface graphique ne peut porter que sur les services "nécessaires utilisateur" et "non nécessaires" explicite invoqué par le gestionnaire de cache quand l'espace est insuffisant pour déployer un nouveau composant lance un remplacement à la demande jusqu'à ce que l'espace libéré suffise périodique vise à garder une réserve de taille de cache pour faire face aux situations critiques (par exemple, l'utilisateur veut préparer une déconnexion volontaire) lance un remplacement à la demande jusqu'à ce que l'espace libéré suffise

16 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT DOMINT : performances du gestionnaire de cache (1) déploiement au pré-chargement : influence de OptProcess Hit Rate (HR) : (nb de requêtes satisfaites par le cache) / (nb de requêtes total) Byte Hit Rate (BHR) : (taille des données dans le cache) / (taille totale) meilleure disponibilité du cache avec le processus OptProcess dans le déploiement au pré-chargement HR (%) BHR (%) Taille du cache (Ko)

17 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT DOMINT : performances du gestionnaire de cache (2) granularité de déploiement et de remplacement : service ou composant ? meilleure disponibilité du cache avec la granularitè "service" qu'avec la granularité "composant" Taille du cache (Ko) HR (%) BHR (%)

18 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT Conclusions et perspectives la stratégie d'adaptation "collaboration" permet de prendre en compte les besoins applicatifs et les préférences de l'utilisateur les choix correspondant à la sémantique de l'application (développeur) et aux préférences utilisateur peuvent être exprimés facilement via les méta-données le système (intergiciel) assure la gestion du cache en fonction de l'état du contexte (connectivité réseau, mémoire disponible) le paradigme "composant/conteneur" permet de bien séparer les aspects fonctionnels des aspects non-fonctionnels perspectives gestion de cache réparti : constitution de groupes et partage des ressources en environnement Ad Hoc : très grande dynamicité tolérance des défaillances en plus des déconnexions

19 Gestion de cache sur terminaux mobiles - © Guy Bernard / INT Bibliographie [Bruneton, 2001] Bruneton, É. (2001). "Un support d'exécution pour l'adaptation des aspects non- fonctionnels des applications réparties". PhD thesis, INPG, Grenoble, France [Capra et al., 2002] Capra, L., Blair, G., Mascolo, C., Emmerich, W., and Grace, P. (2002). "Exploiting Reflection in Mobile Middleware". ACM SIGMOBILE Mobile Computing and Communications Review, 6(4), pp [Gamma et al., 1994] Gamma, E. and Helm, R. et al. "Design Patterns, Elements of Reusable Object-Oriented Software". Addison-Wesley, 1994 [Jing et al., 1999] Jing, J., Helal, A., and Elmagarmid, A. (1999). "Client-Server Computing in Mobile Environments". ACM Computing Surveys, 31(2), pp Kouici, N. "Gestion des déconnexions pour applications réparties à base de composants en environnements mobiles". PhD thesis, INT/Université d'Evry Val d'Essonne, november 2005 [Satyanarayanan, 1996a] Satyanarayanan, M. "Fundamental Challenges in Mobile Computing". In Proc. 15 th ACM Symposium on Principles of Distributing Computing, Philadelphia, USA. [Satyanarayanan, 1996b] Satyanarayanan, M. (1996b). "Mobile Information Access". IEEE Personal Communications, 3(1), pp [Volter, 2001] Volter, M. (2001). Server-side Components : A Pattern Language. In Proc. 6th European Conference On Pattern Languages of Programs, Irsee (Germany).


Télécharger ppt "Gestion de cache sur terminaux mobiles Guy Bernard Institut National des Télécommunications, Evry, France"

Présentations similaires


Annonces Google