Brevet FR2915043A1 — publié le 20081017

PROCÉDÉ D'ENRICHISSEMENT D'UN DOCUMENT DE PRÉSENCE SUR UN RÉSEAU DE COMMUNICATION La présente invention a pour objet un procédé d'enrichissement d'un document de 5 présence sur un réseau de communication. Le protocole d'ouverture de session SIP (Session Initiation Protocol) est un protocole utilisé pour établir, modifier et terminer des sessions multimédia. L'ouverture d'une session permet de réaliser, notamment, des conférences audio ou vidéo, de la voix sur IP (Internet Protocol) et de la diffusion multimédia sur IP. 10 Un réseau de communication utilisant le protocole SIP comprend généralement un ensemble de dispositifs utilisateurs, un agent de présence (PNA) et un serveur de présence. A titre d'exemple, la figure 1 montre un réseau de communication comprenant deux dispositifs utilisateurs 1 et 2, appartenant au même utilisateur Bill , et un serveur de 15 présence 3. Les dispositifs 1, 2 et le serveur de présence 3 sont aptes à communiquer entre eux. Il est bien évident que le réseau de communication peut comprendre, notamment, d'autres dispositifs utilisateurs, appartenant à un ou plusieurs autres utilisateur(s). Le réseau de communication comprend de plus un agent de présence qui n'a pas été représenté sur la figure 1 mais qui est visible sur la figure 3. 20 Lorsque l'utilisateur Bill commande la mise en fonctionnement du dispositif 1, comme cela est symbolisé par la flèche 10, le dispositif 1 génère puis émet une requête SIP, symbolisée par la flèche 11, à destination du serveur de présence 3, pour lui indiquer son état de présence. La requête 11 est également appelée publication SIP . La requête 11 est destinée à permettre la mise à jour, par le 25 serveur 3, d'un document de présence relatif à l'utilisateur Bill . Le document de présence est mémorisé dans une mémoire (non représentée) du serveur de présence 3. La requête 11 est une trame de données, représentée schématiquement sur la figure 2, comportant une en-tête Eä et un corps Cl,. L'en-tête Eä contient les informations 30 directement nécessaires à la gestion de la requête 11, notamment l'adresse de l'expéditeur AE et l'adresse du destinataire AD. Le corps Cä contient un identifiant ID, du dispositif, un identifiant IDB;ii du document de présence, une adresse URL (Uniform Resource Locator) AuRL,BII de l'utilisateur Bill et une information P, concernant l'état de présence du dispositif 1. Lorsque le serveur de présence 3 reçoit la requête 11, il la décode et mémorise les informations qu'elle contient, c'est-à-dire l'adresse de l'expéditeur AE, l'identifiant ID1, l'identifiant IDB;ii, l'adresse URL AuRLB;ii et l'information P, dans le document de présence correspondant. Si un document de présence relatif à l'utilisateur Bill est déjà mémorisé dans le serveur 3, le serveur 3 met à jour les informations du document de présence à partir des informations contenues dans la requête Il. De manière similaire, lorsque l'utilisateur Bill commande la mise en fonctionnement du dispositif 2, comme cela est symbolisé par la flèche 12, le dispositif 2 génère puis émet une requête SIP, symbolisée par la flèche 13, à destination du serveur de présence 3. La requête 13 est une trame de données, comportant une en-tête E13 et un corps C13. L'en-tête E13 contient les informations directement nécessaires à la gestion de la requête 13, notamment l'adresse de l'expéditeur AE et l'adresse du destinataire AD. Le corps C13 contient un identifiant ID2 du dispositif 2, l'identifiant IDB;ii du document de présence, l'adresse URL (Uniform Resource Locator) AuRL,B de l'utilisateur Bill et une information P2 concernant l'état de présence du dispositif 2. Lorsque le serveur de présence 3 reçoit la requête 13, il la décode et détermine que la requête 1 3 est associée au même document de présence que la requête 1 1 reçue précédemment. Le serveur 3 met donc à jour le document de présence relatif à l'utilisateur Bill . En d'autres termes, le serveur de présence 3 complète le document de présence en ajoutant aux informations relatives au dispositif 1 les informations relatives au dispositif 2 contenues dans la requête 13. A ce moment, le document de présence relatif à l'utilisateur Bill contient donc l'adresse de l'expéditeur AE, l'identifiant ID1, l'identifiant ID2, l'identifiant IDB;ii, l'adresse URL AuRL,B;ii, l'information P, et l'information P2. La figure 3 représente le dispositif utilisateur 1, le serveur de présence 3 et l'agent de 30 présence 4 du réseau de communication. La fonction de l'agent de présence 4 est d'intercepter les requêtes SIP émises par chaque dispositif 1, 2 et d'émettre à destination du serveur 3 des requêtes contenant des informations supplémentaires, par exemple des informations de localisation, relatives au dispositif 1, 2 correspondant. Par exemple, lorsque le dispositif 1 émet une requête 14, similaire à la requête 11, à destination du serveur 3, la requête 14 est interceptée par l'agent de présence 4. L'agent de présence 4 décode l'en-tête E14 de la trame 14, contenant notamment l'adresse AE de l'expéditeur, puis génère et émet une requête de souscription 15 à destination du serveur 3. La requête 15 contient une demande d'information relative à l'identifiant du dispositif associé à l'adresse AE. En réponse à la réception de la requête 15, le serveur de présence 3 génère puis émet une notification SIP 16 à destination de l'agent de présence 4. La notification 16 contient toutes les informations mémorisées actuellement dans le document de présence correspondant, notamment, dans l'exemple, l'identifiant ID1 et l'identifiant ID2. Après réception de la notification 16, l'agent de présence 4 génère puis émet une requête 17, également appelée publication, à destination du serveur 3. La requête 17 contient, notamment, l'identifiant ID1 du dispositif 1 et une information supplémentaire, ou information de présence enrichie, relative au dispositif 1. Lorsqu'il reçoit la requête 17, le serveur 3 compare l'identifiant ID1 contenu dans la requête 17 avec les identifiants de dispositifs mémorisés dans les documents de présence qu'il a en mémoire. Le serveur 3 détermine que l'identifiant contenu dans la requête 17 correspond à un identifiant de dispositif du document de présence relatif à l'utilisateur Bill . A ce moment, le serveur 3 fusionne les informations provenant de la requête 17 et les informations mémorisées dans le document de présence relatif à l'utilisateur Bill . L'identifiant ID1 sert donc de pivot pour la fusion par le serveur 3 des données provenant du dispositif 1 et de l'agent de présence 4. En conséquence, la requête 17 doit impérativement contenir l'identifiant du dispositif correspondant, ici l'identifiant ID1, pour que la fusion des données soit possible. Ce procédé présente l'inconvénient qu'il nécessite l'échange de plusieurs trames de 30 données, notamment la requête 15 et la notification 16, entre l'agent de présence 4 et le serveur de présence 3, ce qui génère du traffic sur le réseau de communication. De plus, lorsque le dispositif 1 n'a pas encore émis de requête de publication lors de l'interception de la requête 14 par l'agent de présence 4, le document de présence mémorisé dans le serveur de présence 3 ne contient pas encore d'informations relatives au dispositif 1, notamment l'identifiant ID,, et le serveur 3 ne peut donc pas transmettre l'identifiant ID,, dans la notification 16, en réponse à la réception de la requête 15. Dans ce cas, l'agent de présence 4 doit attendre l'émission d'une première requête par le dispositif 1, puis une mise à jour du document de présence par le serveur de présence 3. De plus, lorsqu'un même utilisateur utilise plusieurs dispositifs 1, 2, la notification 16 émise par le serveur de présence 3 contient plusieurs identifiants de dispositif ID, dans notre exemple l'identifiant ID, et l'identifiant ID2, et l'agent de présence 4 n'est pas apte à déterminer celui qu'il doit insérer dans la requête 17, ce qui peut être une cause d'erreur. La présente invention a pour but de proposer un procédé d'enrichissement d'un document de présence qui évite au moins certains des inconvénients précités, qui permette de réduire le nombre de trames de données échangées entre un agent de présence et un serveur de présence d'un réseau de communication et qui permette à l'agent de présence de déterminer de manière certaine l'identifiant du dispositif utilisateur qu'il doit insérer dans une requête. A cet effet, l'invention a pour objet un procédé d'enrichissement d'un document de présence contenant des informations de présence relatives à au moins un dispositif utilisateur d'un réseau de communication, ledit réseau de communication comprenant un agent de présence et un serveur de présence, ledit serveur de présence comportant ou étant apte à communiquer avec une première mémoire dans laquelle est mémorisée une base de données contenant un ensemble de documents de présence associés respectivement à un ensemble d'utilisateurs, ledit agent de présence comportant, ou étant apte à communiquer avec, une deuxième mémoire dans laquelle est mémorisée au moins une information supplémentaire relative audit au moins un dispositif utilisateur, caractérisé en ce qu'il comprend les étapes consistant à : - dans ledit au moins un dispositif utilisateur : a) génèrer une requête utilisateur comportant une en-tête et un corps, b) insérer dans ladite en-tête un identifiant de dispositif dudit au moins un dispositif utilisateur, puis c) émettre ladite requête utilisateur à destination dudit serveur de présence, dans ledit agent de présence : d) intercepter ladite requête utilisateur pour extraire et mémoriser ledit identifiant de dispositif contenu dans ladite en-tête, puis e) émettre une requête d'agent à destination dudit serveur de présence, ladite requête d'agent contenant au moins ledit identifiant de dispositif et une information supplémentaire relative audit au moins un dispositif, dans ledit serveur de présence : f) recevoir ladite requête utilisateur et mémoriser les informations contenues dans 10 ladite requête utilisateur dans ledit document de présence correspondant, g) recevoir ladite requête d'agent et enrichir lesdites informations contenues dans ledit document de présence correspondant par ladite information supplémentaire contenue dans ladite requête d'agent. De préférence, ledit réseau de communication utilise le protocole SIP. 15 Avantageusement, l'étape g) comprend les sous-étapes consistant à utiliser ledit identifiant de dispositif contenu dans ladite requête d'agent pour déterminer le document de présence à enrichir puis fusionner lesdites informations mémorisées dans ledit document de présence correspondant avec ladite information supplémentaire contenue dans ladite requête d'agent. 20 L'invention a également pour objet un programme d'ordinateur comportant des codes d'instructions aptes à être lus ou écrits sur un support et aptes à être exécutés par une machine numérique pour mettre en oeuvre les étapes du procédé. L'invention a également pour objet un support d'enregistrement destiné à la mise en oeuvre des étapes du procédé. 25 L'invention a également pour objet un dispositif programmé pour mettre en oeuvre les étapes du procédé. L'invention a également pour objet une requête utilisateur émise par un dispositif utilisateur à destination d'un serveur de présence d'un réseau de communication utilisant le protocole SIP, ladite requête utilisateur comportant une en-tête et un corps, 30 caractérisée en ce que ladite en-tête contient un identifiant de dispositif dudit dispositif utilisateur. L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative détaillée qui va suivre, d'un mode de réalisation de l'invention donné à titre d'exemple purement illustratif et non limitatif, en référence aux dessins schématiques annexés. Sur ces dessins : - la figure 1 est une vue schématique simplifiée partielle montrant deux dispositifs utilisateurs et un serveur de présence d'un réseau de communication de l'art antérieur ; - la figure 2 est une vue schématique simplifiée d'une requête SIP émise par un dispositif utilisateur à destination du serveur de présence de la figure 1 ; la figure 3 est une vue schématique simplifiée partielle montrant un dispositif utilisateur, un agent de présence et le serveur de présence du réseau de communication de la figure 1 ; et - la figure 4 est une vue schématique simplifiée montrant un dispositif utilisateur, un agent de présence et un serveur de présence d'un réseau de communication selon un mode de réalisation de l'invention. La figure 4 montre un réseau de communication comprenant un dispositif utilisateur 20, un agent de présence 21 et un serveur de présence 22. Il est bien évident que le réseau de communication peut comprendre d'autres dispositifs, par exemple d'autres dispositifs utilisateurs, d'autres serveurs, etc. Le dispositif 20 est par exemple un PDA (Persona) Digital Assistant), un ordinateur, ou autre. Un identifiant ID20 unique est attribué au dispositif 20 et stocké dans une 25 mémoire du dispositif 20. Le serveur de présence 22 est similaire au serveur 3 décrit précédemment. Une fonction du serveur de présence 22 est de gérer la mobilité des dispositifs du réseau de communication, en particulier du dispositif 20, et de rediriger les requêtes destinées au dispositif 20 vers sa localisation actuelle. Le serveur 22 comporte ou est 30 apte à communiquer avec une mémoire dans laquelle est mémorisée une base de données contenant des documents de présence relatifs aux utilisateurs du réseau de communication, respectivement. L'agent de présence 21 est similaire à l'agent de présence 4 décrit précédemment. L'agent de présence 21 comporte, ou est apte à communiquer avec, une mémoire dans laquelle sont mémorisées des informations relatives aux différents dispositifs utilisateurs du réseau de communication, par exemple des informations de localisation. On va maintenant décrire les étapes du procédé d'enrichissement d'un document de présence. Lorsque l'utilisateur du dispositif 20 commande la mise en fonctionnement du dispositif 20, celui-ci génère une requête SIP 25 comportant une en-tête E25 et un corps C25. L'en-tête E25 contient notamment l'adresse de l'expéditeur A525 et l'adresse du destinataire AD,25. Le corps C25 contient l'identifiant ID20i un identifiant IDuser du document de présence relatif à l'utilisateur du dispositif 20, une adresse URL (Uniform Resource Locator) AuRL,user de l'utilisateur et une information P20 concernant l'état de présence du dispositif 20. Le dispositif 20 insère dans l'en-tête E25 l'identifiant ID20. Lorsque l'identifiant ID20 a été inséré dans l'en-tête E25 , le dispositif 20 émet la requête 25 à destination du serveur de présence 22, comme cela a été décrit précédemment. L'agent de présence 21 intercepte la requête 25 et décode l'en-tête E25. L'agent de 20 présence 21 extrait et mémorise l'identifiant ID20 contenu dans l'en-tête E25. En réponse à l'interception de la requête 25, l'agent de présence 21 génère puis émet une requête 26 contenant l'identifiant ID20 et une information supplémentaire relative au dispositif 20 à destination du serveur 22. L'information supplémentaire est également appelée information de présence enrichie car elle est destinée à 25 compléter, donc à enrichir, l'information de présence P20 transmise au serveur 22 par le dispositif 20. Lorsque le serveur 22 reçoit la requête 25 transmise par le dispositif 20, il met à jour le document de présence correspondant, tel que cela a été décrit précédemment. Lorsque le serveur 22 reçoit la requête 26 transmise par l'agent de présence 21, il 30 compare l'identifiant ID20 contenu dans la requête 26 avec les identifiants de dispositifs mémorisés dans les documents de présence qu'il a en mémoire. Le serveur 22 détermine que l'identifiant contenu dans la requête 26 correspond à l'identifiant ID20 associé au document de présence relatif à l'utilisateur du dispositif 20. A ce moment, le serveur 22 fusionne les informations provenant de la requête 26 et les informations mémorisées dans le document de présence correspondant. De cette manière, l'agent de présence 21 n'a pas besoin d'émettre une requête de souscription à destination du serveur 22, ni d'attendre une notification du serveur 22 lui indiquant l'identifiant ID20. Au contraire, l'agent de présence 21 émet directement, en réponse à la requête 25 interceptée, une requête 26 contenant l'identifiant ID20 et l'information supplémentaire. Ce procédé permet donc d'économiser, par rapport à un procédé connu, l'émission de deux trames de données entre l'agent de présence 21 et le serveur 22. De plus, il n'y a plus de problème d'ambiguïté lorsqu'un même utilisateur possède plusieurs dispositifs puisque l'agent 21 récupère directement l'identifiant du dispositif concerné. On notera que, compte tenu de l'augmentation du nombre d'applications basées sur la présence, le serveur de présence 22 est de plus en plus confronté à l'augmentation du nombre de requêtes à traiter, ce qui rend particulièrement intéressant la réduction du nombre de requêtes SIP échangées entre le serveur de présence et l'agent de présence. Bien que l'invention ait été décrite en relation avec un mode de réalisation particulier, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention. REVENDICATIONS 1. Procédé d'enrichissement d'un document de présence contenant des informations de présence relatives à au moins un dispositif utilisateur (20) d'un réseau de communication, ledit réseau de communication comprenant un agent de présence (21) et un serveur de présence (22), ledit serveur de présence (22) comportant ou étant apte à communiquer avec une première mémoire dans laquelle est mémorisée une base de données contenant un ensemble de documents de présence associés respectivement à un ensemble d'utilisateurs, ledit agent de présence (21) comportant, ou étant apte à communiquer avec, une deuxième mémoire dans laquelle est mémorisée au moins une information supplémentaire relative audit au moins un dispositif utilisateur (20), caractérisé en ce qu'il comprend les étapes consistant à : dans ledit au moins un dispositif utilisateur (20) : a) génèrer une requête utilisateur (25) comportant une en-tête (E25) et un corps (C25), b) insérer dans ladite en-tête (E25) un identifiant de dispositif (ID20) dudit au moins un dispositif utilisateur (20), puis c) émettre ladite requête utilisateur (25) à destination dudit serveur de présence (22), -dans ledit agent de présence (21) : d) intercepter ladite requête utilisateur (25) pour extraire et mémoriser ledit identifiant de dispositif (ID20) contenu dans ladite en-tête ([25), puis e) émettre une requête d'agent (26) à destination dudit serveur de présence (22), ladite requête d'agent (26) contenant au moins ledit identifiant de dispositif (ID20) et une information supplémentaire relative audit au moins un dispositif (20), dans ledit serveur de présence (22) : f) recevoir ladite requête utilisateur (25) et mémoriser lesdites informations contenues dans ladite requête utilisateur (25) dans ledit document de 30 présence correspondant, g) recevoir ladite requête d'agent (26) et enrichir lesdites informations contenues dans ledit document de présence correspondant par ladite information supplémentaire contenue dans ladite requête d'agent (26). 9 2. Procédé selon la revendication 1, caractérisé en ce que ledit réseau de communication utilise le protocole SIP. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'étape g) comprend les sous-étapes consistant à utiliser ledit identifiant de dispositif (ID20) contenu dans ladite requête d'agent (26) pour déterminer le document de présence à enrichir puis fusionner lesdites informations mémorisées dans ledit document de présence correspondant avec ladite information supplémentaire contenue dans ladite requête d'agent (26). 4. Programme d'ordinateur comportant des codes d'instructions aptes à être lus ou écrits sur un support et aptes à être exécutés par une machine numérique pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 3. 5. Support d'enregistrement destiné à la mise en oeuvre du procédé tel que revendiqué dans l'une quelconque des revendications 1 à 3. 6. Système comportant un ensemble de dispositifs programmés pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 3. 7. Requête utilisateur (25) émise par un dispositif utilisateur (20) à destination d'un serveur de présence (22) d'un réseau de communication utilisant le protocole SIP, ladite requête utilisateur (25) comportant une en-tête ([25) et un corps (C25), caractérisée en ce que ladite en-tête (E25) contient un identifiant de dispositif (ID20) dudit dispositif utilisateur (20).