Brevet FR2849730A1 — publié le 20040709

L'invention concerne les réseaux de communication de type bus Ethernet et plus particulièrement de tels réseaux dits domestiques. Il est connu qu'un réseau de communication de type bus Ethernet fonctionne selon le mode CSMA/CD, c'est-à-dire par détection de porteuse avec détection de collision. Certains travaux de recherche ont proposé d'utiliser des mécanismes d'allocation de priorités implémentés dans les paquets Ethernet pour permettre dans ce type de réseau de communication de transmettre des 10 flux de données sur le bus Ethernet. Toutefois, ce type de mécanisme d'allocation de priorités s'adresse plutôt à des réseaux informatiques organisés autour de routeurs. Il n'est pas adapté à des petits réseaux de communication du type réseaux domestiques ou les équipements sont passifs. Le but de l'invention est de proposer un mécanisme pour réserver à au 15 moins un noeud d'un réseau de communication de type bus Ethernet une certaine fraction de la bande passante du bus de façon à lui permettre de transmettre un flux de données, par exemple un flux audio/vidéo selon la norme DVB (" Digital Video Broadcast "). L'idée à la base de l'invention est de superposer au protocole de 20 communication Ethernet, un arbitrage d'accès au bus par circulation d'un jeton entre les noeuds du réseau de façon à pouvoir contrôler les temps d'accès en écriture sur le bus par les noeuds du réseau. Le terme jeton désigne un droit d'écriture qui est accordé à un noeud du réseau au sens d'un réseau de type anneau à jeton connu sous le nom anglais de " token ring ". Plus particulièrement, l'objet de l'invention est une méthode pour réserver à au moins un noeud d'un réseau de communication de type bus Ethernet, une fraction prédéterminée de la bande passante du bus Ethernet, caractérisée en ce qu'elle consiste à: - faire circuler un jeton entre les noeuds du réseau de telle manière à permettre 30 aux noeuds du réseau d'envoyer à tour de rôle un paquet Ethernet sur le bus selon une séquence préétablie définissant un ordre chronologique de passage du jeton entre les noeuds; et - dans laquelle la fraction prédéterminée de la bande passante réservée pour un noeud du réseau correspond dans la séquence à un certain nombre d'occurrences de passage du jeton par le noeud considéré. La méthode selon l'invention présente les particularités suivantes: - les occurrences de passage du jeton par un noeud du réseau sont réparties dans la séquence parmi les occurrences de passage du jeton par les autres noeuds du réseau pour éviter les phénomènes de gigue; - l'ordre chronologique de passage du jeton entre les noeuds du réseau est défini par un noeud maître du réseau; - le noeud maître construit à l'initialisation du réseau une première table dans laquelle est stockée pour chaque noeud du réseau une information indicative de la fraction de bande passante réservée pour le noeud du réseau et sur la base de la première table, le noeud maître construit une seconde table dans laquelle est stockée la séquence définissant l'ordre de passage du jeton entre 15 les noeuds du réseau; L'invention concerne les réseaux de communication domestique de type bus Ethernet comprenant des noeuds de réseau configurés pour mettre en oeuvre la méthode définie plus haut. L'invention s'étend encore à un équipement de communication destiné à être 20 connecté à réseau de communication de type bus Ethernet, caractérisé en ce qu'il est configuré pour faire circuler un jeton entre les noeuds du réseau et en ce qu'il est agencé pour construire une première table dans laquelle est stockée pour chaque noeud du réseau une information indicative d'une fraction de la bande passante du bus réservée pour le noeud du réseau et une seconde table 25 dans laquelle est stockée une séquence définissant un ordre chronologique de passage du jeton entre les noeuds, la fraction de la bande passante réservée pour un noeud du réseau correspond dans la séquence à un certain nombre d'occurrences de passage du jeton par le noeud considéré. D'autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation qui vont suivre, pris à titre d'exemples non limitatifs, en référence aux figures annexées dans lesquelles: La figure 1 représente de façon très schématique un réseau de communication domestique de type bus Ethernet selon un exemple de réalisation de l'invention. La figure 2 est un chronogramme illustrant le fonctionnement des noeuds du réseau pour mettre en oeuvre la méthode selon un exemple de réalisation de l'invention. Le réseau de communication domestique de type bus Ethernet illustré sur la figure 1 comprend ici quatre noeuds de réseau représentés par les blocs A, B, C et D qui peuvent être des équipements de communication grand public comme un récepteur d'antenne parabolique, un décodeur numérique, un lecteur de disque optique et un téléviseur. Le bus Ethernet est indiqué par la référence 1. Il 15 est généralement constitué par une paire de fils torsadés. Un tel réseau de communication domestique a généralement une bande passante de 100 Mb par seconde. Dans ce réseau de communication domestique, un arbitrage d'accès au bus Ethernet par l'intermédiaire d'un mécanisme de circulation d'un jeton est 20 superposé au protocole Ethernet pour permettre la transmission sur le réseau de flux de données, par exemple des flux audio et/ou vidéo DVB. La circulation du jeton entre les noeuds A, B, C et D du réseau permet aux différents noeuds du réseau d'accéder en écriture au bus Ethernet 1 à tour de rôle sans risque de collision. Quand il possède le jeton, un noeud envoie sur le bus 1 à un noeud 25 destinataire un et un seul paquet Ethernet (couche 2 modèle OSI) dont la charge utile maximale est de 1500 octets, plus éventuellement des paquets de contrôle (gestion du protocole). Selon le présent exemple de réalisation de l'invention, les noeuds du réseau peuvent réserver chacun une fraction de la bande passante du bus. Dans 30 l'exemple illustré sur la figure 1, le noeud A a réservé 10 Mb par seconde, le noeud B a réservé 20 Mb par seconde, le noeud C a réservé 30 Mb par seconde et le noeud D a réservé 40 Mb par seconde. Les informations indicatives de la fraction de bande passante réservée par chaque noeud sont collectées par un noeud maître du réseau, ici le noeud A, et sont stockées dans une table 1 en correspondance avec les adresses physiques réseau des noeuds. Les adresses physiques des noeuds du réseau A, B, C et D sont représentées respectivement 5 par MACA, MACB, MACC, MACD et les adresses logiques réseau des noeuds sont représentées respectivement par IDO, ID1, ID2, ID3. Ces adresses logiques sont utilisées dans les messages réseau pour la circulation du jeton. Sur la base de la table 1, le noeud maître A construit dans une table 3 sous la forme d'une liste, une séquence définissant l'ordre chronologique de 10 passage du jeton entre les noeuds de telle manière que la fraction prédéterminée de la bande passante réservée pour chaque noeud du réseau corresponde dans la séquence à un certain nombre d'occurrences de passage du jeton par le noeud considéré. La séquence définissant l'ordre chronologique de passage du jeton peut 15 être construite par le noeud maître A en utilisant un calcul de plus grand commun diviseur entre les fractions de bande passante réservées. Dans l'exemple de la figure 1, la bande passante totale disponible est de 100 Mb par seconde. Le plus grand commun diviseur est 10 Mb par seconde. Sur cette base, la séquence définissant l'ordre chronologique de passage du jeton comportera 1 occurrence 20 de passage pour le noeud A, 2 occurrences de passage pour le noeud B, 3 occurrences de passage pour le noeud D et 4 occurrences de passage pour le noeud C. Ces occurrences de passage sont symbolisées dans la table 3 par les adresses logiques IDO, ID1, ID2 et ID3 des noeuds. Par ailleurs, les occurrences de passage du jeton par un noeud du 25 réseau peuvent avantageusement être réparties de façon équitable dans la séquence parmi les occurrences de passage du jeton par les autres noeuds du réseau, par exemple en utilisant l'algorithme de Beliman, comme illustrée dans la table 3 sur la figure 1. Cette répartition permet d'éviter les phénomènes de gigue. Le fonctionnement des noeuds du réseau pour mettre en oeuvre la méthode 30 selon un exemple de réalisation de l'invention est maintenant décrit en référence avec la figure 2. Initialisation du bus Ethernet et élection du noeud maître A l'initialisation du bus Ethernet, un ou plusieurs noeuds du réseau doivent être configurés comme noeuds maître du réseau. Sur réception d'un message réseau d'initialisation envoyé depuis l'un des noeuds du réseau, chaque noeud 5 configuré en noeud maître envoie sur le bus Ethernet 1 un premier message réseau contenant l'adresse physique du noeud. Ces premiers messages réseau sont envoyés sur le bus 1 depuis chaque noeud avec un retard aléatoire borné. A l'expiration du délai maximal de transmission du premier message réseau, le noeud configuré en noeud maître qui a la plus grande adresse physique se 10 détermine de façon implicite comme noeud maître du réseau. Dans l'exemple de la figure 2, le noeud maître du réseau est le noeud A dont l'adresse physique est représentée par MACA Avis d'élection du noeud maître sur le réseau et numérotation logique des autres 15 noeuds du réseau Le noeud maître du réseau envoie sur le bus 1 un second message réseau pour annoncer aux autres noeuds du réseau qu'il est le noeud maître et qu'il a une adresse logique, ici représentée par IDO. Quand le second message réseau est reçu par tous les autres noeuds du 20 réseau, chaque autre noeud du réseau renvoie sur le bus 1 un troisième message réseau M3 contenant l'adresse physique du noeud, par exemple MACB pour le noeud B, et de façon facultative, une information indicative de la fraction de bande passante réservée par le noeud, par exemple 20 Mb par seconde pour le noeud B. Afin d'éviter les collisions de messages réseau Ethernet sur le bus 1, 25 l'intervalle de temps entre l'instant de réception du second message réseau dans un noeud et l'instant d'envoi du troisième message réseau M3 est un délai aléatoire borné de valeur maximale TI. Si un noeud du réseau ne reçoit pas un quatrième message M4 du noeud maître avant le délai Tl décompté depuis l'instant de réception du second message réseau, il renvoie de nouveau 30 immédiatement un troisième message réseau M3 sur le bus comme illustré sur la figure 2 pour le noeud C. En réponse à la réception d'un troisième message réseau M3, le noeud maître A renvoie au noeud émetteur, par exemple le noeud B, le quatrième message réseau M4 comportant l'adresse logique affectée au noeud, par exemple ID1 pour le noeud B. Le noeud maître incrémente les adresses logiques 5 affectées aux noeuds du réseau au fur et à mesure qu'il reçoit les troisièmes messages réseau M3. Ce processus de numérotation des noeuds du réseau par échange des troisièmes et quatrièmes messages réseau M3, M4 est représenté par la partie I du chronogramme. En même temps que les quatrièmes messages réseau M4 10 sont envoyés sur le bus 1, le noeud maître A construit la table d'association 1 contenant pour chaque noeud du réseau, les adresses physique MACA, MACB, MACC, MACD et logique IDO, ID1, ID2, ID3 du noeud et l'information indicative de la fraction de bande passante réservée par le noeud. Après un délai équivalent à 2 fois le délai TI, décompté depuis l'instant 15 d'envoi du second message réseau, le noeud maître A construit la table 3 contenant la séquence définissant l'ordre chronologique de circulation du jeton entre les noeuds du réseau comme indiquée plus haut et la transmet à chaque noeud du réseau. Après un délai équivalent à 3 fois le délai Tl, décompté depuis l'instant 20 d'envoi du second message réseau, les noeuds du réseau sont prêts à démarrer le mécanisme de circulation du jeton illustré par la partie Il du chronogramme sur la figure 2. Ce délai Tl est un paramètre qui doit être réglé à l'initialisation du réseau en fonction du nombre de noeuds connectés au bus 1 afin d'optimiser le temps nécessaire à l'initialisation du réseau. Chaque noeud qui détient le jeton peut écrire une fois sur le bus 1 un paquet Ethernet, puis transfert le jeton à un noeud suivant et ainsi de suite selon l'ordre chronologique défini dans la table 3. Pour contrôler la circulation du jeton de noeud en noeud, des cinquième M5 et sixième message réseau M6 sont échangés entre les noeuds du réseau. Dans le mécanisme de circulation du jeton 30 selon un exemple de réalisation de l'invention, le noeud maître A d'adresse logique IDO, possède toujours en premier le jeton et peut écrire sur le bus 1 comme symbolisé par la référence W sur la figure 2. Il envoie ensuite le jeton au noeud suivant dans la séquence, qui est le noeud D d'adresse logique ID2 par l'intermédiaire d'un cinquième message réseau M5. Le cinquième message M5 est un message de diffusion Ethernet reçu par tous les noeuds du réseau pour leur permettre de suivent en parallèle la circulation du jeton dans leur table 3. Sur 5 réception du cinquième message réseau, le noeud D renvoie sur le bus 1 le sixième message réseau à titre d'accusé réception pour le noeud A. Ce processus continue ainsi de noeud en noeud selon l'ordre chronologique défini dans la table 3. Maintenant, si après un délai T2 décompté depuis l'instant d'envoi du 10 cinquième message réseau M5 depuis un noeud du réseau, aucun sixième message M6 n'est envoyé sur le bus, le noeud en question renvoie de nouveau le sixième message réseau M6 comme illustré pour le noeud C sur la figure 2. Si aucun sixième message réseau M6 n'est envoyé sur le bus 1 dans le délai T2 comme indiqué ci-dessus, le noeud courant possédant le jeton, par exemple le 15 noeud C sur la figure 2, envoie sur le bus 1 un septième message réseau M7 indiquant que le noeud suivant dans la séquence n'est plus disponible, dans l'exemple le noeud B d'adresse logique ID1, et contenant l'adresse logique du nouveau noeud suivant dans la séquence, ici le noeud D d'adresse logique ID2. En réponse à la réception du septième message réseau M7, les autres noeuds 20 du réseau mettent à jour la table 3 en supprimant les occurrences de passage du jeton par le noeud défaillant, dans l'exemple les occurrences symbolisées par ID1. Le noeud courant possédant le jeton envoie ensuite un cinquième message réseau M5 contenant l'adresse logique du nouveau noeud suivant pour poursuivre le mécanisme de circulation du jeton. Dans le cas o le noeud défaillant serait le noeud maître, le noeud courant envoie sur le bus un message d'initialisation du réseau qui déclenche l'élection d'un nouveau noeud maître et la construction d'une nouvelle table 3 selon le même principe illustré par la partie I du chronogramme. Après avoir envoyé ses données, et avant de passer le jeton, un noeud peut 30 envoyer au noeud maître un message M3 pour changer sa réservation de bande passante. Le noeud maître renvoie un message M9 indiquant soit le succès de la réservation soit son échec (si par exemple il ne reste plus assez de bande passante disponible). Si la réservation est acceptée, le noeud maître modifie sa liste 2. Au prochain passage du cycle par le noeud maître, ce dernier mettra à jour la liste 3 et la diffusera sur le réseau avant de recommencer un cycle. Il est à noter qu'un certain pourcentage de la bande passante doit être gardé en réserve 5 pour s'assurer que les appareils n'ayant pas réservé de bande passante puissent continuer à fonctionner correctement. A titre d'exemple, ce pourcentage peut être de l'ordre de 10%. Lorsque le jeton revient sur la première occurrence du noeud maître dans la table 3, le noeud maître A recommence le cycle illustré par la partie Il du 10 chronogramme. Il est possible de prévoir que le noeud maître A, avant de recommencer le cycle illustré par la partie Il du chronogramme, déroule de façon cyclique un processus de mise à jour des tables 2 et 3 pour tenir compte des changements de configuration du réseau, notamment le branchement de nouveaux 15 périphériques. Ce processus de mise à jour peut être réalisé avec une période T3 très supérieure aux délais Tl et T2. Selon ce processus de mise à jour, le noeud maître A envoie sur le bus un huitième message réseau M8 permettant aux nouveaux appareils connectés au bus de s'identifier comme un nouveau noeud du réseau tel que symbolisé par la référence E sur la figure 2. Dans le 20 délai T2 décompté depuis l'instant d'envoi du huitième message réseau M8, le noeud maître A reste donc en attente de la réception d'un ou plusieurs troisièmes messages réseau M3. Sur la figure 2, on a représenté à titre d'exemple l'échange d'un troisième message réseau M3 et d'un quatrième message réseau M4 entre le noeud maître A et le nouveau noeud C. A chaque réception d'un 25 message M3, le compteur de temps est réinitialisé. A l'issue du délai T2, le noeud maître reconstruit, en cas de changement, une nouvelle table 3 et la diffuse sur le bus 1. En pratique, pour un bon fonctionnement du mécanisme de circulation du jeton, le délai Tl est réglé pour être supérieur au délai T2 et inférieur au délai T3. 30 A titre d'exemple, Tl peut être réglé à 100 ms, T2 à 5ms et T3 à 3 mn. Avec ce mécanisme de circulation d'un jeton, il est possible de garantir à chaque noeud du réseau l'utilisation d'une certaine fraction de la bande passante disponible sur le bus pour la transmission de flux de données. Ce mécanisme de circulation d'un jeton peut être mis en oeuvre de façon simple dans les noeuds du réseau par configuration logicielle. REVENDICATIONS 1/ Méthode pour réserver à au moins un noeud d'un réseau de communication de type bus Ethernet, une fraction prédéterminée de la bande passante du bus Ethernet, caractérisée en ce qu'elle consiste à: - faire circuler un jeton entre les noeuds du réseau (A,B,C,D) de telle manière à permettre aux noeuds du réseau d'envoyer à tour de rôle un paquet Ethernet sur le bus (1) selon une séquence préétablie définissant un ordre chronologique de passage du jeton entre les noeuds; et - dans laquelle la fraction prédéterminée de la bande passante réservée pour un noeud du réseau correspond dans la séquence à un certain nombre d'occurrences de passage du jeton par le noeud considéré. 2/ Méthode selon la revendication 1, dans laquelle les occurrences de passage 15 du jeton par un noeud du réseau sont réparties dans la séquence parmi les occurrences de passage du jeton par les autres noeuds du réseau. 3/ Méthode selon la revendication 1 ou 2, dans laquelle l'ordre chronologique de passage du jeton entre les noeuds du réseau est défini par un noeud maître du 20 réseau. 4/ Méthode selon la revendication 3, dans laquelle le noeud maître construit à l'initialisation du réseau une première table (2) dans laquelle est stockée pour chaque noeud du réseau une information indicative de la fraction de bande 25 passante réservée pour le noeud du réseau et sur la base de la première table, le noeud maître construit une seconde table (2) dans laquelle est stockée la séquence définissant l'ordre de passage du jeton entre les noeuds du réseau. 5/ Réseau de communication domestique de type bus Ethernet comprenant des 30 noeuds de réseau configurés pour mettre en oeuvre une méthode selon l'une des revendications 1 à 4. il 6/ Equipement de communication (A) destiné à être connecté à réseau de communication de type bus Ethernet (1), caractérisé en ce qu'il est configuré pour faire circuler un jeton entre les noeuds du réseau et en ce qu'il est agencé 5 pour construire une première table (1) dans laquelle est stockée pour chaque noeud du réseau une information indicative d'une fraction de la bande passante du bus réservée pour le noeud du réseau et une seconde table (2) dans laquelle est stockée une séquence définissant un ordre chronologique de passage du jeton entre les noeuds, la fraction de la bande passante réservée pour un noeud 10 du réseau correspond dans la séquence à un certain nombre d'occurrences de passage du jeton par le noeud considéré.