Evaluation des requêtes dépendantes de la localisation dans un environnement mobile Marie Thilliez : Marie.Thilliez@univ-valenciennes.fr Equipe SID du laboratoire LAMIH Groupe de travail GT Sphere le 14 Octobre à Toulouse
Plan de la présentation Contexte général Environnement applicatif : Applications de proximité Architecture logicielle : choix du P2P hybride Problématique de localisation ISLANDS: an Information and Services LocalizAtioN and Discovery Service Gestion de la distribution Gestion de la mobilité Gestion des requêtes dépendantes de la localisation Etat de l art Expression des requêtes dépendantes de la localisation Evaluation des requêtes dépendantes de la localisation Prototype Conclusion & perspectives 2
Les applications de proximité - contexte Terminaux nomades Téléphone Mobile, PDA, console de jeu mobile (type «GameBoy»), Baladeur MP3, Appareil photo numérique Réseaux sans fil et/ou mobiles Zone de couverture Bluetooth, IrDA HomeRF IEEE 802.11b GSM, GPRS, I-Mode, UMTS PAN HAN LAN WAN 3
Les applications de proximité - exemples Où est l arrêt de bus pour Lesquin le plus proche de moi? Wifi 802.11g Wifi 802.11g Wifi 802.11b Marc : Où est Sophie? Wifi 802.11b Sophie : Quel est le bureau d enregistrement du vol A7851? Wifi 802.11g Wifi 802.11g Wifi 802.11g Wifi 802.11b 4
Contraintes de l environnement Mobilité + Hétérogénéité=> Environnement dynamique Architecture des applications de proximité N participants fixes M participants mobiles => Choix de l architecture Peer-To-Peer hybride 5
Applications de proximité : Architecture Sphère de communication Noeuds centraux Noeuds légers Connections permanentes Connexions éventuelles 6
Avantages du P2P hybride Par rapport au client/serveur : Pas d arrêt de l application en cas de panne du serveur Répartir la charge du réseau Pas besoin d une machine «serveur» Gestion plus dynamique de l application (nb des clients) Par rapport au pur P2P : Gestion plus facile de l application Centraliser une partie de l information Rendre persistantes certaines données Faciliter l intégration de nouveaux participants Diminuer la charge du réseau => meilleures performances 7
P2P hybride - Exemples Applications de proximité Peers centraux Peers légers CEP Vendeurs Clients potentiels Laboratoire Aéroports, gares Serveurs, PC fixes Serveurs d information, PC des commercants Chercheurs : PDAs, PC portables Usagers : PDAs, PC portables 8
Localisation des informations Gestion de l information dans les applications de proximité Chaque utilisateur peut partager certaines de ses informations Chaque utilisateur doit pouvoir localiser l information disponible au sein de l application Contraintes à supporter : Information particulièrement distribuée Ressources restreintes de certains terminaux Mobilité Hétérogénéité (ressources, débits, etc.) 9
Limites des services de localisation Distribution : Souvent centralisé Pas de transparence pour le client Gestion des contraintes de l environnement Gestion des déconnexions Gestion des ressources limitées des terminaux Pouvoir d expression des requêtes en fonction de la mobilité des utilisateurs 10
Plan de la présentation Contexte général Environnement applicatif : Applications de proximité Architecture logicielle : choix du P2P hybride Problématique de localisation ISLANDS: an Information and Services LocalizAtioN and Discovery Service Gestion de la distribution Gestion de la mobilité Gestion des requêtes dépendantes de la localisation Etat de l art Expression des requêtes dépendantes de la localisation Evaluation des requêtes dépendantes de la localisation Prototype Conclusion & perspectives 11
ISLANDS Information and Services LocalizAtioN and Discovery Service Distribué sur tous les peers Référencement entre les différents services Évaluateur de requêtes Gestion de la distribution Expression et évaluation des requêtes de localisation Évaluation sous contraintes 12
ISLANDS : Distribution Sphère de communication ISLANDS Références d ISLANDS Noeuds centraux Noeuds légers Connexions permanentes Connexions éventuelles 13
Types des requêtes supportées dans ISLANDS Recherches multicritères : Ex 1 : «rechercher les promotions d ipaq» Ex 2 : «où est Marc?» Requêtes de localisation : Ex : «rechercher l arrêt de bus le plus proche de moi» 14
Requêtes de localisation Deux types de requêtes Location Aware Queries (LAQ) Location Dependent Queries (LDQ) Problèmes à résoudre : Expression de telles requêtes Nécessité de connaître la localisation physique de l utilisateur pour évaluer des LDQ Evaluation de ces requêtes 15
Plan de la présentation Contexte général Environnement applicatif : Applications de proximité Architecture logicielle : choix du P2P hybride Problématique de localisation ISLANDS: an Information and Services LocalizAtioN and Discovery Service Gestion de la distribution Gestion de la mobilité Gestion des requêtes dépendantes de la localisation Etat de l art Expression des requêtes dépendantes de la localisation Evaluation des requêtes dépendantes de la localisation Prototype Conclusion & perspectives 16
État de l art Trois types de solutions pour la gestion des requêtes dépendantes de la localisation : Solutions basées sur une stratégie client Solutions basées sur une stratégie de diffusion Solutions basées sur une stratégie serveur 17
Stratégie client Gestion adaptée du cache Difficulté supplémentaire : éviter l invalidation spatiale Stratégies d invalidation du cache : utilisation de la région de validité des données dépendantes de la localisation. Stratégies de remplacement : utilisation de la région de validité, de la distance entre la région de validité et la localisation et la direction de mouvement du client. Avantages : moins d énergie et temps qu un accès distant, solutions pour la gestion des déconnexions Limites : utilisation limitée, mémoire disponible pour la gestion du cache limitée sur les terminaux nomades. 18
Stratégie de diffusion Utilisation de différents canaux de diffusion en fonction de la région de validité Le client peut donc retrouver en fonction de sa localisation le canal de diffusion adéquat Avantageux pour des informations continuellement demandées Limites : niveau de granularité des informations (prévisions météo par ex), choix sensible des informations à diffuser, charge du réseau. 19
Stratégie serveur Stratégie incontournable et la plus répandue Solutions actuelles reposent sur des techniques de : Placement des données Réplication des données Planification des données/indexage Ces solutions s appuient sur des réseaux sans fil : les réseaux de téléphonie mobile. Centralisation Hiérarchie Pas d architecture centralisée et hiérarchique dans les applications de proximité 20
[Mobile HCI 03] Expression Introduction de 3 opérateurs simples dans ISLANDS : Inside (TargetLocation) Close ([Location], [Distance]) Closest ([Location]) Ces opérateurs permettent de rechercher des informations en fonction de leur proximité. 21
Exemple avec XQuery «L arrêt de bus le plus proche de moi» <dsml:dsml xmlns:dsml="http://www.dsml.org/dsml"> <BusStop> { for $i in document("pec.xml")// dsml:entry[dsml:objectclass/dsml:oc-value= Ville ] for $j in $i//dsml:entry[dsml:objectclass/dsml:oc-value= Transports ] where $j/dsml:attr[@name = "description"]/dsml:value= BusStop and closest($i) return $i/dsml:attr[@name = "name"]/dsml:value } </BusStop> </dsml:dsml> 22
Evaluation des requêtes dépendantes de la localisation Exemple : quel est l arrêt de bus le plus proche de moi? [ISSADS 04] Evaluation de la localisation du client Evaluation de la requête multicritère «quels sont les arrêts de bus et leurs localisations» Evaluation de l opérateur de localisation «quel est l arrêt de bus le plus proche du client» 23
Évaluation de la localisation du client Si peer fixe : trivial (cas de la plupart des peers centraux) Si peer mobile : plusieurs solutions S appuyer sur des techniques de localisation Galiléo ou GPS par exemple Estimer la localisation en fonction des données de localisation des peers voisins But : fournir des solutions approximatives 24
[BDA 04] Principe Client 25
[BDA 04] Principe <locationdescription> <symbolique> <terminal nom = «A»> <niveau nom = «1»> <section nom = «Est»> <zone nom = «Douanes»> </zone> </section> </niveau> </terminal> </symbolique> <physique> <lat> 27.7 </lat> <long> -15.1 </long> <alt> 197161.4 </alt> </physique> </locationdescription> Client 26
Algorithme Liste des noeuds connectés Tri des localisations des noeuds connectés en fonction d un coefficient d approximation : ApproximationCoeff = mobilityprofile * fraicheur + connectionrange mobilityprofile : «vitesse de déplacement» du voisin fraicheur : différence entre la date actuelle et la date de la localisation connectionrange : basé sur la qualité du signal entre les 2 peers. Résultat : liste de nb éléments en fonction du coeff. : {(locationadress, approximationcoeff)} Ex : {(AirFranceB1.xml, 100), (Boulangerie1.xml, 150), (Souvenirs1.xml, 170)} 27
Validation de la solution (i) Estimer la précision de la localisation obtenue grâce à notre solution Simulations : Différents environnements : Variations du nombre de nœuds localisés présents Variations des densités de nœuds légers/centraux Nœuds localisés par notre solution ou par une autre solution de localisation 28
Validation de la solution (ii) Précision obtenue satisfaisante (< 10 mètres). Augmentation de la précision dans des environnements denses À partir de 7 fichiers de localisation dans la liste, stabilisation de la précision Faible impact sur la précision concernant la prise en compte des localisations obtenues par notre solution. Evolution de la précision dans un environnement avec 20 peers centraux Imprécision (en mètres) 8 7 6 5 4 3 2 50 noeuds 100 noeuds 150 noeuds 200 noeuds 250 noeuds 300 noeuds 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Nombre de localisations prises en compte 29
Besoin d optimisation Objectif : minimiser les ressources des terminaux nomades et le temps d exécution de l estimation de la localisation évolution de la consommation sur 1h30 60% 50% Réseau désactivé Wifi activée + transfert de fichiers Carte Wifi activée % de batterie utilisée 40% 30% 20% 10% 0% Temps 30
Stratégie naïve : référence Le nœud diffuse une demande à ses voisins afin de récupérer leurs métadonnées Chaque nœud voisin renvoie au nœud client ses métadonnées (son fichier de localisation, son type, la date de dernière mise à jour de la localisation, son profil de mobilité) Le nœud client récupère sur son terminal l ensemble de ces informations Il récupère pour chaque nœud voisin les informations concernant la connexion Il exécute alors localement l algorithme de localisation Stratégie naïve 180 160 140 Traitement effectué sur le noeud client Transfert Temps (ms) 120 100 80 60 40 20 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 Nombre de nœuds connectés 31
Deux stratégies d optimisation Choix en fonction de l environnement et du comportement du client Stratégie des nœuds voisins : déléguer une partie de la charge de travail par les nœuds voisins du nœud client Stratégie seuil de sélection : en 2 étapes : Le nœud client récupère des informations sur son environnement (nombre de voisins, leurs types et le type de réseau utilisé) et calcule un seuil. Le nœud client peut ensuite utiliser ce seuil lorsqu il souhaite se localiser. 32
Stratégie «nœuds voisins» Noeud central 2 Noeud central 1 Noeud léger 1 Noeud léger 2 Client Noeud central 3 33
Stratégie «nœuds voisins» Noeud central 2 Noeud central 1 Noeud léger 1 Noeud léger 2 Client Noeud central 3 34
Stratégie «nœuds voisins» Calcul coeff Noeud central 1 Calcul coeff Noeud central 2 Calcul coeff Noeud léger 1 Noeud léger 2 Client Noeud central 3 Calcul coeff 35
Stratégie «nœuds voisins» Noeud central 2 Noeud central 1 Coeff Coeff Coeff Noeud léger 1 Noeud léger 2 Client Coeff Noeud central 3 36
Stratégie «nœuds voisins» Noeud central 2 Noeud central 1 Noeud léger 1 Noeud léger 2 Client Noeud central 3 37
Stratégie «nœuds voisins» Noeud central 2 Noeud central 1 Noeud léger 1 Noeud léger 2 Client Noeud central 3 38
Stratégie «seuil de sélection» Noeud central 2 Nœud central 1 Seuil Seuil Seuil Nœud léger 1 Noeud léger 2 Seuil Client Seuil Noeud central 3 39
Stratégie «seuil de sélection» Calcul coeff Nœud central 1 Calcul coeff Noeud central 2 Calcul coeff Nœud léger 1 Noeud léger 2 Client Noeud central 3 Calcul coeff 40
Stratégie «seuil de sélection» Noeud central 2 Nœud central 1 Nœud léger 1 Noeud léger 2 Client Noeud central 3 41
Analyse (i) Stratégie des nœuds voisins Stratégie seuil de sélection 60 Traitement effectué sur le noeud client Traitement effectué par les noeuds légers distants Transfert 35 Traitement effectué par les noeuds légers distants Transfert 50 30 40 25 Temps (ms) 30 20 Temps (ms) 20 15 10 10 5 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 Nombre de nœuds connectés 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 Nombre de nœuds connectés 42
Analyse (ii) Avantage important des stratégies proposées par rapport à la stratégie naïve : stabilisation du temps d exécution et des coûts quelque soit le nombre de voisins Stratégie des nœuds voisins Dans un environnement composé de nombreux nœuds mobiles Lorsque le nœud client est lui-même extrêmement mobile Stratégie seuil de sélection Lorsque le nœud client a souvent besoin de sa localisation Dans un environnement où le nombre de nœuds centraux est relativement important 43
Evaluation des requêtes dépendantes de la localisation Exemple : quel est l arrêt de bus le plus proche de moi? Evaluation de la localisation du client Evaluation de la requête multicritère «quels sont les arrêts de bus et leurs localisations» Evaluation de l opérateur de localisation «quel est l arrêt de bus le plus proche du client» 44
[UbiMob 04] Évaluation l opérateur de localisation localisations exprimées en XML la structure des descriptions XML de localisation est fixée DTD identique => comparaison facilitée évaluations différentes en fonction du type d opérateur de localisation utilisé. degré d exactitude des réponses obtenues 45
Évaluation des opérateurs de localisation Pour les opérateurs close et closest : Calcul d un coefficient de similarité entre les fichiers xml Ma_Localisation.xml <symbolic description> <city name = «Lille»> <district name = «Downtown»> <street name = «Bd Liberté»> <number name = «12b»> <step name = «2»> </step> </number> </street> </district> </city> </symbolic description> <physical description> <lat> 27.7 </lat> <long> -15.1 </long> <alt> 19.4 </alt> </physical description> Bus_Stop1.xml <symbolic description> <city name = «Lille»> <district name = «Downtown»> <street name = «Rue Nationale»> <number name = «182»> <step name = «0»> </step> </number> </street> </district> </city> </symbolic description> <physical description> <lat> 67.7 </lat> <long> -29.1 </long> <alt> 7.5 </alt> </physical description> Degré d exactitude = SimilaritéCoeff/approximationCoeff Pour l opérateur inside : SimilaritéCoeff = 0 ou 1 46
Besoin d optimisation Dans l environnement réparti des applications de proximité Optimiser l utilisation des ressources pour l évaluation d une LDQ Minimiser le nombre de communications nécessaires (comme dans les systèmes P2P sur Internet où on cherche principalement à optimiser l utilisation de la bande passante) Minimiser les ressources des terminaux nomades Minimiser le temps nécessaire à l évaluation 47
Stratégies d optimisation Proposition de 4 stratégies d optimisation Optimisation de la distribution (vs. optimisation de l évaluation locale) Ordonnancement des différentes étapes nécessaires à l évaluation d une requête dépendante de la localisation Client Choix d un nœud de service Espace de recherche Client Espace de recherche Étape A Étape B Requête multicritère Résultats étape B Étape C Étape B Étape A LDQ avec résultat de l étape A Étape B Étape C Résultat de la LDQ Étape B Étape C Étape A : évaluation de la localisation du client Étape B : évaluation de la requête multicritère Étape C : évaluation de l opérateur de localisation 48
Simulations de ces stratégies Différents environnements : nombre de noeuds densité des noeuds centraux densité de noeuds légers Définition de l espace de recherche : Choix de la sélection de nœuds à laquelle on envoie la requête (tous les nœuds, uniquement les nœuds centraux, uniquement un sous ensemble de «bons» nœuds) Choix de la profondeur maximale 49
Stratégies : discussion Chaque stratégie de distribution définie présente des avantages dans un type d environnement particulier. Remarque : les coûts liés à l évaluation de la requête sont largement diminués en diminuant l espace de recherche Sélection des nœuds auxquels la requête est envoyée Sélection de la profondeur maximale Dans ce cas, difficulté d estimer la perte de qualité de réponse 50
Plan de la présentation Contexte général Environnement applicatif : Applications de proximité Architecture logicielle : choix du P2P hybride Problématique de localisation ISLANDS: an Information and Services LocalizAtioN and Discovery Service Gestion de la distribution Gestion de la mobilité Gestion des requêtes dépendantes de la localisation Etat de l art Expression des requêtes dépendantes de la localisation Evaluation des requêtes dépendantes de la localisation Prototype Conclusion & perspectives 51
[BDA 03] ISLANDS : prototype Environnement : Peers centraux : PC, PC portables Peers légers : ipaqs H5450 Réseaux : WLAN (pt d accès et adhoc) ISLANDS Query engine Directory service DSML Export Ref Index ISLANDS Query engine XML File Ref Index 52
[BDA 03] ISLANDS : prototype Commerce électronique de proximité Fonctionnalités : Pour un fournisseur de services (commerçants, compagnies de bus ) : saisie/modification/suppression de services, d offres diffusion des services et des offres etc Pour un client potentiel : choix de ses préférences réception d offres diffusées correspondant à ses préférences recherche d un service, d un produit, d un vendeur etc en fonction ou non de sa localisation etc 53
Prototype : Conclusions Limites Dans un environnement faiblement connecté Passage à l échelle Validation des propositions Algorithme d estimation de la localisation du client Expression et évaluation des LDQs Avantages de l utilisation de 2 représentations pour la position du client : physique & symbolique 54
Conclusion & Perspectives Gestion des requêtes dépendantes de la localisation dans les applications de proximité : Dans le service de localisation ISLANDS Expression Evaluation & Optimisations Perspectives : Sémantique XML au sein des fichiers de localisation Stratégies d évaluation complémentaires : utilisation des techniques de cache et de réplication Tests en environnement réel 55
Des questions? Email : Marie.Thilliez@univ-valenciennes.fr 56
Références Chapître de livre Marie Thilliez, Thierry Delot, "A Localization Service for Mobile Users in Peer-To-Peer Environments", Mobile and Ubiquitous Information Access, Fabio Crestani, Mark Dunlop, Stefano Mizzaro (Eds), LNCS 2954, Springer Verlag, ISBN 3-540-21003-2, 2004. Articles présentés à des manifestations d'audience internationale avec comité de sélection Marie Thilliez, Thierry Delot, "Evaluating Location Dependent Queries Using ISLANDS", Fourth IEEE International Symposium and School on Advanced Distributed Systems, ISSADS 04, Mexique, Janvier 2004. Marie Thilliez, Thierry Delot, "A Localization Service For Proximity Applications", Workshop on Mobile and Ubiquitous Information Access in conjunction with the Fifth International Symposium on Human Computer Interaction with Mobile Devices and Services, Mobile HCI'03, Italie, Septembre 2003. Marie Thilliez, Nadia Bennani, Thierry Delot, Sylvain Lecomte, "Hybrid Peer-To-Peer Model in Proximity Applications", International Conference on Advanced Information Networking and Applications, AINA'03, Chine, Mars 2003. Colombe Hérault, Nadia Bennani, Thierry Delot, Sylvain Lecomte, Marie Thilliez. "Adaptability of Non- Functional Services for Component Model : Application to the M-Commerce", International Symposium on Advanced Distributed Systems, ISADS'02, Mexique, Novembre 2002. Articles présentés à des manifestations d'audience nationale ou régionale avec comité de sélection Marie Thilliez, Thierry Delot, "Evaluation de requêtes dépendantes de la localisation dans les réseaux mobiles", Premières Journées Francophones: Mobilité et Ubiquité 2004, Nice, Juin, 2004. Marie Thilliez, Yohan Colmant, Thierry Delot, "Query Evaluation in ISLANDS", 19èmes journées de Bases de Données Avancées, BDA'03, Lyon, Octobre 2003. Marie Thilliez, "Le Commerce Electronique de Proximité", Colloque sur les 'Mobiles-services et réseaux mobiles de 3ème Génération' Des architectures aux Services, MS3G, Lyon, Décembre 2001. Article présenté à des manifestations d'audience nationale Marie Thillliez, "Les Applications de Proximité", Colloque sur l'informatique Mobile, Nancy, Décembre 2002 57