Brevet FR2939589A1 — publié le 20100611

Procédé d'activation d'un logiciel client d'un système de messagerie instantanée L'invention se rapporte à un procédé de communication entre un premier client d'un système de messagerie instantanée et au moins un deuxième client dudit système, lesdits premier et deuxième clients étant respectivement hébergés dans des premier et deuxième terminaux. On connaît actuellement dans l'état de la technique, voir par exemple le document US 2008/0090598, des systèmes dits de "messagerie instantanée" (ou, en anglais, "IM systems" pour "instant messaging systems") qui permettent un échange des messages d'une façon quasi immédiate entre des terminaux utilisateurs, chacun des terminaux étant sous la commande d'un utilisateur. Dans un tel système on trouve des logiciels dits "clients" tournant localement sur les terminaux utilisateurs qui sont, à travers un réseau de communication, liés à un dispositif central appelé serveur (en anglais : "server") où tourne un logiciel dit "serveur". Les systèmes de messagerie instantanée répondent communément à ce qu'on désigne dans l'état de la technique par l'expression anglaise de "client-server architecture". Typiquement, les logiciels dits clients sont très lourds, à la fois en termes d'utilisation de la capacité de l'unité centrale de traitement et d'utilisation de la mémoire du terminal utilisateur. Notamment, l'utilisation de la capacité de l'unité centrale de traitement (dans l'état de la technique également connue sous son appellation anglaise de "central processing unit" ou, dans sa forme abrégée : "CPU") peut atteindre plusieurs pourcents de la capacité disponible. Aussi, ces clients utilisent généralement des milliers d'octets de la mémoire disponible du terminal utilisateur. Ces deux facteurs, seuls ou en combinaison, font que la période de démarrage de tels clients peut s'élever facilement à plusieurs dizaines de secondes. Cette situation peut en général se produire dans le cas où le terminal utilisateur a des capacités trop limitées comparativement aux capacités nécessaires pour l'utilisation de ces clients et plus particulièrement dans le cas d'un terminal dit "mobile". Un tel terminal mobile dispose généralement de capacités (CPU et/ou mémoire) relativement limitées. Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique. A cet effet, le procédé comme décrit ci-dessus est caractérisé en ce qu'il comprend : û une étape d'envoi depuis ledit deuxième terminal vers le premier terminal d'une requête d'établissement d'une connexion entre les premier et deuxième clients, û une étape de détection de réception de ladite requête par un logiciel de surveillance en cours d'exécution sur le premier terminal, û une étape d'activation dudit deuxième client par ledit logiciel de surveillance, et û une étape d'établissement d'une communication entre ledit deuxième client et ledit 10 premier client. Avantageusement, l'activation du deuxième client par un logiciel de surveillance évite que le deuxième client doive tourner en permanence sur le deuxième terminal utilisateur. De cette façon les problèmes connus de l'état de la technique (besoin de capacité CPU et mémoire) sont évités. Le procédé permet quand même d'établir une 15 communication entre le deuxième client et le premier client. Dans un mode de réalisation, le procédé est caractérisé en ce qu'il comprend en outre : û une étape d'allumage dudit premier terminal, et û une étape de lancement dudit logiciel de surveillance après ladite étape d'allumage. 20 Avantageusement, le lancement du logiciel de surveillance est dans ce cas automatique sans que l'utilisateur du deuxième terminal ait une démarche à faire. Dans un autre mode de réalisation, le procédé est caractérisé en ce que û ladite étape d'activation est exécutée seulement dans le cas d'une confirmation par un utilisateur dudit premier terminal de ladite étape d'activation. 25 Avantageusement, si l'utilisateur dudit deuxième terminal ne souhaite pas entrer en contact avec l'utilisateur du premier terminal, il peut choisir de ne pas confirmer l'étape d'activation et n'entrera donc pas en contact avec l'utilisateur du premier terminal. Dans un autre mode de réalisation, le procédé est caractérisé en ce qu'il comprend : 30 û une étape de définition par un utilisateur dudit premier terminal d'un utilisateur dudit premier terminal, û une étape de transmission de ladite définition vers ledit deuxième terminal, et û une étape de démarrage dudit procédé après une connexion audit système par ledit utilisateur dudit deuxième terminal. Avantageusement, ceci permet à un utilisateur donné de définir un autre utilisateur avec lequel il souhaite entrer en contact dès que cet autre utilisateur se connecte au système de messagerie instantanée. L'invention se rapporte également à un premier terminal comprenant un logiciel de surveillance apte à détecter une requête d'établissement envoyée depuis un deuxième terminal vers ledit premier terminal et apte à activer un premier client hébergé dans ledit premier terminal. L'invention se rapporte également à un deuxième terminal comprenant des moyens d'envoi vers un premier terminal d'une requête d'établissement d'une connexion entre un premier client d'un système de messagerie instantanée et au moins un deuxième client dudit système, lesdits premier et deuxième clients étant respectivement hébergés dans ledit premier terminal et ledit deuxième terminal et des moyens de réception d'une définition par un utilisateur dudit premier terminal d'un utilisateur dudit deuxième terminal. L'invention se rapporte également à un système de messagerie instantanée comprenant un serveur central et un premier terminal comme décrit ci-dessus et un 20 deuxième terminal comme décrit ci-dessus. L'invention se rapporte également à un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé comme décrit ci-dessus lorsque ce programme est exécuté par un processeur. L'invention se rapporte également à un produit de programme d'ordinateur, compre- 25 nant des moyens de code de programme, stockés sur un milieu lisible par un ordinateur, pour mettre en oeuvre le procédé comme décrit ci-dessus, lorsque ledit programme fonctionne sur un ordinateur. L'invention sera mieux comprise à l'aide de la description suivante, faite à titre 30 d'exemple non-limitatif et en regard de la figure 1 annexée, laquelle montre le procédé de communication selon la présente invention. D'une manière générale, un système de messagerie 12 selon l'invention comprend un serveur central 13 qui est lié à un premier terminal 11 et au moins un deuxième terminal 17. Un exemple de tels terminaux est un téléphone mobile, un assistant personnel ou ordinateur de poche (un appareil numérique portable, également connu sous son sigle anglais de PDA pour "Personal Digital Assistant"), un ordinateur personnel (souvent appelé par son sigle anglais PC pour Personal Computer) ou d'autres appareils numériques comparables. Un tel terminal héberge des logiciels. Par la suite, nous supposons que le terminal 11 héberge au moins un logiciel dit "de surveillance" et un logiciel dit "client" et que le terminal 17 héberge au moins un logiciel dit "client". Les logiciels clients sont utilisés par des utilisateurs respectifs et permettent à ces utilisateurs d'échanger des messages instantanés l'un avec l'autre. Un utilisateur donné du système de messagerie 12 dispose d'un compte utilisateur (ou "compte" tout court) sur ce système 12. Pour qu'un utilisateur puisse échanger des messages il faut toutefois que son logiciel client soit activé. Avant l'activation du logiciel client proprement dit, également appelée "connexion de l'utilisateur à son compte de messagerie", pendant une étape préalable, le client logiciel doit être lancé. Après le lancement du client logiciel, l'utilisateur doit saisir un identifiant et un mot de passe pour se connecter à son compte. Ceci permet de distinguer plusieurs utilisateurs alternatifs sur un même terminal en fonction de leur identifiant. L'étape d'activation du logiciel client ne se déroulera pas en cas d'un saisie d'un identifiant (et/ou mot de passe) inconnu. Généralement pourtant, et comme il sera aisément compris par l'Homme du métier, le client logiciel est configuré (par exemple par l'utilisateur) de façon à ce que l'activation du logiciel client se réalise automatiquement (sans intervention de l'utilisateur) immédiatement après l'étape de lancement du logiciel client. Dans ce cas, l'identifiant et le mot de passe relatifs à l'utilisateur (et lui permettant de s'identifier auprès du système de messagerie) sont stockés dans le terminal (l'utilisateur n'a donc pas à les saisir à chaque nouvelle connexion). L'invention peut être appliquée dans les deux cas décrits ci-dessus. Le logiciel de surveillance est un logiciel de taille plus petit que le logiciel client. En général, ce logiciel se lance automatiquement, c'est-à-dire sans qu'aucune interven- tion d'un utilisateur ne soit nécessaire, dès l'allumage du terminal. Ce logiciel de surveillance tourne en permanence en tâche de fond sur le terminal comme il sera aisément compris par l'Homme du métier. Le logiciel de surveillance active le logiciel client hébergé par le premier terminal 11 dès qu'une requête d'établissement d'une connexion entre le logiciel client du deuxième terminal 17 et le logiciel client du premier terminal 11 est reçue comme il sera expliqué dans la suite. Pendant une étape 19 d'envoi d'une requête, le logiciel client préalablement activé sur le deuxième terminal 17 émet une demande de connexion avec le logiciel client du premier terminal 11. Cette requête transite via le serveur central 13 où elle est stockée dans une mémoire 15 dans le cas où le premier terminal 11 est momentané-ment éteint. Sinon, elle est transférée, pendant une étape 111 de transmission, vers le premier terminal 11. Le logiciel de surveillance du premier terminal 11 détecte, pendant une étape 113 de détection, l'arrivée de la requête et active en réponse le logiciel client sur le premier terminal 11. Pendant une étape 115 d'établissement, une communication est établie entre le client logiciel du premier terminal 11 et celui du deuxième terminal 17. Dans un système basé sur SIP (sigle anglaise de "Session Initiation Protocol") la requête envoyée pendant les étapes 19 et 111 peut être un nouveau message intitulé "CONNECTION". Ce message comprend, comme c'est le cas avec les messages SIP, plusieurs champs parmi lesquels figurent un champ intitulé "To:" comprenant le destinataire du message et un champ intitulé "From:" comprenant l'expéditeur du message. Il comprend aussi un nouveau champ intitulé "action". Ce champ peut avoir au moins deux valeurs différentes. Dans la suite, une valeur sera "automatic" et une autre valeur "manual". Il est toutefois possible d'utiliser deux autres valeurs, par exemple deux valeurs numériques (au lieu de valeurs du type texte). Dans ce cas la valeur 0 pourrait par exemple représenter "automatic" et la valeur 1 pourrait par exemple représenter "manual". D'ailleurs, l'invention peut être implémentée quel que soit le type du champ "action" : texte ou numérique ou autre. Si le champ intitulé "action" comprend la valeur "automatic", le logiciel de surveillance sur le premier terminal 11 active, en réponse à la réception de la requête, automatiquement le logiciel client. Si le champ intitulé "action" comprend la valeur "manual" le logiciel de surveillance sur le terminal 11 demande, en réponse à la réception de la requête, à l'utilisateur du terminal 11, s'il souhaite que le logiciel client sur le terminal 11 soit activé. Le logiciel client ne sera donc activé que dans le cas d'une acceptation par l'utilisateur du terminal 11 de l'établissement de la connexion. Une telle acceptation peut par exemple prendre la forme d'une fenêtre du type "pop up" bien connu par l'Homme du métier qui comprend une invitation à l'utilisateur d'activer son client. Si la requête était stockée dans la mémoire 15 du serveur central 13 parce que le premier terminal 11 était initialement éteint, le logiciel de surveillance lancera cette fenêtre dès que le premier terminal 11 s'allume et la requête pourra donc être transmise et reçue. L'établissement de la connexion entre le client logiciel du premier terminal 11 et le client logiciel du deuxième terminal 17 se fait ensuite d'une façon connue par envoi de messages SIP "INVITE", "200 OK" et "ACK". Dans un mode de réalisation, le procédé comprend des étapes additionnelles qui permettent que le client du premier terminal 11 établisse une connexion avec le client du deuxième terminal 17, quand ce dernier s'allume. De cette façon, leurs utilisateurs respectifs peuvent échanger des messages en utilisant leurs clients. A cet effet, pendant une étape 121 de définition, l'utilisateur du terminal 11 définit l'utilisateur du deuxième terminal 17 comme la personne avec laquelle il souhaite communiquer dès que ce dernier allume son terminal 17. Pendant une étape 117 de transmission, un identifiant représentatif pour l'utilisateur du deuxième terminal 17 est transmis vers le deuxième terminal 17. Cette définition est par exemple comprise dans un message. Dans un premier temps ce message sera stocké dans la mémoire 15 du serveur 13. Ce mécanisme de stockage de mise-en-attente de messages est connu par l'Homme du métier. Dès que le terminal 17 de l'utilisateur s'allume, le message est transmis vers ce terminal 17. Il est à noter que dans ce mode de réalisation, un logiciel de surveillance doit être présent tant sur le deuxième terminal 17 que sur le premier terminal 11. Après réception par le logiciel de surveillance tournant sur le deuxième terminal 17 du message, ce logiciel de surveillance déclenche les autres étapes selon l'invention. Dans un système basé sur SIP, le message transmettant la définition de l'utilisateur peut être intitulé "REQUESTCONNECTION" et comprend les champs "To:" et "From:". Le champ "To:" du message "REQUEST CONNECTION" comprend l'identifiant de l'utilisateur avec lequel l'utilisateur du premier terminal 11 souhaite établir une communication. Ce message "REQUESTCONNECTION" est envoyé au terminal avec lequel l'utilisateur du terminal 11 souhaite établir une communication. Dans le message "CONNECTION" envoyé par la suite depuis le deuxième terminal 17 vers le premier terminal 11, le champ "action" contiendra la valeur "automatic" mais pourra aussi comprendre la valeur "manual". Le procédé selon l'invention peut aussi être utilisé dans un système de messagerie avec plus de deux terminaux. Dans ce cas, le champ "To:" du message "CONNECTION" et celui du message "REQUESTCONNECTION" contiendront, au lieu d'un identifiant unique, une liste d'identifiants comme il sera aisément compris par l'Homme du métier. REVENDICATIONS1) Procédé de communication entre un premier client d'un système de messagerie instantanée (12) et au moins un deuxième client dudit système, lesdits premier et 5 deuxième clients étant respectivement hébergés dans des premier et deuxième termi- naux (11; 17), procédé caractérisé en ce qu'il comprend : ù une étape d'envoi (19) depuis ledit deuxième terminal (17) vers le premier terminal (11) d'une requête d'établissement d'une connexion entre les premier et deuxième clients, 10 ù une étape de détection (113) de réception de ladite requête par un logiciel de surveillance en cours d'exécution sur le premier terminal (11), ù une étape d'activation dudit deuxième client par ledit logiciel de surveillance, et ù une étape (115) d'établissement d'une communication entre ledit deuxième client et ledit premier client. 15 2) Procédé selon la revendication 1 caractérisé en ce qu'il comprend en outre : ù une étape d'allumage dudit premier terminal (11), et ù une étape de lancement dudit logiciel de surveillance après ladite étape d'allumage. 20 3) Procédé selon l'une quelconque des revendications 1 à 2 caractérisé en ce que ù ladite étape d'activation est exécutée seulement dans le cas d'une confirmation par un utilisateur dudit premier terminal (11) de ladite étape d'activation. 4) Procédé selon la revendication 1 caractérisé en ce qu'il comprend : 25 ù une étape (121) de définition par un utilisateur dudit premier terminal (11) d'un utilisateur dudit deuxième terminal (17), ù une étape (117) de transmission de ladite définition vers ledit deuxième terminal (17), et ù une étape de démarrage dudit procédé après une connexion audit système par ledit 30 utilisateur dudit deuxième terminal (17). 5) Un premier terminal (11) comprenant un logiciel de surveillance apte à détecter une requête d'établissement d'une connexion entre un premier client et un deuxième client envoyée depuis un deuxième terminal (17) vers ledit premier terminal (11) et apte à activer le premier client hébergé dans ledit premier terminal (11). 6) Un deuxième terminal (17) comprenant des moyens d'envoi vers un premier terminal (11) d'une requête d'établissement d'une connexion entre un premier client d'un système de messagerie instantanée (12) et au moins un deuxième client dudit système, lesdits premier et deuxième clients étant respectivement hébergés dans ledit premier (11) terminal et ledit deuxième terminal (17) et des moyens de réception d'une définition par un utilisateur dudit premier terminal (11) d'un utilisateur dudit deuxième terminal (17). 7) Système de messagerie instantanée (12) comprenant un serveur central (13) et un 15 premier terminal (11) selon la revendication 5 et un deuxième terminal (17) selon la revendication 6. 8) Programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 4 lorsque ce programme est 20 exécuté par un processeur. 9) Un produit de programme d'ordinateur, comprenant des moyens de code de programme, stockés sur un milieu lisible par un ordinateur, pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 4, lorsque ledit programme 25 fonctionne sur un ordinateur.