FR2831745A1 - Procede d'etablissement d'une connexion de flux de donnees isochrone impliquant la traversee d'un reseau commute, noeuds d'entree et de sortie correspondants - Google Patents

Procede d'etablissement d'une connexion de flux de donnees isochrone impliquant la traversee d'un reseau commute, noeuds d'entree et de sortie correspondants Download PDF

Info

Publication number
FR2831745A1
FR2831745A1 FR0114204A FR0114204A FR2831745A1 FR 2831745 A1 FR2831745 A1 FR 2831745A1 FR 0114204 A FR0114204 A FR 0114204A FR 0114204 A FR0114204 A FR 0114204A FR 2831745 A1 FR2831745 A1 FR 2831745A1
Authority
FR
France
Prior art keywords
input
output
fifo
node
total
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0114204A
Other languages
English (en)
Other versions
FR2831745B1 (fr
Inventor
Stephane Bizet
Kolli Yacine El
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0114204A priority Critical patent/FR2831745B1/fr
Publication of FR2831745A1 publication Critical patent/FR2831745A1/fr
Application granted granted Critical
Publication of FR2831745B1 publication Critical patent/FR2831745B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/10Routing in connection-oriented networks, e.g. X.25 or ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé d'établissement d'une connexion de flux de données isochrone impliquant la traversée, depuis un noeud d'entrée vers un noeud de sortie, d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens. Le flux de données isochrone comprend des paquets de données successifs. Selon l'invention, lorsque la connexion de flux de données isochrone nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté, le procédé comprend les étapes suivantes : - on obtient un groupe de chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie, le noeud d'entrée (respectivement de sortie) comprenant, associée à chaque chemin de routage, une ressource d'entrée (respectivement de sortie); - on divise le flux de données isochrone en une pluralité de sous-flux devant emprunter chacun un des chemins de routage; - on adapte et on instancie la ressource d'entrée et/ ou la ressource de sortie associée (s) à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent; - selon une séquence de répartition déterminée, on répartit entre les chemins de routage les paquets successifs du flux, de façon que chacun des chemins de routage véhicule un des sous-flux.

Description

<Desc/Clms Page number 1>
Procédé d'établissement d'une connexion de flux de données isochrone impliquant la traversée d'un réseau commuté, noeuds d'entrée et de sortie correspondants.
Le domaine de l'invention est celui des réseaux commutés, du type comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens.
Ces liens sont par exemple du type permettant des transferts de données bidirectionnels, selon la norme IEEE 1355. On rappelle que la norme IEEE 1355 est définie par la référence IEEE Std 1355-1995 Standard for Heterogeneous InterConnect (HIC) (Low Cost Low Latency Scalable Serial Interconnect) (aka ISO/IEC 14575 DIS).
Plus précisément, l'invention concerne un procédé d'établissement d'une connexion de flux de données isochrone impliquant la traversée, depuis un noeud d'entrée vers un noeud de sortie, d'un réseau commuté.
Il s'agit par exemple d'interconnecter des terminaux (aussi appelés dispositifs) audio et/ou vidéo, de type analogique et/ou numérique, afin qu'ils échangent des signaux audiovisuels. Les terminaux appartiennent par exemple à la liste d'équipements suivante (qui n'est pas exhaustive) : récepteurs de télévision (par satellite, par voie hertzienne, par câble, xDSL,...), téléviseurs, magnétoscopes, scanners, caméras numériques, appareils photo numériques, lecteurs DVD, ordinateurs, assistants numériques personnels (PDA), imprimantes, etc.
L'invention s'applique notamment, mais non exclusivement, dans le cas où la connexion de flux de données isochrone est établie entre deux terminaux connectés à un nouveau type de réseau de bus numériques, qualifié d'hétérogène du fait que certaines interconnexions entre bus numériques sont faites directement, via des ponts homogènes, tandis que d'autres interconnexions entre bus numériques sont faites à travers au moins un réseau commuté, via des ponts hétérogènes.
Dans le cadre de cette application particulière, les bus numériques sont par exemple de type IEEE 1394. On rappelle que la norme IEEE 1394 est décrite dans les documents de référence suivants :"IEEE Std 1394-1995, Standard for High Performance Serial Bus"et"IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement)". Un troisième document"IEEE P1394. 1 Draft 0.17 Standard for High
<Desc/Clms Page number 2>
Performance Serial Bus Bridges"décrit comment connecter différents bus de type IEEE 1394.
On rappelle que, de façon classique, un réseau de bus numériques est homogène.
Les bus numériques sont interconnectés entre eux via des ponts homogènes. Chaque pont homogène comprend une première et une seconde portes, à chacune desquelles est connecté un des bus numériques. Chaque pont homogène permet le transfert de paquets depuis un bus, connecté à sa première porte, vers un autre bus, connecté à sa seconde porte.
A chaque pont homogène est associé un délai isochrone, pour chaque direction de traversée de l'une vers l'autre de ses portes. Ce délai isochrone représente le laps de temps nécessaire au pont pour passer un paquet isochrone depuis l'une vers l'autre de ses portes.
Le délai isochrone associé à chaque pont homogène est principalement utilisé pour le transport de paquets isochrones communs (aussi appelés paquets CIP, pour "Common Isochronous Packets") dans le réseau homogène de bus numériques. Un paquet CIP contient une information de temps absolu, indiquant quand le paquet doit être consommé par l'application destinataire. Cette information de temps est calculée par l'initiateur isochrone, pour un paquet transféré sur un bus unique (le terminal d'entrée, "talker", et le terminal destinataire,"listener", sont connectés au même bus numérique).
Lorsque plusieurs ponts homogènes séparent le terminal d'entrée,"talker", et le terminal destinataire,"listener", l'information contenue dans le paquet CIP pourrait ne plus être à jour, du fait de la latence introduite par la traversée des ponts. Afin d'éviter cette situation, chaque pont homogène se trouvant entre le terminal d'entrée et le terminal destinataire augmente l'information temporelle, contenue dans le paquet CIP, avec le délai isochrone propre à ce pont (délai de transfert entre les deux bus interconnectés par ce pont).
Actuellement, et conformément aux normes précitées dans le cas de bus IEEE 1394, chaque pont homogène est associé, pour chaque direction de traversée, à un délai isochrone constant. En d'autres termes, tous les paquets isochrones transférés, à travers le pont homogène, depuis un bus vers un autre bus, sont traités avec le même délai isochrone, quel que soit le flux auquel ils appartiennent.
<Desc/Clms Page number 3>
Dans le cas particulier précité d'un réseau hétérogène de bus numérique, chaque pont hétérogène comprend une première porte, à laquelle est connecté un des bus numériques, et une seconde porte, à laquelle est connecté le réseau commuté. Chaque pont hétérogène joue également le rôle d'un noeud du réseau commuté.
Le réseau hétérogène de bus numérique est par exemple un réseau audiovisuel domestique, comprenant un réseau commuté à haut débit, permettant notamment l'échange en temps réel d'images animées, pour une distribution dans le cadre d'une habitation.
Le fonctionnement d'un tel réseau hétérogène est le suivant : une connexion est établie, via un ou plusieurs ponts et via le réseau commuté, entre : un premier terminal (ou"listener"en anglais)-connecté à un premier bus numérique ou à un pont hétérogène-, qui souhaite recevoir des signaux audiovisuels, et un second terminal (ou"talker"en anglais)-connecté à un second bus numérique ou à un pont hétérogène-, qui peut les lui fournir.
Dans la suite de la description, le premier terminal précité est appelé"terminal destinataire", et le second terminal est appelé"terminal d'entrée". Par terminal d'entrée, on entend par exemple une caméra numérique, un appareil photo numérique, un lecteur DVD à sortie numérique, ou tout appareil analogique vu à travers un convertisseur analogique/numérique.
On présente maintenant les principaux inconvénients de l'état de la technique.
De façon classique, la bande passante totale d'une connexion de flux de données isochrone impliquant la traversée d'un réseau commuté est limitée par la capacité, en terme de bande passante (ou débit), des liens de ce réseau commuté. Actuellement, une connexion de flux de données isochrone ne peut être établie que si sa bande passante (ou débit) est inférieure ou égale à la bande passante (ou débit) disponible de chacun des liens du réseau commuté (mis en jeu par la connexion, sur chaque chemin du réseau).
Cette situation n'est pas satisfaisante car on souhaite pouvoir établir une connexion de flux de données isochrone nécessitant une bande passante (par exemple 260 Mbps) supérieure à ce qui peut être supporté à un instant donné par chacun des liens du réseau commuté (par exemple 100 Mbps).
<Desc/Clms Page number 4>
En outre, la bande passante (ou débit) disponible de chacun des liens du réseau commuté est rapidement réduite si le réseau commuté véhicule déjà une ou plusieurs connexion (s) de flux de données isochrone (s).
Par ailleurs, dans le cas où la connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques (application particulière précitée de l'invention), il s'avère que le modèle précité de délai isochrone constant, quel que soit le flux, pour un pont homogène, n'est pas applicable à un pont hétérogène. En effet, dans le modèle précité, on suppose que le temps de transport sur les bus est constant et le plus souvent négligeable. Ceci est vérifié dans le cas d'un réseau homogène ne comportant que des bus numériques. En revanche, dans le cas d'un réseau hétérogène, le réseau commuté est vu, par n'importe quel terminal connecté à un bus numérique, comme n'importe quel autre bus numérique. Mais, le problème provient du fait que le temps de transfert sur le réseau commuté, contrairement au temps de transfert sur un"vrai"bus, n'est pas constant. En effet, il varie généralement d'un flux à l'autre, puisque le chemin de routage à travers le réseau commuté peut être différent d'un flux à l'autre. Par ailleurs, le temps de transfert sur le réseau commuté n'est généralement pas négligeable.
L'invention a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique.
Plus précisément, l'un des objectifs de la présente invention est de fournir une technique permettant l'établissement d'une connexion de flux de données isochrone impliquant la traversée d'un réseau commuté, malgré que la bande passante requise par cette connexion de flux est supérieure à la bande passante disponible de chacun des liens du réseau commuté.
L'invention a également pour objectif de fournir une telle technique qui puisse être mise en oeuvre dans le cas où la connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques (application particulière de l'invention).
Ces différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé d'établissement d'une connexion de flux de données isochrone impliquant la traversée, depuis un noeud d'entrée vers un noeud de
<Desc/Clms Page number 5>
sortie, d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit flux de données isochrone comprenant des paquets de données successifs. Lorsque ladite connexion de flux de données isochrone nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté, le procédé selon la présente invention comprend les étapes suivantes : on obtient un groupe de chemins, comprenant au moins deux chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie, ledit noeud d'entrée comprenant, associée à chaque chemin de routage, une ressource d'entrée, ledit noeud de sortie comprenant, associée à chaque chemin de routage, une ressource de sortie ; on divise le flux de données isochrone en une pluralité de sous-flux devant emprunter chacun un des chemins de routage ; on adapte et on instancie la ressource d'entrée et/ou la ressource de sortie associée (s) à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent ; selon une séquence de répartition déterminée, on répartit entre les chemins de routage les paquets successifs du flux, de façon que chacun des chemins de routage véhicule un desdits sous-flux.
Le principe général de l'invention consiste donc à répartir le flux de données isochrone sur plusieurs chemins de routage à travers le réseau commuté, tout en s'assurant que les sous-flux empruntant les différents chemins de routage subissent un même délai isochrone total.
Comme expliqué en détail par la suite, par délai isochrone total, on entend le laps de temps nécessaire à un paquet isochrone pour passer d'une entrée du noeud d'entrée à une sortie du noeud de sortie, y compris le délai de traversée du réseau commuté.
De cette façon, il est possible d'établir une connexion de flux de données isochrone nécessitant une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté.
<Desc/Clms Page number 6>
Préférentiellement, la ressource d'entrée comprise dans le noeud d'entrée est une mémoire FIFO d'entrée, et en ce que la ressource de sortie comprise dans le noeud de sortie est une mémoire FIFO de sortie.
Il est clair que la présente invention peut être mise en oeuvre avec tout type de ressources (comprises dans les noeuds) pouvant être adaptées de façon à modifier le délai isochrone total que subissent les paquets du flux.
Dans un mode de réalisation préférentiel de l'invention, l'étape d'adaptation et d'instanciation de la mémoire FIFO d'entrée et/ou la mémoire FIFO de sortie associée (s) à au moins certains des chemins de routage comprend elle-même les étapes suivantes : pour chaque chemin de routage, on obtient des tailles des mémoires FIFO d'entrée et de sortie en s'assurant que ces tailles permettent aux mémoires FIFO d'entrée et de sortie de contrer la gigue de réseau ; pour chaque chemin de routage, on obtient un délai isochrone total, en prenant en compte :-un délai introduit par le passage du sous-flux le long du chemin de routage ;-des délais de traversée, par le sous-flux, des mémoires FIFO d'entrée et de sortie ; on prend comme délai isochrone total de référence le délai isochrone total maximal ; pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, on corrige le délai isochrone total en modifiant les tailles des mémoires FIFO d'entrée et de sortie, de façon à obtenir un délai isochrone total adapté sensiblement égal au délai isochrone total de référence.
Par"sensiblement égal à", on entend préférentiellement"inférieur ou égal à et le plus proche possible de". Ainsi, on donne au délai isochrone total adapté une valeur proche de et inférieure ou égale à celle du délai isochrone de référence.
De façon préférentielle, le délai, Réseau commuté introduit par le passage du sous-
Figure img00060001

flux le long du chemin de routage est calculé selon la formule suivante : n-N y D Dréseau commuté = Nnoeuds intermédiaires X Dcommutation avec Nnreudsintermédiaires le nombre de noeuds intermédiaires le long du chemin de routage, et Commutation le délai de commutation moyen par noeud.
<Desc/Clms Page number 7>
Ainsi, on prend en compte le délai introduit par la traversée de chacun des noeuds intermédiaires situés sur le chemin de routage du flux, de façon à obtenir une estimation la plus exacte possible du temps de transfert du flux au sein du réseau commuté.
Préférentiellement, pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, la correction du délai isochrone total est effectuée : dans une première proportion PI, en modifiant la taille de la mémoire FIFO d'entrée, dans une seconde proportion P2, en modifiant la taille de la mémoire FIFO de sortie, avec : PI + P2 = 100%.
N'importe quelle combinaison des proportions PI et P2 peut être envisagée, sans sortir du cadre de la présente invention.
De façon avantageuse, les première et seconde proportions sont identiques : PI = P2 = 50%. Ainsi, on peut prendre des mémoires FIFO de même dimensions.
Avantageusement, pour chaque chemin de routage, le délai isochrone total Disochrone total est calculé en additionnant notamment : Dreseau commuta Is délai introduit par le passage du sous-flux le long du chemin de routage,
Figure img00070001

Dcraversée FIFO le délai de traversée, par le sous-flux, de la mémoire FIFO d'entrée comprise dans le noeud d'entrée, traversée FIFO de sortie'le délai de traversée, par le sous-flux, de la mémoire FIFO de sortie comprise dans le noeud de sortie, et éventuellement :
Dtraitement noeud d'entrée'le délai de transfert, au sein du noeud d'entrée, d'un élément du flux, depuis une interface d'entrée du noeud d'entrée vers la mémoire FIFO d'entrée, traitement noeud de sonie'le délai de transfert, au sein du noeud de sortie, d'un élément du flux, depuis la mémoire FIFO de sortie vers une interface de sortie du noeud de sortie.
On rappelle que le principe général de l'invention consiste à adapter les délais isochrones totaux associés à certains chemins de routage, de façon que tous les délais
<Desc/Clms Page number 8>
isochrones totaux (associés chacun à l'un des chemins de routage) soient sensiblement identiques à un délai isochrone total de référence (adaptation relative). Plusieurs variantes de la définition du délai isochrone total peuvent être envisagées, selon que l'on inclut ou non certains éléments non essentiels (tels que Dtraitement noeud d'entrée et Dtraitement noeud de En effet, même si ces éléments sont intégrés dans la définition du délai isochrone total, ils s'annulent lors de l'adaptation relative, puisqu'ils sont intégrés aussi bien dans le calcul du délai isochrone total d'origine que dans le calcul du délai isochrone total de référence.
Préférentiellement, pour chaque chemin de routage, avant modification : la mémoire FIFO d'entrée d'origine possède une taille : Lp, po) d'origine = Al + XI avec Al une première partie de la mémoire FIFO d'entrée d'origine, appelée seuil d'origine, et XI une seconde partie permettant de contrer la gigue de réseau, la mémoire FIFO de sortie d'origine, possède une taille : LFIF02 d'origine = A2 + X2 avec A2 une première partie de la mémoire FIFO de sortie d'origine, appelée seuil d'origine, et X2 une seconde partie permettant de contrer la gigue de réseau, et, après modification :
Figure img00080001

la mémoire FIFO d'entrée adaptée possède une taille : LpFOpo [ ptée = Al'+ XI la mémoire FIFO de sortie adaptée, possède une taille : LFIFO2 adaptée = A2'+ X2 avec :
XI et X2 définis ci-avant, Al'= AI + (PI* 8)
A2'= A2 + (P2 * o) avec Al et A2 définis ci-avant, et PI et P2 les proportions dans lesquelles les mémoires FIFO d'entrée et de sortie respectivement interviennent dans la compensation,
8 le plus grand entier tel que : 8 8. avec #max=Débitsous-flux *(Disochrone total référence-Disochrone total origine) où Débit sous-flux est le débit du sous-flux,
Disochrone total référence est le délai isochrone total de référence,
Disochrone total origine est le délai isochrone total d'origine associé au chemin, avant compensation.
On choisit classiquement :
<Desc/Clms Page number 9>
Dl = XI, de façon que : LFpo,. igine = 2*val - D2 = X2, de façon que : LF,F020rigine = 2*A2.
En accroissant le seuil Al de la FIFO d'entrée et/ou le seuil A2 de la FIFO de sortie, en des seuils Al'et A2'respectivement, on augmente ainsi le temps nécessaire à un paquet de données pour traverser les FIFO d'entrée et de sortie. On accroît donc le délai isochrone total associé au chemin de routage considéré, le rendant ainsi sensiblement égal au délai isochrone total de référence (délai isochrone total le plus élevé, pour l'ensemble des chemins de routage). A nouveau, par"sensiblement égal à", on entend préférentiellement"inférieur ou égal à et le plus proche possible de".
Selon une caractéristique avantageuse, la séquence de répartition déterminée est cyclique et définit pour chaque cycle : les chemins de routage successifs concernés ; le nombre de paquet (s) véhiculé (s) par chacun des chemins de routage successifs concernés.
Préférentiellement, le cycle de la séquence de répartition comprend N paquets, avec N le nombre de ports de sortie du noeud d'entrée et le nombre de ports d'entrée du noeud de sortie, et les N paquets de chaque cycle de la séquence de répartition sont répartis sur Y chemins de routage successifs concernés, avec Y S ; N, chacun des Y chemins de routage successifs concernés s'étendant entre un port de sortie du noeud d'entrée et un port d'entrée du noeud de sortie.
Dans un mode de réalisation particulier de l'invention, ladite connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques incluant ledit réseau commuté : certaines interconnexions entre bus numériques se faisant directement, via des ponts homogènes comprenant chacun une première et une seconde portes à chacune desquelles est connecté un des bus numériques ; d'autres interconnexions entre bus numériques se faisant à travers ledit réseau commuté, via des ponts hétérogènes comprenant chacun une première porte, à laquelle est connecté un des bus numériques, et une seconde porte, à laquelle est connecté le réseau commuté, chaque pont hétérogène formant un des noeuds du réseau commuté.
<Desc/Clms Page number 10>
et chacun desdits terminaux est connecté à un desdits bus numériques ou à un des ponts hétérogènes.
Ainsi, la présente invention trouve une application particulièrement intéressante dans le cas où la connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques. On rappelle que dans un réseau hétérogène de bus numérique, le réseau commuté compris dans ce réseau hétérogène est vu, par n'importe quel terminal connecté à un bus numérique, comme n'importe quel autre bus numérique. La technique selon l'invention résout, outre le problème de passage d'un flux isochrone ayant une bande passante importante, les problèmes liés au fait que le temps de transfert sur le réseau commuté, contrairement au temps de transfert sur un"vrai"bus, n'est pas constant et n'est généralement pas négligeable.
De façon préférentielle, ledit réseau hétérogène de bus numériques, incluant ledit réseau commuté, est un réseau audiovisuel domestique permettant d'interconnecter une pluralité de terminaux, connectés les uns aux ponts hétérogènes et les autres aux bus numériques.
Avantageusement, ledit réseau hétérogène de bus numériques, incluant ledit réseau commuté, est un réseau audiovisuel domestique permettant d'interconnecter une pluralité de terminaux, connectés les uns aux ponts hétérogènes et les autres aux bus numériques.
Un tel réseau audiovisuel domestique permet par exemple l'échange d'images animées, ou de fichiers son, en temps réel dans le cadre d'une habitation.
L'invention concerne également un noeud d'entrée du type compris dans un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit noeud pouvant être utilisé dans l'établissement d'une connexion de flux de données isochrone, impliquant la traversée du réseau commuté, depuis ledit noeud d'entrée vers un noeud de sortie, ledit flux de données isochrone comprenant des paquets de données successifs. Selon la présente invention, ledit noeud d'entrée comprend : des moyens d'obtention d'un groupe de chemins, comprenant au moins deux chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie ;
<Desc/Clms Page number 11>
une ressource d'entrée associée à chaque chemin de routage, ledit noeud de sortie comprenant, associée à chaque chemin de routage, une ressource de sortie ; des moyens de division du flux de données isochrone en une pluralité de sousflux devant emprunter chacun un des chemins de routage ; des moyens d'adaptation et d'instanciation de la ressource d'entrée associée à au moins certains des chemins de routage, ledit noeud de sortie comprenant des moyens d'adaptation et d'instanciation de la ressource de sortie associée à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent ; des moyens de répartition des paquets successifs du flux entre les chemins de routage, selon une séquence de répartition déterminée, de façon que chacun des chemins de routage véhicule un desdits sous-flux ; de façon que la connexion de flux de données isochrone puisse être établie même si elle nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté.
La présente invention concerne également, de façon symétrique, un noeud de sortie.
L'invention concerne aussi un programme d'ordinateur, comprenant des séquences d'instructions adaptées à la mise en oeuvre d'un procédé tel que précité, lorsque ledit programme est exécuté sur un ordinateur.
L'invention concerne encore un produit programme d'ordinateur d'établissement d'une connexion de flux de données isochrone impliquant la traversée, depuis un noeud d'entrée vers un noeud de sortie, d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit flux de données isochrone comprenant des paquets de données successifs. Selon la présente invention, ledit produit programme d'ordinateur comprend des instructions de code de programme enregistré sur un support utilisable dans un ordinateur comprenant des moyens de programmation lisibles par ordinateur pour effectuer, lorsque ladite connexion de flux de données isochrone nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté, les étapes suivantes :
<Desc/Clms Page number 12>
on obtient un groupe de chemins, comprenant au moins deux chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie, ledit noeud d'entrée comprenant, associée à chaque chemin de routage, une ressource d'entrée, ledit noeud de sortie comprenant, associée à chaque chemin de routage, une ressource de sortie ; on divise le flux de données isochrone en une pluralité de sous-flux devant emprunter chacun un des chemins de routage ; on adapte et on instancie la ressource d'entrée et/ou la ressource de sortie associée (s) à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent ; selon une séquence de répartition déterminée, on répartit entre les chemins de routage les paquets successifs du flux, de façon que chacun des chemins de routage véhicule un desdits sous-flux.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : - la figure 1 présente un synoptique d'un réseau hétérogène de bus numériques, selon une application particulière de l'invention ;
Figure img00120001

- la figure 2 illustre un exemple de réalisation d'un pont hétérogène du réseau hétérogène de la figure 1 ; - la figure 3 est un schéma blocs d'un exemple de réalisation du module SAR du pont hétérogène de la figure 2 ; - la figure 4 illustre un exemple de réalisation d'une cellule de traitement comprise dans le processeur de paramètres de planification compris dans le module SAR et apparaissant sur le schéma blocs de la figure 3 ; - la figure 5 illustre l'algorithme de répartition exécuté par le module d'émission compris dans le module SAR et apparaissant sur le schéma blocs de la figure 3 ; - la figure 6 décrit un exemple de structure d'une table de routage mise en oeuvre dans le réseau de la figure 1 ;
<Desc/Clms Page number 13>
la figure 7 illustre, pour un chemin de routage donné, la taille des mémoires
FIFO d'entrée et de sortie d'un pont hétérogène"talker"d'une part, et d'un pont hétérogène"listener"d'autre part, tenant compte d'une estimation de la gigue du réseau commuté ; la figure 8 présente l'algorithme mis en oeuvre dans un mode de réalisation particulier de l'invention ; la figure 9 illustre, pour un chemin de routage donné, la taille des mémoires
FIFO d'entrée et de sortie d'un pont hétérogène "talker" d'une part, et d'un pont hétérogène"listener"d'autre part, après adaptation du délai isochrone total à un délai isochrone total de référence.
Le principe général de l'invention repose sur la répartition d'un flux de données isochrone sur plusieurs chemins de routage à travers un réseau commuté, tout en s'assurant que les sous-flux empruntant les différents chemins de routage subissent un même délai isochrone total.
Dans la suite de la description, on considère à titre d'exemple illustratif (mais non limitatif) le cas où la connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques. Le réseau commuté, qui est compris dans ce réseau hétérogène, est vu comme un bus numérique"particulier"par n'importe quel terminal connecté à un"vrai"bus numérique.
Il est clair cependant que la présente invention n'est pas limitée à cette application particulière, mais s'applique dès lors que l'établissement d'une connexion de flux de données isochrone implique la traversée d'un réseau commuté.
On présente, en relation avec le synoptique de la figure 1, un mode de réalisation particulier d'un réseau hétérogène de bus numériques, selon une application particulière de l'invention.
Un tel réseau hétérogène est constitué d'une pluralité de bus de type IEEE 1394 référencés 110,120, 130,140, 150 et 250 interconnectés les uns aux autres et/ou à un réseau commuté 100. Un tel réseau commuté 100 est par exemple un réseau audiovisuel domestique, permettant l'échange en temps réel de fichiers audio et/ou d'images animées.
<Desc/Clms Page number 14>
L'interconnexion du réseau commuté 100 et des bus IEEE 1394 est réalisée par l'intermédiaire de ponts hétérogènes, constitués chacun de deux portes appairées, référencés 201/202, 203/204, 205/206,207/208 et 209/211. Un pont hétérogène constitué de portes référencées X et Y est ainsi référencé X/Y. Chacun de ces ponts hétérogènes présente donc une première porte connectée au réseau commuté 100 et une seconde porte connectée à un bus numérique de type IEEE 1394. Chaque pont hétérogène de la figure 1 est conforme au standard"Standard for High Performance Serial Bus Bridges"mentionné précédemment.
Ainsi, le réseau commuté 100 est vu comme un bus série par tous les noeuds du réseau hétérogène référencés 101,102, 103,104, 105,106, 107,108, 109,111, 112,113, 114,216/217, 119,121, 115,116, 117 et 118 qui n'appartiennent pas à ce réseau commuté 100.
Le pont référencé 216/217 est un pont homogène du réseau hétérogène de la figure 1, interconnectant deux bus de type IEEE 1394. Ce pont référencé 216/217 est également conforme au standard"Standard for High Performance Serial Bus Bridges".
Tous les ponts de la figure 1 jouent un rôle de réservation de ressources au cours de l'établissement d'une connexion de flux, comme décrit plus en détails dans le standard "Standard for High Performance Serial Bus Bridges". Ces ponts, sur le chemin de routage allant d'un terminal d'entrée isochrone (ou"talker") vers au moins un terminal destinataire (ou"listener"), interprètent et échangent des messages inter-ponts (par exemple des messages de type"JOIN","LISTEN","LEAVE"et"STREAM STATUS"), ainsi que prévu par la norme IEEE 1394. De tels messages fournissent des informations sur le"talker", le"listener", la bande passante nécessaire au transport de données isochrone, et le statut de l'établissement d'une connexion de flux.
Le réseau commuté 100 est constitué de liens référencés 160,170, 180,190, 200, 210,220, 230 et 240 qui interconnectent, d'une part des noeuds référencés 201/202, 203/204,205/206, 207/208 et 209/211, encore appelés ponts hétérogènes, interconnectant le réseau commuté 100 avec des bus IEEE 1394, et d'autre part des noeuds référencés 212/213 et 214/215, internes au réseau commuté 100.
Le routage de paquets au travers du réseau commuté 100 est réalisé en mettant en oeuvre une méthode de routage par la source (en anglais"source routing"), selon laquelle
<Desc/Clms Page number 15>
l'information de routage d'un paquet est calculée par une unité centrale, ou CPU référencée 391 sur la figure 2, qui connaît la topologie du réseau commuté 100. Cet aspect ne sera pas décrit plus en détails dans le cadre de la présente invention.
Dans la suite de la description, on considère l'exemple du traitement d'une requête de connexion de flux de données isochrone, depuis le noeud référencé 102 connecté au bus référencé 110, vers le noeud référencé 114 connecté au bus référencé 140. On suppose donc que le noeud référencé 102 est un terminal d'entrée isochrone (ou "talker"), et que le noeud référencé 114 est un terminal destinataire (ou"listener").
La figure 2 illustre la structure d'un pont hétérogène référencé 201/202, 203/204, 205/206,207/208, 209/211,2121/213 ou 214/215 sur la figure 1.
Un tel pont comprend deux interfaces de communication : une première interface 350 avec le bus IEEE 1394, et une seconde interface 310 avec le réseau commuté 100.
Cette dernière comprend par exemple un composant de type Cl 13 fabriqué par 4Links Ltd (marque déposée), si le réseau commuté repose sur la norme"IEEE 1355-1995 : Standard for Heterogeneous Interconnect (HIC)".
Le commutateur 320 permet de transférer des données d'un premier vers un second port de l'interface du réseau commuté, de recevoir des données d'un port de l'interface du réseau commuté vers la DPRAM 330, et de transmettre des données de la DPRAM 330 vers au moins un port de l'interface du réseau commuté (dans cet ordre décroissant de priorité). Le fonctionnement d'un tel commutateur 320 est notamment décrit dans la demande de brevet français n 01 02037 par le même déposant, non encore publiée à la date de dépôt de la présente demande. Un tel fonctionnement ne faisant pas l'objet de la présente invention, il ne sera pas décrit plus en détails dans ce document.
La DPRAM 330 est agencée en un ensemble de FIFOs, qui permettent le transfert de données de l'interface IEEE 1394 350 vers l'interface du réseau commuté 310, et vice-versa. L'instanciation de ces FIFO est réalisé par l'unité centrale ou CPU 391, et sera expliquée en détail par la suite.
Le module SAR 340 est utilisé pour la segmentation et le ré-assemblage (en anglais"Segmentation And Reassembly") des données en provenance et à destination de l'interface de réseau commuté 310. Ainsi, les paquets isochrones de type IEEE 1394 peuvent être segmentés en vue de leur transmission sur le réseau commuté 100. Le
<Desc/Clms Page number 16>
transfert de paquets asynchrones ne fait pas partie de la présente invention, et en sera donc pas décrit.
En outre, le SAR 340 joue le rôle de planificateur pour la transmission de données sur le réseau, afin de respecter les contraintes de temps imposées par les transferts isochrones.
La configuration de tous les modules est effectuée par l'unité centrale ou CPU 391, via l'interface de bus 370. Les échanges de données et de contrôle entre le module Contrôle/Pont 360 et la CPU 391 sont effectués via l'interface de données 304 et les signaux ctrll, l'interface de bus 370 et le bus hôte 380.
Le module de pont 360 comprend une première table de contrôle de flux (aussi appelée table de routage de flux), ainsi que spécifié dans"Standard for High Performance Serial Bus Bridges", pour les communications sur l'interface IEEE 1394 350. Le module de pont 360 maintien également, en correspondance avec cette première table, une deuxième table de contrôle de flux, pour les communications avec le réseau commuté.
Lorsque le noeud local est un"talker"intermédiaire pour le flux considéré, la deuxième table de contrôle de flux contient les informations suivantes : des informations sur le routage permettant d'atteindre le prochain pont sur la route du"listener" ; des informations sur l'ordonnancement mis en oeuvre pour le transport des données sur le réseau commuté ; des informations permettant d'identifier de manière unique la connexion de flux qui est en cours d'établissement entre le noeud local considéré et le prochain pont sur la route du"listener".
Lorsque le noeud local est un"listener"intermédiaire pour le flux considéré, la deuxième table de contrôle de flux contient des informations permettant d'identifier de manière unique la connexion de flux qui est en cours d'établissement entre le noeud local lui-même et le prochain pont sur la route du"talker".
De plus, le module de pont 360 est en charge de la modification des champs des paquets IEEE 1394 en vue de leur transmission sur l'interface IEEE 1394 (350), et notamment des champs relatifs :
<Desc/Clms Page number 17>
au débit ; au canal emprunté par les paquets ; aux informations temporelles (CIP Packets) ; à des indications destinées à l'interface IEEE 1394 (350) relatives à la vitesse de transmission.
Le module de contrôle 360 assure la gestion de la DPRAM 330, au moyen des signaux de contrôle ctrl2. Il est en charge de l'inscription et de la lecture des données dans les FIFO de la DPRAM 330. A cet effet, le module de contrôle 360 comprend des descripteurs des flux gérés. Ces descripteurs contiennent des informations associées à chaque flux pour lequel doit être effectuée une modification d'en-tête de paquet IEEE 1394, comme décrit dans la référence 3 précitée ("IEEE P1394. 1 Draft 0.17 Standard for High Performance serial Bus Bridges"). Pour la transmission sur le réseau commuté 100, ces descripteurs doivent contenir les paramètres d'ordonnancement utilisés (voir ci-après pour la définition et l'utilisation de ces paramètres). En outre, les descripteurs compris dans le module de contrôle 360 doivent contenir la séquence des FIFO de la DPRAM qui doivent être utilisées pour chaque flux. Cette séquence doit être connue des noeuds d'entrée et de sortie du réseau commuté entre lesquels est établie la connexion de flux (voir la définition du message CONNECT).
Premier exemple : on suppose que le flux utilise deux chemins de routage à travers le réseau commuté 100, avec un paquet isochrone envoyé sur le premier chemin lors d'un cycle de 125 ils et le paquet isochrone suivant envoyé sur le second chemin lors du cycle suivant de 125 ils. Dans ce premier exemple, le descripteur de flux doit indiquer que la séquence est cyclique et telle qu'un paquet est inscritllu dans la FIFO correspondant au premier chemin, puis un paquet est inscrit/lu dans la FIFO correspondant au second chemin.
Second exemple : on suppose que le flux utilise deux chemins de routage à travers le réseau commuté 100, avec un paquet isochrone envoyé sur le premier chemin lors d'un cycle de 125 ils et les deux paquets isochrones suivants envoyés sur le second chemin lors des deux cycles suivants de 125 ils. Dans ce second exemple, le descripteur de flux doit indiquer que la séquence est cyclique et telle qu'un paquet est inscrit/lu dans
<Desc/Clms Page number 18>
la FIFO correspondant au premier chemin, puis deux paquets sont inscrits/lus dans la FIFO correspondant au second chemin.
On présente maintenant, en relation avec la figure 3, un exemple de réalisation du module SAR 340 du pont hétérogène de la figure 2.
Le module SAR 340 gère par exemple trois types de flux : les flux asynchrones de contrôle, les flux asynchrones de message et les flux synchrones de données (flux isochrones audio/vidéo). Les flux asynchrones de contrôle ont la priorité maximale, et les flux asynchrones de message la priorité minimale. Les flux asynchrones de contrôle et de message ne nécessitent pas de connexion. Les flux asynchrones de message et les flux synchrones de données nécessitent une allocation de bande passante. Les flux asynchrones de contrôle ne nécessitent pas d'allocation de bande passante, et doivent donc être aussi faibles que possibles, afin d'être les moins perturbateurs pour les flux synchrones de données. Les flux asynchrones de contrôle (pour la gestion du réseau commuté) sont pris en compte dans la bande passante maximale disponible pour les flux asynchrones de message et les flux synchrones de données. Par exemple, 80% au plus de chaque bande passante de lien peuvent être alloués aux flux asynchrones de message et aux flux synchrones de données, ce qui laisse 20% pour les flux asynchrones de contrôle. Cette répartition peut être affinée au vu de simulations réseau et de tests de performance de prototype.
Dans l'exemple de réalisation illustré sur la figure 3, le module SAR 340 comprend : une partie liée à la planification ("scheduler"), comprenant elle-même une interface de planification 500, un processeur de paramètres de planification 505 et un module d'émission 503 ; une partie liée à la segmentation ("segmenter"), comprenant elle-même une interface CPU 501 et un module de remplissage 502 ; une mémoire SRAM 504.
On présente maintenant le fonctionnement de ce module SAR 340. Le module de remplissage 502 réalise des accès mémoire directs ou DMA ("Direct Memory Access"), depuis la CPU RAM 392 vers la DPRAM 330. L'interface CPU 501 contient un registre qui permet l'envoi de commandes CPU ("CPU CMD"). Le module d'émission 503
<Desc/Clms Page number 19>
assure le transfert de données depuis la DPRAM 330 vers le commutateur 320. Le processeur de paramètres de planification 505 assure la fourniture d'états de transfert au module d'émission 503, pendant le transfert. Ce processeur 505 est détaillé ci-après en relation avec la figure 4. L'interface de planification 500 fournit la mémoire restante en DPRAM au module de remplissage 502 et les données disponibles au processeur de paramètres de planification 505. La mémoire SRAM 504 contient le descripteur de transfert associé à chaque flux de données isochrone.
On présente maintenant, en relation avec la figure 4, un exemple de réalisation d'une cellule de traitement comprise dans le processeur de paramètres de planification 505 compris dans le module SAR 340 et apparaissant sur le schéma blocs de la figure 3.
Le processeur de paramètres de planification 505 comprend une cellule de traitement pour chaque flux non dédié au contrôle. La figure 4 présente un diagramme fonctionnel d'une telle cellule. Dans ce diagramme, le module de rafraîchissement 607 charge dans des registres les paramètres de planification en provenance de la SRAM 504, à chaque fois que le compteur de cycles ("Dyn Time counter") 605 atteint zéro, ou que le compteur de paquets ("Dyn PK counter") 606 atteint zéro aussi.
Le module de rafraîchissement 607 assure la vérification des modifications des paramètres de transfert qui peuvent être demandés par le CPU. Les paramètres de planification contiennent trois types d'information (associés chacun à un registre distinct) : la taille des paquets (registre 600) qui doivent être transférés sur le réseau commuté (segmentation des données contenues dans la DPRAM), le nombre de paquets (registre 606) qui doivent être transférés en un nombre spécifié de cycles d'horloge (registre 605). Pour le flux concerné, le module de rafraîchissement 607 informe le module d'émission 503 de la situation des paramètres de planification. La taille des paquets est comparée avec les données disponibles en DPRAM (information fournie par l'interface de planification 500), le nombre de cycles d'horloge restant est comparé à zéro, le nombre de paquets restant est comparé à zéro, afin que le module d'émission 503 soit informé de la progression du transfert.
On présente maintenant, en relation avec la figure 5, l'algorithme de répartition exécuté par le module d'émission 503 compris dans le module SAR 340 et apparaissant sur le schéma blocs de la figure 3. Cet algorithme indique que le module SAR 340, pour
<Desc/Clms Page number 20>
les transferts de paquets sur les liens du réseau commuté, n'est pas basé sur un multiplexage temporel ou TDM ("Time Division Multiplexing"). Le module SAR 340 permet l'envoi de paquets de trois type (appartenant respectivement à un flux asynchrone de contrôle, un flux synchrone de données, et un flux asynchrone de message), selon des priorités établies. Pour chaque flux de données, le CPU gérant la charge du réseau affecte une priorité et des paramètres de transmission (compteur de paquets, longueur de paquets et marge temporelle de paquets exprimée en multiple de 125 uns). Les variations positives ("overflow") ou négatives ("underflow") de transmission sont détectées afin de permettre au CPU d'affiner les spécifications des paramètres de transmission.
On présente désormais, en relation avec la figure 6, une table de routage pour le réseau commuté 100, contenue dans la RAM 392 de la porte 202 du pont 201/202. Des tables similaires sont bien sûr également mémorisées dans les mémoires RAM des autres portes des ponts hétérogènes du réseau hétérogène de l'invention, mais, par souci de simplification, on s'attachera dans la suite du document à décrire plus particulièrement la table de routage de la porte référencée 202. Une telle table permet d'illustrer la détermination du chemin de routage nécessaire à l'établissement d'une connexion de flux. Les champs qui sont renseignés dans la table de la figure 6 constituent un exemple numérique qui sera repris dans la suite du document.
Lorsque la porte d'un pont reçoit un message inter-pont contenant une requête d'établissement d'une connexion de flux, elle doit vérifier que l'identifiant de bus (virtuel) du terminal d'entrée ou du"talker" (si la porte du pont considérée constitue un "listener"sur le chemin de routage) ou l'identifiant de bus du terminal destinataire ou "listener" (si la porte du pont considérée constitue un"talker"sur le chemin de routage) est encore valide. Dans le cas contraire, la connexion de flux ne peut pas être établie.
Une telle information est contenue dans le plan de routage (en anglais"routing map") défini dans la norme"IEEE P1394.1 draft 0.17 Standard for High Performance Serial Bus Bridges". La gestion de ce plan de routage n'est pas l'objet de la présente invention, et ne sera donc pas décrite dans la présente demande. Pour plus de détails, on pourra se reporter à la norme mentionnée ci-dessus.
La table présentée en figure 6 établit une correspondance entre un identifiant de bus (représenté par une valeur comprise entre 0 et Ox3FE), le noeud du réseau commuté
<Desc/Clms Page number 21>
transmetteur de données, le ou les chemin (s) de routage (route 1,..., route n) au travers du réseau commuté 100 pour atteindre ce noeud et la bande passante disponible pour chaque chemin de routage au travers du réseau commuté.
La méthode de routage au travers du réseau commuté 100 est par exemple une méthode de routage par la source (en anglais"source routing"). La méthode de routage mise en oeuvre au sein du réseau commuté ne fait pas l'objet de la présente invention, et on pourra se référer à la demande de brevet français n 01 02037 mentionnée précédemment pour une description plus détaillée du traitement des en-têtes de routage.
L'information de bande passante pour un chemin de routage donné au travers du réseau commuté 100, qui est contenue dans la table de la figure 6, permet au noeud qui est en charge du traitement d'une requête d'établissement de connexion de flux, de décider si les ressources courantes du réseau permettent ou non l'établissement de la connexion de flux requise.
L'allocation de bande passante peut, par exemple, être contrôlée par un noeud "leader"du réseau commuté 100, mettant en oeuvre une procédure appelée en anglais "lock compare and swap" ("transaction de verrouillage, comparaison et échange") : le noeud souhaitant allouer de la bande passante envoie un message au noeud leader du réseau commuté 100 spécifiant la valeur précédente de la bande passante, et la nouvelle valeur, tenant compte de la réservation de bande passante à effectuer.
Cette procédure garantit que des requêtes d'allocation de bande passante concourantes ne soient pas nuisibles à la table de description de la bande passante du réseau. Le noeud leader n'acceptera la requête d'allocation de bande passante que si la valeur précédente de bande passante spécifiée dans le message reçu correspond à la valeur contenue dans la table de description du noeud leader. Le noeud leader peut ensuite initier un message de réponse destiné à l'émetteur de la requête indiquant le succès de la transaction et/ou, il peut utiliser un message de diffusion informant tous les noeuds du réseau commuté 100 de la nouvelle bande passante disponible.
Ainsi, la valeur figurant dans les tables distribuées de la figure 6 peut, à un instant donné, ne pas être exactement identique à la valeur contenue dans la table de description du noeud leader. Dans ce cas, le noeud émetteur d'une requête de bande
<Desc/Clms Page number 22>
passante utilisera une"vieille valeur", inappropriée, dans le message d'allocation de bande passante, et la requête sera donc rejetée par le noeud leader.
Pour que sa requête soit acceptée, le noeud requérant une allocation de bande passante doit donc obtenir la nouvelle valeur de bande passante contenue dans la table de description du noeud leader : pour ce faire, il peut émettre une requête de lecture de la table de description du noeud leader, ou attendre de recevoir un message de diffusion du noeud leader informant tous les noeuds de la nouvelle bande passante disponible sur le réseau commuté 100.
Le choix d'un noeud leader, et son mode de fonctionnement ne font pas l'objet de la présente invention, et en seront donc pas décrits plus en détails dans la présente demande.
On suppose, dans l'exemple numérique qui sera traité dans la suite du document, que la porte 207 du pont 207/208 reçoit une requête d'établissement d'une connexion pour un terminal destinataire ("listener") 114 connecté au bus 140 et pour un terminal d'entrée ("talker") 102 connecté au bus 110. Concernant une telle requête, on peut se reporter à la référence précitée"IEEE P1394.1 Draft 0.17 Standard for High Performance Serial Bus Bridges". La porte 207 envoie la requête de connexion de flux à la porte 202. Puis, la porte 202 consulte la table illustrée en figure 6. A l'aide de l'identifiant du bus 140, elle détermine qu'il faut atteindre la porte 207 du pont 207/208, en empruntant par exemple soit le (premier) chemin de routage passant par les noeuds 213 et 214 du réseau commuté, soit le (second) chemin de routage passant par le noeud 203. L'information de routage pour chaque chemin possible renseigne sur le nombre de noeuds intermédiaires à traverser (deux pour le premier chemin précité et un seul pour le second) au sein du réseau commuté 100 pour atteindre le pont hétérogène référencé 207/208. Cette information est particulièrement importante pour les calculs qui seront développés dans la suite du document.
Pour une application nécessitant plus de bande passante que ce que peut supporter n'importe quel lien sur le chemin d'un noeud vers un autre à travers le réseau commuté, un groupe de chemins est obtenu afin de garantir les conditions suivantes : la bande passante nécessaire par chemin doit être un multiple d'une"unité de bande passante" ;
<Desc/Clms Page number 23>
la somme des bandes passantes nécessaires pour tous les chemins doit être égale à la bande passante totale nécessaire pour le flux de données isochrone.
On définit par exemple 1"'unité de bande passante"comme le résultat de la division de la bande passante totale (nécessaire pour le flux de données isochrone) par le nombre de ports de sortie du noeud.
On notera que si plusieurs chemins utilisent un lien commun (entre deux noeuds), la vérification de la bande passante disponible restante doit être effectuée en examinant la bande passante disponible du lien concerné au lieu de la bande passante disponible restante pour le chemin global, afin de s'assurer qu'une bande passante disponible n'est pas comptée deux fois.
L'intérêt d'utiliser une"unité de bande passante"réside dans le fait que cela assure que l'allocation de bande passante par chemin est faite selon la taille des paquets du flux. Cela signifie qu'à chaque cycle de 125 us, un paquet isochrone qui est reçu sur l'interface IEEE 1394 est placé par le module de contrôle 360 dans la Tx FIFO (FIFO d'émission) de la DPRAM 330 associée à l'un des chemins de routage obtenus (une FIFO par chemin) selon la séquence de FIFO définie dans le descripteur de transfert.
Par exemple, on suppose que deux chemins ont été obtenus, que la bande passante allouée au premier chemin permet de transporter un paquet isochrone tous les trois cycles de 125 p. s, et que la bande passante allouée au second chemin permet de transporter deux paquets isochrones tous les trois cycles de 125 J. s. On a donc au total trois paquets isochrones transportés sur deux chemins sur trois cycles de 125 us successifs. Dans cet exemple, le module de contrôle 360 doit placer le premier paquet reçu de l'interface IEEE 1394 350 dans la FIFO correspondant au premier chemin, puis les deux paquets reçus suivants dans la FIFO correspondant au second chemin. Ceci permet, à la réception, un mécanisme simple de réassemblage de flux : le module de contrôle 360 doit prendre le premier paquet reçu de la FIFO correspondant au premier chemin, puis les deux paquets reçus suivants reçus de la FIFO correspondant au second chemin.
Si le flux de données isochrone n'a pas des paquets isochrones de taille constante, la bande passante doit être allouée selon la taille maximale de paquet isochrone. Cette information est fournie dans les messages inter-ponts qui requièrent la connexion de
<Desc/Clms Page number 24>
flux, comme spécifié dans la référence précitée"IEEE P1394.1 Draft 0.17 Standard for High Performance Serial Bus Bridges". Pour les paquets qui sont plus petits que la taille maximale définie, le module de contrôle 360 doit compléter ("padding") les paquets afin de placer dans la Tx FIFO de la DPRAM 330 un paquet dont la taille est égale à la taille maximale définie. A la réception, le module de contrôle 360 retrouve la quantité de données définie par la taille maximale de paquet, vérifie la taille réelle du paquet dans le champ d'en-tête de paquet correspondant (défini dans la référence"IEEE Standard 1394- 1995, Standard for High Performance Serial Bus"), et envoie réellement dans la FIFO d'émission isochrone ou ITF ("Isochronous Transmit FIFO") de l'interface IEEE 1394, le paquet isochrone sans les éléments complémentaires (de"padding").
Le nombre de chemins obtenus et la bande passante obtenue par chemin sont fournies aux moyens de définition/instanciation. Le CPU 391 définit les paramètres de planification utilisés par le module SAR 340 pour le transfert des données sur chaque chemin. Ces paramètres identifient la quantité de données à transférer pour un nombre donné de cycles de 125 J, ts. Dans l'exemple précité, le paramètre de planification pour le premier chemin indique qu'un paquet (qui correspond à l'encapsulation du paquet isochrone reçu de l'interface IEEE 1394) doit être transmis tous les trois cycles de 125 ils, et le paramètre de planification pour le second chemin indique que deux paquets (qui correspondent à l'encapsulation de paquets isochrones reçus de l'interface IEEE 1394) doivent être transmis tous les trois cycles de 125 ils.
Après que le nombre de chemins requis et la bande passante requise dédiée à chaque chemin ont été fixés, un message d'allocation de bande passante doit être envoyé au noeud leader du réseau commuté 100. Si la requête réussit, le noeud leader envoie un message CONNECT à la porte suivante sur le chemin vers le terminal destinataire (la porte 207 dans l'exemple précité). Ce message contient notamment les chemins utilisés à travers le réseau et l'encapsulation du message de requête de connexion de flux (voir la référence précitée"IEEE P1394.1 Draft 0.17 Standard for High Performance Serial Bus Bridges"). Avec ces informations, la porte suivante (207 dans l'exemple précité) peut instancier ses moyens de transfert. Si la porte (207) n'est pas capable d'instancier ses moyens de transfert pour gérer le flux, elle doit au moins informer la porte (202 dans l'exemple précité) qui demande l'établissement du flux qu'elle rejette la demande de
<Desc/Clms Page number 25>
connexion. Dans ce cas, la porte (202 dans l'exemple précité) qui demande l'établissement du flux est en mesure de libérer la bande passante qu'elle a allouée à la connexion de flux avant le rejet. Sinon, la porte (207) informe la porte (202) qui demande l'établissement du flux qu'elle accepte la demande de connexion.
Sur le réseau commuté 100, le chemin de routage d'un paquet transitant d'un premier vers un second noeud peut être plus ou moins congestionné, selon les flux de données qui traversent chaque commutateur 320 de la figure 2. Sur la figure 2, la DPRAM 330 joue le rôle de tampon pour les données, afin de contrer la gigue du réseau, et de garantir que : il y a toujours assez d'espace libre pour écrire des données dans la FIFO de transmission (Tx FIFO), en mettant en oeuvre une opération d'écriture de flux ; il y a toujours assez de données qui doivent être transmises par ordonnancement (c'est-à-dire segmentation, planification ou encore"scheduling") dans la FIFO de transmission (Tx FIFO) ; il y a toujours assez d'espace libre dans la FIFO de réception (Rx FIFO) pour le ré-assemblage de données reçues du réseau ; il y a toujours assez de données qui doivent être lues par la FIFO de réception (Rx FIFO), par une opération de lecture de flux.
Ainsi, l'instantiation de la FIFO (de transmission ou de réception) doit prendre en compte une estimation de la gigue du réseau commuté 100, afin de garantir les conditions listées ci-dessus.
Le réseau commuté 100 est cadencé au moyen d'une horloge à 49,152 MHz. La synchronisation de l'ensemble des noeuds du réseau commuté 100 sur cette horloge ne fait pas l'objet de la présente invention, et ne sera donc pas décrite plus en détails dans ce document. Un intervalle de temps (en anglais"time slot") sur le réseau commuté possède une durée de 125 s, comme pour un bus série de type IEEE 1394. Le transfert d'un paquet sur le réseau est établi en fonction de connexions déjà existantes au sein du réseau. Les connexions de flux ont une bande passante garantie (procédure d'allocation de bande passante et algorithme de planification ("scheduling") décrits précédemment).
Ainsi, dans le pire des cas, un paquet peut être reçu par le noeud destinataire au début d'un cycle de 125 jj. s, si aucun des commutateurs intermédiaires du chemin de
<Desc/Clms Page number 26>
routage n'était sujet à congestion, alors que le paquet suivant ne sera reçu qu'à la fin du cycle de 125 us suivant, en raison d"'embouteillages"dans certains commutateurs intermédiaires. Par conséquent, la valeur maximale de la gigue du réseau est de 250 us.
Une estimation plus précise peut être réalisée en analysant le comportement du réseau commuté 100 en présence de flux de données concourant (par simulation, par modélisation du réseau, par test de performance de prototypes), mais une estimation grossière de la gigue à 250 us est suffisante pour illustrer la présente invention.
Pour une application nécessitant un débit de données de 66 Mbps, l'estimation de la taille de la FIFO nécessaire pour contrebalancer la gigue du réseau commuté 100 est la suivante : Lpjpo = D+X.
Comme décrit par la suite en relation avec la figure 7, D représente une première partie de la mémoire FIFO d'origine, appelée seuil d'origine, et X représente une seconde partie de la mémoire FIFO d'origine, permettant de contrer la gigue du réseau.
Dans un mode de réalisation préféré de l'invention, on choisit X = D. On a alors : LFIFO = 2D = 2X = 2*débit* gigue = 2* 66. 106* 250. 106 = 4125 bytes 1032 Quadlets
La figure 7 illustre, pour un chemin de routage donné, la taille des FIFOs de deux noeuds hétérogènes jouant respectivement le rôle de noeud d'entrée dans le réseau commuté (noeud émetteur ou noeud"talker") et de noeud de sortie du réseau commuté (noeud récepteur ou noeud"Hstener") pour un flux de données, après estimation de la gigue du réseau commuté. Ces FIFOs sont instanciées dans la DPRAM 330 et gérées par le module Contrôle/Pont 360 de la figure 2. Les données sont placées dans la FIFO 401 par le module de pont 360, en vue d'un transfert sur le réseau commuté 100, en mettant en oeuvre une opération d'écriture 400. Ces données doivent être segmentées et ordonnancées par le module SAR 340, au cours d'une opération de segmentation et d'ordonnancement 405 (opération de"scheduling").
Le chemin de routage de bout en bout 406 peut traverser un ou plusieurs noeuds intermédiaires du réseau commuté 100. La gigue du réseau introduit des variations du délai nécessaire à la transmission de paquets de bout en bout. La FIFO d'émission (aussi appelée FIFO d'entrée) 401 et la FIFO de réception (aussi appelée FIFO de sortie) 402 de la figure 7 ont pour rôle de contrer cette gigue. La taille L et le seuil D des FIFOs
<Desc/Clms Page number 27>
sont déterminés par l'unité centrale 391, après estimation de la gigue du réseau, ainsi que décrit précédemment.
Si les capacités de la DPRAM 330 ne permettent pas de remplir les conditions d'instanciation des FIFO définies après l'estimation de la gigue du réseau commuté, alors la requête de connexion de flux qui était à l'origine de la détermination de la gigue est rejetée.
La figure 8 présente un algorithme mis en oeuvre par un pont hétérogène"talker" (202 dans l'exemple précité) formant noeud d'entrée dans le réseau commuté 100, sur réception d'une requête d'établissement de connexion de flux provenant d'un pont hétérogène"listener" (207 dans l'exemple précité) formant noeud de sortie du réseau commuté 100.
Cet algorithme est stocké dans la ROM du pont hétérogène"talker"202. Il est chargé dans la RAM lors de la mise sous tension et l'unité centrale (CPU) 391 va exécuter les instructions correspondantes.
Au cours d'une étape référencée SO, le pont hétérogène"talker"202 reçoit une requête de connexion de flux isochrone. Comme décrit précédemment, grâce à la table de la figure 6, il vérifie l'identité de bus du"listener"et identifie le pont hétérogène "listener"207 avec lequel il doit communiquer via le réseau commuté 100.
Au cours d'une étape référencée SI, et comme décrit précédemment, on obtient un groupe de Y chemins de routage à travers le réseau commuté 100. On rappelle que le flux est divisé en une pluralité de sous-flux, empruntant chacun un des chemins de routage.
Les étapes suivantes visent à s'assurer que la séquence de paquets du flux isochrone est conservée, à la réception, dans le pont hétérogène"listener"207. Pour cela, la configuration de connexion est calculée de façon à assurer que les délais isochrones totaux, subis par les paquets entre le pont hétérogène"talker"202 et le pont hétérogène "listener"207, sont identiques quel que soit le chemin de routage emprunté.
Les étapes référencées S2 à S9 visent à déterminer, parmi les délais isochrones totaux associés aux différents chemins de routage, le délai isochrone total maximal. Les étapes S3 à S7 sont exécutées successivement pour chacun des Y chemins de routage.
<Desc/Clms Page number 28>
Au cours d'une étape référencée S2, on initialise un compteur à rebours avec le nombre Y de chemins obtenus lors de l'étape référencée SI. On initialise à la valeur zéro une variable"Délai max".
Au cours d'une étape référencée S3, on obtient, pour le chemin considéré I, la taille de la FIFO d'entrée comprise dans le pont hétérogène"talker"202 (et éventuellement celle de la FIFO de sortie, comprise dans le pont hétérogène"listener" 207). Comme expliqué précédemment, et illustré sur la figure 7, les tailles de ces FIFO sont calculées de façon à contrer la gigue du réseau commuté 100, pour le chemin
Figure img00280001

considéré I. Dans un mode de réalisation préféré, les mémoires FIFO d'entrée et de sortie possèdent la même taille (avec en outre, D = X) : Lpjpo ; = Lpjpoz =2D = 2X.
Au cours d'une étape référencée S4, on calcule le délai, Dréseau introduit par le passage dans le chemin considéré 1 du sous-flux qui lui a été affecté. Ce délai est par exemple calculé selon la formule suivante : D = N y n Dréseau commuté "noeuds intermédiaires" Dcommutation avec Nnreuds intermédiaires le nombre de noeuds intermédiaires le long du chemin de routage, et Dcommutation le délai de commutation moyen par noeud intermédiaire.
Au cours d'une étape référencée S5, on calcule le délai isochrone total, Disochrone total, associé au chemin considéré I. Ce délai est par exemple calculé selon la formule suivante : Disochrone total= Dréseau commuté + Dtraversée FIFO d'entrée + Dtraversée FIFO de sortie + Dtrait noeud d'entrée + Dtrait noeud de sortie
Figure img00280002

OÙ : Dtraversée FIFO d'entrée est le délai de traversée, par le sous-flux associé au chemin considéré 1, de la mémoire FIFO d'entrée comprise dans le pont hétérogène "talker"202 ; Déversée FIFO de sortie est le délai de traversée, par le sous-flux associé au chemin considéré I, de la mémoire FIFO de sortie comprise dans le pont hétérogène "listener"207 ; Dtraitement noeud d'entrée est le délai de transfert, au sein du pont hétérogène"talker"202, d'un élément du flux, depuis une interface d'entrée (de type IEEE 1394) du pont hétérogène"talker"202 vers la mémoire FIFO d'entrée. Ce délai de transfert
<Desc/Clms Page number 29>
inclut le temps de traitement par le module de contrôle 360 du pont hétérogène "talker"202 ; Dtraitement noeud de sort, le délai de transfert, au sein du pont hétérogène"listener"207, d'un élément du flux, depuis la mémoire FIFO de sortie vers une interface de sortie (de type IEEE 1394) du pont hétérogène"listener"207. Ce délai de transfert inclut le temps de traitement par le module de contrôle 360 du pont hétérogène"listener"207.
Dans un mode de réalisation préféré de l'invention, on ne tient pas compte des délais de transfert. En effet, comme expliqué en détail par la suite (voir calcul de 8), on ne s'intéresse pas tant à la valeur absolue du délai isochrone total d'origine qu'à sa valeur relative par rapport à un délai isochrone total maximal (pris comme référence).
L'objectif étant de modifier le délai isochrone total d'origine de façon à le rendre égal au délai isochrone total maximal.
Par ailleurs, on a : Déversée FIFO potrée = Al/Débitux. avec Al une première partie (appelée seuil) de la mémoire FIFO d'entrée ; Déversée FIFO de sortie = #2/Débitsous-flux, avec A2 une première partie (appelée seuil) de la mémoire FIFO de sortie ; avec Débitsous-flux le débit du sous-flux associé au chemin considéré I.
Figure img00290001
Dans un mode de réalisation préféré de l'invention, on choisit Dl = D2 = D. De cette façon, le pont hétérogène"talker"202 peut calculer le délai isochrone total associé au chemin considéré I, sans avoir à connaître des informations relatives au pont hétérogène"listener"207 (relatives notamment à la mémoire FIFO de sortie de ce dernier).
Au cours d'une étape référencée S6, on compare le délai isochrone total associé au chemin considéré I, avec le délai isochrone total maximal ("Délai max"). Dans l'affirmative, on effectue une étape référencée S7, consistant à donner à la variable "Délai max"la valeur du délai isochrone total associé au chemin considéré I, puis une étape référencée S8 consistant à décrémenter le compteur de chemins, de façon à passer au chemin suivant. Dans la négative, on passe directement à l'étape référencée S8.
<Desc/Clms Page number 30>
Au cours d'une étape référencée S9, on détecte si tous les chemins ont été traités, en comparant la valeur courante I (après décrémentation) du compteur de chemins à zéro. Dans la négative, on effectue les étapes référencées S3 à S8 pour le chemin suivant. Dans l'affirmative, on passe à l'étape référencée S 10.
Les étapes référencées S 10 à S 15 visent, pour chaque chemin (sauf pour le chemin associé au délai isochrone total maximal), à instancier les FIFO d'entrée et de sortie associées, de façon à assurer que le délai isochrone total associé à chaque chemin de routage est égal au délai isochrone total maximal. Les étapes S 11 à S 13 sont exécutées successivement pour chacun des Y chemins de routage (sauf pour le chemin associé au délai isochrone total maximal).
Au cours d'une étape référencée S 10, on initialise un compteur à rebours avec le nombre Y de chemins obtenus lors de l'étape référencée SI.
Au cours d'une étape référencée SU, on calcule, pour le chemin considéré I, le nouveau seuil Al'de la mémoire FIFO d'entrée, comprise dans le pont comprise dans le pont hétérogène"talker"202 (et éventuellement le nouveau seuil A2'de la mémoire
Figure img00300001

FIFO de sortie comprise dans le pont hétérogène"listener"207).
Ces nouveaux seuils sont par exemple calculés selon les formules suivantes : Al'= Al + (PI* 8) A2'= A2 + (P2 * avec :
Al le seuil d'origine de la mémoire FIFO d'entrée et A2 le seuil d'origine de la mémoire FIFO de sortie ;
PI et P2 les proportions dans lesquelles la mémoire FIFO d'entrée et la mémoire FIFO de sortie interviennent dans la compensation ;
8 le plus grand entier tel que : 8 < ô.., avec max = Débit sous-flux * (Disochrone total référence - Disochrone total origine) où Débit sous-flux est le débit du sous-flux,
Disochrone total référence est le délai isochrone total maximal (pris comme référence),
Disochrone total origine est le délai isochrone total d'origine associé au chemin, avant compensation.
<Desc/Clms Page number 31>
Au cours d'une étape référencée S12, on calcule, pour le chemin considéré I, la nouvelle taille de la mémoire FIFO d'entrée (et éventuellement celle de la FIFO de sortie).
On rappelle que : la mémoire FIFO d'entrée d'origine possède une taille : LFIFOI d'origine = Al + XI avec Al le seuil d'origine, et XI permettant de contrer la gigue de réseau, la mémoire FIFO de sortie d'origine, possède une taille : LFlF02 d'origine = A2 + X2 avec A2 le seuil d'origine et X2 permettant de contrer la gigue de réseau.
Après modification, et avec Al'et A2'calculés comme indiqué ci-dessus : la mémoire FIFO d'entrée adaptée possède une taille : LFIFOI adaptée = Al'+ XI, la mémoire FIFO de sortie adaptée, possède une taille : LFIFO2 adaptée = A2'+ X2.
Figure img00310001
Dans un mode de réalisation préféré de l'invention, on prend par exemple : PI = P2 = 50%, et Al = A2 = A = XI = X2 = X.
Dans ce cas, on a : LFIFOI adaptée = LnF02 adaptée = A'+ X = [A + (8/2)] = X De cette façon, le pont hétérogène"talker"202 peut calculer la nouvelle taille de la mémoire FIFO d'entrée associée au chemin considéré I, sans avoir à connaître des informations relatives au pont hétérogène"listener"207 (relatives notamment à la mémoire FIFO de sortie de ce dernier).
Au cours d'une étape référencée S 13, la FIFO d'entrée du pont hétérogène "talker"202, pour le chemin considéré, est instanciée. L'unité centrale 391 donne au module Pont/Contrôle 360 les paramètres relatifs au flux considéré, qui ont été listés et calculés précédemment.
Au cours d'une étape référencée S14, on décrémente le compteur de chemins, de
Figure img00310002

façon à passer au chemin suivant. Au cours d'une étape référencée S15, on détecte si tous les chemins ont été traités, en comparant la valeur courante 1 (après décrémentation) du compteur de chemins à zéro. Dans la négative, on effectue les étapes référencées SU à S14 pour le chemin suivant. Dans l'affirmative, on passe à l'étape référencée S16.
Au cours d'une étape référencée S16, la requête d'établissement de connexion de flux est acceptée par le pont hétérogène"talker"202, et la procédure d'établissement de connexion de flux peut continuer, comme spécifié dans la norme"Standard for High Performance Serial Bus Bridges". Si les capacités de la DPRAM 330 ne permettent pas
<Desc/Clms Page number 32>
de remplir les nouvelles conditions d'instanciation des FIFO d'entrée associées aux différents chemins, alors la requête d'établissement de connexion de flux est rejetée.
La même procédure est mise en oeuvre pour la porte 207 du pont hétérogène 207/208, qui est la porte de pont"listener"suivante sur le chemin de routage du terminal "talker"102 au terminal"listener"114, lorsque la porte 202 transfère un message LISTEN pour l'établissement d'une connexion de flux. Pour chaque chemin, la porte 207 du pont hétérogène 207/208 va donc intégrer, dans le calcul de la taille de sa mémoire FIFO (de sortie) adaptée, la partie de la correction du délai isochrone total qui n'a pas été prise en compte par la porte 202 du pont hétérogène 201/202 lors du calcul par cette dernière de la taille de la mémoire FIFO (d'entrée) adaptée.
La figure 9 illustre, pour un chemin de routage donné, la taille des FIFO d'entrée (Tx FIFO) et de sortie (Rx FIFO), comprises dans les ponts hétérogènes"talker"202 et "listener"207 respectivement, après adaptation du délai isochrone total à un délai isochrone total de référence, pour une connexion de flux donnée dont une partie (sousflux) emprunte ce chemin de routage donné au sein du réseau commuté 100.
On présente maintenant un exemple d'application numérique, dans le cas précité où la porte 202 du pont hétérogène"talker"201/202 reçoit, en provenance de la porte 207 du pont hétérogène"listener"207/208, une requête d'établissement d'une connexion pour un terminal destinataire ("listener") 114 connecté au bus 140 et pour un terminal d'entrée ("talker") 102 connecté au bus 110.
On suppose que : - la connexion de flux de données isochrone requiert une bande passante de 132
Mbps ; - le premier chemin de routage, via les noeuds référencés 213 et 214, possède une bande passante de 66 Mbps ; - le second chemin de routage, via le noeud référencé 203, possède une bande passante de 66 Mbps ; pour chaque chemin, la taille d'origine (c'est-à-dire permettant de contrer la gigue de réseau, mais avant correction en fonction du délai isochrone total maximal) des mémoires FIFO d'entrée et de sortie est 1032 Quadlets (comme calculé précédemment) ;
<Desc/Clms Page number 33>
Figure img00330001

le délai de commutation moyen par noeud intermédiaire du réseau commuté est gs.
On en déduit que le délai introduit par le passage dans le premier chemin du sous-flux qui lui a été affecté est 60 Jus (2 sauts), et que le délai introduit par le passage dans le premier chemin du sous-flux qui lui a été affecté est 30 s (1 saut).
Puis, sans tenir compte des délais de transfert, on calcule le délai isochrone total associé au premier chemin : Disochrone total 1 = Dréseau commuté + Dtraversée FIFO d'entrée + Dtraversée FIFO de sortie = 60 uns + ( (1032 Quadlets/2) + (1032 Quadlets/2))/66 Mbps) = 560 jus
Sans tenir compte des délais de transfert, on calcule également le délai isochrone total associé au second chemin : Disochrone total 2 = Dréseau commuté + Dtraversée FIFO d'entrée + Dtraversée FIFO de sortie
Figure img00330002

= 30 gs + ( (1032 Quadlets/2) + (1032 Quadlets/2))/66 Mbps) vs Le délai isochrone total associé au premier chemin est le délai isochrone total maximal. Il est pris comme référence pour modifier le délai isochrone total associé au second chemin.
On calcule le nouveau seuil (A'= Al'= A2') pour les mémoires FIFO d'entrée et de sortie associées au second chemin : #' = #+(#/2) = A + (Débit sous-flux (Disochrone total référence - Dioschrone total origine) /2) = (1032 Quadlets/2) + (66 Mbps * (560 s - 530 s)/2) = 516 Quadlets + 31 Quadlets = 547 Quadlets
Enfin, on calcule la nouvelle taille des mémoires FIFO d'entrée et de sortie associées au second chemin :
Figure img00330003

Lpipoi adaptée = Lpjpoe adaptée = A'+X = 547 Quadlets + (1032 Quadlets/2) = 1063 Quadlets.

Claims (41)

  1. REVENDICATIONS 1. Procédé d'établissement d'une connexion de flux de données isochrone impliquant la traversée, depuis un noeud d'entrée vers un noeud de sortie, d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit flux de données isochrone comprenant des paquets de données successifs, caractérisé en ce que, lorsque ladite connexion de flux de données isochrone nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté, le procédé comprend les étapes suivantes : on obtient un groupe de chemins, comprenant au moins deux chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie, ledit noeud d'entrée comprenant, associée à chaque chemin de routage, une ressource d'entrée, ledit noeud de sortie comprenant, associée à chaque chemin de routage, une ressource de sortie ; on divise le flux de données isochrone en une pluralité de sous-flux devant emprunter chacun un des chemins de routage ; on adapte et on instancie la ressource d'entrée et/ou la ressource de sortie associée (s) à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent ; selon une séquence de répartition déterminée, on répartit entre les chemins de routage les paquets successifs du flux, de façon que chacun des chemins de routage véhicule un desdits sous-flux.
  2. 2. Procédé selon la revendication 1, caractérisé en ce que la ressource d'entrée comprise dans le noeud d'entrée est une mémoire FIFO d'entrée, et en ce que la ressource de sortie comprise dans le noeud de sortie est une mémoire FIFO de sortie.
  3. 3. Procédé selon la revendication 2, caractérisé en ce que l'étape d'adaptation et d'instanciation de la mémoire FIFO d'entrée et/ou la mémoire FIFO de sortie associée (s) à au moins certains des chemins de routage comprend elle-même les étapes suivantes : pour chaque chemin de routage, on obtient des tailles des mémoires FIFO d'entrée et de sortie en s'assurant que ces tailles permettent aux mémoires FIFO d'entrée et de sortie de contrer la gigue de réseau ;
    <Desc/Clms Page number 35>
    pour chaque chemin de routage, on obtient un délai isochrone total, en prenant en compte :-un délai introduit par le passage du sous-flux le long du chemin de routage ;-des délais de traversée, par le sous-flux, des mémoires FIFO d'entrée et de sortie ; on prend comme délai isochrone total de référence le délai isochrone total maximal ; pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, on corrige le délai isochrone total en modifiant les tailles des mémoires FIFO d'entrée et de sortie, de façon à obtenir un délai isochrone total adapté sensiblement égal au délai isochrone total de référence.
  4. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le délai, Dréseaucommuté, introduit par le passage du sous-flux le long du chemin de routage est
    Figure img00350001
    calculé selon la formule suivante : D réseau commuté noeuds intermédiaires commutation avec Nnoeuds intermédiaires le nombre de noeuds intermédiaires le long du chemin de routage, et Dcommutation le délai de commutation moyen par noeud.
  5. 5. Procédé selon l'une quelconque des revendications 3 et 4, caractérisé en ce que, pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, la correction du délai isochrone total est effectuée : dans une première proportion PI, en modifiant la taille de la mémoire FIFO d'entrée, dans une seconde proportion P2, en modifiant la taille de la mémoire FIFO de sortie, avec : PI + P2 = 100%.
  6. 6. Procédé selon la revendication 5, caractérisé en ce que les première et seconde proportions sont identiques : PI = P2 = 505to.
  7. 7. Procédé selon l'une quelconque des revendications 3 à 6, caractérisé en ce que, pour chaque chemin de routage, le délai isochrone total Disochrone total est calculé en additionnant notamment : Dréseau commuté le délai introduit par le passage du sous-flux le long du chemin de routage,
    <Desc/Clms Page number 36>
    Dtraitement noeud de sortie, le délai de transfert, au sein du noeud de sortie, d'un élément du flux, depuis la mémoire FIFO de sortie vers une interface de sortie du noeud de sortie.
    Dtraitement noeud d'entrée, le délai de transfert, au sein du noeud d'entrée, d'un élément du flux, depuis une interface d'entrée du noeud d'entrée vers la mémoire FIFO d'entrée,
    Déversée FIFO d'entrée'le délai de traversée, par le sous-flux, de la mémoire FIFO d'entrée comprise dans le noeud d'entrée, Déversée FIFO de sortIe'le délai de traversée, par le sous-flux, de la mémoire FIFO de sortie comprise dans le noeud de sortie, et éventuellement :
  8. 8. Procédé selon l'une quelconque des revendications 3 à 7, caractérisé en ce que, pour chaque chemin de routage, avant modification : la mémoire FIFO d'entrée d'origine possède une taille : LFIFOI d'origine = Al + XI avec Al une première partie de la mémoire FIFO d'entrée d'origine, appelée seuil d'origine, et XI une seconde partie permettant de contrer la gigue de réseau, la mémoire FIFO de sortie d'origine, possède une taille : LFIFp d'origine = A2 + X2 avec A2 une première partie de la mémoire FIFO de sortie d'origine, appelée seuil d'origine, et X2 une seconde partie permettant de contrer la gigue de réseau, et en ce que, après modification : la mémoire FIFO d'entrée adaptée possède une taille : LFIFOI adaptée = Al'+ XI la mémoire FIFO de sortie adaptée, possède une taille : LFIFO2 adaptée = #2' + X2 avec :
    XI et X2 définis ci-avant, Al'= Al + (PI* 8) A2'= A2 + (P2 * 5) avec Al et A2 définis ci-avant, et PI et P2 les proportions dans lesquelles les mémoires FIFO d'entrée et de sortie respectivement interviennent dans la compensation,
    8 le plus grand entier tel que : Ô ômax, avec #max = Débitsous-flux *(Disochrone total référence - Disochrone total origine) où Débit sous-flux est le débit du sous-flux,
    <Desc/Clms Page number 37>
    Disochrone total origine est le délai isochrone total d'origine associé au chemin, avant compensation.
    Djsochronetota) référence est le délai isochrone total de référence,
  9. 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que la séquence de répartition déterminée est cyclique et définit pour chaque cycle : les chemins de routage successifs concernés ; - le nombre de paquet (s) véhiculé (s) par chacun des chemins de routage successifs concernés.
  10. 10. Procédé selon la revendication 9, caractérisé en ce que le cycle de la séquence de répartition comprend N paquets, avec N le nombre de ports de sortie du noeud d'entrée et le nombre de ports d'entrée du noeud de sortie, et en ce que les N paquets de chaque cycle de la séquence de répartition sont répartis sur Y chemins de routage successifs concernés, avec Y < N, chacun des Y chemins de routage successifs concernés s'étendant entre un port de sortie du noeud d'entrée et un port d'entrée du noeud de sortie.
  11. 11. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que ladite connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques incluant ledit réseau commuté : certaines interconnexions entre bus numériques se faisant directement, via des ponts homogènes comprenant chacun une première et une seconde portes à chacune desquelles est connecté un des bus numériques ; d'autres interconnexions entre bus numériques se faisant à travers ledit réseau commuté, via des ponts hétérogènes comprenant chacun une première porte, à laquelle est connecté un des bus numériques, et une seconde porte, à laquelle est connecté le réseau commuté, chaque pont hétérogène formant un des noeuds du réseau commuté. et en ce que chacun desdits terminaux est connecté à un desdits bus numériques ou à un des ponts hétérogènes.
  12. 12. Procédé selon la revendication 11, caractérisé en ce que lesdits bus numériques sont des bus numériques de type IEEE 1394.
    <Desc/Clms Page number 38>
  13. 13. Procédé selon l'une quelconque des revendications 11 et 12, caractérisé en ce que ledit réseau hétérogène de bus numériques, incluant ledit réseau commuté, est un réseau audiovisuel domestique permettant d'interconnecter une pluralité de terminaux, connectés les uns aux ponts hétérogènes et les autres aux bus numériques.
  14. 14. Noeud d'entrée du type compris dans un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit noeud pouvant être utilisé dans l'établissement d'une connexion de flux de données isochrone, impliquant la traversée du réseau commuté, depuis ledit noeud d'entrée vers un noeud de sortie, ledit flux de données isochrone comprenant des paquets de données successifs, caractérisé en ce que ledit noeud d'entrée comprend : des moyens d'obtention d'un groupe de chemins, comprenant au moins deux chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie ; une ressource d'entrée associée à chaque chemin de routage, ledit noeud de sortie comprenant, associée à chaque chemin de routage, une ressource de sortie ; des moyens de division du flux de données isochrone en une pluralité de sous- flux devant emprunter chacun un des chemins de routage ; des moyens d'adaptation et d'instanciation de la ressource d'entrée associée à au moins certains des chemins de routage, ledit noeud de sortie comprenant des moyens d'adaptation et d'instanciation de la ressource de sortie associée à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent ; des moyens de répartition des paquets successifs du flux entre les chemins de routage, selon une séquence de répartition déterminée, de façon que chacun des chemins de routage véhicule un desdits sous-flux ; de façon que la connexion de flux de données isochrone puisse être établie même si elle nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté.
    <Desc/Clms Page number 39>
  15. 15. Noeud d'entrée selon la revendication 14, caractérisé en ce que la ressource d'entrée comprise dans le noeud d'entrée est une mémoire FIFO d'entrée, la ressource de sortie comprise dans le noeud de sortie étant une mémoire FIFO de sortie.
  16. 16. Noeud d'entrée selon la revendication 15, caractérisé en ce que les moyens d'adaptation et d'instanciation de la mémoire FIFO d'entrée associée à au moins certains des chemins de routage comprennent : pour chaque chemin de routage, des moyens d'obtention de la taille de la mémoire FIFO d'entrée, en s'assurant que cette taille permet à la mémoire FIFO d'entrée de contrer la gigue de réseau ; pour chaque chemin de routage, des moyens d'obtention d'un délai isochrone total, en prenant en compte :-un délai introduit par le passage du sous-flux le long du chemin de routage ;-des délais de traversée, par le sous-flux, des mémoires FIFO d'entrée et de sortie ; des moyens permettant de prendre comme délai isochrone total de référence le délai isochrone total maximal ; pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, des moyens de correction du délai isochrone total en modifiant la taille de la mémoire FIFO d'entrée, de façon à obtenir un délai isochrone total adapté sensiblement égal au délai isochrone total de référence.
  17. 17. Noeud d'entrée selon l'une quelconque des revendications 14 à 16, caractérisé en
    Figure img00390001
    ce que le délai, Dô'introduit par le passage du sous-flux le long du chemin de , ucommuté, routage est calculé selon la formule suivante : D = N x D
    Figure img00390002
    Dréseau commuté =noeuds intermédiaires commutation avec Nn uds intennédiaires le nombre de noeuds intermédiaires le long du chemin de routage, et Dcomrnutation le délai de commutation moyen par noeud.
  18. 18. Noeud d'entrée selon l'une quelconque des revendications 16 et 17, caractérisé en ce que, pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, les moyens de correction du délai isochrone total compris dans le noeud d'entrée effectuent ladite correction dans une première proportion PI, en modifiant la taille de la mémoire FIFO d'entrée,
    <Desc/Clms Page number 40>
    des moyens de correction du délai isochrone total compris dans le noeud de sortie effectuant ladite correction dans une seconde proportion P2, en modifiant la taille de la mémoire FIFO de sortie, avec : PI + P2 = 100%.
  19. 19. Noeud d'entrée selon la revendication 18, caractérisé en ce que les première et seconde proportions sont identiques : PI = P2 = 50%.
  20. 20. Noeud d'entrée selon l'une quelconque des revendications 16 à 19, caractérisé en ce que, pour chaque chemin de routage, les moyens d'obtention d'un délai isochrone total comprennent des moyens de calcul du délai isochrone total Disochrone total en additionnant notamment :
    Dréseau commuté'le délai introduit par le passage du sous-flux le long du chemin de routage, Déversée FiFO d'entrée'le délai de traversée, par le sous-flux, de la mémoire FIFO d'entrée comprise dans le noeud d'entrée, Dtraversée FIFO de sortie'le délai de traversée, par le sous-flux, de la mémoire FIFO de sortie comprise dans le noeud de sortie, et éventuellement : Dtraitement noeud d'entrée, le délai de transfert, au sein du noeud d'entrée, d'un élément du flux, depuis une interface d'entrée du noeud d'entrée vers la mémoire FIFO d'entrée, - Dtraitement noeud de sortIe'le délai de transfert, au sein du noeud de sortie, d'un élément du flux, depuis la mémoire FIFO de sortie vers une interface de sortie du noeud de sortie.
  21. 21. Noeud d'entrée selon l'une quelconque des revendications 16 à 20, caractérisé en ce que, pour chaque chemin de routage, avant modification : la mémoire FIFO d'entrée d'origine possède une taille : Lpjpo ; d'origine = Al + XI avec Al une première partie de la mémoire FIFO d'entrée d'origine, appelée seuil d'origine, et XI une seconde partie permettant de contrer la gigue de réseau, la mémoire FIFO de sortie d'origine, possède une taille : LFIFO2 d'origine = A2 + X2 avec A2 une première partie de la mémoire FIFO de sortie d'origine, appelée seuil d'origine, et X2 une seconde partie permettant de contrer la gigue de réseau, et en ce que, après modification :
    <Desc/Clms Page number 41>
    Disochrone total référence est le délai isochrone total de référence, Disochrone total origine est le délai isochrone total d'origine associé au chemin, avant compensation.
    8 le plus grand entier tel que : < amax avec #max=Débitsous-flux *(Disochrone total référence - Disochrone total origine) où Débit sous-flux est le débit du sous-flux,
    XI et X2 définis ci-avant, Al'= Al + (Pl * A2'= A2 + (P2 * avec Al et A2 définis ci-avant, et PI et P2 les proportions dans lesquelles les mémoires FIFO d'entrée et de sortie respectivement interviennent dans la compensation,
    Figure img00410001
    la mémoire FIFO d'entrée adaptée possède une taille : LFIFOI adaptée = 1 + XI la mémoire FIFO de sortie adaptée, possède une taille : LFIF02 adaptée = A'+ X2 avec :
  22. 22. Noeud d'entrée selon l'une quelconque des revendications 14 à 21, caractérisé en ce que la séquence de répartition déterminée est cyclique et définit pour chaque cycle : les chemins de routage successifs concernés ; - le nombre de paquet (s) véhiculé (s) par chacun des chemins de routage successifs concernés.
  23. 23. Noeud d'entrée selon la revendication 22, caractérisé en ce que le cycle de la séquence de répartition comprend N paquets, avec N le nombre de ports de sortie du noeud d'entrée et le nombre de ports d'entrée du noeud de sortie, et en ce que les N paquets de chaque cycle de la séquence de répartition sont répartis sur Y chemins de routage successifs concernés, avec Y : : ; N, chacun des Y chemins de routage successifs concernés s'étendant entre un port de sortie du noeud d'entrée et un port d'entrée du noeud de sortie.
  24. 24. Noeud d'entrée selon l'une quelconque des revendications 14 à 23, caractérisé en ce que ladite connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques incluant ledit réseau commuté :
    <Desc/Clms Page number 42>
    certaines interconnexions entre bus numériques se faisant directement, via des ponts homogènes comprenant chacun une première et une seconde portes à chacune desquelles est connecté un des bus numériques ; d'autres interconnexions entre bus numériques se faisant à travers ledit réseau commuté, via des ponts hétérogènes comprenant chacun une première porte, à laquelle est connecté un des bus numériques, et une seconde porte, à laquelle est connecté le réseau commuté, chaque pont hétérogène formant un des noeuds du réseau commuté, parmi lesquels se trouvent ledit noeud d'entrée. et en ce que chacun desdits terminaux est connecté à un desdits bus numériques ou à un des ponts hétérogènes.
  25. 25. Noeud d'entrée selon la revendication 24, caractérisé en ce que lesdits bus numériques sont des bus numériques de type IEEE 1394.
  26. 26. Noeud d'entrée selon l'une quelconque des revendications 24 et 25, caractérisé en ce que ledit réseau hétérogène de bus numériques, incluant ledit réseau commuté, est un réseau audiovisuel domestique permettant d'interconnecter une pluralité de terminaux, connectés les uns aux ponts hétérogènes et les autres aux bus numériques.
  27. 27. Noeud de sortie du type compris dans un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit noeud pouvant être utilisé dans l'établissement d'une connexion de flux de données isochrone, impliquant la traversée du réseau commuté, depuis un noeud d'entrée vers leditnoeud de sortie, ledit flux de données isochrone comprenant des paquets de données successifs, caractérisé en ce que ledit noeud de sortie comprend : des moyens d'obtention d'un groupe de chemins, comprenant au moins deux chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie ; une ressource de sortie associée à chaque chemin de routage, ledit noeud d'entrée comprenant, associée à chaque chemin de routage, une ressource d'entrée ; des moyens de division du flux de données isochrone en une pluralité de sous- flux devant emprunter chacun un des chemins de routage ; des moyens d'adaptation et d'instanciation de la ressource de sortie associée à au moins certains des chemins de routage, ledit noeud d'entrée comprenant des
    <Desc/Clms Page number 43>
    moyens d'adaptation et d'instanciation de la ressource d'entrée associée à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent ; des moyens de répartition des paquets successifs du flux entre les chemins de routage, selon une séquence de répartition déterminée, de façon que chacun des chemins de routage véhicule un desdits sous-flux ; de façon que la connexion de flux de données isochrone puisse être établie même si elle nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté.
  28. 28. Noeud de sortie selon la revendication 27, caractérisé en ce que la ressource de sortie comprise dans le noeud de sortie est une mémoire FIFO de sortie, la ressource d'entrée comprise dans le noeud d'entrée étant une mémoire FIFO d'entrée.
  29. 29. Noeud de sortie selon la revendication 28, caractérisé en ce que les moyens d'adaptation et d'instanciation de la mémoire FIFO de sortie associée à au moins certains des chemins de routage comprennent : pour chaque chemin de routage, des moyens d'obtention de la taille de la mémoire FIFO de sortie, en s'assurant que cette taille permet à la mémoire FIFO de sortie de contrer la gigue de réseau ; pour chaque chemin de routage, des moyens d'obtention d'un délai isochrone total, en prenant en compte :-un délai introduit par le passage du sous-flux le long du chemin de routage ;-des délais de traversée, par le sous-flux, des mémoires FIFO d'entrée et de sortie ; des moyens permettant de prendre comme délai isochrone total de référence le délai isochrone total maximal ; pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, des moyens de correction du délai isochrone total en modifiant la taille de la mémoire FIFO de sortie, de façon à obtenir un délai isochrone total adapté sensiblement égal au délai isochrone total de référence.
    <Desc/Clms Page number 44>
    Figure img00440001
  30. 30. Noeud de sortie selon l'une quelconque des revendications 27 à 29, caractérisé en ce que le délai, commuté. introduit par le passage du sous-flux le long du chemin de routage est calculé selon la formule suivante : n-N y D Dréseau commuté Nnoeuds intermédiaires - Dcommutation avec Nn udsintermédiaires le nombre de noeuds intermédiaires le long du chemin de routage, et Dcommutation le délai de commutation moyen par noeud.
  31. 31. Noeud de sortie selon l'une quelconque des revendications 29 et 30, caractérisé en ce que, pour chacun des chemins de routages dont le délai isochrone total associé est inférieur au délai isochrone total de référence, les moyens de correction du délai isochrone total compris dans le noeud de sortie effectuent ladite correction dans une seconde proportion P2, en modifiant la taille de la mémoire FIFO de sortie, des moyens de correction du délai isochrone total compris dans le noeud d'entrée effectuant ladite correction dans une première proportion PI, en modifiant la taille de la mémoire FIFO d'entrée, avec : PI + P2 = 100%.
  32. 32. Noeud de sortie selon la revendication 31, caractérisé en ce que les première et seconde proportions sont identiques : PI = P2 = 50%.
  33. 33. Noeud de sortie selon l'une quelconque des revendications 29 à 32, caractérisé en ce que, pour chaque chemin de routage, les moyens d'obtention d'un délai isochrone total comprennent des moyens de calcul du délai isochrone total Disochrone total en additionnant notamment : Dréseau commuté. le délai introduit par le passage du sous-flux le long du chemin de routage,
    Figure img00440002
    Dtmversée FIFO d'entréee le délai de traversée, par le sous-flux, de la mémoire FIFO d'entrée comprise dans le noeud d'entrée, Dtraversée FIFO de sortie, délai de traversée, par le sous-flux, de la mémoire FIFO de sortie comprise dans le noeud de sortie, et éventuellement : Dtraitement noeud d'entrée'le délai de transfert, au sein du noeud d'entrée, d'un élément du flux, depuis une interface d'entrée du noeud d'entrée vers la mémoire FIFO d'entrée,
    <Desc/Clms Page number 45>
    Dtraitement noeud de sortie, le délai de transfert, au sein du noeud de sortie, d'un élément du flux, depuis la mémoire FIFO de sortie vers une interface de sortie du noeud de sortie.
  34. 34. Noeud de sortie selon l'une quelconque des revendications 29 à 33, caractérisé en ce que, pour chaque chemin de routage, avant modification : la mémoire FIFO d'entrée d'origine possède une taille : LFIFOI d'origine = Al + XI avec Al une première partie de la mémoire FIFO d'entrée d'origine, appelée seuil d'origine, et XI une seconde partie permettant de contrer la gigue de réseau, la mémoire FIFO de sortie d'origine, possède une taille : Lpjpoz d'origine = A2 + X2 avec A2 une première partie de la mémoire FIFO de sortie d'origine, appelée seuil d'origine, et X2 une seconde partie permettant de contrer la gigue de réseau, et en ce que, après modification : la mémoire FIFO d'entrée adaptée possède une taille : Lpjpoj adaptée = Al'+ XI la mémoire FIFO de sortie adaptée, possède une taille : LFIF02 adaptée = A2'+ X2 avec :
    Figure img00450001
    XI et X2 définis ci-avant, Al'= Al + (PI * A2'= A2 + (P2 * 8) avec Al et A2 définis ci-avant, et PI et P2 les proportions dans lesquelles les mémoires FIFO d'entrée et de sortie respectivement interviennent dans la compensation,
    Figure img00450002
    - le plus grand entier tel que : Ö < ömax, avec max = Débit sous-flux * (Disochrone total référence'Disochrone total origine) où Débit sous-flux est le débit du sous-flux,
    Disochrone total référence est le délai isochrone total de référence,
    Disochrone total origine est le délai isochrone total d'origine associé au chemin, avant compensation.
  35. 35. Noeud de sortie selon l'une quelconque des revendications 27 à 34, caractérisé en ce que la séquence de répartition déterminée est cyclique et définit pour chaque cycle : les chemins de routage successifs concernés ; le nombre de paquet (s) véhiculé (s) par chacun des chemins de routage successifs concernés.
    <Desc/Clms Page number 46>
  36. 36. Noeud de sortie selon la revendication 35, caractérisé en ce que le cycle de la séquence de répartition comprend N paquets, avec N le nombre de ports de sortie du noeud d'entrée et le nombre de ports d'entrée du noeud de sortie, et en ce que les N paquets de chaque cycle de la séquence de répartition sont répartis sur Y chemins de routage successifs concernés, avec Y : : ; ; N, chacun des Y chemins de routage successifs concernés s'étendant entre un port de sortie du noeud d'entrée et un port d'entrée du noeud de sortie.
  37. 37. Noeud de sortie selon l'une quelconque des revendications 27 à 36, caractérisé en ce que ladite connexion de flux de données isochrone est établie entre deux terminaux connectés à un réseau hétérogène de bus numériques incluant ledit réseau commuté : certaines interconnexions entre bus numériques se faisant directement, via des ponts homogènes comprenant chacun une première et une seconde portes à chacune desquelles est connecté un des bus numériques ; d'autres interconnexions entre bus numériques se faisant à travers ledit réseau commuté, via des ponts hétérogènes comprenant chacun une première porte, à laquelle est connecté un des bus numériques, et une seconde porte, à laquelle est connecté le réseau commuté, chaque pont hétérogène formant un des noeuds du réseau commuté, parmi lesquels se trouvent ledit noeud de sortie, et en ce que chacun desdits terminaux est connecté à un desdits bus numériques ou à un des ponts hétérogènes.
  38. 38. Noeud de sortie selon la revendication 37, caractérisé en ce que lesdits bus numériques sont des bus numériques de type IEEE 1394.
  39. 39. Noeud de sortie selon l'une quelconque des revendications 37 et 38, caractérisé en ce que ledit réseau hétérogène de bus numériques, incluant ledit réseau commuté, est un réseau audiovisuel domestique permettant d'interconnecter une pluralité de terminaux, connectés les uns aux ponts hétérogènes et les autres aux bus numériques.
  40. 40. Programme d'ordinateur, caractérisé en ce que ledit programme comprend des séquences d'instructions adaptées à la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 13 lorsque ledit programme est exécuté sur un ordinateur.
    <Desc/Clms Page number 47>
  41. 41. Produit programme d'ordinateur d'établissement d'une connexion de flux de données isochrone impliquant la traversée, depuis un noeud d'entrée vers un noeud de sortie, d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit flux de données isochrone comprenant des paquets de données successifs, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur comprenant : des moyens de programmation lisibles par ordinateur pour effectuer, lorsque ladite connexion de flux de données isochrone nécessite une bande passante totale, supérieure à la bande passante de chacun des liens du réseau commuté, les étapes suivantes : on obtient un groupe de chemins, comprenant au moins deux chemins de routage à travers le réseau commuté, depuis le noeud d'entrée vers le noeud de sortie, ledit noeud d'entrée comprenant, associée à chaque chemin de routage, une ressource d'entrée, ledit noeud de sortie comprenant, associée à chaque chemin de routage, une ressource de sortie ; on divise le flux de données isochrone en une pluralité de sous-flux devant emprunter chacun un des chemins de routage ; on adapte et on instancie la ressource d'entrée et/ou la ressource de sortie associée (s) à au moins certains des chemins de routage, de façon que tous les sous-flux subissent un même délai isochrone total, quel que soit le chemin de routage q'ils empruntent ; selon une séquence de répartition déterminée, on répartit entre les chemins de routage les paquets successifs du flux, de façon que chacun des chemins de routage véhicule un desdits sous-flux.
FR0114204A 2001-10-31 2001-10-31 Procede d'etablissement d'une connexion de flux de donnees isochrone impliquant la traversee d'un reseau commute, noeuds d'entree et de sortie correspondants Expired - Fee Related FR2831745B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0114204A FR2831745B1 (fr) 2001-10-31 2001-10-31 Procede d'etablissement d'une connexion de flux de donnees isochrone impliquant la traversee d'un reseau commute, noeuds d'entree et de sortie correspondants

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0114204A FR2831745B1 (fr) 2001-10-31 2001-10-31 Procede d'etablissement d'une connexion de flux de donnees isochrone impliquant la traversee d'un reseau commute, noeuds d'entree et de sortie correspondants

Publications (2)

Publication Number Publication Date
FR2831745A1 true FR2831745A1 (fr) 2003-05-02
FR2831745B1 FR2831745B1 (fr) 2004-01-02

Family

ID=8869015

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0114204A Expired - Fee Related FR2831745B1 (fr) 2001-10-31 2001-10-31 Procede d'etablissement d'une connexion de flux de donnees isochrone impliquant la traversee d'un reseau commute, noeuds d'entree et de sortie correspondants

Country Status (1)

Country Link
FR (1) FR2831745B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2863436A1 (fr) * 2003-12-04 2005-06-10 Canon Europa Nv Procede et systeme de stockage et/ou de restitution d'un flux de donnees audio video au sein d'un reseau de communication heterogene
FR2863437A1 (fr) * 2003-12-04 2005-06-10 Canon Europa Nv Procede et systeme de stockage et/ou restitution d'au moins un flux audio video isochrone dans/depuis un dispositif de stockage comprenant au moins une unite de stockage asynchrone

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0568241A2 (fr) * 1992-04-30 1993-11-03 AT&T Corp. Réseau pour l'établissement de plusieurs canaux numériques à la demande
US5953337A (en) * 1994-02-28 1999-09-14 Nokia Telecommunications Oy Traffic distribution in ATM network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0568241A2 (fr) * 1992-04-30 1993-11-03 AT&T Corp. Réseau pour l'établissement de plusieurs canaux numériques à la demande
US5953337A (en) * 1994-02-28 1999-09-14 Nokia Telecommunications Oy Traffic distribution in ATM network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORDA A ET AL: "Optimal routing with packet fragmentation in computer networks", NETWORKING: FOUNDATION FOR THE FUTURE. SAN FRANCISCO, MAR. 28 - APR. 1, 1993, PROCEEDINGS OF THE ANNUAL JOINT CONFERENCE OF THE COMPUTER AND COMMUNICATIONS SOCIETIES (INFOCOM), LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. 2 CONF. 12, 28 March 1993 (1993-03-28), pages 602 - 609, XP010032259, ISBN: 0-8186-3580-0 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2863436A1 (fr) * 2003-12-04 2005-06-10 Canon Europa Nv Procede et systeme de stockage et/ou de restitution d'un flux de donnees audio video au sein d'un reseau de communication heterogene
FR2863437A1 (fr) * 2003-12-04 2005-06-10 Canon Europa Nv Procede et systeme de stockage et/ou restitution d'au moins un flux audio video isochrone dans/depuis un dispositif de stockage comprenant au moins une unite de stockage asynchrone

Also Published As

Publication number Publication date
FR2831745B1 (fr) 2004-01-02

Similar Documents

Publication Publication Date Title
Jha et al. Engineering Internet QoS
US7283472B2 (en) Priority-based efficient fair queuing for quality of service classification for packet processing
US20110113455A1 (en) System and Method for a Managed Network with Quality-of-Service
EP1616414A2 (fr) Procede et dispositif de controle d&#39;un trafic de paquets de donnees en entree d&#39;un reseau
WO2008081184A1 (fr) Attribution de ressources réseau
FR2913156A1 (fr) Procede d&#39;allocation de ressources de transmission d&#39;un contenu de donnees, produit programme d&#39;ordinateur, moyen de stockage et dispositif correspondants
TWI627843B (zh) 在網路節點之訊務管理方法、封包交換型網路的網路節點、電腦可讀取媒體及電腦程式產品
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
WO2004045167A1 (fr) Procede de selection d&#39;une liaison logique pour un paquet dans un routeur
EP1289211B1 (fr) Méthode pour établir un flux de données isochrone, en appliquant un délai total isochrone prédéterminé à un ou plusieurs chemins de routage
Hou et al. A differentiated services architecture for multimedia streaming in next generation Internet
EP0874533B1 (fr) Procédé d&#39;ordonnancement de paquets à pertes équitables
US6795441B1 (en) Hierarchy tree-based quality of service classification for packet processing
US20030099200A1 (en) Parallel limit checking in a hierarchical network for bandwidth management traffic-shaping cell
US20030099199A1 (en) Bandwidth allocation credit updating on a variable time basis
US20030081623A1 (en) Virtual queues in a single queue in the bandwidth management traffic-shaping cell
FR2831745A1 (fr) Procede d&#39;etablissement d&#39;une connexion de flux de donnees isochrone impliquant la traversee d&#39;un reseau commute, noeuds d&#39;entree et de sortie correspondants
US7339953B2 (en) Surplus redistribution for quality of service classification for packet processing
US9942157B2 (en) Method and apparatus to avoid negative compression in consumer internet networks
Montessoro et al. Advanced research issues for tomorrow's multimedia networks
EP3989494A1 (fr) Procede d&#39;agregation et de regulation de messages via un canal de communication bidirectionnel contraint
FR2848056A1 (fr) Procedes d&#39;insertion et de traitement d&#39;informations pour la synchronisation d&#39;un noeud destinataire a un flux de donnees traversant un reseau de base d&#39;un reseau heterogene, et noeuds correspondants
FR2828946A1 (fr) Procede de gestion des delais isochrones associes a des ponts heterogenes dans un heterogene de bus numeriques
EP2014026B1 (fr) Procede de transmission d&#39;une pluralite de champs identificateurs dans un reseau a commutation de paquets
FR2842682A1 (fr) Procede d&#39;etablissement d&#39;une connexion de flux de donnees isochrone, avec application d&#39;un delai isochrone total predetermine sur un ou plusieurs chemins de routage

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140630