Brevet FR2908951A1 — publié le 20080523

Arrière-plan de l'invention L'invention se situe dans le domaine des réseaux de télécommunication et, plus précisément, dans celui de l'optimisation de la réception des flux de données dans de tels réseaux. L'invention s'applique en particulier, et de façon non limitative, à l'optimisation de la réception des flux audiovisuels diffusés dans un réseau. Le document de l'IETF (Internet Engineering Task Force) RFC 3376, version 3, définit le protocole IGMPv3 (Internet Group Management Protocol version 3). Le protocole IGMP est le protocole utilisé par les équipements de réception dans les systèmes IPv4 (Internet Protocol version 4) pour demander ou arrêter la réception de flux diffusés en multicast. Conformément à ce protocole, les systèmes IPv4 utilisent deux commandes distinctes, l'une pour demander la réception d'un flux multicast et l'autre pour demander l'arrêt de cette réception. La commande pour demander la réception d'un flux multicast est IPmulticastListen(socket, interface, multicast-address, filter-mode, source-list), avec les paramètres : - socket : paramètre spécifique utilisé pour distinguer les différentes entités à l'origine de la commande IPMulticastListen ; -interface : identificateur local de l'interface réseau sur laquelle la réception de l'adresse de diffusion spécifiée doit être permise ou supprimée ; - multicast-address : adresse IP de diffusion visée par la requête ; et - filter-mode : valeur prédéfinie EXCLUDE ; - source-list : est une liste non ordonnée pouvant contenir 0, 1 ou une pluralité d'adresses des sources des flux concernés par la requête. La commande pour demander l'arrêt d'une réception est identique, le paramètre filter-mode étant égal à la valeur prédéfinie INCLUDE avec le paramètre "source-list" vide. 2908951 2 Le protocole IGMPv3 est en particulier utilisé dans les applications de télévision sur Internet pour la réception des canaux audiovisuels. On comprend ainsi que le changement de chaîne, autrement dit 5 le basculement d'un premier canal à un deuxième canal, nécessite l'envoi d'une première commande pour demander l'arrêt de la réception du premier canal, puis l'envoi d'une deuxième commande pour demander la réception du deuxième canal. Ceci a pour conséquence que le temps d'attente de l'affichage 10 du deuxième canal est comparativement beaucoup plus long que le temps habituel de changement de chaîne pour la réception de télévision par satellite, câble ou terrestre. Objet et résumé de l'invention 15 Ainsi, et selon un premier aspect, l'invention concerne un procédé pouvant être mis en oeuvre par un dispositif connecté à un réseau de télécommunications pour modifier l'ensemble des flux de données reçus par ce dispositif via le réseau. Ce procédé comporte une étape d'envoi, à un noeud du réseau, 20 d'une commande unique permettant d'identifier les flux devant être ajoutés à l'ensemble précité et les flux devant être retirés de cet ensemble. Corrélativement, l'invention vise un dispositif pouvant être connecté à un réseau de télécommunications. Ce dispositif comporte des 25 moyens d'envoi, à un noeud du réseau, d'une commande unique permettant d'identifier les flux devant être ajoutés à l'ensemble des flux reçus par le dispositif et les flux devant être retirés de cet ensemble. Le procédé et le dispositif selon l'invention permettent ainsi, dans une application de réception de télévision sur Internet, de réduire 30 considérablement le temps de basculement d'un premier canal à un deuxième canal, puisque la commande unique contient à la fois l'identifiant du premier canal pour lequel la réception doit être arrêtée et l'identifiant du deuxième canal que l'utilisateur souhaite recevoir. Dans un mode particulier de réalisation de l'invention, la 35 commande unique comporte, pour chacun des flux devant être ajoutés à 2908951 3 l'ensemble ou retirés de cet ensemble, une adresse de la source de diffusion du flux. Ce format de commande a l'avantage d'être très proche de celui de la commande IPMulticastListen du protocole IGMPv3, de sorte que 5 l'invention pourrait facilement être mise en oeuvre dans une extension de ce protocole. Dans un mode particulier de réalisation de l'invention, la commande unique comporte un identifiant une interface réseau du dispositif concernée par la modification. 10 Ainsi, la commande unique selon l'invention s'applique aux flux reçus par une interface réseau donnée du dispositif et non pas à toutes les interfaces de ce dispositif. Dans un mode particulier de réalisation de l'invention, la commande unique comporte un identifiant d'un processus à l'origine de la 15 commande. Ainsi, la commande unique selon l'invention s'applique aux flux concernés par un processus donné mis en oeuvre par le dispositif et non pas à tous les processus en cours d'exécution dans ce dispositif. Dans un mode particulier de réalisation de l'invention, dans 20 lequel le dispositif comporte une pluralité de processus, le procédé de modification comporte : - une étape de réception d'au moins deux requêtes, chacune de ces requêtes étant émise par un des processus pour demander une modification de l'ensemble des flux de données reçus par ce 25 processus ; et - une étape de génération de la commande unique en fonction du contenu de ces requêtes. Ce mode de réalisation particulier permet avantageusement de gérer les conflits pour les requêtes concernant une même interface. 30 Ainsi, l'homme du métier comprendra que la commande unique selon l'invention doit comporter, pour une interface donnée, l'union des flux demandés par l'ensemble des processus concernés par cette interface. Dans un mode particulier de réalisation, les différentes étapes 35 du procédé de modification sont déterminées par des instructions de programmes d'ordinateurs. 2908951 4 En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un dispositif selon l'invention ou plus généralement dans un ordinateur, ce programme comportant des 5 instructions adaptées à la mise en oeuvre des étapes d'un procédé de modification tel que décrit ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une 10 forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. 15 Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou 20 un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier 25 téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. 30 Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout 35 caractère limitatif. Sur les figures : 2908951 5 - la figure 1 représente, dans son environnement, un dispositif conforme à l'invention dans un mode particulier de réalisation ; - la figure 2 représente, sous forme d'organigramme, les principales étapes d'un procédé de modification conforme à l'invention ; et 5 - la figure 3 représente un exemple d'utilisation de l'invention. Description détaillée d'un mode de réalisation La figure 1 représente un dispositif 10 conforme à l'invention dans son environnement. 10 On supposera dans cet exemple que le dispositif 10 a l'architecture d'un ordinateur conventionnel. Ce dispositif comporte un processeur 11, une mémoire vive de type RAM 12, une mémoire morte de type ROM 13. Dans l'exemple de réalisation décrit ici, la mémoire morte 13 15 comporte un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de modification conforme à l'invention dont l'organigramme est représenté à la figure 2. La mémoire vive 12 comporte des variables nécessaires à l'exécution de ce programme. 20 Dans l'exemple décrit, le dispositif 10 selon l'invention est connecté au réseau Internet 5. A cet effet, il comporte des moyens de communication 14 constitués en l'espèce par des moyens matériels et logiciels aptes à mettre en oeuvre le protocole Internet IP. 25 Nous supposerons dans l'exemple décrit ici que le dispositif 10 selon l'invention comporte deux interfaces réseau référencées respectivement IF1 et IF2. Nous supposerons également que le dispositif 10 selon l'invention comporte deux processus S1 et S2 adaptés à recevoir des flux 30 de données en provenance du réseau Internet 5. Sur la figure 1, nous avons également représenté un routeur 20 connecté au réseau Internet 5. Nous supposerons que ce routeur 20 reçoit un ensemble de canaux de télévision, cet ensemble portant la référence générale Z, en 35 provenance d'un distributeur de canaux de télévision non représenté. 2908951 6 Nous supposerons que le dispositif 10 selon l'invention reçoit un ensemble E1 de flux de données, chacun de ces flux correspondant dans cet exemple à un canal de télévision, en provenance du routeur 20. Lorsque le dispositif 10 selon l'invention souhaite modifier les 5 flux qu'il reçoit sur cette interface IF1, il envoie une commande unique 200 à destination du routeur 20. Cette commande unique peut comporter des flux à ajouter à l'ensemble E1 et/ou des flux à retirer à l'ensemble E1. A la figure 1, on a référencé E2 l'ensemble ainsi modifié des flux 10 reçus par le dispositif 10 selon l'invention sur l'interface IF1. Nous allons maintenant décrire en référence à la figure 2 les principales étapes d'un procédé de modification mises en oeuvre par le dispositif 10 selon l'invention. Nous supposerons que le dispositif 10 selon l'invention reçoit sur 15 son interface IF1 l'ensemble E1 de flux constitués par les canaux de télévision F1, F3 et F8. Nous supposerons que les flux F1 et F3 sont destinés au processus S1 et que le flux F8 est destiné au processus S2. Dans l'exemple décrit ici, nous supposerons que le processeur 20 11 du dispositif 10 reçoit, au cours d'une étape [10, deux requêtes R1, R2, respectivement en provenance des processus S1 et S2. Nous supposerons que, par la requête R1, le processus S1 demande au processeur 11 : - à arrêter la réception du flux F3, 25 - à continuer la réception du flux F1, et - à commencer la réception du flux F2. Nous supposerons que, par la requête R2, le processus S2 demande au processeur 11 : - à arrêter la réception du flux F8, et 30 - à commencer la réception des flux F3 et F7. Cette étape E10 de réception des deux requêtes R1, R2 est suivie par une étape E20 au cours de laquelle le processeur 11 génère une commande unique 200 en fonction du contenu des requêtes R1 et R2. Pour satisfaire les deux processus S1 et S21 les flux qui doivent 35 être reçus sur l'interface IF1 sont les flux F1, F2, F3 et F7. 2908951 7 En conséquence, le processeur 11 génère une commande unique 200 dans laquelle il demande une modification des flux F; reçus par le dispositif 10 sur l'interface IF1, cette modification étant en l'espèce constituée par : 5 -l'ajout des flux F2 et F7 dans l'ensemble des flux reçus sur l'interface IF1 ; et - la suppression du flux F8 de cet ensemble. L'étape E20 de génération de la commande unique 200 est suivie par une étape E30 au cours de laquelle le processeur 11 envoie au 10 routeur 20, via les moyens de communication 14, cette commande unique 200. Sur réception de cette commande unique 200, le routeur 20 sélectionne les flux F1, F2, F3 et F7 dans l'ensemble Z des flux reçus du distributeur de canaux de télévision, et envoie ces flux sur l'interface IF1 15 du dispositif 10 selon l'invention. Sur réception de ces flux, le dispositif 10 selon l'invention envoie les flux F1 et F2 au processus S1 et les flux F3 et F7 au processus S2 conformément à leurs requêtes R1 et R2. En référence à la figure 3, nous allons maintenant décrire une 20 autre application de l'invention. Nous supposerons que l'utilisateur du dispositif 10 selon l'invention souhaite visualiser, sur un écran non référencé ici, une image plein écran et une petite fenêtre incrustée dans cet écran. Nous supposerons que l'image plein écran correspond à un flux 25 de données haut débit F1 et que la petite fenêtre incrustée correspond à un flux de données bas débit F2. En conséquence, le dispositif 10 selon l'invention envoie une commande unique 2001 au routeur 20 dans laquelle il demande à ajouter, à l'ensemble des flux reçus par le dispositif 10 selon l'invention, les flux F1 30 et F2. L'ensemble E1 de ces flux est envoyé par le routeur 20 au dispositif 10 selon l'invention. Nous supposerons maintenant que l'utilisateur souhaite visualiser en plein écran l'image qui était incrustée dans la petite fenêtre. 2908951 8 Ceci revient à arrêter la réception du flux F1, arrêter la réception du flux bas débit F2 et à commencer la réception d'un flux F3 correspondant à l'image plein écran contenue dans cette petite fenêtre. Le dispositif 10 selon l'invention envoie donc une commande 5 unique 2002 avec tous ses paramètres au routeur 20. Sur réception de cette commande unique 2002, le routeur 20 envoie au dispositif 10 selon l'invention, un ensemble E2 de flux comportant uniquement le flux F3. Une variante de cette application consiste à visualiser 10 successivement plusieurs canaux de télévision bas débit en incrustation dans la petite fenêtre sans arrêter le flux haut débit. Cela revient à arrêter le flux F2, à maintenir le flux F1 et à demander la réception d'un flux F3. Une autre application consiste à visualiser une mosaïque de 15 fenêtres pour des canaux bas débit, certaines fenêtres avec toujours le même canal de télévision parmi une liste de canaux préférés et les autres fenêtres faisant apparaître sucessivement les autres canaux par balayage continu. REVENDICATIONS 1. Procédé pouvant être mis en oeuvre par un dispositif (10) connecté à un réseau de télécommunications (5) pour modifier l'ensemble des flux de données (F;) reçus par ledit dispositif (10) via ledit réseau (5), caractérisé en ce qu'il comporte une étape d'envoi (E30), à un noeud (20) dudit réseau (5), d'une commande unique (200) permettant d'identifier les flux (F;) devant être ajoutés audit ensemble et les flux (F;) devant être retirés dudit ensemble. 2. Procédé de modification selon la revendication 1, dans lequel ladite commande unique (200) comporte, pour chacun desdits flux (Fi) devant être ajoutés audit ensemble ou retirés dudit ensemble au moins une adresse (A;) de source de diffusion dudit flux (Fi). 3. Procédé de modification selon la revendication 1 ou 2, caractérisé en ce que ladite commande unique (200) comporte un identifiant (Id_IF1) d'une interface réseau (IF1) dudit dispositif (10) concernée par ladite modification. 4. Procédé de modification selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite commande unique (200) comporte un identifiant (Id_S1) d'un processus (Si) à l'origine de ladite commande (200). 25 5. Procédé de modification selon la revendication 4, dans lequel ledit dispositif comporte une pluralité de processus (Si, S2), caractérisé en ce qu'il comporte : - une étape (E10) de réception d'au moins deux requêtes (R1, R2), 30 chacune desdites requêtes étant émise par un desdits processus (Si, S2) pour demander une modification de l'ensemble des flux de données reçus par ce processus (Si, S2) ; et - une étape (E20) de génération de ladite commande unique (200) en fonction du contenu desdites requêtes (R1, R2). 20 35 2908951 10 6. Dispositif (10) pouvant être connecté à un réseau de télécommunications (5) caractérisé en ce qu'il comporte des moyens d'envoi, à un noeud (20) dudit réseau (5), d'une commande unique (200) permettant d'identifier les flux (F;) devant être ajoutés à l'ensemble des 5 flux (F;) reçus par ledit dispositif (10) et les flux (F;) devant être retirés dudit ensemble (200). 7. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé de modification selon l'une quelconque 10 des revendications 1 à 5 lorsque ledit programme est exécuté par un ordinateur. 8. Support d'enregistrement (13) lisible par un ordinateur (10) sur lequel est enregistré un programme d'ordinateur comprenant des 15 instructions pour l'exécution des étapes du procédé de modification selon l'une quelconque des revendications 1 à 5.