Using Semantic Caching to Manage Location Dependent Data in Mobile Computing (2000) Qun Ren, Margaret H. Dunham Southern Methodist University Dallas, Texas
Plan Introduction Etat de lart Méthodes Etude de performance Conclusions
Introduction (1/3) Domaine détude : lenvironnement mobile LDD: Location dependent data Valeur dépendante de la position à laquelle la donnée est sémantiquement reliée Valeur dépendante de la position à laquelle la donnée est sémantiquement reliée LDD Query: requête processée sur des LDD Les résultats dépendent du critère de position Les résultats dépendent du critère de position Les résultats peuvent changer si lutilisateur change de position Les résultats peuvent changer si lutilisateur change de position
Introduction (2/3) Exemple LDD Query: demander les restaurants les plus proches Aspect continu de la requête Aspect continu de la requête Chevauchement entre les résultats Chevauchement entre les résultats Utilisation du cache (coté client) pour augmenter la performance Utilisation du cache (coté client) pour augmenter la performance
Introduction (3/3) Semantic caching Localisation sémantique, plutôt que statique Localisation sémantique, plutôt que statique Page et tuple caching sont pas adaptés Page et tuple caching sont pas adaptés Réduire les accès coûteux au serveur Réduire les accès coûteux au serveur Gestion possible de la part de lutilisateur Gestion possible de la part de lutilisateur
Etat de lart (1/3) Modélisation du mouvement MOST MOST Modèle pour représenter des objets en mouvement dans une base de données Attribut dynamique composé: valeur, date de mise à jour, fonction indicatrice du changement de la valeur Problème dindexation Notre cas: les données sont dépendantes dune position (LDD), mais elles ne sont pas dynamiques Notre cas: les données sont dépendantes dune position (LDD), mais elles ne sont pas dynamiques
Etat de lart (2/3) Traiter les LDD comme des replicas spatiales de la BD liées fortement à une certaine région La primitive nearcast pour localiser le serveur couvrant linformation demandée Problème de lactualité du cached LDD suite au: Mise à jour fait par le serveur Mise à jour fait par le serveur Mouvement du client mobile Mouvement du client mobile
Etat de lart (3/3) Solution: attacher aux résultats des informations supplémentaires concernant la validité Semantic Caching Semantic Caching Query: une partie des réponses dans le cache, une partie provenant du serveur Query: une partie des réponses dans le cache, une partie provenant du serveur Stockage et index: segments sémantiques Stockage et index: segments sémantiques Remplacement: basé sur la Manhattan distance entre la requête et les régions sémantiques Remplacement: basé sur la Manhattan distance entre la requête et les régions sémantiques
Méthodes Modélisation de la requête LDD Position: un doublet dentiers (Lx,Ly) Position: un doublet dentiers (Lx,Ly) Vitesse: un vecteur dentiers Vitesse: un vecteur dentiers Quantification temporelle Quantification temporelle Requête LDD: tuple (QR, QA, QP, QL, QC) où Requête LDD: tuple (QR, QA, QP, QL, QC) où QR - relation appartenant à la BD QA représente les attributs utiles QP - le prédicat (contient des variables de position) QL - la position QC - le résultat
Méthodes Prédicat fixant la position: QP=Loc_Bind(QP,QL) Prédicat fixant la position: QP=Loc_Bind(QP,QL) La requête prend en compte une position donnée Exemple: « Donner les hôtels à une distance maximale de 20 Km avec des prix plus petits de 100 euros » QP = (prix<100) et (Lx-20 < xposition < Lx+20) et (Ly-20 < yposition < Ly+20) QP = (prix<100) et (Lx-20 < xposition < Lx+20) et (Ly-20 < yposition < Ly+20) Soit L= (10,30) Soit L= (10,30) Alors QP = (prix<100) et (-10 < xposition < 30) et (10 < yposition < 50) Alors QP = (prix<100) et (-10 < xposition < 30) et (10 < yposition < 50)
Méthodes (modèle du cache) La méthodologie du Semantic Caching Modèle de cache LDD Modèle de cache LDD
Méthodes (les requêtes) LDD Query Processing LDD Query Processing Le processus de « query trimming » Le processus de « query trimming » « probe query » « probe query » Reconstitution des attributs: « amending queries » « query remainder » « query remainder » Envoyée au serveur
Méthodes (lalgo FAR) LDD Cache Management (Furthest Away Replacement) LDD Cache Management (Furthest Away Replacement) Prendre en compte lestimation du mouvement Diviser les segments: In-Direction In-Direction Out-Direction Out-Direction Choisir les segments à remplacer On regarde lensemble Out-Direction pour enlever le segment le plus loin de la position courante On regarde lensemble Out-Direction pour enlever le segment le plus loin de la position courante Si il est vide, alors on enlève le plus loin segment de lensemble In-Direction Si il est vide, alors on enlève le plus loin segment de lensemble In-Direction
Etude de performance Environnement de simulation 3 cas test du point de vue déplacement 3 cas test du point de vue déplacement Modèle de simulation assez simple: Modèle de simulation assez simple: BD avec une seule relation Un seule mobile 4 directions de déplacement Vitesse constante On définit lintervalle de temps entre 2 requêtes et le pourcentage de chevauchement
Etude de performance Comparaison cache par pages et cache sémantique
Etude de performance Comparaison cache par pages et cache sémantique avec BD indexée
Etude de performance Comparaison entre les méthodes classiques (LRU, MRU) et FAR Pour les cas test simples (allée et allée/retour) Pour les cas test simples (allée et allée/retour) Pas de variations notables
Etude de performance Pour des tests avec une marche aléatoire Pour des tests avec une marche aléatoire
Etude de performance Comparaison FAR / LRU Comparaison FAR / LRU Cas particulier: déplacement en rectangle Cas particulier: déplacement en rectangle
Conclusions (1/2) Points forts Idée simple et intéressante Idée simple et intéressante Présentation assez explicite du contexte Présentation assez explicite du contexte Des bonnes perspectives pour les travaux futures Des bonnes perspectives pour les travaux futures
Conclusions (2/2) Points faibles Modèle testé seulement en simulation pour des cas simples Modèle testé seulement en simulation pour des cas simples Pas danalyse pour le passage à léchelle Pas danalyse pour le passage à léchelle Idée théorique sans préoccupation pour les aspects techniques Idée théorique sans préoccupation pour les aspects techniques