Brevet FR2917937A1 — publié le 20081226

Procédé de communication avec interception de messaqes de contrôle L'invention a trait au domaine des télécommunications. Les télécommunications tendent à évoluer vers le tout-IP, c'est-à- dire l'échange de l'ensemble des données multimédia selon le protocole Internet, couramment dénommé protocole IP (Internet Protocol). Suivant le protocole IP, les données numérisées, qu'il s'agisse de données multimédia (image, son, vidéo) ou voix (généralement pour les applications téléphoniques), sont constituées en paquets IP placés dans des trames et transmis sur le réseau, qu'il s'agisse d'un réseau local (LAN), métropolitain (MAN) ou étendu (WAN). La communication entre deux entités communicantes reliées au réseau peut se faire suivant deux types de dialogue : le mode sans connexion (connectionnless oriented) et le mode avec connexion (connection oriented). Dans le mode sans connexion, les paquets sont transmis par l'entité émettrice sans que celle-ci ait au préalable vérifié la présence sur le réseau de l'entité destinataire. Dans le mode avec connexion, les entités exécutent, préalablement à la transmission des données proprement dite, une phase de négociation au cours de laquelle est établie la connexion. Après que la connexion a été établie, les données sont échangées. Puis, une fois l'échange de données terminé, la connexion est libérée. Au moment de l'ouverture de la connexion, les entités peuvent en outre négocier la qualité de service ou QoS (Quality of Service), pour laquelle des paramètres définissant les limites admissibles de la communication sont échangés entre les entités. Une architecture réseau actuellement en plein essor offre un cadre adéquat pour les communications multimédia entre entités communicantes en mode avec connexion : il s'agit de l'IMS (IP Multimedia Subsystem), développée au sein du consortium 3GPP (Third Generation Partnership Project). Pour l'établissement, la modification et la terminaison des sessions de communication, ainsi que l'authentification, l'IMS a recours au protocole SIP (Session Initiation Protocol). Au niveau session de la pile de protocole des datagrammes échangés entre deux entités du réseau, le protocole de communication le plus couramment utilisé aujourd'hui est le protocole RTP (Realtime Transport Protocol), employé en combinaison avec le protocole UDP (User Datagram Protocol) utilisé quant à lui au niveau message de la pile À ces deux protocoles sont associés des protocoles de contrôle, employés lorsque le réseau rencontre des problèmes affectant la communication entre les entités : problèmes de routage, de déconnexion d'une ou plusieurs entités, ou encore de panne réseau. Au niveau session, le protocole de contrôle associé au protocole RTP est le protocole RTCP (Realtime Transport Control Protocol) dont une fonction essentielle est d'informer les entités communicantes sur la qualité de service. Au niveau message, le protocole de contrôle couramment employé, associé au protocole UDP, est le protocole ICMP (Internet Control Message Protocol). En pratique, la communication entre deux entités en mode avec connexion implique : l'ouverture d'une application (au niveau logiciel) destinée à assurer la lecture des données (sur écran et/ou haut-parleur) contenues dans les paquets. Cette application peut être, soit l'entité elle- même, lorsque ce terme est utilisé dans une acception logicielle, soit une application logicielle implémentée sur une unité de traitement (processeur) de l'entité lorsque ce terme est utilisé dans une acception matérielle pour désigner un appareil communiquant (SoftPhone, PDA communicant, etc.) ; l'ouverture d'une connexion au niveau d'une interface de communication intégrée (dans une acception matérielle) ou associée (dans une acception logicielle) à l'entité. Selon un mode de fonctionnement classique, lorsque le réseau ou une entité rencontre des problèmes (panne ou interruption du réseau, handover ù c'est-à-dire le changement de cellule dans les réseaux de mobile ù mal géré, etc.), les paquets de données échangés peuvent être soit incomplets, soit manquants. La détection de cette défaillance génère en certains noeuds du réseau des messages de contrôle adressés à l'entité destinataire et destinés à l'informer de la dégradation de la qualité de service. Comme la qualité de service est considérée prioritaire dans les politiques réseaux actuelles, la prise en compte de ces messages de contrôle par l'application induit en général sa fermeture immédiate ou différée, avec pour corollaire la nécessité, lorsque la connexion est rétablie ou réparée, de relancer l'application en passant par toutes les étapes préalables à la lecture des données : authentification, etc. II en résulte une perte de temps ù et de données ù pour l'utilisateur. L'invention vise à perfectionner les réseaux existants en remédiant notamment aux problèmes précités. A cet effet, l'invention propose, en premier lieu, un procédé de communication en mode avec connexion entre au moins deux entités communicantes, à savoir une entité émettrice et une entité destinataire, reliées par l'intermédiaire d'un réseau de télécommunication, ce procédé comprenant les opérations suivantes : ù envoi par l'entité émettrice d'un flot de données, sous forme de paquets, à destination de l'entité destinataire ; ù réception des données par un serveur d'applications mandataire interposé entre les entités, interception par le serveur mandataire de tout message de contrôle concernant la qualité de service, défini comme étant susceptible d'affecter le fonctionnement de l'entité destinataire, transmission par le serveur mandataire à l'entité destinataire du flot de données en provenance de l'entité émettrice, indépendamment de la qualité de service. Suivant un mode particulier de réalisation, le serveur mandataire intercepte tout message de contrôle concernant la qualité de service. En variante, le serveur mandataire intercepte une catégorie prédéterminée de messages de contrôle, définis comme étant susceptibles d'affecter le fonctionnement de l'entité destinataire. Des messages de contrôle peuvent être établis conformément aux protocoles RTCP ou ICMP. En deuxième lieu, l'invention propose un système de communication fonctionnant en mode avec connexion, comprenant un serveur d'applications mandataire configuré pour : ù recevoir un flot de données en provenance d'une entité communicante émettrice, à destination d'une entité communicante 4 destinataire reliée à l'entité émettrice par l'intermédiaire d'un réseau de télécommunications, intercepter tout message de contrôle concernant la qualité de service, défini comme étant susceptible d'affecter le fonctionnement de l'entité destinataire, û transmettre le flot de données à l'entité destinataire indépendamment de la qualité de service. En troisième lieu, l'invention propose un produit programme d'ordinateur implémenté sur une unité de traitement et comprenant des instructions pour : û recevoir en mode avec connexion un flot de données en provenance d'une entité communicante émettrice, à destination d'une entité communicante destinataire reliée à l'entité émettrice par l'intermédiaire d'un réseau de télécommunications, û intercepter tout message de contrôle concernant la qualité de service, susceptible d'affecter le fonctionnement de l'entité destinataire, û transmettre le flot de données à l'entité destinataire indépendamment de la qualité de service. D'autres objets et avantages de l'invention apparaîtront à la lumière de la description faite ci-après en référence aux dessins annexés dans lesquels : la figure 1 est une vue schématique montrant une architecture réseau permettant la mise en oeuvre d'un procédé de communication selon l'invention ; la figure 2 est un diagramme montrant différentes étapes d'un procédé de communication selon à l'invention ; Sur la figure 1 est représentée une architecture réseau 1 comprenant au moins deux entités communicantes 2, 3 sous forme d'appareils fixes (tel qu'ordinateur muni d'un logiciel de voix sur IP ou un téléphone IP) ou mobiles (téléphone cellulaire, PDA communicant ou Smartphone), reliés par l'intermédiaire d'un réseau 4 local (LAN), métropolitain (MAN) ou étendu (WAN) tel qu'Internet. Chaque entité 2, 3 comprend une interface 5 de communication propre à établir une connexion avec le réseau 4 et prendre en charge des communications échangées suivant le protocole IP, et une application 6 logicielle susceptible de lire les données contenues sous forme de paquets dans les messages échangés via le réseau 4. L'interface 5 de communication et l'application 6 sont configurées dans chaque entité 2, 3 pour prendre en charge des protocoles 5 d'échange de données en mode avec connexion, notamment RTP. Lors d'une communication établie entre deux entités 2, 3 (on pourrait bien entendu prévoir une communication entre un nombre d'entités supérieur à deux), une entité 2 émettrice envoie un flot de données sous forme de paquets à une entité 3 destinataire. L'entité 3 destinataire est reliée à un serveur mandataire 7 ou proxy, intégré à un réseau coeur 8 û notamment de type IMS û implémenté au sein du réseau 4, et par lequel transitent les messages transmis à l'entité 3 destinataire. Le serveur 7 mandataire inclut deux modules fonctionnels, à 15 savoir : û un module 9 de filtrage, propre à détecter, dans le flux de données transitant par le serveur 7, des messages de contrôle de type ICMP (au niveau message) ou RTCP (au niveau session) comportant des informations relatives à la qualité de service ; 20 û un module 10 de capture vers lequel sont routés les éventuels messages de contrôle. De tels messages de contrôle sont inclus dans le flux de données transitant sur le réseau 4 à destination de l'entité 3 destinataire, dès que des problèmes sont détectés au sein du réseau 4 (par exemple au 25 niveau d'une passerelle), affectant soit la connexion elle-même (panne ou indisponibilité du réseau), soit la qualité des données transmises (par exemple perte de paquets). II est à noter que la notion de qualité de service (QoS) vise à qualifier ce type de problème. L'architecture 1 décrite ci-dessus permet d'organiser une 30 communication entre au moins deux entités 2, 3, à savoir une entité 2 émettrice et une entité 3 destinataire, de la manière suivante. Une première opération 100 consiste, pour l'entité 2 émettrice, à envoyer un flot de données (images, son, vidéo, voix), sous forme de paquets inclus dans une trame IP, à destination de l'entité 3 35 destinataire. Une deuxième opération 200 consiste, pour le serveur 7 mandataire, à réceptionner les données envoyées par l'entité 2 émettrice. Une troisième opération 300 consiste pour le serveur 7 mandataire à examinées les données par le module 9 de filtrage aux niveaux message et session des trames pour y détecter respectivement des messages de contrôle de type ICMP ou RTCP, relatifs à la qualité de service. Une quatrième opération 400 consiste pour le serveur 7 mandataire, et plus précisément pour le module 9 de filtrage, dès lors que des messages de contrôle sont détectés par celui-ci, à intercepter ces messages et à les router vers le module 10 de capture où ils sont stockés û ou détruits û sans être transmis à l'entité 3 destinataire lorsque ces messages sont définis comme susceptibles d'en affecter le fonctionnement. Il est possible de paramétrer le module 9 de filtrage pour : soit intercepter tout message de contrôle, si l'on considère que tout message de ce type est susceptible d'affecter le fonctionnement de l'application 6 (et donc de l'entité 3 destinataire), c'est-à-dire de provoquer sa fermeture ou tout du moins un dysfonctionnement au sein de celle-ci, û soit intercepter uniquement une catégorie prédéterminée de messages de contrôle, définis comme susceptible d'affecter le fonctionnement de l'application 6 (et donc de l'entité 3 destinataire), les autres messages de contrôle, définis comme inoffensifs vis-à-vis de l'application, étant transmis. En pratique, un tel paramétrage est effectué par un administrateur réseau. Quant au flot de données envoyées par l'entité 2 émettrice, une cinquième étape 500 consiste pour le serveur 7 mandataire, et plus précisément à son module 9 de filtrage, à les transmettre quoi qu'il en soit à l'entité 3 destinataire, indépendamment de la qualité de service û c'est-à-dire, du point de vue des données, que les paquets transmis soit complets ou non, et, du point de vue du serveur 7 mandataire, que des messages de contrôle aient été interceptés ou non. En pratique, les flux RTP et RTCP étant généralement traités par des ports différents, le flux de données (en mode RTP) ne transitent pas nécessairement par le module 9 de filtrage, lequel est préférentiellement relié uniquement au port RTCP. Ainsi, l'application 6 est maintenue ouverte quelle que soit la qualité du service, et en particulier quel que soit l'état du réseau 4 ou de la connexion. En particulier, en cas d'interruption du réseau 4 (ce cas est courant dans les réseaux de mobiles lorsqu'un mobile perd le réseau, par exemple en raison d'un obstacle interposé sur l'interface air, tel qu'un tunnel), il n'est pas nécessaire de relancer l'application 6 û en passant par des phases préliminaires comprenant par exemple une étape d'authentification û lorsque le réseau 4 est rétabli. Si une telle fonctionnalité va à l'encontre de la tendance actuelle privilégiant avant tout la qualité de service, elle permet aux utilisateurs de réaliser de précieux gains de temps. Nous avons vu que le terme entité peut recouvrir non seulement tout appareil communiquant, comme décrit ci-dessus, mais également toute application logicielle susceptible de recevoir des données en provenance du réseau. Il est par ailleurs à noter que, comme cela est illustré sur la figure 1, l'entité 2 émettrice peut être un serveur, par exemple un serveur média. Le fait que le serveur 7 mandataire soit, dans la description qui précède, intégré à un coeur de réseau IMS est un exemple particulier non limitatif. Un tel serveur 7 pourrait être intégré à un autre type de réseau, notamment au sein du réseau local d'un opérateur d'accès à Internet et fournissant par exemple des services de vidéo diffusée en mode streaming, c'est-à-dire en direct ou en léger différé (par opposition au téléchargement). REVENDICATIONS 1. Procédé de communication en mode avec connexion entre au moins deux entités (2, 3) communicantes, à savoir une entité (2) émettrice et une entité (3) destinataire, reliées par l'intermédiaire d'un réseau (4) de télécommunication, ce procédé comprenant les opérations suivantes : envoi par l'entité (2) émettrice d'un flot de données, sous forme de paquets, à destination de l'entité (3) destinataire ; ù réception des données par un serveur (7) d'applications mandataire interposé entre les entités (2, 3), ù interception par le serveur (7) mandataire de tout message de contrôle concernant la qualité de service, défini comme étant susceptible d'affecter le fonctionnement de l'entité (3) destinataire, ù transmission par le serveur (7) mandataire à l'entité (3) destinataire du flot de données en provenance de l'entité (2) émettrice, indépendamment de la qualité de service. 2. Procédé selon la revendication 1, dans lequel le serveur (7) mandataire intercepte tout message de contrôle concernant la qualité de service. 3. Procédé selon la revendication 1, dans lequel le serveur (7) mandataire intercepte une catégorie prédéterminée de messages de contrôle, définis comme étant susceptibles d'affecter le fonctionnement de l'entité (3) destinataire. 4. Procédé selon l'une des revendications 1 à 3, dans lequel des messages de contrôle sont établis conformément au protocole RTCP. 5. Procédé selon l'une des revendications 1 à 4, dans lequel des messages de contrôle sont établis conformément au protocole ICMP. 6. Système de communication fonctionnant en mode avec connexion, comprenant un serveur (7) d'applications mandataire configuré pour : ù recevoir un flot de données en provenance. d'une entité (2) communicante émettrice, à destination d'une entité (3) communicante destinataire reliée à l'entité (2) émettrice par l'intermédiaire d'un réseau (4) de télécommunications, 9 intercepter tout message de contrôle concernant la qualité de service, défini comme étant susceptible d'affecter le fonctionnement de l'entité (3) destinataire, - transmettre le flot de données à l'entité (3) destinataire indépendamment de la qualité de service. 7. Produit programme d'ordinateur implémenté sur une unité de traitement et comprenant des instructions pour : recevoir en mode avec connexion un flot de données en provenance d'une entité (2) communicante émettrice, à destination d'une entité (3) communicante destinataire reliée à l'entité (2) l'entité (3) indépendamment de la qualité de service. émettrice par l'intermédiaire télécommunications, ù intercepter tout message de contrôle concernant la qualité de service, susceptible d'affecter le fonctionnement de destinataire, ù transmettre le flot de données à l'entité (3) destinataire d'un réseau (4) de20