Brevet FR2897493A1 — publié le 20070817

La présente invention concerne un procédé de diffusion de messages à destination d'au moins un destinataire. Elle concerne également un support de données, une plate-forme de diffusion et un système de diffusion. L'invention s'applique particulièrement à la diffusion d'alertes, 5 d'informations quotidiennes et d'évènements ponctuels. Par alerte, on entend par exemple les alertes à l'inondation, la pollution, la météo, etc. Les informations quotidiennes regroupent par exemple l'état du trafic en un lieu donné, des résultats sportifs, ou des manifestations et spectacles. io Les évènements ponctuels concernent par exemple les retards de transport, tel que l'avion, la confirmation de commande ou la notification d'arrivée de colis. Le document EP-A1-1 367 786 décrit un procédé de diffusion de messages. 15 Dans ce procédé, une plate-forme de gestion de diffusion reçoit une requête établie par un expéditeur. La requête comprend au moins un message à diffuser, ce message étant constitué d'un ou plusieurs contenus, destinés chacun à être transmis au moyen d'un média respectif. Par exemple, le message contient un texte long 20 destiné à être transmis par courrier électronique et un texte court destiné à être transmis par SMS (Short Message Service). La plate-forme gère la campagne de diffusion en pilotant des serveurs de diffusion de contenu, en fonction d'une stratégie de diffusion et d'une liste de destinataire. 25 La stratégie de diffusion et la liste de destinataires sont soit spécifiées dans la requête, soit établies par la plate-forme à partie d'un annuaire de destinataire et de stratégies par défaut qu'elle stocke. La plate-forme comprend notamment un module de gestion de campagne de diffusion, destiné à gérer la campagne de diffusion en fonction du 30 message de la requête, d'une liste de destinataires et d'une stratégie de diffusion. En particulier, le module récupère la liste de destinataires et en extrait une liste initiale de terminaux destinataires. Le module filtre cette liste pour ne garder que les terminaux compatibles avec l'un des contenus du message, et pour ne garder que les terminaux sur lesquels le destinataire a indiqué qu'il était disponible dans des préférences enregistrées dans l'annuaire de la plate-forme. Le module génère ensuite, en vue de la campagne de diffusion, une description des séquences d'émission du message pour chaque destinataire. Le procédé précédant de diffusion de message présente l'inconvénient to de ne pas tenir compte des conditions de réception du message. La présente invention a pour but de pallier l'inconvénient précédent. A cet effet, l'invention pour objet un procédé de diffusion d'au moins un message à destination d'au moins un destinataire, comprenant les étapes suivantes 15 - recevoir au moins un message ayant au moins un contenu, - déterminer un ou plusieurs terminaux de destinataire compatibles avec le format d'au moins un contenu du message afin de générer une liste initiale de terminaux de destinataire, -évaluer pour au moins un terminal de la liste initiale, si le terminal 20 est connecté à un réseau de communication de manière à être apte à recevoir le message, - générer une nouvelle liste de terminaux de destinataire à partir de la liste initiale et de l'évaluation précédente, - envoyer le message vers au moins un terminal de la liste finale. 25 Le procédé selon ['invention permet d'améliorer l'efficacité de la campagne de diffusion en n'effectuant un envoi de message que vers les terminaux effectivement connectés au réseau. Dans le contexte d'une diffusion de messages vers un nombre important de terminaux, cette mesure réduit le temps nécessaire pour effectuer la diffusion ainsi que la quantité totale de 30 données à émettre pour effectuer cette diffusion. On limite notamment le risque de saturation du réseau. Dans un mode de réalisation particulier, le procédé comprend une étape de filtrage de la liste en fonction d'une information sur la localisation géographique d'un ou plusieurs terminaux de la liste initiale. Ceci permet d'éviter d'effectuer un envoi de message vers des terminaux non concernés par le message, c'est-à-dire se trouvant en dehors d'une zone géographique prédéterminée. L'efficacité de la diffusion est donc encore améliorée. Dans un mode de réalisation particulier, le procédé comprend une étape de filtrage de la liste en fonction d'une information sur la disponibilité des destinataires. Ceci permet d'éviter d'effectuer un envoi de message vers des Io terminaux dont l'utilisateur n'est pas disponible. L'efficacité de la diffusion est donc encore améliorée. Un procédé selon l'invention peut en outre comporter l'une ou plusieurs de caractéristiques suivantes : - si le terminal est un téléphone mobile, alors la localisation 15 géographique du téléphone mobile est obtenue par triangulation; - l'information de disponibilité est obtenue par interrogation du terminal ou à partir de préférences définies par l'utilisateur du terminal destinataire. Ces informations peuvent être obtenues simplement via un serveur approprié en vue de l'exécution des étapes de filtrages. Il est possible notamment 20 d'obtenir ces informations juste avant de déclencher l'étape de d'envoi de messages afin d'améliorer encore l'efficacité de la campagne de diffusion. En effet, les informations de disponibilité, de géolocalisation ou de présence sont susceptibles de varier d'une minute à l'autre. L'invention a également pour objet un support de données destiné à 25 être lu par un ordinateur, le support stockant des instructions telles que leur exécution par l'ordinateur provoque la mise en oeuvre d'un procédé de diffusion selon l'invention. L'invention a également pour objet un dispositif de diffusion de données à destination d'au moins un destinataire, configuré pour : 30 -recevoir au moins un message ayant au moins un contenu, - déterminer un ou plusieurs terminaux de destinataire compatibles avec le format d'au moins un contenu du message afin de générer une liste initiale de terminaux de destinataire, - évaluer pour au moins un terminal de la liste initiale, si le terminal 5 est connecté à un réseau de communication de manière à être apte à recevoir le message, - générer une nouvelle liste de terminaux de destinataire à partir de la liste initiale et de l'évaluation précédente, - envoyer le message vers au moins un terminal de la liste finale. la Les avantages énoncés pour le procédé selon l'invention sont transposables à ce dispositif. L'invention a également pour objet un système de diffusion comprenant un dispositif selon l'invention et un serveur apte à déterminer si un terminal est connecté à un réseau de communication de manière à être apte à 15 recevoir un message. L'invention a également pour objet un système de diffusion comprenant un dispositif selon l'invention et un serveur apte à fournir une information de localisation géographique d'un terminal. L'invention sera mieux comprise à la lecture de la description qui va 20 suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, parmi lesquels : - la figure 1 représente un système de diffusion selon l'invention, et - la figure 2 est un schéma bloc illustrant un procédé de diffusion selon l'invention. 25 En référence à la figure 1, on a représenté une plate-forme de gestion de diffusion 10, destinée à recevoir une requête de diffusion 12, afin d'élaborer une campagne de diffusion vers des terminaux destinataires 14. Un terminal 14 est un organe matériel et/ou logiciel de réception de messages. Chaque terminal 14 est adapté pour recevoir un ou plusieurs médias 30 (message vocal, courrier électronique ou mèl, MMS, message court de type SMS, fax, etc.). La campagne de diffusion consiste, dans l'exemple illustré, à ce que la plate-forme 10 pilote un ou plusieurs serveurs de diffusions 16. Les terminaux 14 et les serveurs de diffusion 16 sont reliés entre eux par un réseau de télécommunication 18, par exemple un réseau téléphonique 5 commuté ou des réseaux radiotéléphoniques cellulaires. Les serveurs de diffusion 16 sont en outre reliés la plate-forme 10 par un réseau de transmission en mode paquets 20, comme le réseau Internet. Par ailleurs, la plate-forme 10 est connectée à trois serveurs distants 21A, 21 B, 21 C, par l'intermédiaire du réseau 20. ~o Les serveurs distants 21A, 21B, 21C communiquent avec la plate-forme de gestion de diffusion par une interface de programmation (API) adaptée. Un premier serveur distant 21A est apte à fournir une information concernant la présence ou non des terminaux 14 sur le réseau 18. Un terminal est présent sur un réseau s'il est connecté à ce dernier, dans le sens où il peut accéder aux fonctions et services fournis par le réseau. Ainsi, l'information de présence permet de savoir si le terminal est apte à recevoir le message. Un exemple de système pour déterminer la présence d'un téléphone mobile sur le réseau de télécommunication mobile est donné dans le document de brevet FR 2 857 815. 20 La détection de l'état de présence est réalisée par l'envoi d'un SMS invisible. Un SMS invisible est généré comme un message court dont les entêtes sont paramétrées d'une façon particulière de manière à ce que le terminal mobile récepteur acquitte immédiatement la réception du message et le terminal mobile récepteur n'affiche aucun comportement perceptible par l'utilisateur. La 25 génération d'un SMS invisible est applicable dans les réseaux de type GSM/GPRS/UMTS. Un système plus général pour d'autres types de terminaux est donné dans le document de brevet FR 2 857 479. Dans ce document, une base de données est maintenue à jour afin qu'elle regroupe les informations d'état de 30 présence des terminaux sur le réseau, ces informations lui étant transmises lors d'un changement d'état de présence d'un terminal, par le terminal lui-même ou par un serveur tiers. Un second serveur distant 21B fournit une information concernant la localisation géographique des terminaux 14. Dans le cas d'un téléphone mobile GSM, un système de triangulation est par exemple utilisé. Un tel système présente l'avantage d'être couramment s mis en place par les opérateurs de téléphonie mobile. Dans le cas d'un téléphone fixe, le serveur croise par exemple les données d'un annuaire téléphonique avec celles d'un système d'information géographique donnant la position géographique correspondant à l'adresse postale associée à la ligne fixe. Un tel système d'information géographique est ~o par exemple le système CartoWeb (Open Source), ou bien le système ArcIMS (ESRI). Un troisième serveur distant 21C fournit une information concernant la disponibilité du destinataire du message. Deux systèmes, pouvant être mis en oeuvre ensembles, permettent 15 d'obtenir cette information. Tout d'abord, la disponibilité peut être lue dans des préférences 22 enregistrées dans le serveur distant 21C. Ces préférences 22 spécifient des plages horaires chacune associée à un ou plusieurs terminaux sur lequel l'utilisateur a indiqué qu'if était disponible. 20 Le système précédent peut être complété ou remplacé par un système recueillant à partir du terminal lui-même la disponibilité du destinataire. L'information de disponibilité est donc déterminée par interrogation du terminal. Par exemple, une messagerie instantanée de type MSN permet d'obtenir l'information de disponibilité actuelle. De même, un agenda tel que celui présent 25 dans le logiciel Outlook est apte à fournir une information de disponibilité. Par ailleurs, le terminal est de préférence configuré pour indiquer en retour un ou plusieurs autres terminaux sur lequel l'utilisateur souhaite être joint lorsqu'il n'est pas disponible sur le terminal interrogé, par exemple en paramétrant sa messagerie instantanée ou son agenda. Ainsi, la messagerie instantanée peut 30 être paramétrée pour indiquer le téléphone professionnel lorsque l'utilisateur n'est pas disponible, suite à une absence prolongée. Toujours en référence à la figure 1, on va décrire à présent plus en détail la plate-forme de gestion de diffusion 10 et la requête 12. La requête 12 comporte au moins un message 24 regroupant un ou plusieurs contenus. Par exemple, il comporte un texte court pour le média SMS, un texte long pour le média courriel, et un fichier audio pour le média téléphone. La requête 12 comporte en outre éventuellement une liste de profils de destinataires 26 et une stratégie de diffusion 28. La plate-forme de gestion de diffusion 20 comprend tout d'abord un module de gestion de campagne de diffusion 30. ~o Le module 30 utilise des données et informations présentées sous forme de pages en un langage de haut niveau, utilisant des balises, par exemple XML (eXtensible Markup Language). L'utilisation du format XML pour la description de toutes les informations, de tous les objets manipulés et de toutes les stratégies applicables rend aisé et homogène leur traitement pour 15 l'élaboration de la stratégie de diffusion. De plus, le format à balises ainsi créé est évolutif, car il permet simplement l'ajout de paramètres nouveaux concernant les différents objets/éléments manipulés. Bien que l'invention soit décrite en référence au langage XML, celle-ci peut être mise en oeuvre avec tout autre langage de description, 20 indépendamment de toute plateforme matérielle. Le procédé de l'invention est donc facilement portable. La plate-forme 10 comprend ensuite un annuaire 32 de profils de destinataires. Un exemple de profil, provenant de la requête 12 ou de l'annuaire 32, 25 est indiqué ci-après. TEST2 Nom Prénom 30 home 0123456789 tel Le profil précédent comprend un champ indiquant un identifiant du destinataire (balise ), des champs indiquant les nom et prénom du destinataire (balises et ). II comprend ensuite un champ indiquant la liste de terminaux sur chacun desquels on peut Io joindre le destinataire (balise ). Chaque terminal est identifié par son nom (balise ), son adresse (balise ) et les médias supportés par le terminal (balise ). La plate-forme 10 comprend en outre une ou plusieurs stratégies 34 15 de diffusion par défaut, utilisées lorsque la requête 12 ne spécifie pas de stratégie de diffusion. En référence à la figure 2, on va à présent décrire le fonctionnement de la plate-forme 10, suite à la réception d'une requête 12. Au cours d'une première étape 100, le module 30 récupère une liste 20 initiale de terminaux destinataires, à partir de la liste de destinataires provenant soit de la requête 12, soit de l'annuaire 32. Cette liste comporte également les médias supportés par chaque terminal. On obtient alors, une liste de couples terminal/média utilisables a priori pour joindre les destinataires. 25 Au cours d'une étape 200, le module 30 obtient un fichier de description d'une stratégie de filtrage. Ce fichier de description indique quelles sont les informations dynamiques à considérer pour la mise oeuvre du processus de filtrage de la liste de terminaux destinataires exécuté aux étapes suivantes. Dans le cadre d'une implémentation en XML, le fichier de description comprend 30 un champ relatif au paramètre présence, un champ relatif au paramètre géolocalisation, et un champ relatif au paramètre disponibilité. Dans chacun de ces champs est indiqué une ou plusieurs valeurs qui déterminent un mode de filtrage associé à chacun de ces paramètres. Au cours d'une étape 300, le module 30 examine le champ relatif au paramètre disponibilité dans le fichier de stratégie de filtrage. Ce champ peut 5 prendre trois valeurs: VRAI, FAUX ou REMPLACEMENT. Si le champ est valorisé à FAUX, alors on ne tient pas compte de la disponibilité des destinataires pour filtrer la liste de terminaux destinataires. Si le champ est valorisé à VRAI, alors le module 30 parcourt les couples terminal/média de la liste de destinataires et, pour chaque couple, io récupère sur le serveur distant 21C l'information de disponibilité pour le terminal du couple considéré. Si le destinataire est disponible sur ce terminal, le couple est conservé. Dans le cas contraire, le couple est supprimé de la liste. Si le champ de disponibilité est valorisé à REMPLACEMENT, alors le module 30 récupère, depuis les préférences 22 du serveur 21C ou à partir du 15 terminal 14 interrogé, la liste d'un ou plusieurs terminaux sur lesquels le destinataire a indiqué qu'il était disponible. Ces terminaux sont ajoutés à la liste des terminaux destinataires. Au cours d'une étape 400, le module de gestion de campagne de diffusion 30 détermine quels sont les terminaux destinataires qui sont 20 compatibles avec au moins un contenu du message. Par exemple, un téléphone mobile sera compatible avec un fichier sonore, tandis qu'un ordinateur sera compatible avec un message électronique. Les terminaux qui ne sont compatibles avec aucun contenu du message sont retirés de la liste. Au cours d'une étape 500, le module de gestion de campagne de 25 diffusion 30 examine le champ relatif au paramètre présence dans le fichier de stratégie de filtrage. Le module 30 parcourt alors les couples terminal/média restant dans la liste et, pour chaque couple, récupère sur le serveur distant 21A l'information de présence du terminal pour le média considéré. Si le terminal, n'est pas présent 30 sur son réseau, le couple est supprimé de la liste. Sinon, ce couple est conservé. Au cours d'une étape 600, le module de gestion de campagne de diffusion 30 examine le champ relatif au paramètre géolocalisation dans le fichier de stratégie de filtrage. Ce champ peut prendre comporter ou non une indication d'une ou plusieurs zones géographiques. Si ce champ comprend une indication de zones géographiques, le module de gestion de campagne de diffusion 30 parcourt la liste de couples terminal/média résultant du filtrage selon la présence et, pour chaque couple, récupère depuis le terminal distant 21B l'information de localisation du terminal. Si, sur la base de cette information, le module 30 détermine que le terminal est localisé dans l'une des zones géographiques alors le couple est conservé. Sinon, le couple terminal/média est supprimé de la liste de destinataires. ~o La campagne de diffusion est ensuite déclenchée, au cours d'une étape 700, à partir de la liste filtrée et/ou augmentée lors des étapes précédentes. La mise en oeuvre de la campagne se fait par exemple en utilisant le procédé décrit dans le document de brevet FR 2 840 144. 15 On obtient ainsi une séquence de messages et/ou de terminaux, par exemple : message vocal sur téléphone mobile professionnel, puis (si échec) SMS sur téléphone mobile professionnel, puis (si échec) message vocal sur téléphone fixe personne. Les paramètres considérés pour le filtrage de la liste étant dynamiques 20 et susceptibles de varier d'une minute à l'autre, les étapes 300 à 600 du procédé décrit sont de préférence exécutées juste avant l'étape 700 de diffusion de manière à optimiser l'efficacité de la campagne de diffusion. Bien évidemment, d'autres paramètres peuvent être utilisés en combinaison de l'information de présence, en les précisant dans le fichier de 25 description de la stratégie de filtrage, sans sortir pour autant du cadre de l'invention. REVENDICATIONS 1. Procédé de diffusion d'au moins un message à destination d'au moins un destinataire, caractérisé en ce qu'il comprend les étapes suivantes : -recevoir au moins un message ayant au moins un contenu, - déterminer (400) un ou plusieurs terminaux de destinataire compatibles avec le format d'au moins un contenu du message afin de générer une liste initiale de terminaux de destinataire, - évaluer (500) pour au moins un terminal de la liste initiale, si le terminal est connecté à un réseau de communication de manière à être apte à t o recevoir le message, - générer une nouvelle liste de terminaux de destinataire à partir de la liste initiale et de l'évaluation précédente, - envoyer le message vers au moins un terminal de la liste finale. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend 15 une étape de filtrage de la liste en fonction d'une information sur la localisation géographique d'un ou plusieurs terminaux de la liste initiale. 3. Procédé selon la revendication 2, caractérisé en ce que, si le terminal est un téléphone mobile, alors la localisation géographique du téléphone mobile est récupérée par triangulation. 20 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend une étape de filtrage de la liste en fonction d'une information sur la disponibilité des destinataires. 5. Procédé selon la revendication 4, caractérisé en ce que l'information de disponibilité est obtenue par interrogation du terminal. 25 6. Procédé selon la revendication 4, caractérisé en ce que l'information de disponibilité est obtenue à partir de préférences définies par l'utilisateur du terminal destinataire. 7. Support de données destiné à être lu par un ordinateur, le support stockant des instructions telles que leur exécution par l'ordinateur provoque la 30 mise en oeuvre d'un procédé de diffusion selon l'une quelconque des revendications 1 à 6. 8. Dispositif de diffusion de données à destination d'au moins un destinataire, caractérisé en ce qu'il est configuré pour : - recevoir au moins un message ayant au moins un contenu, - déterminer (400) un ou plusieurs terminaux de destinataire compatibles avec le format d'au moins un contenu du message afin de générer une liste initiale de terminaux de destinataire, - évaluer (500) pour au moins un terminal de la liste initiale, si le terminal est connecté à un réseau de communication de manière à être apte à recevoir le message, Io - générer une nouvelle liste de terminaux de destinataire à partir de la liste initiale et de l'évaluation précédente, - envoyer le message vers au moins un terminal de la liste finale. 9. Système de diffusion caractérisé en ce qu'il comprend un dispositif selon la revendication 8, et un serveur distant apte à déterminer si un terminal est 15 connecté à un réseau de communication de manière à être apte à recevoir un message. 10. Système de diffusion caractérisé en ce qu'il comprend un dispositif selon la revendication 8, et un serveur distant apte à fournir une information de localisation géographique d'un terminal.