FR2969448A1 - Procede, programme d’ordinateur et dispositif d’optimisation de transmission de messages, vers un poste client, dans un serveur d’applications - Google Patents

Procede, programme d’ordinateur et dispositif d’optimisation de transmission de messages, vers un poste client, dans un serveur d’applications Download PDF

Info

Publication number
FR2969448A1
FR2969448A1 FR1060852A FR1060852A FR2969448A1 FR 2969448 A1 FR2969448 A1 FR 2969448A1 FR 1060852 A FR1060852 A FR 1060852A FR 1060852 A FR1060852 A FR 1060852A FR 2969448 A1 FR2969448 A1 FR 2969448A1
Authority
FR
France
Prior art keywords
message
retention time
probability
time
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1060852A
Other languages
English (en)
Inventor
Stephen Roze
Frederic Mazeiras
Sebastien Megnin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR1060852A priority Critical patent/FR2969448A1/fr
Publication of FR2969448A1 publication Critical patent/FR2969448A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Abstract

L'invention a pour objet l'optimisation de la transmission de messages, vers un poste client, dans un serveur d'applications. Afin d'optimiser la transmission de messages, un report de transmission d'un message reçu est effectué si une probabilité de recevoir un nouveau message dans un délai de rétention restant est supérieure à un seuil prédéterminé (255). Le délai de rétention restant est déterminé en fonction de l'instant courant, de l'instant de réception du message reçu et d'un délai de rétention maximal.

Description

La présente invention concerne la notification d'événements à un poste client distant, notamment d'événements liés à des fils d'informations, et plus particulièrement un procédé, un programme d'ordinateur et un dispositif d'optimisation de transmission de messages, vers un poste client, dans un serveur d'applications, notamment dans un serveur d'agrégation de fils d'informations.
Le développement des terminaux de communication et des réseaux de communication pour les relier ont notamment permis la création de messageries électroniques (couramment appelées e-mail), messageries instantanées, réseaux sociaux, fils de discussion RSS, etc.. Les réseaux sociaux consistent en des communautés de personnes ou d'organisations partageant de mêmes centres d'intérêt, une même activité ou des activités complémentaires. Les personnes et les organisations sont en relation directe ou indirecte. Typiquement, un réseau social est basé sur l'existence d'un site, souvent d'un site Internet, permettant à un utilisateur d'y accéder et de s'inscrire. L'inscription comprend généralement une phase de création d'un profil d'utilisateur (pouvant être mis à jour ultérieurement). De tels profils permettent ensuite de cibler des échanges selon les centres d'intérêt et/ou les attentes et besoins des utilisateurs. Le site est également utilisé pour permettre des échanges entre les membres, par exemple des échanges de messages, publics ou privés. Chaque utilisateur peut, en général, invité ses « amis », c'est-à-dire des connaissances susceptibles d'être intéressées par le réseau social et de s'y inscrire. Les réseaux sociaux sont souvent basés sur les postulats selon lesquels un « ami » d'un « ami » est un « ami » et les utilisateurs ayant des caractéristiques communes, par exemple de même centres d'intérêt ou une même profession, sont « amis ». Les échanges peuvent prendre plusieurs formes. II peut notamment s'agir de messages émis par un membre de la communauté à d'autres membres de la communauté (typiquement à ses « amis »). II peut également s'agir d'une discussion accessible aux membres du réseau social ou à un groupe de membres, chaque membre pouvant contribuer à cette discussion sous forme de messages. Les activités du réseau social peuvent généralement être suivies par chaque membre du réseau ou par chaque membre du ou des groupes concernés. Ainsi, il est possible d'être prévenu lorsqu'une contribution est ajoutée à une discussion ou à un thème donné, lorsqu'un nouveau membre rejoint un groupe ou lorsque le profil d'un membre du groupe est modifié. Le suivi de l'activité d'un réseau social peut consister en la réception de notifications émises par le site correspondant. Les notifications peuvent notamment prendre la forme de courriers électroniques ou de messages dans un système de messagerie instantanée. Ces messages sont généralement reçus par un client sur un ordinateur connecté au réseau Internet via, par exemple, un lien ADSL (sigle d'Asymmetric Digital Subscriber Line en terminologie anglo-saxonne). Un membre d'un réseau social peut également souhaiter être notifié des activités du réseau social alors qu'il est en déplacement. Ainsi, il peut vouloir recevoir de telles notifications sur un terminal mobile par courrier électronique sur un compte auquel il peut accéder en déplacement ou par messages de type SMS (sigle de Short Message Service en terminologie anglo-saxonne) ou MMS (sigle de Multimedia Messaging Service en terminologie anglo-saxonne). Les terminaux mobiles utilisés sont, par exemple, des téléphones mobiles, notamment des téléphones mobiles de type smartphone, et des assistants personnels (couramment appelés PDA, sigle de Persona/ Digital Assistant en terminologie anglo-saxonne). Les notifications peuvent être reçues via des connexions de type GPRS (sigle de General Packet Radio Service en terminologie anglo-saxonne), 3G, 4G LTE (sigle de 4th Generation Long Term Evolution en terminologie anglo-saxonne) ou conformes au standard IEEE 802.11 connu sous le nom de Wi-Fi (Wi-Fi est une marque). Une notification peut être effectuée en temps réel ou de façon différée suivant une période prédéterminée, généralement fixée par l'utilisateur. La mise en oeuvre de notifications périodiques peut conduire à surcharger le réseau de communication utilisé et/ou le terminal de l'utilisateur de notifications inutiles, c'est-à-dire de notifications qui n'ont plus d'intérêt car elles sont obsolètes au moment où elles sont transmises. Alternativement, la mise en oeuvre de notification en temps réel peut conduire à des notifications en rafales qui sont consommatrices de ressources du réseau de communication utilisé et du terminal de l'utilisateur. En outre, un tel mode de notification peut perturber l'utilisateur. L'invention permet de remédier à des inconvénients de l'état de la technique.
L'invention a ainsi pour objet un procédé d'optimisation de transmission de messages pour un serveur d'applications recevant des messages à destination d'un terminal client, chaque message reçu étant transmis audit terminal client dans un délai prédéterminé suivant sa réception, appelé délai de rétention maximal, ce procédé d'optimisation comprenant un report de transmission d'au moins un premier message reçu si une probabilité de recevoir au moins un second message dans un délai de rétention restant est supérieure à un seuil prédéterminé, ledit délai de rétention restant étant déterminé en fonction de l'instant courant, de l'instant de réception dudit au moins un premier message et dudit délai de rétention maximal. Le procédé selon l'invention permet ainsi d'éviter une surcharge d'un réseau de communication utilisé, liée à une notification en temps réel de tous les messages, en reportant la transmission de certains messages. En outre, le procédé selon l'invention permet de réduire la proportion de messages obsolètes car seuls les messages non urgents sont, le cas échéant, retenus durant un délai de rétention maximal. Selon la valeur de ce dernier, seuls certains messages retenus peuvent être transmis trop tard.
Selon un mode de réalisation particulier, ledit report de transmission est effectué tant que ladite probabilité est supérieure audit seuil prédéterminé et que ledit délai de rétention restant est supérieur à zéro. Le procédé selon l'invention permet ainsi d'éviter une surcharge du réseau de communication utilisé, liée à la notification en temps réel de tous les messages en reportant la transmission de certains messages, sans inconvénient d'obsolescence ni sur les messages urgents non retenus ni sur les messages retenus car la transmission reportée de messages est effectuée dans un délai raisonnable. Lors du report de transmission de messages, ces derniers peuvent être mémorisés.
Toujours selon un mode de réalisation particulier, le procédé comprend en outre une transmission d'au moins ledit au moins un premier message reçu dès que ladite probabilité est inférieure ou égale audit seuil prédéterminé ou que ledit délai de rétention restant est nul. Les messages sont ainsi transmis s'il est peu probable de recevoir un nouveau message dans le délai de rétention restant ou dès que le temps de rétention maximal est écoulé.
Toujours selon un mode de réalisation particulier, le procédé comprend en outre, préalablement audit report, une étape d'estimation de ladite probabilité de recevoir au moins ledit second message dans ledit délai de rétention restant pour déterminer si la transmission d'un message reçu doit être reportée ou non. La probabilité de recevoir au moins ledit second message dans ledit délai de rétention restant est, par exemple, estimée suite à la réception dudit au moins un premier message à destination dudit terminal client. Toujours selon un mode de réalisation particulier, ledit délai de rétention restant est déterminé en fonction de l'instant courant, de l'instant de réception d'au moins un troisième message préalablement reçu et non transmis et dudit délai de rétention maximal, ladite étape de transmission d'au moins ledit au moins un premier message reçu comprenant la transmission dudit au moins un troisième message. Le procédé selon l'invention permet ainsi d'éviter une surcharge du réseau de communication utilisé en groupant plusieurs messages devant être transmis afin de les transmettre ensemble. Selon un mode de réalisation particulier, ledit au moins un premier message est transmis à l'instant correspondant à l'instant de réception dudit au moins un premier message ou dudit au moins un troisième message auquel est ajouté ledit délai de rétention maximal. Ainsi, un message peut être transmis alors que le délai de rétention maximal lié à ce message n'est pas atteint ou que la probabilité de recevoir au moins un second message dans un délai de rétention restant est supérieure audit seuil prédéterminé afin de favoriser la transmission de messages de façon groupée pour éviter une surcharge du réseau de communication utilisé.
Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape d'analyse dudit au moins un premier message pour déterminer si ledit au moins un premier message doit être considéré comme prioritaire, au moins ledit au moins un premier message étant immédiatement transmis si ledit au moins un premier message est considéré comme prioritaire. Le procédé selon l'invention permet ainsi d'éviter une surcharge d'un réseau de communication utilisé, liée à une notification en temps réel de tous les messages, en reportant la transmission de certains messages, sans pour autant perturber la transmission de messages jugés prioritaires. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape d'initialisation ou de réinitialisation d'une horloge de rétention, ladite étape d'initialisation ou de réinitialisation de ladite horloge de rétention étant mise en oeuvre lors de la réception dudit au moins un premier message si tous les messages préalablement reçus ont été transmis. Ladite horloge de rétention peut notamment être utilisée pour déterminer ledit délai de rétention restant. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape préalable d'établissement d'une pluralité de connexions entre ledit serveur d'applications et ledit terminal client, ladite probabilité étant la somme de chaque probabilité, associée à chacune desdites connexions, de recevoir un message dans un délai de rétention restant. II est ainsi possible de gérer des messages à transmettre, relatifs à plusieurs connexions, de façon globale. L'invention a également pour objet un programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé décrit précédemment lorsque ledit programme est exécuté sur un ordinateur. L'invention a aussi pour objet un dispositif d'optimisation de transmission de messages pour un serveur d'applications recevant des messages à destination d'un terminal client, chaque message reçu étant transmis audit terminal client dans un délai prédéterminé suivant sa réception, appelé délai de rétention maximal, ce dispositif d'optimisation étant caractérisé en ce qu'il comprend des moyens de report d'une transmission d'au moins un premier message reçu si une probabilité de recevoir au moins un second message dans un délai de rétention restant est supérieure à un seuil prédéterminé, ledit délai de rétention restant étant déterminé en fonction de l'instant courant, de l'instant de réception dudit au moins un premier message et d'un délai de rétention maximal.
Selon un mode de réalisation particulier, le dispositif comporte en outre des moyens d'estimation de ladite probabilité. Toujours selon un mode de réalisation particulier, le dispositif comporte en outre des moyens de mémorisation configurés pour mémoriser au moins ledit au moins un premier message si ladite probabilité est supérieure audit seuil prédéterminé.
L'invention a également pour objet un serveur d'applications apte à transmettre des messages reçus à destination d'un terminal client, chaque message reçu étant transmis audit terminal client dans un délai prédéterminé suivant sa réception, appelé délai de rétention maximal, le serveur d'applications comportant des moyens de report d'une transmission d'au moins un premier message reçu si une probabilité de recevoir au moins un second message dans un délai de rétention restant est supérieure à un seuil prédéterminé, ledit délai de rétention restant étant déterminé en fonction de l'instant courant, de l'instant de réception dudit au moins un premier message et d'un délai de rétention maximal. Les avantages procurés par ce programme d'ordinateur, ce dispositif et ce serveur d'applications sont similaires à ceux évoqués précédemment vis-à-vis du procédé.
D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, au regard des dessins annexés dans lesquels : - la figure 1 illustre schématiquement un environnement dans lequel l'invention peut être mise en oeuvre ; - la figure 2, comprenant les figures 2a et 2b, illustre schématiquement certaines étapes d'un exemple d'algorithme du procédé de rétention sélective d'informations selon l'invention ; - la figure 3 illustre un exemple de probabilité de recevoir un nouveau message dans un délai de rétention restant ; - la figure 4 illustre un exemple de serveur d'applications recevant des messages à destination de terminaux clients, comprenant un dispositif d'optimisation de transmission de messages selon l'invention ; et, - la figure 5 un exemple d'architecture matérielle adaptée à mettre en oeuvre certaines étapes de l'invention, notamment l'algorithme décrit en référence à la figure 2b. De façon générale, l'invention a pour objet d'optimiser la transmission de notifications selon un principe de rétention d'informations de telle sorte que des informations soient retenues ou transmises en fonction des moyens d'échanges de données utilisés entre un terminal d'un utilisateur et un serveur de notifications et d'une probabilité de transmission de données.
L'invention permet ainsi à un utilisateur possédant une ou plusieurs adresses de messagerie électronique, messagerie vocale, messagerie instantanée, et/ou un ou plusieurs comptes dans un ou plusieurs réseaux sociaux, fils de discussion RSS, forums/groupes de discussion et similaires, de recevoir, de façon améliorée, des notifications sur un terminal mobile de communication tel qu'un téléphone mobile de type smartphone.
La rétention d'information est ici réalisée selon une période correspondant au temps maximal au bout duquel une notification reçue et non notifiée doit être notifiée et en fonction d'une probabilité de réception d'une nouvelle notification dans le délai restant de la période considérée. II est tout d'abord observé que la probabilité de recevoir une notification est notamment liée à l'activité de l'utilisateur ainsi qu'à celle des messageries et réseaux sociaux considérés. Ainsi, par exemple, la probabilité de recevoir une notification immédiatement après avoir reçu un ensemble de messages, suivant le démarrage d'une application client de messagerie, est typiquement faible. En effet, il est probable de recevoir des messages au démarrage d'une application client de messagerie car le démarrage de cette application signifie que le client n'était pas en mesure de recevoir ses messages durant un certain temps précédent ce démarrage et que par conséquent des messages ont pu s'accumuler. Cependant, après avoir reçu ces messages stockés par le serveur d'application, il n'y a, a priori, aucune raison de recevoir de nouveaux messages dans un bref délai. Par ailleurs, la probabilité de recevoir une notification liée à une messagerie électronique ou une messagerie instantanée après la transmission d'un message par le terminal de l'utilisateur est élevée. En effet, il est fréquent que lorsqu'un utilisateur adresse un message, il attende, en retour, une réponse. Ainsi, la probabilité de recevoir un message peut être calculée en fonction d'actions effectuées par l'utilisateur et de probabilité liées à ses messageries (électroniques, vocales et instantanées) et aux réseaux sociaux sollicités. La figure 1 illustre schématiquement un environnement dans lequel l'invention peut être mise en oeuvre. L'environnement 100 comprend ici un réseau de communication 105, par exemple le réseau Internet, auquel est connecté un serveur d'applications 110 capable d'agréger des messages à transmettre à des terminaux clients. Le serveur d'applications 110 comprend ici des moyens de communication permettant d'établir une communication avec des dispositifs nomades, ou terminaux mobiles, 115-1 et 115-2. A titre d'illustration, les terminaux mobiles 115-1 et 115-2 sont un téléphone mobile et un ordinateur portable, respectivement. La communication pouvant être établie entre le serveur d'applications 110 et les terminaux mobiles 115-1 et 115-2 est, par exemple, conforme au standard GPRS, 3G, 4G LTE ou IEEE 802.11. D'autres serveurs d'applications, ici les serveurs d'applications 120-1 et 120-2, sont connectés au réseau de communication 105. Ils sont notamment utilisés pour mettre en oeuvre des applications de type messagerie électronique, messagerie instantanée et réseaux sociaux. Par ailleurs, des terminaux clients, par exemple les terminaux clients 125-1 et 125-2, sont connectés au réseau de communication 105. Ainsi, à titre d'illustration, le serveur d'application 120-1 peut mettre en oeuvre une application de messagerie instantanée pouvant être utilisée par les utilisateurs des terminaux 115-1 et 125-2 pour échanger des messages. De même, le serveur d'application 120-2 peut mettre en oeuvre une application de réseau social pouvant être utilisée par les utilisateurs des terminaux 115- 1, 115-2 et 125-1 pour échanger des messages sur un thème donné. A ces fins, le serveur d'applications 110 reçoit des messages des serveurs d'applications 120-1 et 120-2 pour les transmettre aux terminaux mobiles 115-1 et 115-2. De façon similaire, le serveur d'applications 110 reçoit des messages des terminaux mobiles 115-1 et 115-2 pour les transmettre aux serveurs d'applications 120-1 et 120-2.
Conformément à l'invention, le serveur d'applications 110 met en oeuvre un module de rétention de messages reçus par le réseau de communication 105 à destination des terminaux mobiles 115-1 et 115-2 pour optimiser les ressources de communication entre le serveur d'applications 110 et les terminaux mobiles 115-1 et 115-2 ainsi que les ressources de ces derniers, notamment leurs ressources électriques, en particulier leur batterie.
Un exemple d'algorithme d'un tel module de rétention de message est décrit en référence à la figure 2b. Selon un mode de réalisation particulier, une période d'initialisation et une période cyclique nominale sont définies pour chaque fil d'information lié à un utilisateur. Un fil d'information peut être défini ici comme un ensemble d'informations liées à une même source ou à une même relation entre utilisateurs. II peut s'agir, par exemple, d'un compte de messagerie électronique ou de messagerie instantanée ou d'une adhésion à un réseau social. La période d'initialisation comprend essentiellement une phase de connexion. Cependant, elle peut également comprendre la notification de messages destinés à un utilisateur et stockés dans le serveur d'applications. Durant la période cyclique nominale, les messages sont transmis en fonction d'un délai de rétention maximal et d'une probabilité de recevoir un message. Le délai de rétention maximal est réinitialisé dès qu'un ou plusieurs messages sont transmis au terminal du client et dès qu'un message à transmettre est reçu par le serveur d'applications (utilisé comme agrégateur de messages à transmettre à ce terminal client) et qu'aucun message préalablement reçu n'a été stocké en vue de sa transmission ultérieure. La figure 2, comprenant les figures 2a et 2b, illustre schématiquement certaines étapes d'un exemple d'algorithme du procédé de rétention sélective d'informations selon l'invention. La figure 2a représente des étapes mises en oeuvre dans un terminal client d'un utilisateur tandis que la figure 2b illustre des étapes mises en oeuvre dans le serveur d'applications utilisé comme agrégateur de messages à transmettre à ce terminal client. Comme illustré sur la figure 2a, une première étape (étape 200) a pour objet le démarrage d'une application (Appli.) permettant d'accéder à un fil d'informations particulier. Dans une étape suivante (étape 205), la connexion correspondante est initialisée (Init. connect.) pour permettre au terminal client de recevoir des messages d'un serveur d'applications et de transmettre des messages à ce dernier, ces messages étant relatifs au fil d'informations visé lors du démarrage de l'application. Lorsque la connexion a été initialisée, le terminal client est capable de recevoir des messages (étape 210, Recept. msg) et d'en transmettre (étape 215, Trans. msg). L'utilisation de flèches en trait pointillé montre le caractère optionnel des étapes 210 et 215 lié à l'activité du fil d'informations visé. Comme illustré, les étapes 210 et 215 sont répétées tant que nécessaire, jusqu'à ce que l'application soit arrêtée. II est observé que les étapes 200 à 215 sont ici répétées pour chaque fil d'informations activé par le client.
Comme illustré sur la figure 2b, l'initialisation d'une connexion par un terminal client déclenche le démarrage d'un mécanisme d'initialisation (Init. connect.) correspondant dans le serveur d'applications auquel tente de se connecter le terminal client (étape 220). Après que la connexion ait été établie, un test est effectué pour déterminer si un message à destination du terminal client avec lequel une connexion a été préalablement établie a été reçu (étape 225, Recept. msg). Dans la négative (NOK), le test est répété jusqu'à ce qu'un message soit reçu ou jusqu'à ce qu'il soit mis fin au processus. Si, au contraire, un message a été reçu (Recept. msg OK), un second test est effectué pour déterminer si un niveau de priorité est associé au message reçu et, le cas échéant, déterminer si le message reçu doit être considéré comme prioritaire (étape 230, Msg pria.). Si aucun niveau de priorité n'est associé au message reçu (NOK), il est considéré ici que le message reçu n'est pas prioritaire. Si le message reçu doit être considéré comme prioritaire (Msg prio. OK), il est transmis au terminal client avec lequel une connexion a été préalablement établie (étape 235, Trans. msg). II est observé ici que si des messages ont été préalablement reçus pour être transmis au terminal client avec lequel une connexion a été préalablement établie et n'ont pas été transmis à ce dernier (messages en attente, mémorisés pour être transmis ultérieurement), ces messages sont agrégés avec le message considéré comme prioritaire de telle sorte que tous ces messages soient transmis ensemble (Trans. grp msg).
Au contraire, si le message reçu ne doit pas être considéré comme prioritaire (étape 230, Msg prio. NOK)), un autre test est effectué pour déterminer si des messages reçus pour être transmis au terminal client avec lequel une connexion a été préalablement établie sont en attente (Mem. msg), c'est-à-dire sont mémorisés pour être transmis ultérieurement (étape 240). Dans la négative (NOK), une horloge de rétention, aussi appelée timer, est initialisée (étape 245, Init. timer). Une telle étape vise à mettre ou à remettre à zéro l'horloge de rétention et à la lancer. Celle-ci est généralement basée sur l'horloge du système sur lequel est exécuté le procédé, c'est-à-dire ici l'horloge du serveur d'applications. Bien que le temps exprimé par cette horloge puisse être exprimé dans n'importe quelle unité de mesure de temps, il est considéré ici, dans un souci de clarté, que l'unité de temps est la seconde. L'horloge de rétention a pour objet de déterminer le délai de rétention maximal d'un message reçu par le serveur d'applications utilisé pour l'agrégation et la transmission de messages. Si des messages reçus pour être transmis au terminal client avec lequel une connexion a été préalablement établie sont en attente (étape 240, Mem. msg OK) ou après avoir initialisé ou réinitialisé l'horloge de rétention (étape 245), deux processus sont exécutés en parallèle, l'un pour traiter le message reçu (s'il n'est pas prioritaire) et l'autre pour surveiller l'horloge de rétention. Le processus de traitement d'un message reçu, s'il n'est pas prioritaire, consiste tout d'abord à calculer ou à estimer une probabilité (Calc. prob.) de recevoir un nouveau message dans le délai de rétention restant (étape 250). Le délai de rétention restant correspond au délai de rétention maximal auquel le temps écoulé depuis l'initialisation ou la réinitialisation de l'horloge de rétention est soustrait (l'unité de mesure du délai de rétention maximal et de l'horloge de rétention étant commune). De façon avantageuse, la probabilité de recevoir un message dans le délai de rétention restant vise l'ensemble des connexions du terminal client, c'est-à-dire tous les fils d'informations actifs. En d'autres termes, la probabilité de réception d'un nouveau message est établie en combinant les probabilités de réception de chacun des fils d'informations. Ainsi, la probabilité P de recevoir un message dans le délai de rétention restant peut être exprimée selon les relations suivantes P = PRi et i=1
t+t'
PRi = PJ i=t
où PR; représente la probabilité de recevoir un message visant une connexion i dans le délai de rétention restant, n représente le nombre de connexions actives du terminal client, PiJ représente la probabilité de recevoir un message visant une connexion i à l'instant j, t représente l'instant présent et trr représente le temps de rétention restant.
Selon un mode de réalisation particulier, chaque période (période d'initialisation et période cyclique nominale) est découpée en tranches de temps, une probabilité statistique de réception d'un message étant associé à chaque tranche de temps. Ces probabilités peuvent être calculées ou mesurées de façon empirique pour chaque utilisateur, de façon globale pour le réseau. En outre, ces probabilités sont, de préférence, liées à des actions de l'utilisateur.
Ainsi, la probabilité de réception d'un message peut être déterminée selon des actions de l'utilisateur et en identifiant les tranches qui doivent servir au calcul de la probabilité à partir du temps écoulé depuis l'initialisation d'une connexion, le délai de rétention maximal et/ou le temps déterminé par l'horloge de rétention.
Un exemple d'estimation d'une probabilité de recevoir un message dans le délai de rétention restant est décrit en référence à la figure 3.
Suite à l'estimation ou au calcul de la probabilité de recevoir un message dans le temps de rétention restant, un test est effectué pour déterminer si la probabilité calculée de recevoir un message dans le délai de rétention restant est supérieure ou non à un seuil 0 prédéterminé (étape 255, Prob. > 0). Dans l'affirmative (OK), le message est placé en attente, c'est-à-dire qu'il est mémorisé pour être transmis ultérieurement. L'algorithme reboucle alors sur lui-même dans l'attente, probable, de la réception d'un nouveau message (l'algorithme retourne à l'étape 225). En d'autres termes, si la probabilité calculée ou estimée de recevoir un message dans le délai de rétention restant est supérieure à un seuil 0 prédéterminé, il y a un report de transmission du message reçu.
Si, au contraire, la probabilité calculée de recevoir un message dans le délai de rétention restant est inférieure ou égale au seuil 0 prédéterminé (Prob. > 0 NOK), le message reçu est transmis au terminal client avec lequel une connexion a été préalablement établie (étape 235), sans report de transmission. A nouveau, il est observé ici que si des messages ont été préalablement reçus pour être transmis au terminal client avec lequel une connexion a été préalablement établie et n'ont pas été transmis à ce dernier (messages en attente, mémorisés pour être transmis ultérieurement), ces messages sont agrégés avec le message traité de telle sorte que tous ces messages soient transmis ensembles.
Parallèlement aux étapes de traitement du message reçu (étapes 250 et 255), un test est effectué pour comparer la valeur de l'horloge de rétention au délai de rétention maximal (étape 9 260, Timer == del. ret.). Si la valeur de l'horloge de rétention est égale au délai de rétention maximal (Timer == del. ret. OK), les messages en attente, mémorisés pour être transmis ultérieurement, sont agrégés et transmis au terminal client avec lequel une connexion a été préalablement établie (étape 235).
Après qu'un ou plusieurs messages ait été transmis au terminal client avec lequel une connexion a été préalablement établie (étape 235), les étapes décrites précédemment (étapes 225 à 260) sont répétées pour traiter d'autres messages. La période de transmission de messages au terminal client avec lequel une connexion a été préalablement établie est ainsi modulée en fonction des messages reçus, de leur importance et de la probabilité de recevoir de nouveaux messages afin de favoriser la transmission simultanée de plusieurs messages sans pour autant retarder exagérément la transmission de messages (un message est nécessairement transmis au plus tard après un délai correspondant au délai maximal de rétention). Le temps de rétention maximal est typiquement compris entre quelques secondes et quelques minutes. La figure 3 illustre un exemple de probabilité de recevoir un nouveau message dans un délai de rétention restant. L'axe des abscisses représente ici le temps tandis que l'axe des ordonnées représente la probabilité de recevoir un nouveau message. Une première période, comprise entre les temps to et finit correspond à la période d'initialisation. Comme illustré, cette période est elle-même décomposée en trois intervalles de temps. Un premier intervalle de temps, compris entre les instants to et t,, correspond à la période durant laquelle la communication est établie, comprenant, en particulier, l'authentification du terminal client. Durant cet intervalle de temps, aucun message ne peut être reçu, la probabilité de recevoir un message est donc nulle.
Un second intervalle de temps, compris entre les instants t, et t2, suit la période de connexion proprement dite. Durant cet intervalle, des messages sont généralement reçus. En effet, les messages accumulés dans le serveur d'applications lorsque le terminal client n'était pas connecté sont transmis lorsque la connexion est établie. La probabilité de recevoir des messages est donc ici relativement élevée.
Enfin, un troisième intervalle de temps, compris entre les instants t2 et finit, correspond à la fin de la période d'initialisation. II est observé ici que la durée de la période d'initialisation est typiquement prédéterminée. Par conséquent, sa durée est fixée de telle sorte que tous les messages accumulés dans le serveur d'application lorsque le terminal client n'était pas connecté aient le temps d'être transmis au terminal client. II est donc courant qu'aucun message ne soit transmis au terminal client en fin de période d'initialisation. La probabilité de recevoir un message est donc faible et à tout le moins décroissante dans le temps. Comme indiqué précédemment, les probabilités liées à ces intervalles de temps peuvent être calculées ou déterminées de façon empirique, notamment par observation. Elles peuvent également être estimées selon des règles prédéterminées.
La période cyclique nominale suit la période d'initialisation (après l'instant finit). La période cyclique nominale est composée de cycles d'une durée tcyc,e. Un tel cycle peut notamment être défini par un cycle de fonctionnement en mode connecté ou pooling du réseau. A titre d'illustration, une messagerie électronique est typiquement configurée pour qu'une connexion soit établie entre le serveur d'application auquel est connecté le terminal client et le serveur de messagerie selon un intervalle de temps prédéterminé, par exemple dix minutes, afin d'accéder aux courriers électroniques reçus durant cet intervalle de temps. Chaque cycle peut ainsi être caractérisé par une probabilité de recevoir des messages. Par exemple, pour une messagerie électronique, la probabilité de recevoir de nouveaux messages est élevée à chaque connexion au serveur de messagerie puis décroît. Une telle probabilité est ainsi illustrée entre les instants finit et tinte+tcyc,e. Par ailleurs, comme indiqué précédemment, une probabilité de recevoir un message peut être liée à l'activité de l'utilisateur, notamment à la transmission d'un message. A titre d'illustration, il est supposé ici que l'utilisateur transmette un message à l'instant t3. II est également supposé que la probabilité de recevoir un message après la transmission d'un message est élevée. Ainsi, la probabilité de recevoir un message après l'instant t3 est élevée comme illustré sur la figure 3. II est maintenant illustré comment est estimée la probabilité de recevoir un message dans un délai de rétention restant. L'instant présent est ici noté t et l'instant correspondant à la réception du premier message en attente, c'est-à-dire du message mémorisé à l'instant le plus ancien pour être transmis ultérieurement, est noté te. Connaissant l'instant correspondant à la réception du premier message en attente et le délai de rétention maximal tr, il est possible de déterminer l'instant ter correspondant à la fin du délai de rétention maximal et donc, connaissant l'instant présent, le délai de rétention restant trr. II est alors possible de calculer la somme des probabilités entre les instants t et ter. Cette somme correspond approximativement à la surface représentée en noire sur la figure 3. La figure 4 illustre un exemple de serveur d'applications recevant des messages à destination de terminaux clients, comprenant un dispositif d'optimisation de transmission de messages selon l'invention. Comme illustré, le serveur d'applications 400 comprend ici le dispositif 405 d'optimisation de transmission de messages. Le serveur d'applications 400 comprend en outre des moyens de réception de messages 410 (Recept.) et des moyens de transmission de messages 415 (Trans.), par exemple une ou plusieurs interfaces réseau. Le dispositif d'optimisation 405 comprend des moyens de report 420 (Report) ainsi que, de préférence, des moyens d'estimation 425 (Estim.) et des moyens de mémorisation 430 (Mem.). Les moyens de report 420 et d'estimation 425 comprennent, par exemple, une unité de calcul et de la mémoire pour exécuter des instructions d'un programme d'ordinateur. Les moyens de report 420 sont ici configurés pour mettre en oeuvre les étapes 230, 240, 245, 255 et 260 décrites précédemment afin de traiter des messages reçus et, le cas échéant, les transmettre, de façon isolée ou groupée, ou effectuer un report de transmission de messages reçus. Les moyens d'estimation 425 ont essentiellement pour objet de calculer une probabilité de recevoir des messages dans un temps de rétention restant conformément à l'étape 250 décrite précédemment. Les moyens de mémorisation 430 sont ici configurés pour mémoriser des messages reçus devant être transmis ultérieurement.
La figure 5 illustre un exemple d'architecture matérielle d'un dispositif 500 adapté à mettre en oeuvre certaines étapes de l'invention, en particulier les étapes décrites en référence à la figure 2b. Le dispositif 500 est typiquement un serveur. II comporte ici un bus de communication 505 auquel sont reliés : - une ou plusieurs unités centrales de traitement ou microprocesseurs 510 (CPU) ; - une mémoire morte 515 (ROM, acronyme de Read Only Memory en terminologie anglo-saxonne) pouvant comporter des programmes (prog, prog1 et prog2) nécessaires à la mise en oeuvre de l'invention ; - une mémoire vive ou mémoire cache 520 (RAM, acronyme de Random Access Memory en terminologie anglo-saxonne) comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités ; et - une interface de communication 550 (Interface comm.) adaptée à transmettre et à recevoir des données. Le dispositif 500 dispose également, de préférence, d'un disque dur 535 (DD) pouvant comporter les programmes précités ainsi que des informations traitées ou à traiter selon l'invention et d'un lecteur de cartes mémoires 540 (Lec. C) adapté à recevoir une carte mémoire 545 (C) et à y lire ou à y écrire des données traitées ou à traiter selon l'invention. Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 500 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du dispositif 500 directement ou par l'intermédiaire d'un autre élément du dispositif 500. Le code exécutable de chaque programme permettant au dispositif programmable de mettre en oeuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 535 ou en mémoire morte 515. Selon une variante, la carte mémoire 545 peut contenir des informations, notamment des informations à traiter selon l'invention, ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 500, est stocké dans le disque dur 535. Selon une autre variante, le code exécutable des programmes et les informations à traiter selon l'invention pourront être reçus, au moins partiellement, par l'intermédiaire de l'interface 550, pour être stocké de façon identique à celle décrite précédemment.
De manière plus générale, le ou les programmes ainsi que les informations à traiter selon l'invention pourront être chargés dans un des moyens de stockage du dispositif 500 avant d'être exécutés. L'unité centrale 510 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 535 ou dans la mémoire morte 515 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 535 ou la mémoire morte 515, sont transférés dans la mémoire vive 520 qui contient alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l'invention pourra appliquer des modifications dans la description précédente.

Claims (15)

  1. REVENDICATIONS1. Procédé d'optimisation de transmission de messages pour un serveur d'applications (110, 400) recevant des messages à destination d'un terminal client (115-1, 115-2), chaque message reçu étant transmis audit terminal client dans un délai prédéterminé suivant sa réception, appelé délai de rétention maximal, ce procédé d'optimisation étant caractérisé en ce qu'il comprend un report de transmission d'au moins un premier message reçu si une probabilité de recevoir au moins un second message dans un délai de rétention restant est supérieure à un seuil prédéterminé (255), ledit délai de rétention restant étant déterminé en fonction de l'instant courant, de l'instant de réception dudit au moins un premier message et dudit délai de rétention maximal.
  2. 2. Procédé d'optimisation selon la revendication 1 selon lequel ledit report de transmission est effectué tant que ladite probabilité est supérieure audit seuil prédéterminé et que ledit délai de rétention restant est supérieur à zéro.
  3. 3. Procédé selon la revendication 1 comprenant en outre une transmission (235) d'au moins ledit au moins un premier message reçu dès que ladite probabilité est inférieure ou égale audit seuil prédéterminé (255) ou que ledit délai de rétention restant est nul.
  4. 4. Procédé selon la revendication 1 comprenant en outre, préalablement audit report, une étape d'estimation (250) de ladite probabilité de recevoir au moins ledit second message dans ledit délai de rétention restant.
  5. 5. Procédé selon la revendication 3 selon lequel ledit délai de rétention restant est déterminé en fonction de l'instant courant, de l'instant de réception d'au moins un troisième message préalablement reçu et non transmis et dudit délai de rétention maximal, ladite étape de transmission d'au moins ledit au moins un premier message reçu comprenant la transmission dudit au moins un troisième message.
  6. 6. Procédé selon la revendication 5 selon lequel ledit au moins un premier message est transmis à l'instant correspondant à l'instant de réception dudit au moins un premier message ou dudit au moins un troisième message auquel est ajouté ledit délai de rétention maximal.
  7. 7. Procédé selon la revendication 1 comprenant en outre une étape d'analyse dudit au moins un premier message pour déterminer si ledit au moins un premier message doit être considéré comme prioritaire, au moins ledit au moins un premier message étant immédiatement transmis si ledit au moins un premier message est considéré comme prioritaire.
  8. 8. Procédé selon la revendication 1 comprenant en outre une étape d'initialisation ou de réinitialisation (245) d'une horloge de rétention, ladite étape d'initialisation ou de réinitialisation de ladite horloge de rétention étant mise en oeuvre lors de la réception dudit au moins un premier message si tous les messages préalablement reçus ont été transmis.
  9. 9. Procédé selon la revendication 8 selon lequel ladite horloge de rétention est utilisée pour déterminer ledit délai de rétention restant.
  10. 10. Procédé selon la revendication 1, le procédé comprenant en outre une étape préalable d'établissement d'une pluralité de connexions entre ledit serveur d'applications et ledit terminal client, ladite probabilité étant la somme de chaque probabilité, associée à chacune desdites connexions, de recevoir un message dans un délai de rétention restant.
  11. 11. Programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications précédentes lorsque ledit programme est exécuté sur un ordinateur.
  12. 12. Dispositif d'optimisation de transmission de messages pour un serveur d'applications (110, 400) recevant des messages à destination d'un terminal client (115-1, 115-2), chaque message reçu étant transmis audit terminal client dans un délai prédéterminé suivant sa réception, appelé délai de rétention maximal, ce dispositif d'optimisation étant caractérisé en ce qu'il comprend des moyens de report (420) d'une transmission d'au moins un premier message reçu si une probabilité de recevoir au moins un second message dans un délai de rétention restant est supérieure à un seuil prédéterminé, ledit délai de rétention restant étant déterminé en fonction de l'instant courant, de l'instant de réception dudit au moins un premier message et d'un délai de rétention maximal.
  13. 13. Dispositif d'optimisation de transmission selon la revendication 12 comportant en outre des moyens d'estimation (425) de ladite probabilité.
  14. 14. Dispositif d'optimisation selon la revendication 12 comportant en outre des moyens de mémorisation (430) configurés pour mémoriser au moins ledit au moins un premier message si ladite probabilité est supérieure audit seuil prédéterminé.
  15. 15. Serveur d'applications (110, 400) apte à transmettre des messages reçus à destination d'un terminal client (115-1, 115-2), chaque message reçu étant transmis audit terminal client dans un délai prédéterminé suivant sa réception, appelé délai de rétention maximal, le serveur d'applications comportant des moyens de report (420) d'une transmission d'au moins un premier message reçu si une probabilité de recevoir au moins un second message dans un délai de rétention restant est supérieure à un seuil prédéterminé, ledit délai de rétention restant étant déterminé en fonction de l'instant courant, de l'instant de réception dudit au moins un premier message et d'un délai de rétention maximal.30
FR1060852A 2010-12-20 2010-12-20 Procede, programme d’ordinateur et dispositif d’optimisation de transmission de messages, vers un poste client, dans un serveur d’applications Withdrawn FR2969448A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1060852A FR2969448A1 (fr) 2010-12-20 2010-12-20 Procede, programme d’ordinateur et dispositif d’optimisation de transmission de messages, vers un poste client, dans un serveur d’applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1060852A FR2969448A1 (fr) 2010-12-20 2010-12-20 Procede, programme d’ordinateur et dispositif d’optimisation de transmission de messages, vers un poste client, dans un serveur d’applications

Publications (1)

Publication Number Publication Date
FR2969448A1 true FR2969448A1 (fr) 2012-06-22

Family

ID=44276219

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1060852A Withdrawn FR2969448A1 (fr) 2010-12-20 2010-12-20 Procede, programme d’ordinateur et dispositif d’optimisation de transmission de messages, vers un poste client, dans un serveur d’applications

Country Status (1)

Country Link
FR (1) FR2969448A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069387A2 (fr) * 2000-03-16 2001-09-20 Microsoft Corporation Architecture de plate-forme d'avis
US20070253340A1 (en) * 2006-04-28 2007-11-01 Lucent Technologies Inc. Method and apparatus for selective presence notification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069387A2 (fr) * 2000-03-16 2001-09-20 Microsoft Corporation Architecture de plate-forme d'avis
US20070253340A1 (en) * 2006-04-28 2007-11-01 Lucent Technologies Inc. Method and apparatus for selective presence notification

Similar Documents

Publication Publication Date Title
WO2009147050A1 (fr) Procede et dispositif d'attribution d'adresses mac dans un reseau de communication sur courants porteurs
EP3053326B1 (fr) Procédé d'accès d'un utilisateur a au moins un service de communication fourni par l'intermédiaire d'un centre informatique d'un système d'informatique en nuage
EP1995932B1 (fr) Système et procédé de traitement d'informations d'état de présence à fiabilité améliorée
CA2900735C (fr) Transmission d'un message multimedia doublee par emission d'un message textuel
EP2955875B1 (fr) Serveur, client et système de gestion d'un réseau d'interconnexion
EP2210396B1 (fr) Système d'interconnexion entre au moins un appareil de communication et au moins un système d'information distant et procédé d'interconnexion
EP3777308B1 (fr) Procédé de communication
WO2017055772A1 (fr) Procédé de contrôle, par un terminal et un serveur, d'un mode veille d'un module de communication dudit terminal
FR2969448A1 (fr) Procede, programme d’ordinateur et dispositif d’optimisation de transmission de messages, vers un poste client, dans un serveur d’applications
FR2888706A1 (fr) Procede de mise en relation interpersonelle
EP3539259B1 (fr) Procédé et dispositif d'actualisation d'un modèle prédictif d'une variable relative à un terminal mobile
FR2915044A1 (fr) Procede de determination de la dynamique d'un reseau logique
EP3114795B1 (fr) Système et procédé permettant de réduire la consommation énergétique d'un dispositif d'interconnexion
FR3094861A1 (fr) Transmission de messages dans un contexte multi-terminaux
WO2013034835A1 (fr) Passerelle domestique
FR3047623A1 (fr) Procede de transmission de donnees dans une communication multi-chemin
OA16705A (en) Passerelle domestique.
WO2011023904A1 (fr) Procede de diffusion d'un contenu dans un reseau de telecommunications de maniere geolocalisee
EP4138365A1 (fr) Procédé de gestion de la livraison de messages dans une infrastructure informatique et infrastructure informatique associée
EP3123715B1 (fr) Procédé de gestion d'une conférence impliquant une pluralité de dispositifs de traitement de données
EP2525525B1 (fr) Procédé, programme d'ordinateur et dispositif de cooptation permettant à un abonné d'un service de partager ce service avec un autre utilisateur
EP2915113A1 (fr) Gestion perfectionnée d'une base de messages
WO2005069659A2 (fr) Procede et dispositif de sauvegarde de donnees personnelles d'un abonne a un reseau de telecommunications et serveur associes
FR2964815A1 (fr) Gestion de l'acces au statut d'une ressource
FR3048147A1 (fr) Procede pour decider de relayer par diffusion une copie d'une requete de decouverte de route dans un reseau de communication

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20120831