• Aucun résultat trouvé

Validité des résultats d’une requête RDL

Chapitre II Traitement des requêtes en environnements mobiles : état de l’art

4. Traitement des requêtes dépendant de la localisation

4.3. Validité des résultats d’une requête RDL

La particularité des requêtes RDL réside dans le fait que les résultats changent avec la localisation des clients mobiles les soumettant. Ainsi, la détermination de résultats corrects pour ce type de requêtes devient non triviale. En effet, deux causes peuvent conduire à l’obtention de résultats incorrects lors du traitement d’une requête RDL : l’imprécision des systèmes de localisation et la mobilité du client.

En fait, la localisation qui va être rattachée à la requête (cf. sous-section 4.2.2 ) est déterminée par un système de localisation avec une précision limitée à cause des erreurs de mesure, des erreurs d’échantillonnage et des délais réseaux [PJ 99]. Par exemple, la précision de la localisation donnée par le système GPS est de l’ordre de 5 à 20 mètres et elle atteint les 100 mètres en mode dégradé. La technique de triangulation utilisée dans les réseaux GSM donne une localisation encore moins précise (parfois de l’ordre de 150 mètres). Cette imprécision affecte la validité des résultats d’une requête RDL. De récents travaux ont proposé des méthodes permettant de tenir compte de l’imprécision des systèmes de localisation lors du traitement des requêtes RDL. Nous n’allons pas expliquer les techniques proposées, mais le lecteur intéressé peut se référer aux travaux présentés dans [HL 06, CC 07]. Nous nous intéressons plutôt à l’effet de la mobilité du client sur la validité des résultats retournés suite au traitement d’une requête RDL.

Nous avons expliqué que lors des premières étapes de traitement d’une requête RDL, la localisation du client mobile est rattachée à la requête. Cette localisation est considérée comme une constante pendant l’évaluation de la requête sur le serveur. Or, ceci ne correspond

pas tout à fait à la réalité, car le client mobile peut continuer à se déplacer après l’envoi de sa requête. Ainsi, les résultats d’une requête RDL ont une durée de validité limitée qui dépend du déplacement du client. Par exemple, en se déplaçant seulement de 500 mètres, la pharmacie la plus proche d’un client mobile peut changer (si le véhicule roule à 60 km/h le résultat devient incorrect, seulement au bout de 30 secondes). Ce problème est encore plus crucial dans le cas des requêtes RDL continues. En effet, en envoyant une requête continue, le client s’attend à avoir un résultat à jour pendant une certaine durée, tout en continuant son déplacement.

Une première approche permettant de résoudre ce problème consiste à soumettre une nouvelle requête au serveur à chaque fois que la localisation du client change. Cette solution peut conduire à des coûts de communication et de traitement très élevés dus à des retransmissions et à des réévaluations fréquentes des requêtes [ZZP+ 03].

D’autres solutions se basent sur le calcul d’une « région de validité » pour résoudre ce problème [ZLL 04, ZXL 02, GH 05]. Le principe est de déterminer une région RV telle que : quelle que soit la localisation du client dans RV, le résultat de la requête reste inchangé. La région de validité est délivrée au client avec le résultat. Ainsi, le client ne soumet une nouvelle requête au serveur que lorsqu’il quitte cette région de validité. Dans [ZXL 02], les auteurs proposent deux façons de définir la région de validité dans le cas des requêtes RDL de recherche du plus proche voisin. Selon la première, appelée « Polygonal Endpoints » (PE), la région de validité est un polygone. Les sommets de ce polygone sont transmis avec le résultat. Si le nombre de sommets est élevé, un surcoût important est introduit. Pour réduire ce surcoût, les auteurs proposent une deuxième façon de définir une région de validité basée sur un cercle inscrit dans le polygone appelé « Approximate Circle » (AC). Ainsi, seul le centre et le rayon de ce cercle sont transmis. Dans [ZLL 04], ce travail est étendu en proposant de se baser sur une structure de donnée appelée « Voronoi Diagram » (VD). Les VD enregistrent des informations sur les régions les plus proches d’un ensemble de points. Dans cette solution, l’espace est partitionné en polygones appelés cellules de Voronoi (CV). Chaque cellule contient un objet (e.g. un hôpital). Cet objet est le plus proche de tous les points appartenant à la cellule (voir Figure 4). Ainsi, lorsqu’un client mobile demande l’objet le plus proche, il suffit de trouver la cellule dans laquelle il est localisé (e.g. dans la Figure 5, le client QP se trouve dans la cellule VC1 qui contient l’objet O1). En se basant sur la vitesse maximum de déplacement du client, les auteurs proposent de déterminer la durée de validité du résultat (en calculant l’instant où le client risque de quitter la cellule). Cette solution ajoute un surcoût dû à la gestion du diagramme de Voronoi et elle devient complexe lorsqu’il s’agit de déterminer un nombre des voisins les plus proches supérieur à un (K>1). De plus, elle ne prend pas en considération les requêtes RDL de zone.

QP O1 O2 O3 O4 VC1 VC2 VC3 VC4

Dans [SR 01], une autre méthode est proposée pour les requêtes RDL de type K-NN. Au lieu de déterminer les k plus proches voisins, il s’agit de trouver un ensemble composé de m plus proches voisins (avec m>k). Lorsque le client change de localisation avant de retransmettre la requête, il vérifie d’abord si les k nouveaux plus proches voisins appartiennent aux m déjà reçus. Une question se pose ici : comment obtenir une valeur appropriée de m ? Cette question nous semble cruciale, car une valeur élevée cause des coûts de communication et des besoins en taille mémoire élevés, alors qu’une petite valeur cause des retransmissions de requêtes plus fréquentes. A notre connaissance, cette question n’a pas été suffisamment étudiée.

Une méthode différente se basant sur la « validité temporelle » des résultats a été proposée dans [TP 02]. A l’aide des informations sur le mouvement des clients (e.g. vitesse, direction), le serveur détermine le résultat, sa durée de validité et un ensemble d’objets pouvant influencer le résultat (à tout instant dans le futur). Cet ensemble est composé des objets qui deviendraient incorrects après l’expiration de la validité temporelle et ceux qui deviendraient corrects après ce délai. Cette méthode permet de prendre en compte les requêtes RDL K-NN et les requêtes RDL continues de zone. Toutefois, dans ce travail, la vitesse et la direction sont supposées constantes durant tout le traitement de la requête. Dans [ZZP+ 03], les auteurs proposent une méthode permettant de déterminer un ensemble d’objets influant sans émettre aucune hypothèse sur le mouvement du client. Le résultat et les objets influant sont envoyés au client qui peut déterminer à partir de cet ensemble la région de validité. Cette solution permet de traiter des requêtes RDL continues de zone et K-NN. Elle réduit le nombre de requêtes transmises par le client. Toutefois, elle peut être inefficace si le temps de réponse des requêtes et/ou la vitesse de déplacement sont élevés. En effet, dans ce cas le client quitte la région de validité très vite après la réception des résultats.