Brevet FR2866134A1 — publié le 20050812

La présente invention concerne un dispositif antémémoire de courriers électroniques de type e-mail convenant notamment à des terminaux sans fil à très faible consommation d'énergie. Le déploiement du courrier électronique et de l'ADSL Asymmetric Digital Subscriber Line permet à chacun de communiquer par écrit avec un temps de transmission pratiquement nul et de recevoir des messages en continu, sans heure de distribution du courrier. Son utilisation conjointe avec l'ordinateur dans un contexte professionnel permet ainsi d'obtenir la même réactivité que le téléphone. Dans le domaine privé, le temps d'utilisation de l'ordinateur personnel est moindre que pour un usage professionnel et les avantages du courrier de type e-mail s'en trouvent diminués car en pratique, une présence devant l'ordinateur allumé est nécessaire pour constater une notification de courrier. Les ordinateurs actuels sont puissants, souvent bruyants, de sorte qu'ils consomment beaucoup d'énergie et demeurent surdimensionnés utilisés comme simple boîte aux lettres . De plus leur mobilité reste discutable même pour les ordinateurs portables, de sorte qu'un courrier arrivant ne pourra être mis à la connaissance d'une personne dès lors qu'elle se trouve loin de l'ordinateur, par exemple dans sa cuisine ou son salon. La présente invention a pour but principal de pallier ces inconvénients et a pour objet un dispositif antémémoire de courriers ou messages électroniques de type e-mail , convenant notamment à des terminaux sans fil à faible consommation d'énergie, se caractérisant essentiellement en ce qu'il comprend: É Une borne d'accès au réseau Internet permettant d'atteindre des serveurs distants de courriers ou messages électroniques, É Un réseau local sans fil opérant dans les bandes radio ISM ou RLAN , 25 É Un ou plusieurs terminaux connectés audit réseau sans fil, É Un module antémémoire de courriers caractérisé en ce qu'il comporte: É Un ensemble de descripteurs relatifs à l'accès aux comptes de courriers électroniques pouvant être consultés desdits terminaux, É Une base locale de données des courriers pouvant être consultés desdits 30 terminaux et mise à jour selon un mode opératoire mis en oeuvre par un moteur de recopie différentielle, É Ledit moteur de recopie différentielle des courriers en attente sur lesdits serveurs distants distribués sur le réseau internet. É Une interface vers lesdits terminaux sans fil. Il peut être utile pour différentes raisons de placer chez l'usager un serveur local d'emails avec lequel le dispositif antémémoire objet de l'invention ne doit pas être confondu. Le brevet US 2001/0029524 Al décrit ainsi un dispositif permettant à l'usager de naviguer plus rapidement sur un terminal sans fil entre ses différentes boîtes aux lettres. Le brevet US 2002/0198948 Al permet des fonctions similaires avec des terminaux de type PDA. Le brevet US 2002/0059388 Al décrit également un dispositif analogue. Ces documents décrivent des mécanismes de téléchargement de messages en exécutant leur déplacement d'un serveur distant vers un serveur local placé chez l'usager. A partir d'un terminal sans fil, ce dernier consulte alors plus rapidement car non assujetti aux aléas de transmission d'Internet - ses messages disposés dans son serveur local et non plus dans le serveur distant. Néanmoins, ce principe souffre d'inconvénients: 1) Les boîtes aux lettres e-mails ou mailboxes tendent à être interrogées selon deux méthodes, soit par un navigateur de WEB World Wide Web tel Microsoft Internet Explorer comme un site HTTP HyperText Transfer Protocol ordinaire, soit par un gestionnaire de courriers tel Microsoft Outlook . Dans le premier cas, l'intérêt de cette méthode réside dans le fait que la boîte est interrogeable rapidement de n'importe où sans configuration préalable. Dans la mesure où un dispositif spécifique placé chez l'usager est chargé de rapatrier automatiquement et périodiquement les messages, ceux-ci disparaissent du serveur distant. En conséquence, l'interrogation à distance de l'usager par HTTP n'offre plus aucun intérêt puisque la boîte aux lettres aura été préalablement vidée de son contenu par le serveur local. 2) Le serveur local est coûteux car il doit parfois recevoir des fichiers volumineux et doit donc être dimensionné pour cela. En outre, il doit être supervisé par une intervention 25 externe sans quoi il finit par saturer. 3) Les terminaux connectés au serveur local doivent être à aptes à décoder et interpréter tous les fichiers attachés aux messages. Le dispositif antémémoire de courriers électroniques objet de la présente invention ne présente pas ces inconvénients. Les principes mis en oeuvre sont maintenant présentés et une forme de réalisation de l'invention est décrite ci-après à titre d'exemple, en référence aux dessins annexés dans lesquels: La figure 1 montre la vue générale du dispositif antémémoire replacé dans son contexte, la figure 2 montre la vue détaillée du dispositif antémémoire, la figure 3 un exemple de transaction entre le serveur distant et le dispositif, la figure 4 un exemple de transaction entre le serveur distant et le dispositif limitant la recopie de messages en tête de pile sur une profondeur N, la figure 5 un exemple de transaction entre le serveur distant et le dispositif limitant la recopie de messages en tête de pile sur une profondeur N avec usage de la liste d' inhibition, la figure 6 montre l'activité des réseaux local et sans fil. La figure 1 donne la vue générale du système de communication conforme à l'invention. Selon l'exemple de réalisation, un terminal à très faible consommation 600, permet de lire sur un écran à cristaux liquides les messages en attente de lecture sur des boîtes aux lettres de type e-mail. L'attention est portée sur le fait que le terminal consomme très peu d'énergie de sorte que son autonomie puisse dépasser un an (de manière analogue aux thermomètres de salon à cristaux liquides) et que par conséquent sa période d'activité est très courte par rapport à sa phase de sommeil sur ses fonctions consommatrices d'énergie. L'état des boîtes aux lettres e-mail doit néanmoins être mis à un jour à un rythme élevé, tous les cinq minutes par exemple, avant d'être reporté sur le terminal. Au regard de ce qui vient d'être dit, la phase d'activité de ce terminal doit être réduite à quelques millisecondes à chaque mise à jour, temps incompatible avec une transaction sur Internet. Les messages e-mail sont stockés dans des serveurs 900m..., distants et connectés via le lien 801 au réseau Internet 800 (suivant la recommandation protocolaire POP3 Post Office Protocol Version 3 décrite par l'Internet Engineering Task Force dans le document RFC1939 disponible sur www.ietf.org) permettant le téléchargement des messages vers un ordinateur personnel 500 muni de logiciels de type Microsoft Outlook par exemple. La borne d'accès 100, disposé chez l'usager, fait office de passerelle entre le lien 802 d'interconnexion ADSL au réseau Internet et le réseau local de l'usager 200 habituellement supporté par le protocole Ethernet; ce réseau n'est pas forcément filaire et peut être de type sans fil RLAN Radio Local Area Network. L'ordinateur personnel de l'usager et le dispositif antémémoire 300 sont connectés sur ce réseau local sans interaction entre eux et sans que la présence d'un ordinateur soit nécessaire au bon fonctionnement dudit dispositif. Il est à noter que l'ordinateur personnel peut également être connecté à un endroit quelconque du réseau Internet de sorte qu'il puisse lire les messages de l'usager sur les serveurs de courrier 900. Le dispositif antémémoire est connecté d'autre part aux terminaux 600;k via un réseau sans fil 400 dans une bande radio conforme à la législation. Par exemple, les bandes radio Industrial Scientific Medical dite I.S. M. (433Mhz/ 868MHz) sont autorisées en France ainsi que la fréquence 2, 4Ghz des réseaux locaux sans fil RLAN; d'autres états ont réservé les fréquences 315 et 915 Mhz pour les mêmes usages. Description du module antémémoire 300 Le module antémémoire a pour fonction de rendre les messages e-mail en attente dans les serveurs distants 900 plus rapidement accessible par les terminaux 600i. k grâce à une mémorisation locale en une base de données de messages 330. Le terme antémémoire préconisé par l'AFNOR est une traduction du terme anglo-saxon cache généralement plus évocateur pour des informaticiens. Ainsi, le rôle du module antémémoire n'est pas de retirer les messages des serveurs distants mais d'en faire une copie. En conséquence, les messages sont donc toujours accessibles à l'usager sur les serveurs distants par ses moyens habituels, l'objectif du module antémémoire étant d'avoir l'activité la moins intrusive possible sur le réseau 200 et les serveurs 900. Le moteur de recopie différentielle 310 interroge périodiquement les serveurs distants selon un ensemble de descripteurs de compte e-mail 320 permettant l'autorisation d'accès aux messages. Un descripteur est fourni préalablement à toute transaction possible entre le module antémémoire et le serveur distant désigné par ledit descripteur qui se trouve acquis: De manière statique par l'usager à l'initialisation du dispositif, De manière dynamique par le terminal 600 requérant une transaction POP3 vers un serveur distant, l'interface 340 émulant le comportement du serveur distant vis-à-vis dudit terminal sans les aléas de transmission d'Internet. Ledit descripteur est un triplet composé du nom du serveur distant (par exemple pop.wanadoo.fr), un numéro de compte e-mail et un mot de passe. Selon une périodicité prédéfinie, le moteur de recopie interroge chacun des serveurs distants, muni des paramètres de connexion dudit descripteur. Le serveur distant considéré lui délivre alors sur demande la liste des messages disponibles. A cet instant, le moteur de recopie opère de manière différentielle par comparaison entre les messages disponibles localement et le serveur distant de sorte que la base de données locale de messages demeure l'image du serveur distant. La recopie d'un message diffère d'un retrait dans la mesure où de nouveaux messages semblent apparaître continuellement sur le serveur distant bien qu'ils aient été pris en compte préalablement puisque ceux- ci n'ont pas été effacés. Le moteur de recopie reconnaît donc promptement les messages déjà traités encore présents sur le serveur distant afin de les marquer localement comme toujours présents et naturellement sans les recopier. Les autres, véritablement nouveaux, sont recopiés localement dans la base de données de messages 330 sous forme complète ou partielle selon la mémoire disponible localement et le service rendu par les terminaux 600. Enfin, à la clôture de ce processus effectué sur un compte e-mail donné, les messages non toujours présents ou non véritablement nouveaux sont simplement supprimés de la base de données 330. La séquence suivante donne la chronologie de la transaction entre le moteur de recopie 310 et le serveur distant 900: 1) Connexion au serveur 1) Envoi D'INDENTIFICATION par N de compte + mot de passe 2) Envoi de DEMANDE D'IDENTIFICATEURS des messages sur le serveur distant 15 définissant une liste A 3) Réception de cette liste A 4) Elaboration de la liste C des messages à recopier du serveur en fonction d'une liste B des messages déjà présents localement. 5) Envois de DEMANDE DE RECOPIE des messages de la liste C 6) Envoi d'ordre de DECONNECTION 7) Déconnexion du serveur. 8) Effacement des messages de la liste E . Suivant l'exemple de réalisation, le serveur 900m est de type POP3 et l'étape 1) est réalisée avec les commandes USER xxxx et PASS yyyy. La demande d'identificateurs ou identifiants de messages est réalisée avec la commande UIDL. Chaque message possède un identifiant unique, c'est-à-dire une signature S, représentée le plus souvent par une chaîne de caractère. Le moteur de recopie élabore alors une liste des différences entre la liste A des messages du serveur et celle B de la base locale de messages 330 par comparaison entre ces identificateurs. La liste D = A ET B définit les messages à conserver dans la base locale (l'opérateur logique ET représente ici l'intersection entre les deux ensembles). La liste C = A - D définit les messages à télécharger du serveur. La nouvelle liste de messages dans la base locale deviendra donc pour la prochaine transaction B = D + C. La liste E = B - D représente les messages supprimés de la base locale. La commande RETR xxx permet de télécharger un message xxx sans le retirer du serveur. La commande TOP xxxx yyyy permet de lire uniquement les yyyy premières lignes dudit message xxxx. Il est à noter que le moteur de recopie peut utiliser une fonction de hachage H(x) pour obtenir des identificateurs de longueur fixe plus facilement manipulables, tout en gardant une très faible probabilité de collision entre eux (auquel cas, deux messages ont alors la même signature ). De même cette même fonction de hachage peut servir à signer le message en l'appliquant sur celui-ci partiellement, notamment sur son entête: S = H(début du message) lorsque la commande UIDL n'est pas disponible. Cette signature S, aussi utile lors des comparaisons ultérieures, est bien entendu conservée avec le message dans la base locale 330. A défaut des commandes UIDL et TOP, la longueur du message accessible avec la commande LIST xxxx peut servir de signature S au message xxxx mais avec une probabilité significative de collision. La déconnexion du serveur est obtenue avec la commande QUIT. La figure 3 représente un exemple de transaction selon le mode opératoire qui vient d'être décrit compte tenu de l'état de la base locale 330 à l'instant t-1 obtenu lors de la précédente transaction et celui du serveur distant 900 à l'instant t tel qu'il existe en début de transaction courante. Certains serveurs distants de courriers 900 offrent la possibilité du WEB par une interface HTTP de laisser dans une boîte aux lettres des messages déjà lus par l'utilisateur, des centaines de vieux messages peuvent ainsi s'accumuler sur le serveur conjointement aux nouveaux messages repérés par une couleur ou une police de caractères différente. L'interface POP3 possède l'inconvénient de ne pas faire de différences entre les messages non lus et déjà lus mais place néanmoins les derniers message arrivés en tête de pile. Notamment pour pallier cet aléa, le moteur de recopie locale maintient donc à jour donc une liste d'inhibition F 335 contenant les identificateurs de messages à ignorer et à ne pas recopier pour plusieurs raisons: Ceux-ci restent présents sur le serveur mais ne font plus partie de la tête de pile des messages disponibles sur le serveur distant, le moteur de recopie limitant ses chargements de messages à une profondeur N prédéfinie de cette pile, Ceux- ci sont considérés à ignorer ou déjà lus par les utilisateurs des terminaux 600, Eventuellement ceux-ci ne font pas partie des messages à sauvegarder dans la base locale en fonction de leur contenu ou de leur date d'envoi ainsi que d'autres options non décrites ici. La liste D définie ci-dessus devient donc D = (A ET B) OU F. La figure 4 et la figure 5 donne le nouveau comportement du dispositif selon l'état de la tête de pile 901. La figure 6 donne sur le chronogramme supérieur l'activité sur le lien réseau 200 entre le module antémémoire 300 et les serveurs distants. La scrutation des serveurs est soumise aux aléas de transmission sur Internet et sont de longueur variables et relativement importantes. La partie inférieure représente l'activité sur le lien radio 400 provoquée par une transaction entre un terminal et le module antémémoire. La scrutation à l'initiative du terminal est plus rapide permettant d'avoir un ratio activité/sommeil moins important et donc une autonomie énergétique plus grande. Ceux-ci se réveillent et sollicitent périodiquement le dispositif 300 pour l'interroger sur la présence de messages et éventuellement avoir accès au contenu de ceux-ci. L'interface 340 du module antémémoire est en charge de servir les demandes des terminaux. Pour cela, l'interface organise les échanges d'informations entre la base de données locale de messages 330 et le lien radio 400. Ce traitement s'effectue avec une priorité supérieure à celle du moteur de recopie différentielle de sorte que le temps de latence de la réponse se trouve minimisée. Le module antémémoire 300 se prête particulièrement bien à l'usage de composants électroniques de type microcontrôleurs. Ledit traitement est donc pris en charge par interruption du microprocesseur ou par une tâche de priorité élevée de l'exécutif temps- réel gérant l'ensemble. Outre l'exemple de réalisation décrit ci-dessus et de manière plus générale, le dispositif objet de l'invention offre la possibilité à des micro-systèmes ou des automatismes sans fil et à faible consommation d'énergie d'avoir accès à des courriers de type e-mail via le service de messagerie Internet pour se configurer et éventuellement renvoyer des informations vers leur expéditeur par émission de messages e-mail dont la description sort du cadre de l'invention. REVENDICATIONS 1. Dispositif antémémoire de courriers électroniques de type e-mail , convenant notamment à des terminaux sans fil à faible consommation d'énergie, se caractérisant essentiellement en ce qu'il comprend: É Une borne d'accès (100) au réseau Internet (800) permettant d'atteindre des serveurs distants de courriers ou messages électroniques (900m n), É Un réseau local (200), É Un réseau local sans fil (400) opérant dans les bandes radio dites ISM ou RLAN , É Un ou plusieurs terminaux (600, k) connectés audit réseau sans fil, É Un module antémémoire (300) de courriers électroniques caractérisé en ce qu'il comporte: É Un ensemble (320) de descripteurs de compte relatifs à l'accès aux comptes de courriers électroniques pouvant être consultés desdits terminaux, É Une base locale de données (330) des courriers pouvant être consultés desdits terminaux et mise à jour selon un mode opératoire mis en oeuvre par un moteur de recopie différentielle, É Ledit moteur de recopie (310) différentielle des courriers en attente sur lesdits serveurs distants distribués sur le réseau internet. É Une liste d'inhibition (335) d'identificateurs de courriers, É Une interface (340) vers lesdits terminaux sans fil. 2. Dispositif selon la revendication 1, caractérisé en ce que pour un compte e-mail donné, ledit moteur de recopie effectue le transfert de courriers d'un serveur distant (900;) vers ladite base locale sans les effacer dudit serveur, 3. Dispositif selon les revendications 1 et 2, caractérisé en ce que ledit moteur de recopie est activé périodiquement, 4. Dispositif selon les revendications 1 à 3, caractérisé en ce que ledit moteur de recopie effectue seulement le transfert desdits courriers observés absents de ladite base locale et supprime les courriers observés disparus du serveur distant dans cette même base locale de sorte que cette dernière représente une copie du serveur distant, 5. Dispositif selon les revendications 1 à 4, caractérisé en ce que ledit moteur de recopie opère une comparaison des courriers contenus dans ledit serveur et ladite base selon des identificateurs représentatifs desdits courriers de manière bi-univoque et invariable dans le temps, 6. Dispositif selon les revendications 1 à 5, caractérisé en ce que lesdits identificateurs sont fournis directement par le serveur distant ou par une fonction de hachage appliquée par ledit moteur de recopie différentielle à un attribut ou au contenu desdits courriers, 7. Dispositif selon les revendications 1 à 6, caractérisé en ce que ledit moteur de recopie considère uniquement les courriers en tête de pile et derniers arrivés sur le serveur distant selon une profondeur prédéfinie, 8. Dispositif selon les revendications 1 à 7, caractérisé en ce que ledit moteur de recopie ne transfère pas les courriers dont les identificateurs sont contenus dans une liste d'inhibition (335) représentative de courriers encore présents sur le serveur et ayant été recopiés antérieurement dans la base locale mais ne faisant plus partie dans ladite tête de pile. 9. Dispositif selon les revendications 1 à 8, caractérisé en ce que ladite liste d'inhibition 20 contient également les identificateurs de courriers écartés à la demande desdits terminaux, 10. Dispositif selon les revendications 1 à 9, caractérisé en ce que lesdits descripteurs de compte sont acquis statiquement à l'initialisation du système ou dynamiquement selon les requêtes d'accès aux serveurs distants émises par lesdits terminaux.