PROCEDE ET SYSTEME DE TRANSMISSION D'UN FLUX MULTICAST EN RESEAU D'ÉCHANGE DE DONNÉES
L'invention concerne un procédé et un système de transmission d'un flux multicast sur des liens physiques notamment des liens non fiables, tels que les liens fournis par les réseau partagés, comprenant les liens WIFI5 définis par la norme IEEE
802.11 ou 802.15(a) ou les liens formés sur les lignes domestiques à courants porteurs CPL, définis par le consortium Home Plug.
A l'heure actuelle, un terminal récepteur multicast désireux de recevoir un flux multicast donné, délivré par un serveur multicast par exemple,, s'inscrit au préalable à un groupe multicast. Cette inscription permet d'insérer ce terminal, ou une adresse de récepteur multicast représentant ce dernier, au sein d'une arborescence multicast, auquel tous les membres d'un même groupe multicast appartiennent. En raison de l'arborescence précitée, matérialisée par la connexion en réseau de tous ses membres, tous les membres d'un groupe multicast reçoivent la même transmission d'informations multicast. Cette transmission peut être définie comme une transmission point/multi-point.
En raison même de ce type de transmission, les transmissions multicast ne sont pas acquittées par les terminaux récepteurs qui les reçoivent. En effet, si chaque terminal récepteur devait acquitter chaque paquet de données d'un flux multicast qu'il reçoit, il en résulterait une augmentation très importante du volume de données à transmettre, et, le plus souvent, une surcharge rédhibitoire des réseau supports d'une telle transmission.
L'absence d'acquittement des données de type multicast reçues n'est pas problématique en tant que telle, lorsque le lien physique de transport est très fiable. C'est le cas par exemple lorsque le lien physique est un câble Ethernet.
En revanche, lorsque le lien physique de transport n'est pas fiable, par exemple pour un lien radio, certaines applications multicast se révèlent très sensibles aux pertes de paquets de données. C'est en particulier le cas des applications
multicast audio et/ou vidéo, lesquelles peuvent alors être très affectées et voir ainsi leur qualité de service chuter de manière inacceptable.
Différentes solutions ont jusqu'à ce jour été suggérées pour remédier à un tel inconvénient. Ces solutions proposent essentiellement une procédure d'acquittement multicast par transmission dé messages d'acquittement au niveau 2 ou au niveau 3 du modèle OSI, pour Open System Interconnection. On rappelle que le modèle OSI précité définit un cadre de mise en œuvre de protocoles de communication en réseau comprenant 7 niveaux, le bas niveau, niveau 1, correspondant à, la couche physique et le niveau supérieur, niveau 7, à la couche application, dédiée à l'utilisateur. Pour une définition plus précise du modèle OSI on pourra utilement accéder au site Internet d'adresse http://www.webopedia.com/quick-ref/OSI-layers.asp. , ' '
Parmi les solutions précitées, la demande de brevet US 2005 002365 propose un fiabilisation de la diffusion d'informations multicast pour les liens non fiables, tels le lien radio selon la norme IEEE 802.11. Le système proposé concerne la couche du modèle OSI de niveau 2 mais le processus décrit nécessite la mise en œuvre de nouveaux modules d'acquittement des trames multicast, non seulement dans l'émetteur multicast mais également dans chaque terminal-récepteur multicast.
La demande de brevet US 2003 206549 suggère également une fiabilisation de la diffusion d'informations multicast pour des liens non fiables, tels le lien radio selon ïa norme IEEE 802.11, le système proposé concernant toutefois la couche du modèle OSI de niveau 3. Le processus décrit consiste à établir entre le terminal- récepteur multicast et le serveur multicast un canal supplémentaire, grâce auquel le terminal récepteur est en mesure de demander des informations multicast attendues, mais non reçues. Le serveur multicast peut alors procéder à la rediffusion multicast des informations requises. Le processus décrit par ce document surcharge manifestement le serveur et les terminaux récepteurs, lesquels reçoivent tous la rediffusion, par définition. En outre, la fiabilisation introduite par le niveau 3 du modèle OSI introduit un délai supplémentaire, lors de la détection de perte de trame
multicast. Ce système nécessite également la mise en oeuvre de nouveaux modules dans l'émetteur et dans chaque terminal récepteur multicast.
Enfin, des techniques ont été proposées, dans le but d'éviter la propagation de paquets de données multicast dans les nœuds de réseau de téléphonie mobile GPRS et/ou UMTS, par transformation de paquets, multicast en paquets unicast. Cette opération est mise en œuvre par un équipement réseau1 appelé GGSN contenant un logiciel embarqué exécutant les fonctions de proxy IGMP. Ce dernier intercepte et interprète les messages IGMP et maintient une table de correspondance entre les adresses IP des terminaux récepteurs multicast et les adresses IP des groupes multicast auxquels ces terminaux-récepteurs sont inscrits. Lorsqu'un paquet à destination d'un groupe multicast atteint le GGSN, le proxy IGMP vérifie dans , sa table l'existence d'un ou plusieurs terminaux désignés chacun par une adresse IP unicast de destination, et, dans l'affirmative, remplace l'adresse IP multicast de destination du paquet par l'adresse IP unicast de chacun des terminaux, récepteur multicast.
Une telle fonction décrite dans la recommandation 3GPP TS29.061 ne peut être mise en œuvre facilement, car la fonction proxy IGMP est très consommatrice de ressources de traitement. La solution suggérée précitée ne peut donc aucunement être mise en œuvre dans des équipements réseau non munis de fonction de routage, tels que les points d'accès ou les passerelles domestiques en mode bridgé par exemple.
La présente invention a pour objet la mise en œuvre d'un procédé et d'un système de transmission d'un flux multicast en réseau d'échange de données, soit sur tout lien, notamment tout lien non fiable tel que lien de type IEEE 802.11 et 802.15 ou CPL, liens dont la fiabilité est susceptible d'être détériorée par les interférences radio respectivement du réseau d'alimentation basse tension.
En particulier, un objet de la présente invention est la mise en œuvre d'un système de transmission d'un flux multicast, sous forme d'un module spécifique, implanté sur le chemin de la transmission, à l'endroit même où la transmission multicast passe d'un lien fiable, tel qu'un lien en réseau Ethernet, à un lien non fiable, en particulier au niveau d'un point d'accès encore désigné passerelle.
Un autre objet de la présente invention est, en particulier, la mise en œuvre d'un procédé et d'un système de transmission d'un flux multicast par transformation d'un flux multicast au niveau lien, encore désigné niveau trame, des couches du modèle OSI ou TCP/IP, en un flux unicast au niveau lien du même modèle, ce qui permet de bénéficier des mécanismes d'acquittement de transfert de trames de niveau lien inhérents aux transferts unicast, et, ainsi de fiabiliser le transfert des informations véhiculées par le flux multicast.
Un autre objet de la présente invention est également la mise en œuvre d'un procédé et d'un système de transmission d'un flux multicast en un flux unicast au niveau lien, laissant inchangées les adresses et protocoles de transfert aux niveaux supérieurs au niveau lien du modèle OSI ou TCP/IP, le procédé et les système objets de l'invention se révélant donc totalement transparents pour les serveurs et les terminaux récepteurs multicast actuels et totalement compatible avec ces derniers.
Un autre objet de la présente invention est enfin la mise en œuvre d'un procédé et d'un système de transmission d'un flux multicast dans lesquels les interceptions de trames multicast nécessaires à leur mise en œuvre sont exécutées par filtrage au niveau lien et leur retransmission selon un ou plusieurs flux unicast par redirection d'adresse, le procédé et le système, objets) de la présente invention,, ne nécessitant ainsi la mise en œuvre d'aucun processus dé routage et pouvant donc être mis en œuvre dans des équipements de réseau dotés de peu d'intelligence réseau, tels que point d'accès, passerelle ou commutateur.
Le procédé de transmission d'un flux multicast en réseau d'échange de données, objet de la présente invention, est remarquable en ce qu'il consiste au moins, au niveau d'un point d'accès à ce réseau partagé, à analyser le flux multicast par trames de données, pour détecter l'adresse multicast au niveau lien de ce flux multicast, substituer dans chaque trame de données à ladite adresse multicast au niveau lien une adresse unicast au niveau lien d'au moins un nœud de ce réseau partagé, pour engendrer une trame multicast substituée, transmettre en lieu et place de ces flux multicast au moins un flux unicast, succession de trames multicast substituées, à ladite adresse unicast au niveau lien, ce qui permet de bénéficier du
mécanisme d'acquittement de trames de la transmission de flux unicast, pour la succession de trames multicast substituées.
Le système de transmission d'un flux multicast en réseau d'échange de données, objet de l'invention, est implanté dans un point d'accès en réseau d'échange de données, ce point d'accès comportant au moins une pluralité de points d'entrée/sortie, l'un des points d'entrée/sortie étant logiquement connecté à un serveur de flux multicast et un autre au' moins de ces points d'entrée/sortie étant connecté à un terminal récepteur potentiel d'un flux multicast, et un module d'infrastructure logicielle de gestion des ports d'entrée/sortie.. Ce terminal récepteur potentiel est repéré dans le réseau partagé par une adresse unicast au niveau lien déterminée.
Le système, objet de l'invention, est remarquable en ce qu'il comporte ,au moins un module de fiabilisation de la transmission d'un flux multicast permettant la transmission, en lieu et place de tout flux multicast transmis par ce serveur multicast, d'au moins un flux unicast, succession de trames de données multicast substituées dans lesquelles à l'adresse multicast au niveau lien est substituée l'adresse unicast au niveau lien déterminée, vers ce terminal récepteur potentiel. Il comporte en outre une base de données comportant au moins une base de données permanente contenant des données de configuration du module de fiabilisation et une base de données temporaire, permettant de maintenir un état du ou d'une pluralité de terminaux récepteurs potentiels d'un flux multicast, chacun connecté à l'un des points d'entrée/sortie.
L'invention a en outre pour objet :
- un programme d'ordinateur mémorisé sur un support de mémorisation pour exécution par un ordinateur ou par l'unité centrale de traitement d'un système, remarquable en ce que sur connexion d'un terminal récepteur potentiel d'un flux multicast à l'un des ports d'entrée/sortie de ce système, ledit programme d'ordinateur exécute au moins, successivement : le calcul d'un filtre montant d'interception de trames de données transmises par ledit . terminal récepteur potentiel d'un flux multicast à partir de l'adresse unicast au niveau lien de ce dernier ;
Ie placement dudit filtre montant sur le point d'entrée/sortie sur lequel ledit terminal récepteur potentiel est connecté ; et, suite à une vérification de présence dudit filtre montant sur ledit port d'entrée/sortie, la récupération par interception et l'analyse de la nature d'au moins une trame de données transmise par ledit terminal récepteur potentiel ; et en fonction de la nature de ladite trame de données et du message transmis par ledit terminal récepteur potentiel, si ledit message est un message de requête d'accès à une diffusion multicast, la récupération dans ladite trame de l'adresse multicast de niveau supérieur au niveau lien du flux multicast demandé ; et, la déduction et le stockage, à partir de ladite adresse multicast de niveau supérieur au niveau lien, de l'adresse au niveau lien du flux multicast demandé ;
- un programme d'ordinateur mémorisé sur un support de mémorisation pour exécution par un ordinateur ou par l'unité centrale de traitement d'un système, remarquable en ce que, pour toute adresse multicast au niveau lien récupérée d'un flux multicast demandé par un terminal récepteur potentiel d'adresse unicast au niveau lien déterminée, ledit programme exécute au moins, successivement : le calcul d'un filtre descendant d'interception de trames de données transmises par ledit flux multicast, à partir de l'adresse multicast au niveau lien récupérée ; le calcul d'une règle de substitution d'adresse entre adresse multicast au niveau lien et adresse unicast au niveau lien ; et, suite à une vérification de présence dudit filtre descendant sur le port d'entrée/sortie auquel est connecté ledit serveur multicast, la récupération par interception et l'analyse de la destination de chaque trame de données transmise par le flux multicast filtrée par ledit filtre descendant ; l'application de ladite règle de substitution, à l'adresse multicast au niveau lien de chaque trame de données multicast étant substituée l'adresse unicast
au niveau lien dudit terminal récepteur potentiel du flux multicast, pour engendrer une trame de données multicast substituée ; le renvoi de chaque trame de données multicast substituée vers le. port de commutation auquel est connecté ledit terminal récepteur potentiel, ce qui permet de transmettre chaque trame de données multicast substituée sous l'adresse unicast au niveau lien dudit terminal récepteur potentiel et dô bénéficier de la sécurité et de la fiabilité de transmission du protocole unicast ;
- un programme d'ordinateur mémorisé sur un support de mémorisation pour exécution par un ordinateur ou par l'unité centrale de traitement d'un système, remarquable en ce que, en fonction de l'analyse de la nature d'au moins une trame de données transmise par un terminal récepteur potentiel d'adresse d'un flux multicast, si le message véhiculé par ladite trame est un message de fin d'accès audit flux multicast, ledit programme exécute au moins, successivement : la récupération dans ladite trame de l'adresse multicast de niveau supérieur au niveau lien de flux multicast demandé ; la déduction, à partir de ladite adresse multicast de niveau supérieur au niveau lien, de l'adresse au niveau lien du flux multicast demandé ; l'effacement de la règle de substitution correspondante ; la suppression du filtre descendant sur le port d'entrée/sortie auquel est connecté ledit serveur multicast ; et, suite à la vérification de la non existence d'une règle spécifique relative à l'adresse unicast au niveau lien dudit terminal récepteur potentiel, la suppression du filtre montant sur le port d'entrée/sortie auquel est connecté ledit terminal récepteur potentiel. Le procédé, le système de transmission d'un flux multicast et les produits de programmes d'ordinateur objets de l'invention trouvent application à la mise en œuvre de réseaux d'échange de données tels que les réseaux partagés du type réseaux locaux d'entreprise, réseaux domestiques radio selon la norme IEEE 802.11 ou par courants porteurs en ligne CPL par exemple.
Hs seront mieux compris à la lecture de la description et à l'observation des dessins, dans lesquels :
. , , - la figure 1 représente, à titre illustratif, un organigramme des étapes essentielles de mise en œuvre du procédé de transmission d'un flux multicast en réseau partagé, objet de la présente invention ;
- la figure 2a représente, à titre illustratif, un détail de mise en œuvre de l'étape d'analyse du flux multicast exécutée par le procédé objet de l'invention illustré en figure 1 ; • • '
- la figure 2b représente, à titre illustratif, un détail, de mise en œuvre de l'étape de substitution d'adresse exécutée par le procédé objet de l'invention illustré en figure 1 ;
- la figure 3a représente, à titre illustratif, un schéma. fonctionnel d'un système de transmission d'un flux multicast objet de l'invention, implanté dans un point d'accès ; - la figure 3b représente, à titre illustratif, un schéma fonctionnel d'un module de fiabilisation de la transmission d'un flux multicast constitutif d'un système objet de l'invention, tel que représenté en figure 3a ;
- la figure 4a représente, à titre illustratif, un organigramme fonctionnel des étapes mises en œuvre par le système et le module de fiabilisation de la transmission d'un flux multicast représentés en figure 3 a et 3b, lors du lancement d'une requête d'accès à un flux multicast par un terminal récepteur potentiel d'un flux multicast ;
- la figure 4b représente, à titre illustratif, un organigramme fonctionnel des étapes mises en œuvre par le système et le module de fiabilisation de la transmission d'un flux multicast représentés en figures 3a et 3b, lors du traitement de trames multicast dans un flux multicast dont l'adresse de groupe multicast a été reconnue conformément aux étapes décrites en liaison avec la figure 4a ;
- la figure 4c représente, à titre illustratif, un organigramme fonctionnel des étapes mises en œuvre par Je système et le module de. fiabilisation de la transmission d'un flux multicast représentés en figure 3a et 3b, lors du lancement
d'une requête de fin d'accès à une session multicast par un terminal récepteur potentiel d'un flux multicast ;
- la figure 5 représente un schéma illustratif d'une trame multicast substituée, conforme à l'objet de la présente invention. Une description plus détaillée du procédé de transmission d'un flux multicast en réseau partagé conforme à l'objet de la 'présente invention sera .maintenant donnée en liaison avec la figure 1 et les figures suivantes.
En référence à la figure 1 précitée, on indique que le procédé de transmission d'un flux multicast en réseau d'échange de données, objet de l'invention, est mis en œuvre au niveau d'un point d'accès AP, d'une passerelle ou d'un commutateur ainsi que décrit précédemment dans la description, ces éléments, ne disposant pas d'intelligence réseau importante, aucune ressource d'intelligence réseau telle qu'une ressource de routage n'étant nécessaire pour la mise en œuvre du procédé objet de la présente invention. On considère, au niveau du point d'accès AP précité, un flux multicast constitué par une succession de trames multicast, chaque trame multicast notée T[MUA] étant au moins liée à une adresse multicast MUA telle que l'adresse de groupe multicast sous laquelle la diffusion du flot multicast est effectuée. Compte tenu des considérations précédentes, le flot multicast est alors noté : MUF(T[MUA]).
En référence à la figure 1 précitée, le procédé objet de l'invention consiste, en une étape A, à analyser le flux multicast par trames de données pour détecter l'adresse multicast au niveau lien du flux multicast considéré.
D'une manière générale, par flux multicast on entend non seulement tout flux multicast descendant émis par un serveur multicast MS vers un terminal Ty récepteur potentiel du flux multicast considéré ainsi que toute succession de trames émise dans le sens montant du terminal récepteur potentiel précité Ty vers un point d'accès AP ou plus généralement vers toute source de diffusion multicast, telle qu'un serveur multicast MS. Les trames montantes et descendantes précitées ont en commun l'adresse de destination multicast précédemment indiquée MUA.
A l'étape A de la figure 1, l'étape consistant à analyser le flux multicast est représentée par la relation :
. , , MUF {T[MUAx+i]} HVlUAx.
D'une manière générale on indique que l'analyse précitée est exécutée au niveau lien pour détecter l'adresse multicast au niveau lien, c'est-à-dire l'adresse MUAx pour x=2, x=2 étant réputé désigner le niveau 2 de la couche du modèle OSI ou du modèle TCP/IP correspondant.
En référence à l'étape A de la figure 1 on indique que la détection de l'adresse multicast au niveau lien est en général effectuée à partir de l'adresse de chaque trame multicast au niveau supérieur au niveau lien ces trames étant dénotées :
T[MUAx+1] ainsi qu'il sera décrit ultérieurement dans la description, x+1 désignant lé niveau supérieur au niveau lien x de l'adresse multicast MUA considérée.
L'étape A est alors suivie d'une étape B consistant à substituer dans chaque tramé de données à l'adresse multicast au niveau lien une adresse unicast au niveau lien d'au moins un nœud du réseau d'échange de données, pour engendrer une trame multicast substituée.
A l'étape B de la figure 1, pour une adresse unipast au niveau lien d'un nœud donné, adresse dénotée UNAy, le nœud du réseau partagé étant réputé constitué par le terminal Ty précité, l'opération de substitution est représentée par la relation symbolique :
T[MUAx] Red » T[UNAy].
En référence à l'étape B précitée de la figure 1, on comprend que la trame multicast substituée T[UN Ay], par redirection d'adresse Red par exemple, n'est autre que la trame multicast précédente dans laquelle l'adresse multicast au niveau lien
MUAx a été remplacée par l'adresse unicast au niveau lien du nœud du réseau partagé, c'est-à-dire du terminal Ty.
L'opération B est alors suivie d'une opération C consistant à transmettre en _ lieu en place du flux multicast au moins un flux unicast, ce dernier étant constitué par
une succession de trames multicast substituées, le flux unicast étant transmis à l'adresse unicast au niveau lien, c'est-à-dire vers le nœud du réseau partagé considéré. On comprend bien sur qu'à une trame de flux multicast T[MUAx] peut bien entendu être substitué une pluralité de trames multicast substituées et finalement une pluralité de flux unicast transmis sous l'adresse unicast UNAy de chacun des nœuds ayant accès à la diffusion multicast d'origine.
Le mode opératoire du procédé objet de l'invention permet alors de bénéficier du mécanisme d'acquittement de trames de la transmission de flux unicast pour chacun des nœuds du réseau partagé ou terminaux de celui-ci concerné par la diffusion multicast pour la succession de trames multicast substituées.
Ainsi que mentionné à l'étape A de la, figure 1, le niveau lien est constitué par le niveau 2 des couches du modèle OSI ou TCP-IP de définition des flux multicast et unicast.
Par la mise en œuvre du procédé objet de la présente invention on .comprend que ce dernier intervient uniquement au niveau lien, c'est-à-dire au niveau des trames multicast respectivement unicast assurant le lien entre points de transfert des trames précitées et en aucun cas au niveau supérieur des couches successives du modèle OSI ou TCP/IP, ce qui permet d'assurer la compatibilité du procédé objet de la présente invention avec toutes les applications utilisant un tel protocole. D'une manière générale, on indique que l'étape consistant à substituer en B de la figure 1 à l'adresse multicast au niveau lien une adresse unicast au niveau lien peut être avantageusement effectuée par filtrage et redirection d'adresse des trames de données reçues comportant l'adresse multicast au niveau lien vers l'adresse unicast au niveau lien du nœud du réseau partagé considéré. Une description plus détaillée d'un mode de mise en œuvre préférentiel non limitatif de l'étape d'analyse A mise en œuvre par le procédé objet de la présente invention, tel qu'illustré en figure 1, sera maintenant donnée en liaison avec la figure 2a.
En référence à la figure 2a, on considère, en premier lieu, la connexion d'un terminal récepteur potentiel d'un flux multicast, terminal noté Ty, ce terminal étant
réputé exécuter une demande de flux multicast à une adresse multicast de groupe MUA par exemple.
Dans ces conditions, le flux multicast est noté MUF (T[MUA] } . D'une manière générale, et pour expliciter le processus de mise en œuvre du procédé objet de la présente invention, on indique que tout terminal Ty se connectant en réseau d'échange de données à un point d'accès AP quelconque est considéré comme un terminal récepteur potentiel du flux multicast, dans la mesure où ce terminal est a priori susceptible de transmettre une requête d'accès à un flux multicast c'est-à-dire à un flux multicast d'adresse de groupe MUA précitée. En référence à la figure 1 précitée, l'étape A consistant à analyser le flux multicast pour détecter l'adresse multicast au niveau lien consiste au moins, ainsi que représenté en figure 2a, en une étape A0 à détecter l'adresse unicast au niveau lien d'un terminal récepteur potentiel demandeur d'un accès au flux multicast considéré. L'étape Ao précitée peut être exécutée lors de la connexion du terminal récepteur potentiel Ty au point d'accès AP par l'intermédiaire du réseau d'échange de données correspondant, "l'adresse unicast du terminal Ty étant dénotée UNAy et désignant l'adresse unicast correspondante du terminal dans le réseau d'échange de données.
L'étape A0 est suivie d'une étape A1 consistait à calculer un filtre montant d'interception de trames de données transmises par le terminal récepteur potentiel Ty à partir de l'adresse unicast au niveau lien.
Le filtre montant est noté pour cette raison :
ULF(UNAy) (T[MUA] } .
Par l'annotation précédente du filtre montant on comprend que le filtre montant précité est destiné à intercepter tout message de demande d'accès multicast et en particulier toute trame multicast émise à partir de l'adresse unicast du terminal UNAy. Chaque trame multicast de demande d'accès comporte l'adresse de groupe multicast MUA auquel le terminal Ty souhaite accéder et est notée pour cette raison T[MUA], cette adresse n'étant pas connue avant interception.
Le filtre montant est ainsi réputé permettre l'interception de toute trame multicast T[MUA] émanant du terminal Ty à l'adresse unicast UNAy.
L'étape A1 est alors suivie d'une étape A2 consistant à analyser au moins une trame de données interceptée par le filtre montant précité pour déterminer le type de messages de session multicast transmis par le terminal Ty.
L'étape d'analyse précitée exécutée à l'étape A2 de la figure 2a est représentée par la relation symbolique
ULF(UNAy) (T[MUA] } ^ T[MUA].
Par l'opération d'interception et d'analyse précitée, on comprend que le filtre montant permet ainsi d'intercepter la trame T[MUA] et d'exécuter les opérations d'analyse ci-après. Les opérations d'analyse ont pour objet de mettre en évidence l'existence d'un message de session multicast du type accession. Cette opération • d'analyse est représentée sur la figure 2a par le test exécuté à l'étape A3 par la relation de test :
T[MUA]= "Accès".
La vérification de l'égalité précédente exécutée à l'étape A3 permet de vérifier que le message supporté par la trame multicast T[MUA] est un message de session multicast du type accession désigné par "Accès".
Sur réponse négative au test de l'étape A3, le message supporté par la trame multicast n'étant pas un message de type accession à une session multicast, le procédé d'analyse consiste alors en un retour à l'étape de détection de l'adresse unicast de tout terminal d'adresse UNAy à l'étape Ao précitée.
Au contraire, sur réponse positive au test de l'étape A3, le message supporté par la trame multicast T[MUA] étant un message de session multicast de type accession, l'étape de test A3 est suivie d'une étape A4 consistant à discriminer l'adresse multicast de niveau supérieur au niveau lien du flux multicast demandé par le terminal demandeur Ty.
La discrimination de l'adresse multicast de niveau supérieur au niveau lien est représentée par la relation à l'étape A4 :
T[MUAx+1]) ^MUAx+1.
Cette opération de discrimination est exécutée au niveau supérieur au niveau lien, c'est-à-dire finalement, selon le modèle OSI ou correspondant TCP/EP, sur le
niveau 3 de ces derniers, soit sur le niveau paquet, la discrimination de l'adresse MUAx+1, de niveau 3, dans le cas de la mise en œuvre du procédé objet de l'invention étant facilement exécutée au niveau paquet.
L'étape A4 de discrimination précitée est alors suivie d'une étape A5 de déduction de l'adresse multicast de niveau lien MUAx à partir de l'adresse multicast de niveau supérieur au niveau lien MUAx+ 1.
A l'étape A5 de la figure 2a, cette opération est représentée par la relation :
MUAx+1 ^MUAx.
Une description plus détaillée de l'étape B consistant à substituer à l'adresse multicast niveau lien une adresse unicast niveau lien mise en œuvre par le procédé objet de la présente invention, tel qu'illustré en figure 1, sera maintenant donnée en liaison avec la figure 2b. ,
Suite à l'exécution de l'étape A de. la figure 1, en particulier conformément aux étapes décrites précédemment en liaison avec la figure 2a, on dispose non seuletnent de l'adresse unicast UNAy du terminal Ty mais également de l'adresse multicast au niveau lien du flux multicast demandé et qui normalement doit être reçu par le terminal récepteur potentiel demandeur Ty.
En référence à la figure 2b, le procédé objet dp l'invention pour exécuter la substitution précitée consiste alors au moins, en une étape Bo, à calculer un filtre descendant d'interception de trames de données transmises par le flux multicast, à partir de l'adresse multicast au niveau lien.
A l'étape B0 de la figure 2b, le filtre descendant d'interception de trames de données est noté :
DLF(MUAx). On comprend en particulier que le filtre descendant précité est destiné à intercepter toute trame de flux multicast transmise par une source de diffusion multicast, telle qu'un serveur multicast par exemple, sous une adresse de groupe multicast, l'adresse MUAx au niveau lien.
L'étape B0 est alors suivie d'une étape B1 consistant à calculer une règle de substitution d'adresse unicast au niveau lien à l'adresse multicast au niveau lien.
A l'étape Bl de la figure 2b, la règle de substitution précitée est notée :
SR(MUAx,UNAy).
L'étape B1 est alors suivie d'une étape B2 d'analyse d'au moins une trame de données du flux multicast intercepté par le filtre descendant précité. A l'étape B2 d'analyse précitée, l'opération d'analyse proprement dite est représentée par la relation symbolique : ' .
DLF(MUAx) {MUF (T[MUAx] }}.
Par la relation symbolique précédente, on comprend que le filtre descendant appliqué au flux multicast MUF (T[MUAx] }, , c'est-à-dire la succession de trames émises sous l'adresse de groupe MUAx, permet d'intercepter et d'analyser les trames correspondantes pour obtenir les trames successives T[MUAx] constitutives du flux multicast.
L'étape B2 d'analyse est alors suivie d'une étape B3 consistant à appliquer la règle de substitution calculée à l'étape Bo. Pour chaque trame multicast de données interceptée est engendrée une trame de données multicast substituée.
A l'étape B3 de la figure 2b, l'opération d'application de la règle de substitution SR(MU Ax,UNAy) est représentée par la relation symbolique :
T[MUAx] ^T[UNAy] .
Une description plus détaillée d'un système de transmission d'un flux multicast en réseau d'échange de données, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec les figures 3 a, 3b, et les figures suivantes.
D'une manière générale, on indique que le système de transmission d'un flux multicast en réseau d'échange de données, objet de la présente invention est implanté dans un point d'accès AP en réseau d'échange de données, la notion de point d'accès recouvrant la notion de passerelle domestique, la notion de commutateur donnant accès au réseau IP par exemple, à partir d'un réseau tel qu'un réseau partagé.
Ainsi que décrit de manière non limitative en liaisons avec la figure 3 a, le point d'accès AP comporte au moins une pluralité de ports d'entrée/sortie notés P1 ... Pj ... Pi et un module d'infrastructure logicielle de gestion des ports
d'entrée/sortie notés SPIM. Le module d'infrastructure logicielle de gestion des ports d'entrée/sortie précité est connecté par une liaison par BUS à chacun des ports d'entrée/sortie précités.
Outré les éléments classiques précités, le point d'accès comporte avantageusement une unité centrale de calcul CPU et une mémoire de travail RAM interconnectées par une liaison par BUS aux ports d'entrée/sortie précités par l'intermédiaire du module d'infrastructure logicielle de gestion des ports d'entrée/sortie SPIM. L'unité centrale de calcul et la mémoire de travail RAM sont des éléments classiques et, pour cette raison, représentés en pointillés au dessin de la figure 3a.
En outre, l'un des ports d'entrée/sortie, le port P1 de manière non limitative, est logiquement connecté à un serveur de flux multicast MS par un réseau étendu, la connection logique s'entendant de toute connexion par l'intermédiaire du protocole IP par exemple. Un autre au moins des ports d'entrée/sortie, le port Pi à titre d'exemple non limitatif, est connecté à un terminal récepteur potentiel d'un flux multicast, le terminal Ty. Le "terminal récepteur potentiel Ty est repéré dans le réseau partagé par son adresse unicast au niveau lien, l'adresse UNAy précédemment mentionnée dans la description. Cette adresse est une adresse liée à la seule ponfiguration réseau partagée et ne dépend que du mode de liaison en réseau partagé! utilisé et du terminal Ty lui- même.
Ainsi que représenté en figure 3a, le système de transmission d'un flux multicast en réseau d'échange de données objet de l'invention comporte en outre de manière remarquable, implanté dans le point d'accès AP considéré, un module 1 de fiabilisation de la transmission de flux multicast permettant la transmission en lieu et place de tout flux multicast transmis par le serveur multicast d'au moins un flux unicast vers le terminal Ty demandeur. Le flux unicast considéré est en fait constitué d'une succession de trames de données multicast substituées, ainsi que décrit précédemment dans la description, dans lesquelles à l'adresse multicast au niveau lien, MUAx est substituée l'adresse unicast au niveau lien déterminée UNAy du terminal Ty ainsi que décrit précédemment dans la description.
Le système objet de l'invention, tel que représenté en figure 3a, comporte en outre une base de données DB comportant au moins une bases de données permanente contenant des données de configuration du module de fiabilisation et une base de données temporaire permettant de maintenir l'état du ou d'une pluralité de terminaux récepteurs potentiels tels que le terminal Ty, susceptibles de recevoir un flux multicast, chacun des terminaux précités étant connecté à l'un des ports d'entrée/sortie.
Sur la figure 3 a, on a représenté la base de données DB intégrée au point d'accès PA. Dans cette situation, la base de données DB peut alors être constituée sur un disque dur directement intégré au point d'accès PA. Cette situatipn peut être rencontrée lorsque le point d'accès est une passerelle telle qu'une passerelle domestique par exemple ou une installation plus importante dans le cadre d'un réseau d'entreprise.
De manière plus spécifique on indique que la base de données DB peut être implantée hors du point d'accès AP. Dans cette situation, la base de données DB peut être liée au réseau d'entreprise par exemple directement ou par l'intermédiaire d'un port d'entrée/sortie précité.
Une description plus détaillée d'un module de fiabilisation implanté dans un point d'accès AP, tel que décrit en figure 1, sera maintenant donnée en liaison avec la figure 3b.
En référence à la figure précitée, on indique que le module 1 de fiabilisation de la transmission d'un flux multicast en réseau d'échange de données, conforme à l'objet de la présente- invention, peut comporter au moins, avantageusement, un module Io de stockage/extraction de données de la base de données DB, le module I0 de stockage étant avantageusement relié par une liaison par BUS vers la base de données DB et vers l'unité centrale de traitement CPU par exemple, tel que représenté en figure 3 a.
En outre, le module 1 de fiabilisation comporte, ainsi que représenté sur la figure 3b précitée, directement connectée au module de stockage/extraction I0, une
chaîne Ii de filtrage et de récupération des trames multicast à partir des trames multicast transmises par l'infrastructure logicielle de gestion des ports d'entrée/sortie.
La chaîne 1 \ de filtrage et de récupération des trames permet, à partir des trames multicast transmises par l'infrastructure logicielle de gestion des ports d'entrée/sortie, d'exécuter l'opération de .filtrage et de récupération des trames précitées.
En outre, un module I2 de récupération d'adresse unicast est directement connecté au module I0 de stockage/extraction de données la base de données DB. Le module I2 précité de récupération d'adresse unicast permet 4e récupérer l'adresse déclarée lors de la connexion du terminal récepteur potentiel Ty de flux multicast au port d'entrée/sortie Pi par exemple.
Une chaîne I3 de déduction de l'adresse multicast au, niveau lien est également connectée directement au module de stockage/extraction lo. La chaîne I3 de déduction de l'adresse multicast au niveau lien permet, à partir de l'adresse multicast au niveau supérieur au niveau lien, c'est-à-dire l'adresse MUAx+i contenue dans la trame multicast, d'obtenir la déduction de l'adresse multicast au niveau lien MUAx ainsi que mentionné précédemment dans la description.
Enfin, une chaîne I4 de calcul et d'applicatijon de règles de substitution d'adresses unicast au niveau lien à l'adresse multicast ιau niveau lien est également prévue et directement connectée au module I0 de stockage/extraction de données de la base de données.
La chaîne 11 de filtrage et de récupération des trames multicast à partir des trames multicast transmises par l'infrastructure logicielle de gestion des ports d'entrée/sortie SPEVI comporte un module de calcul 110 des filtres au niveau lien. Ce module de calcul permet de calculer et installer des filtres au niveau lien, filtres de niveau 2, qui sont ensuite appliqués au niveau des ports d'entrée/sortie pertinents. Le module lio de calcul des filtres au niveau lien permet de stocker des informations relatives au filtre dans la base de données DB, au moyen du module de stockage/extraction IQ.
En outre, la chaîne Ii de filtrage et de récupération des trames multicast comporte un module l u de placement des filtres au niveau lien. Le module précité dialogue avec des modules logiciels de l'infrastructure logicielle de gestion des ports d'entrée/sortie SPIM, de façon à placer les filtres au niveau lien définis par le module 1 !o de calcul des filtres au niveau lien sur les ports d'entrés/sortie Pj pertinents ou à enlever les filtres précités en fin de session, ainsi qu'il sera décrit ultérieurement dans la description.
Suite à un placement des filtres au niveau lien sur les ports d'entrée/sortie pertinents, l'infrastructure logicielle de gestion des ports d'entrée/sortie SPIM est alors en mesure d'envoyer à un module de récupération des trames filtrées I12, des trames pour lesquelles le filtre établi, filtre au niveau lien, par le module 110 de calcul de filtres au niveau lien est alors reconnu.
Le module 112 de récupération des trames filtrées permet de récupérer les trames envoyées par l'infrastructure logicielle de gestion des ports d'entrée/sortie SPIM et envoie les trames récupérées précitées, c'est-à-dire filtrées, vers un module I6 d'analyse des trames multicast filtrées récupérées, fournies par la chaîne de filtrage et de récupération de trames multicast I1.
Le module I2 de récupération d'adresse unicast permet de récupérer l'adresse unicast fournie lors de la connexion du terminal Ty et du lancement de la procédure pour le terminal Ty précité. Le module I2 permet de stocker cette information dans la base de données DB au moyen du module I0 de stockage/extraction de la base de données.
La chaîne I3 de déduction de l'adresse multicast au niveau lien, à partir de l'adresse multicast au niveau supérieur au niveau lien contenue dans chaque trame multicast, comporte en fait un module l3o de récupération d'adresse multicast au niveau supérieur au niveau lien, c'est-à-dire au niveau 3. Le module l3o de récupération d'adresse permet de récupérer l'adresse multicast de niveau supérieur au niveau lien contenue dans, le message multicast et transmet l'adresse de niveau supérieur au niveau lien précitée à un module I31 constitutif de la chaîne I3 de déduction de l'adresse multicast au niveau lien. Le module I31 permet de déduire de
l'adresse multicast au niveau supérieur au niveau lien, l'adresse multicast au niveau lien et permet de stocker cette information dans la base de données DB au moyen de la fonction stockage/extraction de la base de données exécutée par le module I0.
La chaîne I4 de calcul et d'application de règles de substitution d'adresses unicast au niveau lien à l'adresse au niveau lien comporte, ainsi que représenté en figure 3b, un module I40 de calcul des règles de substitution. Le module I40 permet de former les règles de substitution qui permettent de substituer les adresses multicast au niveau lien par les adresses unicast au niveau lien correspondantes. Les règles établies par le module I40 précité sont transmises à un module I41 constitutif de la chaîne I4 de calcul et d'application des règles de substitution d'adresses. Le module I41 est un module d'application des règles de substitution. Le module I41 précité1 reçoit ainsi du module d'analyse des trames filtrées I6 une trame accompagnée de l'identifiant du filtre correspondant transmise par le module I6 d'analyse de trames multicast filtrées, récupérées, fournies par la chaîne de filtrage et de récupération des trames multicast filtrées. Le module I41 permet d'appliquer les règles de substitution définies par le" module I40 de calcul des règles de substitution et permet ainsi d'engendrer une trame multicast substituée, ainsi que décrit précédemment dans la description.
Enfin, un module I5 d'envoi des trames pour commutation vers le port d'entrée/sortie correspondant Pi est prévu. Lorsqu'en particulier la trame multicast substituée a été établie par le module I41 d'application des règles de substitution cette trame est envoyée par ce dernier au module I5 d'envoi des trames pour commutation vers le port. Le module I5 précité renvoie alors la trame multicast substituée vers l'infrastructure logicielle de gestion des ports d'entrée/sortie SPIM, pour assurer la commutation de la trame vers sa destination finale, c'est-à-dire vers l'adresse UNAy, adresse unicast du terminal Ty connecté au port P;.
En ce qui concerne le module I6 d'analyse des trames filtrées, on indique que ce dernier est en relation directe avec le module 112 de récupération des trames multicast filtrées dont il reçoit les trames multicast filtrées mais également en relation avec le module I30 de récupération d'adresse multicast au niveau supérieur au niveau
lien, avec le module I41 d'application des règles de substitution et enfin avec le module I5 d'envoi des trames pour commutation vers le port d'entrée/sortie pertinents
Pi. . . • . .
Dans ces conditions, et en fonctionnement, le module I6 d'analyse des trames multicast filtrées récupérées permet au moins d'assurer :
- soit le renvoi de la trame filtrée récupérée vers le module d'envoi de trames I5 pour commutation sans changement vers le port d'entrée/sortie P; auquel est connecté le terminal récepteur potentiel d'un flux multicast Ty ; cette situation se produit lorsque la trame multicast interceptée est une trame montante, issue du terminal Ty ;
- soit la copie de la trame filtrée précitée, la transmission de la copie vers la chaîne de déduction de l'adresse multicast au niveau lien et en particulier vers le module I30 de récupération d'adresse multicast au niveau supérieur au niveau lien, 1OrS1 par exemple, d'une nouvelle connexion et d'un accès à un flux multicast pour lequel aucune règle de substitution n'a encore été calculée par le module I40 de calcul des règles de substitution. La chaîne I3 de déduction d'adresses et en particulier les modules I30 et I31 constitutives de celles-ci permettent alors, à partir de la récupération d'adresse multicast au niveau supérieur au niveau lien, de déduire l'adresse multicast au niveau lien et de stocker cette dernière par l'intermédiaire du module I0 de stockage/extraction dans la base de données DB ;
- ou encore l'envoi de la trame filtrée récupérée vers la fonction et le module I41 d'application des règles de substitution, lorsque l'analyse des trames filtrées exécutée par le module I6 montre que l'adresse multicast au niveau lien MUAx est déjà connue pour l'adresse unicast au niveau lien UNAy considérée, l'application de la règle de substitution par le module I41 pouvant alors être effectuée directement car la règle de substitution étant connue, l'intervention du module I40 de calcul des règles de substitution n'est pas nécessaire.
Une description plus détaillée d'un processus de mise en œuvre du procédé objet de la présente invention, grâce au système et au module de fiabilisation d'un
flux multicast en réseau d'échange de données décrits en liaison avec les figures 3a et 3b précédentes, sera maintenant donné en référence aux figures 4a à 4c.
D'une manière générale on indique que le terminal Ty contient une application logicielle à laquelle est destinée le flux multicast demandé. L'utilisateur final du , terminal précité dialogue avec ,1'application multicast au moyen d'une interface homme machine de manière classique.
Pour la mise en œuvre du processus précité et, en particulier, du procédé et du système de transmission d'un flux multicast en réseau d'échange de données objets de la présente invention, une passerelle ou un point d'accès AP désigne un élément permettant le passage de données entre liens physiques de différentes technologies. Dans le cadre de la mise en œuvre du procédé et du système de transmission d'un flux multicast en réseau partagé, objet de l'invention, on indique qu'un point d'accès AP permettant le passage entre un lien physique Ethernet et un lien physique radio de type WIFI est considéré comme une passerelle au sens large du terme. Une passerelle peut également posséder, le cas échéant, des fonctions liées aux applications telles que fonctions de fourniture d'adresse ou autres.
Dans le cadre de la mise en œuvre du procédé et du système objets de la présente invention, on appelle procédure multicasthmicast au niveau lien, la procédure suivie par le système et en particulier le rήpdule 1 de fiabilisation de la transmission d'un flux multicast en réseau partagé de manière préférentielle mais non limitative ainsi qu'illustré en référence aux figures 4a à 4c précitées.
En référence à la figure 4a, on indique que le lancement de la procédure concerne le lancement de la procédure multicast/unicast au niveau lien.
Selon le fichier de configuration contenu dans la base de données DB, le module 1 de fiabilisation d'un flux multicast en réseau partagé peut :
- soit lancer la procédure multicast/unicast au niveau lien dès le démarrage de la passerelle pour tous les terminaux qui se connectent à celle-ci ;
- soit lancer la procédure multicast/unicast au niveau lien dès le démarrage de la passerelle pour certains des terminaux dont les identifiants sont fournis dans le fichier de configuration sous forme d'une liste ou autre ;
- ou encore instaurer un dialogue avec les applications de la passerelle afin de savoir à quel moment lancer la procédure multicast/unicast au niveau lien et, en définitive, pour quel terminal récepteur potentiel multicast connecté, chacun de ces derniers étant identifié par son adresse unicast au niveau lien. A titre d'exemple non limitatif, on indique que, préalablement à la diffusion multicast le terminal récepteur potentiel Ty peut signaler1 à la passerelle qu'il va accéder à un service multicast par un message de signalisation. Ce message de signalisation peut être transmis par l'intermédiaire d'un protocole applicatif de demande de service, par exemple comme le protocole SIP pour Session Initiation Protocol en anglais. L'une des applications de la passerelle ou du point d'accès AP • peut alors activer le module 1 de fiabilisation de la transmission d'un flux multicast en réseau partagé et lui fournir l'identifiant du terminai-récepteur multicast, c'est-à- dire l'adresse unicast UNAy précédemment mentionnée.
En définitive, la procédure multicast/unicast au niveau lien précitée, conforme à l'objet de la présente invention, est lancée avec en paramètre au moins une adresse unicast au niveau lien d'au moins un terminal récepteur potentiel multicast, c'est-à-dire l'adresse UNAy, laquelle correspond à une adresse MAC dans le réseau partagé pour Médium Access Çontrol en anglais.
Suite au lancement de la procédure multicast/unicast au niveau lien selon l'une des options précitées, le module I2 de récupération d'adresse unicast stocke dans la base de données DB l'identifiant du terminal récepteur potentiel multicast Ty, c'est- à-dire son adresse MAC unicast UNAy. Le stockage précité s'effectue au moyen de la fonction du module Io de stockage/extraction de la base de données DB.
Ainsi que représenté en figure 4a, une étape 100 de calcul du filtre montant A1 est alors appelée par le module 110 de la chaîne 11 de calcul des filtres de niveau lien, le module I2 permettant ainsi de récupérer l'adresse unicast afin d'établir un filtre montant basé sur l'adresse précitée. Le filtre montant Ai est alors établi pour exécuter un filtrage sur l'adresse source unicast UNAy et sur toute adresse de destination multicast et est par exemple de la forme :
filtre A1 = (adresse_MAC_source=09:88:5E:01:99:99, adresse_MAC_destination=01 :00:5E:XX :XX :XX). Le module 1 io de calcul de filtres au niveau lien stocke alors dans la base de données DB le filtre précité, lequel est mis en correspondance dans la base de données DB avec l'adresse unicast du terminal récepteur multicast.
Le module lu exécute alors la fonction de placement du filtre Ai en une étape 101 représentée en figure 4a, c'est-à-dire de placement et d'installation du filtre montant sur le port Pj, port logique de la passerelle, assurant la connexion de la passerelle au terminal récepteur multicast Ty. Un test de vérification 102 de la présence opérationnelle du filtre montant
A1 peut être prévu.
1 Le module 112 de récupération des trames filtrées permet ensuite en une étape 103 l'interception des trames filtrées par le filtre montant Ai, trame issue du terminal récepteur potentiel Ty, lesquelles sont alors transmises au module d'analyse de trames I6. Le module précité analyse les trames filtrées et permet alors, en une étape 104 de détecter le type de message transmis par le terminal Ty et, en particulier, de détecter l'existence d'un message de signalisation d'accès à une session multicast, message dit de type "Accès". Lorsque le message détecté à l'étape de test 104 de la figure 4a n'est ni un message de type accession à une session multicast, message "Accès", ni un message de fin de session multicast, message de type "Retrait", alors un retour à l'étape 102 de présence filtre montant est exécutée pour poursuite du processus de surveillance de chaque terminal récepteur potentiel multicast Ty. Cette opération est représentée par la boucle de retour Autre message à l'étape 102 de la figure 4a. Au contraire, s'il s'agit d'un message mettant fin à une session multicast pour le terminal Ty considéré d'adresse unicast UNAy, message de type "Retrait", alors une procédure spécifique représentée par la référence T sur la figure 4a est appelée, laquelle sera décrite ultérieurement dans la description.
Si le message détecté à l'étape de test 104 est un message d'accession à une session multicast, message "Accès", alors une étape 105 est appelée dans les
conditions ci-après. La trame est alors copiée par le module I6 d'analyse de trames. La trame originale est envoyée vers le module envoi de trames pour commutation vers le port, module I5, lequel procède alors à ϋenvoi de la trame d'origine vers l'infrastructure logicielle de gestion des ports SPIM. La copie de la trame filtrée est alors envoyée, au module I30 de récupération d'adresse multicast de niveau supérieur au niveau lien. Le message supporté par la trame précitée contient l'adresse multicast de niveau supérieur au niveau lien du groupe multicast auquel le terminal récepteur potentiel multicast souhaite accéder.
L'adresse de niveau supérieur au niveau lien est alors extraite par le module l3o de récupération d'adresse multicast de niveau supérieur au niveau lien. Un exemple d'adresse précitée de niveau supérieur au niveau lien est l'adresse IP multicast = 239.1.2.11 par exemple.
A partir de l'adresse précitée, le module I31 permet alors d'effectuer à l'étape 106 la déduction d'adresse multicast au niveau lien à partir de l'adresse multicast de niveau supérieur au niveau lien précitée, l'adresse multicast au niveau lien est celle qui est utilisée par le groupe multicast considéré habilité à recevoir la diffusion multicast demandée par le terminal Ty, selon une règle de déduction préétablie. En effet, une adresse multicast Ethernet est composée du préfixe multicast 01:00:5E combiné au 23 derniers bits de l'adresse IP multicast correspondante. Ainsi, l'adresse multicast au niveau lien est l'adresse MAC multicast =
01:00:5E:01:02:0B adresse MAC déduite de l'adresse multicast de niveau supérieur au niveau lien précitée, c'est-à-dire de l'adresse IP multicast = 239.1.2.11.
Le module I31 de déduction d'adresse multicast au niveau lien procède alors au stockage dans la base de données DB de l'adresse multicast au niveau lien. Le stockage précité s'effectue par l'intermédiaire du module Io de stockage/extraction de la base de données. Dans la base de données DB précitée, l'adresse multicast déduite est mise en correspondance avec l'adresse unicast du terminal récepteur potentiel Ty et avec le filtre montant A1 préalablement stocké.
Les étapes de discrimination 105, de déduction 106 de l'adresse multicast de niveau supérieur au niveau lien MUAx+I puis de déduction de l'adresse multicast au
niveau lien MUAx exécutées par le module I30, respectivement I31 sont alors poursuivies par la succession d'étapes référencées G sur la figure 4a, lesquelles sont explicitées en référence à la figure 4b.
En référence à la figure précitée, le module 1 de fiabilisation de la transmission d'un flux multicast, conforme à l'objet de l'invention, permet d'exécuter une étape 107 consistant à calculer un filtre descendant noté B1. Cette étape est exécutée par le module l io de calcul des filtres de niveau lien, lequel récupère l'adresse multicast au niveau lien stockée précédemment, afin de former un filtre basé sur l'adresse multicast au niveau lien précitée., Le filtre descendant présente alors la forme : filtre B=(adresse_destination_niveau_2=adresse_multicast_déduite_de_l 06) le filtré descendant peut par exemple correspondre à : . ' filtre Bi=(adresse MAC destination = 01 :00:5E:01 :02:0B). Le filtre descendant B1 est alors stocké dans la base de données DB par l'intermédiaire du module I0 et mis en correspondance dans cette dernière avec l'adresse unicast du terminal récepteur potentiel Ty multicast avec le filtre montant A1 précédemment décrit et l'adresse multicast au niveau lien préalablement stockée.
Une étape 108 de placement du filtre descendant B1 sur le port P1 auquel est connecté le serveur multicast MS est alors exécuté pari le module de placement des filtres au niveau lien référencé I11.
L'étape 108 précitée est alors suivie d'une étape 109 consistant à calculer la règle de substitution notée C1 sur la figure 4b. Cette étape est exécutée par le module I40, lequel récupère depuis la base de données DB, l'adresse multicast au niveau lien, l'adresse unicast du terminal récepteur potentiel multicast Ty et un identifiant correspondant au filtre descendant B1, afin de former la règle de substitution appelée règle de type C, désignée SR(MUAx, UNAy) précédemment dans la description.
La règle précitée permet de remplacer l'adresse multicast au niveau lien de destination par l'adresse unicast au niveau lien du terminal récepteur potentiel multicast Ty préalablement mémorisée dans la base de données DB, lors du
lancement de la procédure représentée en figure 4a pour la trame filtrée interceptée par le filtre descendant B1.
Un exemple de règle de substitution est le suivant : règle Ci : (adresse_niveau_lien_destination_"01:00:5E:01:02:0B") substituée par adresse_niveau_lien_destination_"09:88:5E:01 ;99:99" pour les trames filtrées par le filtre descendant Bi.
En tout état de cause; suite à l'étape 109, un retour à l'étape 102 de vérification de présence du filtre montant est prévu, de façon à permettre la poursuite de l'interception de toute trame multicast montante. Chaque trame multicast filtrée par le filtre descendant Bi est interceptée par le module de récupération de trames filtrées 1 n, transmise au module d'analyse des trames filtrées I6 puis redirigée, accompagnée de l'identifiant du filtre descendant B1 vers le module l4i d'application des règles de substitution. Ce dernier exécute alors l'application de la règle de substitution correspondante, c'est-à-dire, la , règle correspondant à une trame interceptée par le filtre descendant B1 ayant pour adresse de destination au niveau lien l'adresse multicast déduite à l'étape 106 de la figure 4a.
Après l'application de la règle précitée, le module I41 relaie la trame interceptée vers le module I5 d'envoi des trames pour commutation vers le port afin que la . trame précitée soit commutée vers sa nouvelle destination, c'est-à-dire l'adresse unicast au niveau lien du terminal récepteur potentiel multicast Ty.
Dans un mode de réalisation avantageux non limitatif du système et du module de fiabilisation de la transmission d'un flux multicast objets de l'invention, le filtre montant A1 peut être maintenu tout au long de la session , multicast, afin d'intercepter les messages de signalisation multicast provenant du terminal récepteur potentiel multicast Ty. Cette variante de mise en œuvre avantageuse est représentée par la boucle de retour du test 104, en réponse négative au type de message, vers le test 102 sur la figure 4a. Les messages de signalisation précités permettent au module et au système de fiabilisation de la transmission d'un flux multicast en réseau partagé objet de l'invention, de maintenir et, au besoin, d'adapter chaque filtre descendant B1 ainsi que les règles de substitution correspondantes C1.
Enfin, on indique que, sur la figure 4b, les opérations de récupération et d'analyse de trames à l'étape 111 et d'application de la règle de substitution C1 à l'étape 112 puis le renvoi de la trame vers les ports pour commutation à étape 113 exécutées respectivement par les modules Ij2, I6, l4i et I5, sont bien entendu exécutées pour chaque trame multicast substituée, cette opération successive étant représentée par la boucle de retour entre l'étape 113 de la figure 4b et le test 110 de présence du filtre descendant B1 sur le port P1 auquel est connecté le serveur multicast MS.
Différentes indications seront maintenant donnée,s relativement aux procédures d'adaptation suivies par le module 1 de fiabilisation de la transmission d'un flux multicast en réseau partagé, objet de l'invention, pour prendre en compte les changements dans la transmission du ou des flux multicast vers un terminal récepteur multicast Ty déterminé.
Lorsqu'un terminal récepteur potentiel multicast Ty appartient déjà à un groupe multicast, c'est-à-dire lorsqu'il reçoit une diffusion multicast diffusée sous une adresse de groupe multicast donnée mais que cette diffusion est réalisée par l'intermédiaire de trames multicast substituées, lorsque le terminal précité souhaite s'inscrire à un nouveau groupe multicast ou quitter un groupe multicast, par exemple, le module 1 de fiabilisation objet de l'invention I permet de s'adapter à ces changements de situation et, en particulier, d'adapter les filtres descendants de type B déjà niis en œuvre ou ajouter de nouveaux filtres.
Ces adaptations sont bien entendu rendues possibles par le fait que le filtre montant A1 d'interception des messages de signalisation multicast, reste et est maintenu en place tout le long d'une session multicast ou finalement d'une pluralité de sessions multicast. Le filtre montant précité permet ainsi tout au long d'une transmission multicast, de filtrer et d'intercepter les messages relatifs à :
- une inscription du terminal récepteur potentiel multicast Ty à un nouveau groupe multicast ;
- une résiliation d'inscription du terminal récepteur multicast potentiel Ty à l'un des groupes multicast auquel il est inscrit.
D'une manière générale, on indique que lors de l'interception d'un message multicast indiquant une demande d'accession, message multicast de typé "Accès" ainsi que décrit précédemment, du terminal récepteur potentiel multicast Ty concernant une requête d'adhésion à un nouveau groupe multicast identifié par une autre adresse multicast de niveau supérieur au niveau lien, la procédure peut être résumée en :
- interception de la trame de ce message par le filtre montant A1 maintenu sur le port P; auquel est connecté le terminal Ty et exécution des étapes 105 et 106 de discrimination, puis de déduction de l'adresse multicast au niveau lien MUAx de la figure 4a.
Suite aux opérations des étapes 105 et 106 de la figure 4a précitée, pour le nouveau groupe auquel souhaite adhérer le terminal Ty, la nouvelle adresse est stockée dans la base de données DB au moyen du module de stockage/extraction I0 représenté en figure 3b ainsi que décrit précédemment. Dans la base de données DB, cette nouvelle adresse multicast est mise en correspondance avec le filtre montant A1 ainsi qu'avec l'adresse unicast du terminal récepteur potentiel multicast Ty déjà stockée.
La procédure d'ensemble des étapes G de la figure 4a est exécutée conformément à la figure 4b et poursuivie ainsi que décrit précédemment dans la description par appel de l'étape 107 pour le calcul d'un filtre B2, filtre descendant distinct du filtre B1, puis placement du filtre descendant B2 à l'étape 108 sur le port P1 ou sur un port distinct sur lequel le serveur multicast MS ou un autre serveur est logiquement connecté. L'étape 108 est suivie d'une étape 109 de calcul d'une autre règle de substitution C2 de l'étape 110 de test de présence du filtre descendant B2 sur le port d'entrée sortie pertinent puis par l'exécution des étapes 111, 112 et 113 à chaque trame filtrée par le filtre descendant B2, application de la règle de substitution C2 et renvoi correspondant de la trame vers les ports pour commutation à l'étape 113 pour transmission de chaque trame multicast substituée conforme à la règle de substitution C2 établie à l'étape 109.
Ainsi, l'inscription du terminal récepteur potentiel multicast Ty à un nouveau groupe multicast d'adresse de groupe différente de la précédente se traduit par la mise en place d'une nouvelle règle de substitution C2 et la mise en place d'un nouveau filtre de type B2. Une description plus détaillée d'une procédure spécifique de résiliation d'une inscription ou aφiésion d'un terminal récepteur potentiel multicast Ty à une session multicast ouverte pour ce dernier sera maintenant donnée en liaison avec la figure 4c.
Lors de l'interception d'un message multicast indiquant une demande du terminal récepteur potentiel multicast Ty de quitter son groupe multicast, c'est-à-dire lors de la reconnaissance d'un message multicast de type "Retrait" identifié bien entendu par une adresse multicast de niveau supérieur au niveau lien, c'est-à-dire1 d'une adresse de groupe multicast, la procédure, est alors la suivante : ,
- la trame contenant le message de fin de session est interceptée par le filtre montant A1. Le module I6 d'analyse des trames filtrées analyse la trame précitée et détecte le message de signalisation de type "Retrait". La trame interceptée précitée est copiée par le module I6 d'analyse de trames et la trame originale est renvoyée vers le module I5 d'envoi de trames pour commutation vers le port, lequel procède alors à l'étape 114 à la transmission de la trame vers l'infrastrucpture logicielle de gestion des ports SPIM ; i -r- la trame copiée est envoyée au module I30 de récupération d'adresse multicast de niveau supérieur au niveau lien, le module I30 précité procédant alors à l'étape 114 à l'extraction de l'adresse multicast de niveau supérieur au niveau lien, adresse du groupe multicast que le terminal récepteur potentiel multicast souhaite quitter. A titre d'exemple non limitatif, l'adresse multicast de niveau supérieur au niveau lien peut être une adresse IP multicast = 239.1.2.11.
Le module I31 de déduction d'adresse multicast au niveau lien procède à la déduction de l'adresse multicast au niveau lien à partir de l'adresse multicast de niveau supérieur au niveau lien précitée selon une règle déjà connue en tant que telle. Cette opération est réalisée à l'étape 115 de la figure 4c.
A titre d'exemple, l'adresse multicast au niveau lien peut correspondre à une adresse MAC multicast = 01:00:5E:01:02:0B déduite de l'adresse IP 239.1.2.11 précitée.
Suite à l'étape 115, et à partir de l'adresse multicast au niveau lien, et de l'identifiant du filtre montant A1, le module 1 de fiabilisation de la transmission d'un
, flux multicast en réseau partagé, objet de l'invention, déduit à partir de l'adresse multicast au niveau lien précitée et de l'identifiant du filtre B1, filtre descendant, la règle de substitution C1 a effacer à l'étape 116. L'étape 116 est alors suivie d'une étape 117 consistant à déterminer, à partir de l'adresse multicast au niveau lien et de l'identifiant du filtre A1 contenus dans la base de données DB, le filtre descendant B1 à enlever sur le port P1, auquel est connecté le serveur multicast MS. Le filtre descendant B1 est enlevé par désactivation par le modulé 1 π de placement des filtres au niveau lien.
L'étape 117 peut être suivie d'une étape de test 118 permettant de. vérifier s'il existe une autre règle de substitution, telle que la règle C2 précitée, relative à l'adresse unicast du terminal récepteur potentiel multicast Ty. Cette opération est symbolisée par la relation symbolique :
3C2, UNAy ? l'existence d'une autre règle de substitution C2 étant associée au terminal d'adresse unicast UNAy.
Sur réponse positive au test 118 précité, la procédure de résiliation d'une inscription au flux multicast correspondant au filtre descendant B1 et à la règle de substitution C1 est terminée. Sinon, en réponse négative au test 118 précité, aucune autre règle de substitution n'existant pour le terminal Ty d'adresse unicast UNAy, alors une étape 119 d'enlèvement du filtre A1, filtre montant relatif au terminal précité sur le port Pj, est exécutée par le module de placement des filtres au niveau lien I11. Le terminal récepteur potentiel Ty ayant quitté tous les groupes multicast auquel il était inscrit, ce terminal peut être géré comme un terminal quelconque et soumis à surveillance pour tout nouveau lancement de la procédure multicast/unicast, telle que représentée en figure 4a par le module 1 et le système de fiabilisation de la
transmission d'un flux multicast en réseau partagé, conforme à l'objet de la présente invention.
Enfin, la figure 5 représente une trame de transmission d'un flux multicast obtenue grâce à la mise en oeuvre du procédé objet de l'invention. Cette trame constitue. une trame multicast substituée comportant une adresse unicast au niveau lien, l'adresse UNAy, une Suite de l' en-tête niveau lien, l'adresse de destination multicast de niveau réseau, l'adresse de groupe MUAx, une suite de l'en-tête au niveau réseau, un champ de données, données multicast, un champ de fin de paquet au niveau réseau et un champ de fin de trame au niveau lien. . ,