Procédé de traitement de données de géolocalisation
DOMAINE TECHNIQUE GENERAL La présente invention concerne un procédé de traitement de données de géolocalisation.
ETAT DE L'ART Les terminaux mobiles modernes de type smartphones disposent de capacités de géolocalisation, permettant par exemple la navigation sur une carte, des « check-in », c'est-à-dire la publication de la position d'un utilisateur sur des réseaux sociaux, ainsi que de nombreuses autres fonctionnalités.
Toutefois, l'augmentation importante du nombre d'applications tirant parti de la géolocalisation fait aujourd'hui apparaître deux problèmes.
Tout d'abord, les mécanismes actuels ne permettent pas une gestion fine de la confidentialité des données de géolocalisation. Dans la plupart des cas, l'utilisateur n'a que la possibilité d'accepter ou refuser l'accès complet par l'application aux données de géolocalisation, alors qu'il apparaît qu'il n'est pas nécessaire de toujours divulguer ces données avec la même finesse (précision de la localisation géographique, fréquence de mise à jour, etc.). Par exemple, il existe des applications utilisant la géolocalisation qui ont seulement besoin de savoir si un utilisateur A est à proximité d'un utilisateur B, la connaissance de leur position n'étant pas indispensable. L'envoi d'informations trop détaillées (en particulier si elles contiennent des données permettant de retrouver l'identité de l'utilisateur) crée un risque d'utilisation illicite des données par l'application, voire par un attaquant exploitant une faille de sécurité de l'application.
Ensuite, on constate une consommation énergétique importante des terminaux mobiles liée au traitement et à l'envoi de données de géolocalisation. En effet, chaque application exploite indépendamment les données de géolocalisation dont elle a besoin. Lorsque plusieurs applications utilisant les données de géolocalisation fonctionnent en même temps sur le même mobile, ces données sont susceptibles d'être envoyées plusieurs fois par ce mobile, vers chaque serveur d'application lié à une des applications. Les opérations de traitement et de transmission de données associées consomment de l'énergie inutilement.
De nombreuses solutions ont été proposées en particulier pour résoudre le premier problème (celui de confidentialité), par exemple l'utilisation sur le terminal d'un module logiciel supplémentaire de contrôle des données de géolocalisation avant émission, ou l'utilisation d'un serveur « proxy » gérant les autorisations d'accès aux données de géolocalisation, anonymisant les requêtes, et notifiant l'utilisateur si besoin (voir demande de brevet EP 1878283).
Ces solutions ne résolvent toutefois pas le problème de consommation énergétique, et au contraire l'aggravent : le terminal mobile est encore plus sollicité.
Plus récemment, il a été proposé dans la demande internationale WO 2013/002927 une gestion mutualisée des check-in. Dans le procédé décrit, les données de géolocalisation sont transmises à un serveur de confiance, qui renvoie au terminal des données traitées correspondant à différents niveaux de précision associés possible (par exemple, si l'utilisateur se géolocalise dans un aéroport, les différents niveaux peuvent s'étaler du numéro précis de la porte de l'aéroport dans lequel l'utilisateur se trouve, jusqu'à l'indication générale de la région dans laquelle l'aéroport est situé), pour sélection par l'utilisateur et transmission à un ou plusieurs serveurs d'application en vue d'un ou plusieurs check-in.
Ce procédé peut réduire légèrement la consommation dans la mesure où quelques traitements sont déportés.
Toutefois, on constate qu'aujourd'hui, les check-in représentent une faible part de la consommation énergétique à des fins de géolocalisation. En effet, ce sont les mécanismes de « tracking » (pistage en français) qui consomment le plus la batterie du mobile. Le tracking consiste en l'envoi répété (par exemple toutes les trente secondes) de la position de l'utilisateur de sorte à permettre des fonctionnalités dynamiques, par exemple l'envoi d'une notification si l'utilisateur passe à proximité d'une position prédéterminée (un centre d'intérêt, une personne connue, une enseigne, etc.).
Une proposition qui ait été faite pour réduire la consommation d'énergie liée au tracking est la diminution forcée de la fréquence des mises à jour des données de géolocalisation, ce qui peut nuire au fonctionnement de certaines applications.
On connaît également du document US 201 1/0159884 une solution dans laquelle un serveur stockant la position du terminal sert d'interface pour les différents serveurs d'application, le terminal ne transmettant sa position au serveur
intermédiaire que s'il bouge de façon significative. Cette solution ne permet donc de réduire la consommation énergétique du terminal qu'en cas de mobilité réduite.
Il serait souhaitable de disposer d'une solution de gestion des données de géolocalisation qui garantisse la confidentialité des données de géolocalisation et permette de réduire sensiblement la consommation énergétique des terminaux, ce sans altérer la qualité du service.
PRESENTATION DE L'INVENTION
La présente invention se rapporte ainsi à un procédé de traitement de données de géolocalisation comprenant la mise en œuvre par des moyens de traitement de données d'un serveur d'étapes de :
(a) émission d'une première requête de géolocalisation à destination d'un terminal mobile comprenant des moyens de géolocalisation ;
(b) réception en réponse de données de géolocalisation depuis le terminal mobile ;
(c) association desdites données de géolocalisation dans une base de données stockée sur des moyens de stockage de données avec un identifiant unique lui-même associé au terminal mobile ;
(d) réception d'une requête de géolocalisation émise par un serveur applicatif, la requête comprenant ledit identifiant unique associé au terminal mobile ;
(e) génération et envoi au serveur applicatif d'une réponse à la requête en fonction des données de géolocalisation associées à l'identifiant unique dans ladite base de données, et de règles associées au serveur applicatif.
L'utilisation d'un serveur de confiance pour répondre aux requêtes envoyées par les serveurs applicatifs permet à la fois de facilement anonymiser les données de géolocalisation et de rationaliser la sollicitation des moyens de géolocalisation des terminaux mobiles : si plusieurs applications requièrent ces données, il suffit de les transmettre une fois au serveur, et c'est ce dernier qui traite les multiples requêtes.
Par ailleurs, ce procédé ne nécessite que la mise en œuvre d'un module léger sur le terminal et facilite le développement de nouvelles applications utilisant
la géolocalisation, dans la mesure où il suffit de contacter un unique serveur, celui- ci pouvant gérer des requêtes complexes offrant des fonctionnalités avancées (par exemple, demande de notification si un certain événement se produit). Selon d'autres caractéristiques avantageuses et non limitatives :
• ledit identifiant unique est un identifiant anonyme généré par le terminal mobile et reçu par les moyens de traitement de données du serveur lors de l'étape (a) ;
• ledit identifiant unique est un identifiant anonyme généré à l'étape (b) par les moyens de traitement de données du serveur et envoyé au terminal mobile ;
· ledit identifiant unique est changé à intervalles réguliers ;
• ledit identifiant unique reçu par le terminal mobile est envoyé au serveur applicatif si l'utilisateur autorise le serveur applicatif à accéder à ses données de géolocalisation ;
• les données de géolocalisation sont également associées dans ladite base de données à des données temporelles relatives au moment de leur réception à l'étape (b) ;
• le procédé comprend une étape (e1 ) d'émission d'une nouvelle première requête, de réception de données de géolocalisation actualisées depuis le terminal mobile puis de mise à jour la base de données stockée sur les moyens de stockage de données ;
• le procédé comprend la répétition des étapes (d) et (e), dans lequel l'étape (e1 ) étant mise en œuvre suite à chaque étape (d) si les moyens de traitement de données du serveur déterminent en fonction de règles associées au serveur applicatif ayant émis la deuxième requête que les données de géolocalisation doivent être actualisées ;
• l'enchaînement des étapes (d) et (e) est répété à une fréquence donnée pour au moins un serveur applicatif, l'étape (e1 ) étant répétée à une fréquence fonction des fréquences auxquelles l'enchaînement des étapes (d) et (e) est répété pour un serveur applicatif et/ou d'au moins une règle associée au serveur applicatif ;
· selon une règle associée au serveur applicatif la réponse générée à l'étape (e) comprend une version dégradée des données de géolocalisation associées à l'identifiant unique dans ladite base de données ;
• la deuxième requête reçue à l'étape (d) comprend des données de géolocalisation de référence, selon une règle associée au serveur applicatif l'étape
(e) comprend la comparaison des données de géolocalisation associées à l'identifiant unique dans ladite base de données avec les données de géolocalisation de référence, la réponse générée étant fonction du résultat de ladite comparaison.
Selon un deuxième aspect, l'invention concerne un serveur de traitement de données de géolocalisation, connecté à au moins un terminal mobile comprenant des moyens de géolocalisation et à au moins un serveur applicatif, le serveur comprenant des moyens de stockage de données et des moyens de traitement de données configurés pour mettre en œuvre :
un module d'émission d'une première requête de géolocalisation à destination du terminal mobile ;
un premier module de réception de données de géolocalisation depuis le terminal mobile en réponse à la première requête ;
- un module d'association desdites données de géolocalisation dans une base de données stockée sur les moyens de stockage de données avec un identifiant unique lui-même associé au terminal mobile ;
un deuxième module de réception d'une deuxième requête de géolocalisation émise par le serveur applicatif, la deuxième requête comprenant ledit identifiant unique associé au terminal mobile ;
un module de génération et d'envoi au serveur applicatif d'une réponse à la deuxième requête en fonction des données de géolocalisation associées à l'identifiant unique dans ladite base de données, et de règles associées au serveur applicatif.
Selon un troisième aspect, l'invention concerne un système comprenant : au moins un terminal mobile comprenant des moyens de géolocalisation ; au moins un serveur applicatif ;
au moins un serveur selon le deuxième aspect.
Selon d'autres caractéristiques avantageuses et non limitatives :
• le terminal mobile met en œuvre un module de gestion des règles associées à chaque serveur applicatif.
Selon un quatrième et un cinquième aspects, l'invention concerne un produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon le premier aspect de l'invention de traitement de données de géolocalisation ; et un moyen de stockage lisible par un équipement informatique sur lequel un produit programme d'ordinateur comprend des instructions de code pour l'exécution d'un procédé selon le premier aspect de l'invention de traitement de données de géolocalisation.
PRESENTATION DES FIGURES
D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d'un mode de réalisation préférentiel. Cette description sera donnée en référence à la figure 1 annexée qui représente une architecture pour la mise en œuvre du procédé selon l'invention.
DESCRIPTION DETAILLEE Architecture interne Le présent procédé de traitement de données de géolocalisation est mis en œuvre dans un environnement du type de celui représenté par la figure 1.
Un ou plusieurs terminaux mobiles 1 a, 1 b sont connectés à un réseau de communication 20 (en particulier un réseau de téléphonie mobile). Chaque terminal mobile 1 a, 1 b peut être n'importe quel équipement apte à se connecter au réseau de communication 20. Il peut par exemple d'agir d'un smartphone, d'une tablette tactile, etc.
Chaque terminal mobile 1 a, 1 b comprend des moyens de géolocalisation 10, lesquelles peuvent mettent en œuvre l'une des nombreuses techniques de géolocalisation implémentées sur des terminaux mobiles (GPS, positionnement GSM, RFID, etc.). On comprendra que le précédent procédé n'est limité à aucune façon d'obtenir sur le terminal mobile 1 a, 1 b des données de localisation, et que les moyens 10 peuvent prendre n'importe quelle forme (physique et/ou logicielle).
Un serveur 2 est connecté au réseau de communication 20. Il s'agit d'un serveur « de confiance », notamment un serveur de l'opérateur du réseau 20. Il
comprend classiquement un module de traitement de données 21 (un processeur) et un module de stockage de données 22 (par exemple un disque dur).
Ce serveur 2 est lui-même connecté par exemple via le réseau Internet 30 à un ou plusieurs serveurs applicatifs 3a, 3b. Il s'agit de serveurs impliqués dans le fonctionnement d'une application (par exemple un ou plusieurs serveurs d'un réseau social), à l'origine des requêtes de données de géolocalisation émises à destination des terminaux 1 a, 1 b.
Il est à noter qu'il peut y avoir plusieurs serveurs 2, chacun connecté à un ou plusieurs serveurs applicatifs 3a, 3b.
Principe
La Demanderesse a remarqué qu'il est aujourd'hui courant que plusieurs applications utilisent simultanément les données de géolocalisation d'un terminal mobile, a fortiori en mode tracking. Par exemple, il est possible que l'utilisateur soit en train d'utiliser une première application de type « map » affichant une carte sur laquelle la position de l'utilisateur est affichée, pendant qu'en tâche de fond certaines applications, conçues par exemple pour envoyer une notification si l'utilisateur est à proximité d'un ami, d'un restaurant, etc., fonctionne.
Le serveur applicatif de chacune de ces applications « piste » la position de l'utilisateur, c'est-à-dire qu'il requiert (éventuellement à intervalles réguliers) les données de localisation de son terminal mobile 1 a, 1 b.
Si chacune de ces applications a une fréquence donnée de mise à jour des données de géolocalisation, on constate que la fréquence réelle de sollicitation des moyens 10 de géolocalisation est égale à la somme de ces fréquences, d'où l'augmentation conséquente de la consommation énergétique dès que plusieurs tracking sont simultanément actifs.
Or, solliciter autant de fois les moyens 10 de géolocalisation qu'il y a d'applications s'avère inutile. Le présent procédé propose ainsi une façon d'éviter toute redondance dans la gestion des données de géolocalisation, grâce au serveur de confiance 2.
De plus, au lieu de fonctionner dans un mode « push » dans lequel c'est le terminal 1 a, 1 b qui décide quand envoyer des données de géolocalisation au serveur (il « pousse » les données), le présent serveur 2 met en œuvre un mode de fonctionnement dit « pull » dans lequel c'est lui qui demande explicitement la
position du terminal quand c'est opportun (le serveur « tire » les données), ce dernier se contentant de répondre. En d'autres termes, on déplace au moins partiellement l'intelligence (en ce qui concerne la gestion de la géolocalisation) du terminal 1 a, 1 b vers le serveur de confiance 2. Dans des méthodes connues du type de celle décrite dans le document US 201 1/0159884, le serveur 2 fonctionne uniquement en mode push.
Cela permet d'améliorer encore l'économie de batterie. Tout d'abord, cela permet de garantir qu'aucune demande de géolocalisation n'est faite pour rien, quand bien même le terminal serait en mouvement. Ensuite, cela permet de nombreuses économies supplémentaires astucieuses. Par exemple, si le serveur 2 sait qu'un terminal devrait se trouver dans une certaine zone (par exemple à l'aide des historiques de position du mobile) mais n'a pas sa position actuelle précise, il peut ne faire une requête pull pour avoir la position exacte du mobile que si un événement intéressant l'utilisateur a lieu dans cette zone (présence d'une personne connue, demande d'information d'un tiers, covoiturage possible, offre commerciale, etc.). La géolocalisation n'est donc demandée qu'à bon escient, à partir d'informations non disponibles pour le terminal 1 a, 1 b, ce qui différencie nettement de la solution push. On optimise ainsi davantage la consommation de la batterie. Et si la position effective du terminal 1 a, 1 b n'est pas celle prévue, ce n'est pas grave, l'information stockée pourra être réutilisée par d'autres applications.
Dans une première étape (a), les moyens de traitement de données 21 du serveur 2 émettent à destination du terminal mobile une première requête de géolocalisation (c'est la requête pull). En réponse, dans une étape (b) ces moyens de traitement de données 21 reçoivent de la part du terminal mobile 1 a, 1 b des données de géolocalisation (obtenues par les moyens de géolocalisation 10). Cet envoi présente la particularité de ne pas être mis en œuvre en réponse à une requête de la part d'une application. Il vise juste à fournir ces données au serveur 2 en vue d'un stockage. Comme l'on verra plus tard, cette première requête peut suivre, ou au contraire précéder, une deuxième requête émanant justement d'un serveur applicatif 3a, 3b.
Dans une étape (c), ces données sont associées dans une base de données stockée sur les moyens de stockage de données 22 du serveur 2, avec un identifiant unique lui-même associé au terminal mobile 1 a, 1 b.
De façon préférée, les données de géolocalisation sont également associées dans cette base de données à des données temporelles (typiquement l'heure) relatives au moment de leur réception à l'étape (b).
Ainsi, la base de données du serveur 2 se compose de triplets de type (identifiant, données de géolocalisation, heure). De nombreux terminaux 1 a, 1 b peuvent être gérés au sein d'une seule base de données.
Cet identifiant unique est un identifiant anonyme qui peut être soit généré par les moyens de traitement de données 21 du serveur 2 et envoyé au terminal mobile 1 a, 1 b (lors de l'étape (b)), soit généré par le terminal mobile 1 a, 1 b, lequel envoie directement le couple (identifiant, données) au serveur 2 à l'étape (b). L'identifiant unique permet d'anonymiser les données de géolocalisation en évitant que ces dernières soient référencées via des données permettant d'identifier directement le terminal 1 a, 1 b ou son utilisateur.
Seul le serveur 2 de confiance est éventuellement capable de faire le lien entre un identifiant unique et l'identité réelle de l'utilisateur, ce qui garantit la confidentialité des données de géolocalisation. Dans le cas où c'est le terminal 1 a, 1 b qui génère (et change) l'identifiant, il est possible de faire que le serveur 2 ne soit pas en mesure de lier l'ancien et le nouvel identifiant, puisqu'il reçoit directement un nouveau couple (identifiant, données), qu'il peut interpréter comme représentant un nouveau terminal. Cela augmente la confidentialité, mais il peut être souhaitable de l'éviter si par exemple une application utilise des positions passées du terminal 1 a, 1 b.
Dans tous les cas, pour une sécurité optimale l'identifiant unique peut être changé (c'est-à-dire regénéré par le serveur 2/le terminal 1 a, 1 b) à intervalles réguliers, par exemple toutes les heures.
L'identifiant unique « actuel » du terminal mobile 1 a, 1 b est envoyé au serveur applicatif 3a, 3b (de sorte à ce que ce dernier puisse désigner le terminal 1 a, 1 b) si l'utilisateur autorise le serveur applicatif 3a, 3b à accéder à ses données de géolocalisation. Cette autorisation peut être donnée via un module logiciel mis en œuvre sur le terminal 1 a, 1 b (lequel sera décrit plus en détails plus loin). L'envoi peut être réalisé soit par le terminal 1 a, 1 b, soit par le serveur 2.
Si l'identifiant a été transmis, le serveur 2 peut recevoir dans une étape (d) une deuxième requête de géolocalisation émise par le serveur applicatif 3a, 3b, la deuxième requête comprenant ledit identifiant unique associé au terminal mobile 1 a, 1 b (ainsi que des données supplémentaires qui seront décrites plus loin). Il est
à noter que l'étape (d) peut le cas échéant précéder une ou plusieurs des étapes (a) à (c). En effet l'étape (d) et les étapes (a) à (c) sont indépendantes et le serveur 2 ne contrôle pas le moment d'arrivée des deuxièmes requêtes.
Les moyens de traitement de données 21 du serveur 2 vont alors générer et envoyer au serveur applicatif 3a, 3b (dans une étape (e)) une réponse à la deuxième requête en fonction des données de géolocalisation associées à l'identifiant unique dans ladite base de données, et de règles associées au serveur applicatif 3a, 3b.
Les étapes (d) et (e) ont lieu autant de fois que des deuxièmes requêtes sont envoyées au serveur 2. Comme l'on verra plus tard, chaque deuxième requête peut donner lieu ou non à l'actualisation des données de géolocalisation (en d'autres termes l'envoi d'une première requête).
Ainsi dans le présent procédé, c'est le serveur 2 de confiance qui reçoit les deuxièmes requêtes et y répond. Aucune des deuxièmes requêtes n'est transmise au terminal 1 a, 1 b. Ce dernier ne voit que les premières requêtes (qui sont en pratique beaucoup moins nombreuses que les deuxièmes requêtes grâce à l'intelligence du serveur 2) et n'est ainsi pas sollicité outre mesure.
Cela permet :
de garantir la confidentialité puisque d'une part les données sont anonymisées, et d'autre part la réponse générée peut être « dégradée » ou se limiter à certaines informations moins confidentielles si les règles associées le prévoient. Tous les échanges (entre terminaux et serveur de confiance, serveurs applicatifs et serveur de confiance) peuvent par ailleurs être chiffrés pour prévenir toute interception par un équipement tiers, de diminuer sensiblement la consommation énergétique, puisque :
o d'une part un seul envoi de données de géolocalisation par le terminal 1 a, 1 b peut être exploité par une pluralité de serveurs applicatifs 3a, 3b, le coût énergétique de génération d'une réponse par requête étant reporté sur le serveur 2. En d'autres termes, le présent précédé offre un guichet unique aux applications, permettant au terminal mobile 1 a, 1 b de n'envoyer qu'une seule fois sa position géographique, cette information étant disponible pour toutes les applications. La consommation énergétique liée à la géolocalisation devient indépendante du nombre d'applications actives ;
o d'autre part le terminal 1 a, 1 b est sollicité au strict minimum grâce au filtrage opéré intelligemment par le serveur qui transforme un grand nombre de secondes requêtes en un petit nombre de premières requêtes, ou prend l'initiative des premières requêtes lorsque cela est opportun.
Mise à jour des données
Les données de géolocalisation associées à un terminal mobile 1 a, 1 b particulier dans la base données sont rapidement obsolètes, puisque l'utilisateur continue à se déplacer. Il est donc nécessaire de les mettre à jour régulièrement, a fortiori si une application fonctionne en mode tracking (et donc que le serveur applicatif 3a, 3b associé doit recevoir des mises à jour à intervalles réguliers).
Le procédé comprend ainsi avantageusement une étape (e1 ) d'émission d'une nouvelle première requête, de réception de données de géolocalisation actualisées depuis le terminal mobile 1 a, 1 b puis de mise à jour de la base de données stockée sur les moyens de stockage de données 22. L'étape (e1 ) équivaut à une répétition des étapes (a) à (c), c'est-à-dire à l'émission d'une nouvelle première requête.
II est à noter que cette mise à jour n'est pas forcément un remplacement des données précédemment stockées. Si les données de géolocalisation sont associées à un paramètre temporel, il est possible de créer une nouvelle entrée dans la base de données. De façon générale, ce sera l'entrée la plus récente pour un identifiant unique donné qui sera utilisée (même si comme expliqué on peut imaginer que la connaissance d'anciennes données de géolocalisations pourrait être intéressante pour certaines applications).
L'étape (e1 ) peut avoir lieu avant ou après l'étape (e).
Dans un premier mode de réalisation, à chaque fois qu'une deuxième requête est reçue (étape (d)), le serveur 2 détermine si une mise en œuvre de l'étape (e1 ) est nécessaire, en fonction de règles associée à chaque serveur applicatif 3a, 3b et de paramètres tels que de « l'âge » des données. Ces règles peuvent par exemple définir un seuil de temps au-delà duquel les données sont considérées comme dépassées et doivent être actualisées, où un nombre consécutif de secondes requêtes. En d'autres termes, à chaque deuxième requête, le serveur 2 répond directement (pas de mise en œuvre de l'étape (e1 )) s'il le peut
(l'information est là), ou remonte à la source s'il le faut (l'information est absente ou obsolète). Dans ce mode de réalisation, chaque éventuelle mise en œuvre de l'étape (e1 ) est intercalée entre les étapes (d) et (e).
Dans un deuxième mode de réalisation, le serveur 2 a l'initiative et peut indépendamment des réceptions des deuxièmes requêtes actualiser les données de géolocalisation (mise en œuvre de l'étape (e1 ) après l'étape (e) et avant une éventuelle étape (d)). Par exemple, une enseigne veut être avertie lorsque des clients potentiels sont à proximité de ses magasins ; c'est alors le serveur 2 qui notifie le serveur applicatif 3a, 3b lorsque c'est le cas. Pour cela, il peut interroger les mobiles de sa propre initiative (requête pull), lorsque par exemple l'historique des données lui fait penser que tel client potentiel doit être à proximité de tel magasin.
Dans un cas de tracking, les deuxièmes requêtes sont envoyées à une fréquence donnée (fréquence du tracking), en d'autres termes la fréquence à laquelle l'enchaînement des étapes (d) et (e) est répété pour au moins un serveur applicatif 3a, 3b.
La fréquence de mise à jour peut dans un tel cas être fixée par le serveur 2 et définie comme celle fixée par l'application la plus contraignante : au lieu d'utiliser des règles et/ou de réagir à chaque réception d'une deuxième requête, l'étape (e1 ) est répétée à une fréquence équivalente à la fréquence la plus élevée parmi les fréquences auxquelles l'enchaînement des étapes (d) et (e) est répété pour un serveur applicatif 3a, 3b.
En l'absence d'applications en mode tracking (en d'autres termes d'applications imposant une fréquence donnée de mise à jour), la fréquence effective peut alternativement dépendre d'autres critères tels que l'heure ou de la position du mobile, selon les règles d'accès définies par l'utilisateur (voir ci-après).
A titre d'exemple, si une application A demande une précision de 50 m sur la localisation du terminal 1 a, 1 b et une application B une précision de 500 m, la position sera envoyée avec une précision de 50 m pour assurer le bon fonctionnement de l'application A, et la mise à jour sera demandée dès que la position actuelle diffère de plus de 50 m de la dernière position envoyée.
Il est à noter que les différents modes de mise à jour des données mentionnés ci-dessus peuvent être mis en œuvre à tour de rôle ou en combinaison en fonction des différents serveurs applicatifs 3a, 3b requérant la géolocalisation.
De façon générale, on comprendra que les moyens de géolocalisation 10 ne transmettent jamais de mise à jour inutile (c'est-à-dire ne pouvant être exploitée par une application) afin de préserver au maximum la batterie du terminal mobile 1 a, 1 b. La fréquence peut donc être optimisée en permanence par les moyens de traitement de données 21 du serveur 2.
Règles et module de gestion
La génération des réponses peut être fonction d'autres règles associées aux serveurs applicatifs 3a, 3b, ces règles pouvant être par ailleurs gérées au niveau du terminal mobile 1 a, 1 b par un module spécifique.
Comme expliqué précédemment, ce module permet pour chaque application de tout d'abord définir une autorisation ou non d'accéder aux données de géolocalisation. Si l'autorisation est donnée, le serveur 2 peut transmettre au serveur applicatif associé l'identifiant unique du terminal 1 a, 1 b (ce qui rend possible la réception et le traitement de requêtes par le serveur 2).
Ensuite, ce module définit les règles, qui peuvent être vues de façon générale comme des règles de gestion, c'est-à-dire des modulations sur le niveau d'accès aux données de géolocalisation, et sur des éventuels traitements supplémentaires, à comparer aux règles liées à la mise à jour des données (étape (e1 )).
Par exemple, une règle de gestion peut autoriser une application à n'accéder à ces données qu'avec une certaine précision temporelle et spatiale, ce niveau de précision pouvant être fonction de l'heure et de la position du terminal mobile 1 a, 1 b. Le serveur 2 peut alors se charger de « dégrader » les données en ajoutant un aléa sur la position exacte et l'instant auquel cette position a été enregistrée. Une fréquence maximale des requêtes de l'application peut également être définie.
Par ailleurs, des règles peuvent prévoir la possibilité de répondre à une seconde requête autrement qu'en transmettant des données de géolocalisation. Par exemple, en prévoyant que la requête reçue à l'étape (d) comprenne des données de géolocalisation de référence, l'étape (e) peut comprendre la comparaison par les moyens de traitement de données 21 du serveur 2 des données de géolocalisation associées à l'identifiant unique dans ladite base de données avec les données de géolocalisation de référence, la réponse générée
étant fonction du résultat de ladite comparaison (il s'agit par exemple d'une réponse à « le terminal est-il à moins de 100 mètres de telle positon ? »).
L'utilisation du serveur de confiance 2 permet ainsi d'envisager de répondre directement à des requêtes complexes, ce qui facilite le travail des développeurs (possibilité de « pré-traitements » dans le serveur 2, avec des réponses élaborées obtenues à l'issue de l'étape (e), lesquelles peuvent être directement utilisées dans les applications), tout en augmentant le niveau de confidentialité (possibilité de directement répondre aux requêtes complexes des serveurs applicatifs 3a, 3b sans au final divulguer la position réelle de l'utilisateur).
Le module logiciel peut être implanté dans le système d'exploitation du terminal mobile 1 a, 1 b ou comme une application indépendante, activable par les applications utilisant les données de géolocalisation.
S'il y a plusieurs serveurs 2 de confiance, le module de gestion peut jouer un rôle supplémentaire. Un utilisateur peut en effet faire appel à des serveurs 2 soit actifs en même temps (avec des mises à jour pour chaque serveur) soit alternativement : le module logiciel peut, en notifiant les applications, changer de serveur 2 ou demander un changement d'identifiant unique pour renforcer l'anonymat des données de l'utilisateur. Il peut y avoir un serveur 2 de confiance par défaut (par exemple, géré par le fabricant du système d'exploitation), configurable par l'utilisateur.
Il est à noter que des protocoles standards existent pour transmettre des données de géolocalisation et les règles d'accès à ces données (voir par exemple le groupe GEOPRIV de l'IETF), le présent procédé ne sera limité à aucun d'entre eux.
Serveur
L'invention concerne également le serveur 2 de confiance pour la mise en œuvre du procédé précédemment décrit.
Ce serveur 2 est donc connecté à au moins un terminal mobile 1 a, 1 b comprenant des moyens de géolocalisation 10 et à au moins un serveur applicatif 3a, 3b. Il comprend des moyens de stockage de données 22 et des moyens de traitement de données 21 .
Ces derniers sont configurés pour mettre en œuvre :
un module d'émission d'une première requête de géolocalisation à destination du terminal mobile 1 a, 1 b ;
un premier module de réception de données de géolocalisation depuis le terminal mobile 1 a, 1 b en réponse à la première requête ;
- un module d'association desdites données de géolocalisation dans une base de données stockée sur les moyens de stockage de données 22 avec un identifiant unique lui-même associé au terminal mobile 1 a, 1 b (ce module permettant également la génération de l'identifiant unique, et le cas échéant la mise à jour des données de géolocalisation dans la base de données) ;
un deuxième module de réception d'une deuxième requête de géolocalisation émise par le serveur applicatif 3a, 3b, la deuxième requête comprenant ledit identifiant unique associé au terminal mobile 1 a, 1 b ; un module de génération et d'envoi au serveur applicatif 3a, 3b d'une réponse à la deuxième requête en fonction des données de géolocalisation associées à l'identifiant unique dans ladite base de données, et de règles associées au serveur applicatif 3a, 3b.
L'invention concerne par ailleurs le système qui comprend ce serveur 2, au moins un terminal mobile 1 a, 1 b comprenant les moyens de géolocalisation 10 et au moins un serveur applicatif 3a, 3b.
Comme expliqué, le ou les terminaux mobiles 1 a, 1 b mettent avantageusement en œuvre (via des moyens propres de traitement de données) un module de gestion des règles associées à chaque serveur applicatif 3a, 3b (lequel permet également éventuellement l'activation/désactivation des droits d'accès aux données de géolocalisation pour les serveurs applicatifs 3a, 3b, et des commandes liées au serveur 2 telles que la possibilité de regénérer un identifiant unique). Produit programme d'ordinateur
Selon un quatrième et un cinquième aspects, l'invention concerne un produit programme d'ordinateur comprenant des instructions de code pour l'exécution (en particulier sur le module de traitement de données 21 du serveur 2) d'un procédé selon le premier aspect de l'invention de traitement de données de
géolocalisation, ainsi que des moyens de stockage lisibles par un équipement informatique (par exemple un module de stockage de données 22 du serveur 2) sur lequel on trouve ce produit programme d'ordinateur.