Brevet FR2985878A1 — publié le 20130719

Procédé de sélection d'un protocole de transport de messages Domaine technique L'invention se rapporte à un procédé de sélection, dans un terminal, d'un protocole de transport, choisi parmi une pluralité de protocoles de transport, à utiliser pour le transport d'un message en particulier de type SIP (sigle anglo- saxon de « Session Initiation Protocol »). Le terminal comprend des ressources physiques et logicielles dont un processeur et une mémoire stockant au moins une application dont l'exécution nécessite une communication sur un réseau. Une application est par exemple une application de type voix sur IP ou VOIP (sigle anglo saxon de « voice over IP »). Les protocoles de transport visés ci-dessus sont par exemple les protocoles de transport TCP (sigle anglo-saxon de « Transmission Control Protocol »), STCP (sigle anglo-saxon de « Stream Transmission Control Protocol »), UDP (sigle anglo-saxon de « User Data protocol »), etc. Etat de la technique Le protocole de gestion de sessions de type SIP peut utiliser plusieurs protocoles de transport pour envoyer et recevoir des messages de signalisation, en particulier le protocole TCP et le protocole UDP. Dans le cadre d'une session ayant pour objet un appel téléphonique de type VOIP, certains terminaux d'un premier type utilisent le protocole de transport UDP. Ce protocole a l'avantage d'être supporté par tous les terminaux de type SIP, car plus simple à mettre en oeuvre et nécessite moins de ressources physiques et/ou logicielles au niveau d'un contrôleur SBC (Session Border Controller) représentatif du point d'accès à une plateforme VOIP. Certains autres terminaux mobiles, d'un deuxième type, permettent à des applications d'être exécutées en premier plan ou en arrière plan (ou tâche de fond). Une exécution en arrière plan a pour fonction notamment de pouvoir recevoir un appel téléphonique de type VOIP alors qu'une autre application est en cours d'exécution en premier plan. Les inventeurs ont constaté que, sur un terminal d'un deuxième type, le protocole TCP est utilisé dans tous les cas que l'application soit exécutée en arrière ou en premier plan. En effet, l'application doit supporter le protocole TCP pour être notifié d'un appel VOIP émanant du réseau. Le problème est que le protocole TCP nécessite plus de ressources sur au niveau du contrôleur SBC, de l'ordre de 30% de ressources de plus par rapport au protocole UDP. Autrement dit, un contrôleur SBC prenant en charge une connexion TCP supporte moins d'utilisateurs simultanément que si le protocole UDP est utilisé. L'invention vient améliorer la situation. A cet effet, selon un aspect fonctionnel, l'invention a trait à un procédé de sélection, sur un terminal, d'un protocole de transport choisi parmi au moins deux protocoles, pour le transport de messages d'un type donné, le terminal stockant au moins une application apte à être exécutée selon au moins deux modes à savoir un mode en premier plan et un mode en arrière plan, caractérisé en ce qu'il comprend une étape de sélection du protocole de transport en fonction du mode d'exécution. Grâce à l'invention, le protocole de transport utilisé alterne selon le mode d'exécution de l'application considérée. Lorsque l'application est exécutée en arrière plan, un protocole, par exemple le protocole TCP en référence aux paragraphes consacrés à l'état de la technique, est utilisé et lorsque l'application est exécutée en premier plan, par exemple le protocole UDP est utilisé. En conséquence, lorsqu'une application est exécutée en premier plan, le contrôleur SBC est moins sollicité en termes de ressources et supporte donc plus de connexions simultanément. Selon une variante de ce mode, les messages sont des messages SIP ; dans cette configuration, l'étape de sélection inclut une étape de détection de changement mode d'exécution et une étape de transmission d'un message SIP REGISTER incluant au moins un paramètre choisi en fonction du mode d'exécution. Selon un aspect matériel, l'invention a trait à un terminal de communication comprenant des moyens de sélection d'un protocole de transport choisi parmi au moins deux protocoles de transport, pour le transport de messages d'un type donné, le terminal comprenant en outre des moyens de stockage aptes à stocker au moins une application apte à être exécutée selon au moins deux modes à savoir un mode en premier plan et un mode en arrière plan, caractérisé en ce que les moyens de sélection sont aptes à sélectionner un protocole de transport en fonction du mode d'exécution. Selon un mode de réalisation, les messages sont des messages SIP ; dans cette configuration, les moyens de sélection inclus des moyens de détection de changement mode d'exécution et des moyens de transmission d'un message SIP REGISTER incluant au moins un paramètre choisi en fonction du mode d'exécution. Selon un autre aspect matériel, l'invention a trait à un programme d'ordinateur apte à être exécuté sur le terminal tel que défini ci-dessus, caractérisé en ce qu'il comprend des instructions de code qui, lorsqu'il est exécuté par un processeur réalise une étape de sélection telle que définie dans le procédé. Enfin, selon un autre aspect matériel, l'invention a trait à un support d'enregistrement lisible par un terminal sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé défini ci-dessus. L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés. Les figures: La figure 1 représente un système informatique sur lequel est illustré un exemple de réalisation illustrant le procédé de l'invention. La figure 2 représente la structure interne d'un terminal mettant en oeuvre l'exemple de réalisation. La figure 3 illustre l'étape de sélection de protocole. Description détaillée d'un exemple de réalisation illustrant l'invention La figure 1 représente un système SYS comprenant un terminal TRM apte à communiquer au travers d'au moins un réseau de communication RES. Dans notre exemple, un réseau Internet est choisi pour illustrer l'invention. Le terminal comprend des ressources physiques et logicielles dont un microprocesseur CPU. Ce terminal comprend en outre - une première interface de communication COM1 permettant de communiquer dans notre exemple avec le réseau Internet selon le protocole UDP ; - Une deuxième interface de communication COM2 permettant de communiquer dans notre exemple avec le réseau Internet selon le protocole TCP ; - des moyens de stockage MEM apte à stocker des données dont une programme PGM apte à réaliser le procédé de l'invention ; dans notre exemple le programme est un agent nommé « User agent » défini dans le protocole SIP ; - un écran ECR. Les moyens de stockage MEM stockent également deux applications APP1 et APP2 aptes à être exécutées par le processeur CPU. La première application APP1 est par exemple une application apte à afficher la météo, et la deuxième application APP2 est une application VOIP permettant une communication de type voix sur IP via le réseau RES. Les moyens décrits ci-dessus ainsi que le premier microprocesseur CPU sont reliés entre eux par l'intermédiaire d'un bus. Rappelons qu'un bus a pour fonction d'assurer le transfert de données numériques entre les différents circuits d'un terminal. Dans notre exemple, le bus en question inclut un bus de données et un bus de contrôle. Comme on l'a vu ci-dessus, dans notre exemple le terminal peut communiquer selon deux protocoles de transport, à savoir le protocole de transport UDP et le protocole de transport TCP Le réseau comprend un contrôleur SBC représentatif du point d'entrée d'une plateforme VOIP qui ne sera pas décrite car connue de l'homme du métier. Les applications APP1 et APP2 décrites ci-dessus peuvent être exécutées selon deux modes : - un premier mode MOD1 dit en premier plan, - et un deuxième mode MOD2 dit en arrière plan ou tâche de fond. A chaque application est associée une interface graphique (non représentée) pouvant être affichée à l'écran lorsque l'application est en mode dit de premier plan MOD1. A l'inverse, une application exécutée en arrière plan MOD2 a son interface associée qui n'est pas affichée à l'écran. Dans notre exemple, une exécution en arrière plan de la deuxième application APP2 a pour fonction notamment de pouvoir recevoir un appel VOIP alors que la première application APP1 est en cours d'exécution en premier plan. Selon un mode de réalisation, lors d'une première étape, la deuxième application APP2 est exécutée par le processeur CPU. Cette deuxième application est exécutée en premier plan. Dans cette configuration, le protocole de transport UDP est utilisée pour le transport de la signalisation de type SIP. Lors d'une deuxième étape, la première application APP1 est exécutée. A ce stade, la première application APP1 est exécutée en premier plan, tandis 5 que la deuxième application APP2 passe en arrière plan. Dans cette configuration, le protocole de transport TCP est utilisé. Ainsi de suite, lorsque la deuxième application passe en premier plan et que la première application est exécutée en arrière plan, le protocole de communication UDP est utilisé. 10 Dans notre exemple, le passage d'un protocole de transport à un autre s'effectue selon le protocole normalisé SIP. On se reportera au texte RFC3261 qui décrit ce protocole, texte qui est incorporé par référence dans la présente demande de brevet. Selon cette norme, une phase dite d'enregistrement (ou annulation d'un enregistrement) a pour objet l'enregistrement (ou l'annulation de 15 l'enregistrement, respectivement), auprès du contrôleur SBC, du protocole de transport à utiliser pour la communication entre le terminal et le contrôleur SBC. Rappelons que l'enregistrement (ou l'annulation de l'enregistrement) en question est réalisé par le biais d'un message SIP REGISTER dans lequel le terminal (désigné par l'expression anglo-saxonne « user agent » en référence au 20 protocole SIP) fournit son adresse de contact de façon à être joignable par la plateforme. Le message SIP REGISTER comprend plusieurs champs, en particulier: - un premier champ relatif à une identité publique du terminal, à savoir l'identifiant ID du téléphone 25 - un deuxième champ relatif à une adresse de contact incluant - une adresse IP référencée AD-IP, - un numéro port NP sur lequel le « user agent » écoute - et, optionnellement un protocole de transport TP à utiliser à savoir UDP ou TCP dans notre exemple; - un troisième champ relatif à une durée de validité DV de l'enregistrement ; A noter que le protocole de transport n'est pas renseigné lorsque le protocole est UDP, ce dernier étant utilisé par défaut. Le message résultant est référencé SIP REGISTER (ID, ADIP/NP/TP,DV) sur la figure 3. La figure 3 représente la forme du message SIP RESGISTER en fonction du mode d'exécution de la deuxième application APP2.Sur cette figure 3, lorsque la deuxième application passe en arrière plan, la référence est APP2/MOD2, et lorsque la deuxième application est en premier plan, la référence est APP2/MOD1. Le terminal doit rafraîchir son enregistrement avant l'expiration de la durée DV pour rester joignable ; à cet effet, le terminal réémet périodiquement 15 le même message SIP REGISTER. L'adresse de contact contient le mode de transport, à savoir TCP ou UDP dans notre exemple. Dans la norme actuelle, le champ adresse de contact ne mentionne pas le protocole lorsque le protocole utilisé est UDP ; le champ correspondant est donc vide. Dans notre exemple, si l'utilisation du protocole 20 TCP est souhaité, le champ en question est complété afin d'indiquer au contrôleur que le protocole utilisé est le protocole de TCP. A noter que d'autres protocoles pourraient être utilisés pour illustrer l'invention. Par exemple, un autre protocole de transport est le protocole STCP (sigle anglosaxon de « Stream Control Transmission Protocol ») connu de 25 l'homme du métier. Pour basculer d'un mode de transport à l'autre, la norme requiert une annulation de l'enregistrement en cours en modifiant l'adresse de contact en vigueur, suivi d'un réenregistrement avec une nouvelle adresse de contact. Le message d'annulation de l'enregistrement en cours est le même que l'enregistrement, à la différence que la durée de validité DV à une valeur nulle O. Sur la figure 3, on suppose initialement que la deuxième application APP2 est exécutée en premier plan. Un message SIP (ID,AD-IP/NP/ , DV=K) est transmis au contrôleur SBC. Le champ TP est vide indiquant que le protocole de transport est UDP. A un premier instant t1, la deuxième application APP1 est exécutée en arrière plan, et la première application APP2 en premier plan. Ce changement entraîne la transmission d'un message d'annulation de l'enregistrement en cours 10 à savoir SIP REGISTER (ID, AD-IP/NP/ ,DV=O) Ensuite, le terminal transmet au contrôleur SBC un message d'enregistrement afin d'utiliser le protocole TCP ; le message en question est référencé SIP (ID, AD-IP/NP/ TCP, DV=K) sur la figure 3. Ensuite, à un deuxième instant t2, la deuxième application APP2 est de 15 nouveau exécutée en premier plan MOD1. Il en résulte l'envoi d'un message d'annulation SIP REGISTER (ID, AD-IP/NP/ TCP, DV=O) de l'enregistrement en cours. L'envoi du message d'annulation est suivi de l'envoi d'un message d'enregistrement SIP REGISTER (ID, AD-IP/NP/ , DV=K) indiquant que le 20 protocole à utiliser est désormais UDP. A noter que la valeur K est une durée pendant laquelle un enregistrement demeure valide. Dans notre exemple, cette valeur K est la même quel que soit le message SIP REGISTER émis ; cependant la valeur aurait pu être différente pour chaque message d'enregistrement émis. 25 Pour la réalisation du mode de réalisation, le terminal comprend des moyens de sélection de protocole de transport incluant - des moyens de détection d'un changement de mode d'exécution d'un premier mode MOD1 vers un deuxième MOD2, ou inversement; - et des moyens de transmission d'un message SIP REGISTER, les paramètres du message SIP REGISTER étant fonction du mode d'exécution comme on l'a vu précédemment. REVENDICATIONS1. Procédé de sélection sur un terminal d'un protocole de transport choisi parmi au moins deux protocoles de transport (UDP,TCP), pour le transport de messages d'un type donné (SIP), le terminal stockant au moins une application (APP1,APP2) apte à être exécutée selon au moins deux modes à savoir un mode en premier plan et un mode en arrière plan, caractérisé en ce qu'il comprend une étape de sélection du protocole de transport à utiliser en fonction du mode d'exécution. 2. Procédé de sélection selon la revendication 1, caractérisé en ce que les messages sont des messages SIP, et en ce que l'étape de sélection inclut une étape de détection de changement mode d'exécution et une étape de transmission d'un message SIP REGISTER incluant au moins un paramètre choisi en fonction du mode d'exécution. 3. Terminal de communication comprenant des moyens de sélection d'un protocole de transport choisi parmi au moins deux protocoles de transport (UDP,TCP), pour le transport de messages d'un type donné (SIP), le terminal comprenant en outre des moyens de stockage (MEM) aptes à stocker au moins une application (APP1,APP2) apte à être exécutée selon au moins deux modes à savoir un mode en premier plan et un mode en arrière plan, caractérisé en ce que les moyens de sélection sont aptes à sélectionner un protocole de transport en fonction du mode d'exécution. 4. Terminal selon la revendication 3, caractérisé en ce que les messages sont des messages SIP ; et en ce que les moyens de sélection inclus des moyens de détection de changement mode d'exécution et des moyens de transmission d'un message SIP REGISTER incluant au moins un paramètre choisi en fonction du mode d'exécution. 5. Programme d'ordinateur apte à être exécuté sur un terminal tel que défini dans la revendication 3, caractérisé en ce qu'il comprend des instructionsde code qui, lorsqu'il est exécuté par un processeur réalise une étape de sélection telle que définie dans la revendication 1.