FR2939992A1 - Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants - Google Patents
Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants Download PDFInfo
- Publication number
- FR2939992A1 FR2939992A1 FR0858738A FR0858738A FR2939992A1 FR 2939992 A1 FR2939992 A1 FR 2939992A1 FR 0858738 A FR0858738 A FR 0858738A FR 0858738 A FR0858738 A FR 0858738A FR 2939992 A1 FR2939992 A1 FR 2939992A1
- Authority
- FR
- France
- Prior art keywords
- latency
- node
- communication
- terminal
- maximum
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 229
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 title claims description 7
- 238000003860 storage Methods 0.000 title claims description 7
- 239000013589 supplement Substances 0.000 claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 230000001360 synchronised effect Effects 0.000 claims abstract description 28
- 230000004913 activation Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 20
- 238000012937 correction Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000001934 delay Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 102100029716 DnaJ homolog subfamily A member 3, mitochondrial Human genes 0.000 description 1
- 101000866012 Homo sapiens DnaJ homolog subfamily A member 3, mitochondrial Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1694—Allocation of channels in TDM/TDMA networks, e.g. distributed multiplexers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43632—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Small-Scale Networks (AREA)
Abstract
Selon le procédé d'équilibrage de latence de transmission d'un contenu de données dans un arbre de communication défini dans un réseau de communication synchrone, l'arbre de communication comprenant un noeud racine (171) auquel est connecté un terminal (101), de convergence ou de divergence de contenus, l'arbre de communication comprenant en outre des noeuds feuilles (173, 174, 175) auxquels sont connectés des terminaux (102-107), de capture ou de diffusion de contenus, le noeud racine (171) et les noeuds feuilles (173, 174, 175) étant interconnectés par des noeuds intermédiaires (172), les noeuds étant interconnectés par des liaisons (152), on effectue les étapes consistant à : - déterminer, pour chaque noeud (171-175) de l'arbre de communication, une valeur maximale de latence associée à chaque chemin allant dudit noeud jusqu'à des noeuds feuilles (173, 174, 175) en direction opposée au terminal de convergence ou de divergence (101), et - appliquer, aux dites liaisons du noeud (172) en direction opposée (152) au terminal de convergence ou de divergence (101), un supplément d'équilibrage de latence correspondant à une différence entre la valeur maximale de latence de la liaison considérée et la valeur maximale de latence la plus grande parmi les dites valeurs maximales de latence déterminées.
Description
Procédé d'équilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants. 1 DOMAINE DE L'INVENTION Cette invention se rapporte aux réseaux de communication multimédia de type TDM (Time Division Multiplex) synchrone et plus particulièrement à un réseau adapté à la présentation simultanée soit d'une information sur plusieurs terminaux soit de plusieurs informations synchrones sur un même terminal. 2 ARRIERE-PLAN TECHNOLOGIQUE 2.1 Domaine technique de l'invention et application industrielle Le domaine technique de cette invention porte sur les réseaux de communication multimédia et plus particulièrement les réseaux de type TDM (Time Division Multiplexing) synchrones et les réseaux isochrones. On parle de réseaux synchrones lorsque les horloges d'un réseau sont strictement synchronisées en phase et en fréquence avec une horloge de référence. On peut citer à titre d'exemple les réseaux de télécommunication de type SDH (Synchronous Digital Hierarchy en anglais) ou les réseaux Audio/Vidéo domestiques pour le grand public basés sur l'interconnexion de plusieurs bus IEEE Std 1394a-2000 tel que définit par le standard IEEE1394.1-2004 (Standard for High Performance Serial Bus Bridges). Il est à noter que, dans le cas où l'on observe une différence de phase relative 20 constante, on parle alors de réseau mésochrone ( mesochronous en anglais) bien que, par abus de langage, ces deux types de réseaux soient appelés réseaux synchrones. Un réseau de type TDM (Time Division Multiplexing en anglais), quant à lui, est un réseau permettant de véhiculer plusieurs canaux sur un même support de communication (on parle d'agrégation de canaux) en utilisant un multiplexage temporel sur les échantillons 25 élémentaires de chacun de ces canaux. Ainsi le temps est divisé en intervalles de temps ( time slot en anglais) de durée égale et fixe, successivement destinés aux différents canaux pour transporter un échantillon élémentaire. Une trame TDM comporte un intervalle de temps par canal véhiculé sur le support de communication. Ainsi, le cycle se répète avec une nouvelle trame TDM comportant de nouveaux échantillons élémentaires pour chacun des 30 canaux.
Un réseau de type TDM synchrone bénéficie donc des caractéristiques et propriétés d'un réseau de type TDM et d'un réseau de type synchrone. Un réseau isochrone est un réseau synchrone qui, comme le bus IEEE Std 1394a-2000, est caractérisé par sa capacité à transmettre des échantillons élémentaires ayant une taille différente par canal mais fixe dans le temps à une fréquence appropriée en vue d'obtenir un débit d'information constant. On peut donc considérer qu'un réseau TDM synchrone est un réseau isochrone dont tous les échantillons élémentaires ont la même taille et la même fréquence d'apparition sur le support de communication. Cette invention se rapporte donc plus particulièrement à un réseau synchrone adapté à la présentation simultanée soit d'une information sur plusieurs terminaux (application de type 1-vers-N) soit de plusieurs informations synchrones issues de plusieurs terminaux à destination d'un terminal commun (application de type N-vers-1). Cette invention voit tout particulièrement son application dans un système de capture multi-caméra ou dans un système d'affichage distribué. 2.2 Etat de la technique Afin de présenter de manière simultanée un flux multimédia dans un réseau de terminaux comportant des interfaces filaires et/ou radio, le brevet US2004/0068588 décrit une méthode de détermination d'un retard à appliquer sur chacune des interfaces raccordées au dispositif de restitution du flux multimédia.
Le retard introduit par l'utilisation d'une mémoire est déterminé en fonction des paramètres de latence et de bande passante de bout en bout caractérisant le flux multimédia à présenter de manière synchrone pour chaque interface raccordée au dispositif de restitution du flux multimédia. Cette solution nécessite la présence d'une mémoire pour chaque interface raccordée à un dispositif de restitution du flux multimédia permettant l'introduction d'un retard, mémoire dont la taille varie avec les différences de caractéristiques entre les différentes interfaces de communication mais aussi avec l'architecture du réseau. Or, en présence d'une architecture de réseau devenant complexe la taille de la mémoire permettant l'introduction du retard peut s'avérer insuffisante ou difficile à dimensionner. De plus cette méthode ne cherche pas à minimiser l'usage global de la ressource mémoire dans le réseau. Ainsi, deux interfaces raccordées chacune à un dispositif de restitution ayant des caractéristiques de latence et de bande passante de bout en bout identiques pour un flux multimédia se doivent d'appliquer chacun un même retard. En outre cette solution ne résout pas le problème de l'acheminement de plusieurs flux multimédia pour les présenter de manière synchrones sur un dispositif de restitution commun. Le brevet EP1289211 décrit une solution visant à établir des connexions de bout en bout avec une valeur prédéterminée de latence en configurant les temps de traversée (latence) des équipements d'infrastructure du réseau du type pont (ou bridge en anglais) dits paramétrables. Cette solution permet de répondre au problème de la minimisation de l'usage global de la ressource mémoire dans le réseau mais elle comporte des limitations et ne répond pas au problème de l'acheminement de plusieurs flux multimédia pour les présenter de manière synchrone sur un dispositif de restitution commun. Parmi les limitations de cette dernière solution, on peut noter qu'elle nécessite la mise en place d'une méthode de détermination de la topologie du réseau avec découverte des équipements d'infrastructure du réseau supportant l'invention. Ces équipements d'infrastructure dit paramétrables comportent uniquement deux ports de communication. Enfin, les retards introduits dans ces équipements d'infrastructure dit paramétrables sont appliqués à tout le trafic traversant ces équipements, sans discernement. Ceci augmente donc inutilement la latence du trafic ne nécessitant pas la mise en oeuvre de l'invention et interdit donc un second paramétrage pour un deuxième flux pour lequel une autre synchronisation serait nécessaire. L'invention décrite dans la suite de ce document vise donc à résoudre au moins l'un des problèmes non résolus par l'art antérieur ci-dessus. Ainsi, il va être décrit une méthode dite d'équilibrage de la latence dans un arbre de communication synchrone pour des applications de type N-vers-1 (pour N sources vers 1 destination, comme par exemple une application de capture multi-caméra) ou de type 1-vers-N (pour 1 source vers N destinations, comme par exemple une application d'affichage distribué. Afin de rendre la présente solution robuste à la défaillance d'un équipement du type du 30 contrôleur de l'art antérieur, celle-ci repose sur la coopération des équipements d'infrastructure du réseau qui participent à la distribution du ou des flux à véhiculer dans le réseau. En outre, l'invention visera à supporter plusieurs applications de l'invention pour différents arbres de communication sur le même réseau de communication. 2.3 Moyens/étapes résolvant le ou les problèmes et avantages de ces moyens L'invention concerne un procédé d'équilibrage d'une latence de transmission d'au moins un contenu de données dans un arbre de communication défini dans un réseau de communication synchrone, l'arbre de communication comprenant un noeud racine auquel est connecté un terminal qui est un terminal de convergence dans le cadre d'une application de capture ou un terminal de divergence dans le cadre d'une application de diffusion, l'arbre de communication comprenant en outre des noeuds feuilles auxquels sont connectés des terminaux de capture dans le cadre d'une application de capture ou des terminaux de diffusion dans le cadre d'une application de diffusion, le noeud racine et les noeuds feuilles étant interconnectés par des noeuds intermédiaires, les noeuds étant interconnectés par des liaisons, caractérisé en ce qu'il comprend des étapes consistant à : - déterminer, pour chaque noeud de l'arbre de communication, une valeur maximale de latence associée à chaque chemin allant dudit noeud jusqu'à des noeuds feuilles en direction opposée au terminal de convergence ou au terminal de divergence, et - appliquer, aux dites liaisons d'un dit noeud en direction opposée au terminal de convergence ou au terminal de divergence, un supplément d'équilibrage de latence correspondant à une différence entre la valeur maximale de latence de la liaison considérée et la valeur maximale de latence la plus grande parmi les dites valeurs maximales de latence déterminées. Ainsi, l'équilibrage est réparti sur plusieurs noeuds du réseau, ce qui offre toute la souplesse nécessaire pour procéder de façon itérative, en répartissant ainsi la charge de traitement. En particulier, on peut ainsi facilement faire évoluer la topologie de l'arbre de communication, puisque chaque noeud peut signaler un changement d'un temps de latence d'une liaison qui aurait changé ou encore signaler une modification d'un circuit de données. Une liaison constitue, de ce point de vue, une entité constituée par un lien physique entre deux noeuds et par les circuits servant de tampons mémoire de sortie et d'entrée. Le réglage de la latence peut donc être effectué dans l'un ou l'autre des tampons ou même réparti sur les deux, ou bien encore être effectué dans un relais en un point intermédiaire de la liaison. On notera que l'on entend par noeud intermédiaire un commutateur 200 figure 2a) de l'arbre de communication qui n'est pas le noeud racine (c'est-à-dire celui auquel est connecté le terminal de convergence ou de divergence) et qui n'est pas un noeud feuille. On notera que le procédé est applicable aussi bien à des communications en diffusion, aussi appelées de type 1 vers N , qu'à des communications en convergence N vers 1, aussi appelées de type N vers 1 . Ainsi, en mode de diffusion, une donnée capturée (par exemple par une caméra) à un instant T 1 au niveau d'un terminal source sera disponible au niveau d'un premier terminal destination (connecté à un noeud feuille) au même instant T2 qu'elle sera disponible au niveau d'un second terminal destination (connecté à un noeud feuille). Ainsi, en mode de convergence, une donnée capturée (par exemple par une première caméra) à un instant T3 au niveau d'un premier terminal source sera disponible au niveau du terminal destination (connecté directement ou indirectement au noeud racine) au même instant T4 qu'une autre donnée capturée (par exemple par une seconde caméra) à l'instant T3 au niveau d'un second terminal source. De plus, en mode de convergence, on peut en particulier collecter, en des noeuds intermédiaires, des sous-ensembles parmi le total des flux de données issus des terminaux connectés aux feuilles (c'est-à-dire les sources) puisque ces latences de sous-ensembles auront été équilibrées, ce qui permet un temps de présentation synchrone de ces flux de données dans un noeud intermédiaire situé entre les noeuds feuilles (auxquels sont connectés les terminaux sources des flux considérés) et le noeud racine (noeud de convergence). On notera que l'acquisition des valeurs de latence par chaque noeud peut s'effectuer suite à une requête destinée à établir un arbre équilibré ou bien elle peut être effectuée cycliquement, pour alors mémoriser les valeurs reçues en retour et ainsi pouvoir répondre immédiatement à une demande d'équilibrage. Les échanges entre noeuds peuvent être de type PULL ou de type PUSH. Dans le premier cas, chaque noeud interroge ses noeuds voisins côté feuilles (c'est-à-dire en direction opposée par rapport au noeud racine) par une requête pour connaître leur valeur de latence maximale, et, dans le second cas, chaque noeud émet spontanément sa valeur de latence maximale sur la liaison vers le noeud voisin côté racine (c'est-à-dire en direction du noeud racine). De préférence, les étapes consistant à déterminer une valeur maximale de latence et à 5 appliquer un supplément d'équilibrage de latence sont effectuées par noeuds successifs, en remontant vers le noeud racine depuis les noeuds feuilles. Les noeuds sont ainsi activés en cascade, ce qui évite des duplications de requêtes. En mode de convergence, c'est en partant des feuilles et en remontant vers le noeud racine de l'arbre de communication que l'on commence déjà à effectuer une compensation, 10 localement à un noeud intermédiaire considéré, du décalage temporel entre les flux injectés dans l'arbre de communication par les noeuds feuilles. Cela permet en outre de répartir la charge des suppléments d'équilibrage de latence sur les différents noeuds de l'arbre. Selon un mode de mise en oeuvre pratique, le procédé comprend une étape préalable consistant à émettre vers lesdits noeuds feuilles, depuis le noeud racine, une commande 15 d'activation d'équilibrage de latence de l'arbre de communication. Ainsi, chacun des noeuds intermédiaires peut déterminer à laquelle de ses liaisons est directement ou indirectement connecté le noeud racine. En effet, cette liaison correspond à celle par laquelle le message d'activation lui parvient. Dans une forme de mise en oeuvre, le procédé comprend, pour effectuer l'étape 20 consistant à déterminer une valeur maximale de latence, des étapes consistant à, depuis chaque noeud intermédiaire : - émettre, sur ses liaisons en direction opposée au terminal de convergence ou au terminal de divergence, une requête (DELAY QUERY) d'obtention de dite valeur maximale de latence, 25 - émettre un message comprenant une valeur maximale de latence déterminée en fonction d'au moins une réponse à ladite ou auxdites requête(s), ledit message étant émis sur la liaison dudit noeud en direction du terminal de convergence ou du terminal de divergence. Ainsi les noeuds peuvent déterminer de proche en proche, par l'envoi de simples messages de type requête / réponse, les valeurs de latences applicables à chacune des liaisons 30 de l'arbre de communication.
On peut en particulier prévoir que le procédé comprenne, pour effectuer l'étape consistant à appliquer un supplément d'équilibrage de latence, une étape consistant, pour au moins certaines des liaisons, à appliquer le supplément de latence à une sortie de liaison au regard d'une direction de transmission dudit contenu.
Il est à noter qu'en regard d'une direction de flux, une entrée de liaison correspond au port de sortie d'un des noeuds auxquels la liaison se réfère. Ainsi, il est possible d'utiliser des architectures de noeuds disposant d'une réserve de mémoire uniquement sur les ports de sortie. On peut aussi prévoir que le procédé comprenne, pour effectuer l'étape consistant à appliquer un supplément d'équilibrage de latence, une étape consistant, pour au moins certaines des liaisons, à appliquer le supplément de latence à une entrée de liaison au regard d'une direction de transmission dudit ou desdits contenu(s) Il est à noter qu'en regard d'une direction de flux, une sortie de liaison correspond au port d'entrée d'un des noeuds auxquels la liaison se réfère. Ainsi, il est possible d'utiliser des architectures de noeuds disposant d'une réserve de mémoire uniquement sur les ports d'entrée. Le supplément de latence est donc ainsi appliqué, en tout ou partie, à l'une quelconque des extrémités de la liaison. Certains noeuds peuvent ainsi ne nécessiter que peu de mémoire à cet effet. Avantageusement, le procédé comprend, pour effectuer l'étape consistant à appliquer un supplément d'équilibrage de latence, des étapes préalables consistant, pour un noeud considéré de chacune desdites certaines liaisons, à déterminer la direction de transmission dudit contenu et à, selon la direction de transmission déterminée : - appliquer localement audit noeud considéré le supplément d'équilibrage de latence, ou - émettre une commande d'application du supplément d'équilibrage de latence à destination du noeud interconnecté audit noeud considéré par la liaison. Ainsi, un noeud intermédiaire ayant déterminé le supplément de latence à appliquer à une liaison donnée peut, selon l'architecture du noeud (disposant d'une réserve de mémoire uniquement sur les ports d'entrée ou uniquement sur les ports de sortie), décider d'appliquer localement le supplément ou de le faire appliquer par le noeud auquel il est connecté par la liaison donnée.
Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur. Ce produit programme d'ordinateur comprend des instructions de code de programme pour la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation), lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un moyen de stockage lisible par ordinateur, éventuellement totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé précité (dans l'un quelconque de ses différents modes de réalisation). L'invention concerne aussi un dispositif constituant un noeud d'un réseau de communication synchrone prévu pour subir un équilibrage d'une latence de transmission d'au moins un contenu de données dans un arbre de communication défini dans un réseau de communication synchrone, l'arbre de communication comprenant un noeud racine auquel est connecté un terminal qui est un terminal de convergence dans le cadre d'une application de capture ou un terminal de divergence dans le cadre d'une application de diffusion, l'arbre de communication comprenant en outre des noeuds feuilles auxquels sont connectés des terminaux de capture dans le cadre d'une application de capture ou des terminaux de diffusion dans le cadre d'une application de diffusion, le noeud racine et les noeuds feuilles étant interconnectés par des noeuds intermédiaires, les noeuds étant interconnectés par des liaisons, dispositif caractérisé en ce qu'il comprend des moyens pour : déterminer une valeur maximale de latence associée à chaque chemin allant dudit noeud jusqu'à des noeuds feuilles en direction opposée au terminal de convergence ou au terminal de divergence, et - appliquer, aux dites liaisons d'un dit noeud en direction opposée au terminal de convergence ou au terminal de divergence, un supplément d'équilibrage de latence correspondant à une différence entre la valeur maximale de latence de la liaison considérée et la valeur maximale de latence la plus grande parmi les dites valeurs maximales de latence déterminées.
Il peut être prévu que les dits moyens soient agencés pour déterminer une valeur maximale de latence et appliquer un supplément d'équilibrage de latence, et pour ensuite transmettre de dites valeurs maximales de latences, en tenant compte du supplément de latence, vers un noeud suivant, en remontant vers le noeud racine depuis les noeuds feuilles.
Si le dispositif est le noeud racine, les dits moyens peuvent être agencés pour émettre, vers lesdits noeuds feuilles, une commande d'activation d'équilibrage de latence de l'arbre de communication. Si le dispositif est un noeud intermédiaire, les moyens peuvent être agencés pour déterminer une valeur maximale de latence, et agencés pour : - émettre, sur ses liaisons en direction opposée au terminal de convergence ou au terminal de divergence, une requête d'obtention de dite valeur maximale de latence, émettre un message comprenant une valeur maximale de latence déterminée en fonction d'au moins une réponse à ladite ou auxdites requête(s), ledit message étant émis sur la liaison dudit noeud en direction du terminal de convergence ou du terminal de divergence.
Pour appliquer un supplément d'équilibrage de latence, les dits moyens peuvent être agencés pour appliquer, à au moins certaines des liaisons, le supplément de latence à une sortie de liaison au regard d'une direction de transmission dudit contenu. Pour appliquer un supplément d'équilibrage de latence, les dits moyens peuvent être agencés pour appliquer, à au moins certaines des liaisons, le supplément de latence à une entrée de liaison au regard d'une direction de transmission dudit ou desdits contenu(s) Pour appliquer un supplément d'équilibrage de latence, les dits moyens peuvent être agencés pour déterminer la direction de transmission dudit contenu et pour, selon la direction de transmission déterminée : - appliquer localement, au dispositif noeud, le supplément d'équilibrage de latence, ou - émettre une commande d'application du supplément d'équilibrage de latence à destination du noeud interconnecté audit dispositif noeud par la liaison. 3 DESCRIPTION D'UN MODE DE REALISATION DE L'INVENTION 3.1 Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : - la figure la représente un système de communication pour une application de capture - la figure lb représente un système de communication pour une application de diffusion - la figure 2a représente un schéma d'un dispositif de type commutateur - la figure 2b représente un schéma d'un dispositif de type adaptateur - la figure 3 représente un diagramme illustrant le cycle TDM - la figure 4 représente un bloc diagramme illustrant un commutateur TDM - la figure 5 représente un bloc diagramme illustrant un port de communication de type InterConnect - la figure 6 représente un bloc diagramme illustrant les chemins de données du commutateur 15 TDM - la figure 7a représente une table de configuration d'un commutateur - la figure 7b représente une table des arbres de communication d'un commutateur - la figure 8 représente une table de configuration d'un port - la figure 9 représente un organigramme illustrant la fabrication d'une séquence TDM 20 - la figure 10 représente un organigramme illustrant l'interaction avec l'opérateur - la figure 11 représente un organigramme de traitement des messages par un adaptateur - la figure 12 représente un organigramme de traitement des messages par un commutateur - la figure 13 représente un organigramme illustrant la consolidation des latences des ports - la figure 14 représente un organigramme de traitement d'une réponse PORT DELAY 25 - la figure 15 représente un organigramme illustrant le calcul et l'application d'un supplément de latence - la figure 16 représente un graphe illustrant le réseau de la figure la - la figure 17 représente un synoptique illustrant le typage des ports des commutateurs - la figure 18 est une illustration de latences maximales (localement à chaque noeud intermédiaire et racine), LLC, et de suppléments de latence ajoutés pour une configuration N-vers-1 - la figure 19 est une illustration de latences maximales (localement à chaque noeud 5 intermédiaire et racine), LLC, et de suppléments de latence ajoutés pour une configuration 1-vers-N - la figure 20 est un bloc diagramme illustrant une mémoire d'ajustement de latence sur un port d'entrée de commutateur - la figure 21a illustre les latences maximales (localement à chaque noeud intermédiaire et 10 racine) LLC et des suppléments de latence ajoutés sur un port d'entrée de commutateur, dans le cadre d'un mode de convergence - la figure 21b illustre les latences maximales (localement à chaque noeud intermédiaire et racine) LLC et des suppléments de latence ajoutés sur un port d'entrée de commutateur, dans le cadre d'un mode de convergence 15 3.2 Mise en oeuvre de l'invention Les figures la et lb illustrent l'usage d'un système de communication dit réseau TDM mettant en oeuvre l'invention qui est décrite par la suite à travers deux applications. La figure la illustre un système de capture multi-caméra numérique synchrone (de type N-vers-1). Ce système comporte des équipements de capture référencés 102, 103, 104, 20 105, 106 et 107 qui produisent un ensemble de flux audio vidéo qui sont dirigés à destination d'un seul équipement de visualisation 101 pouvant aussi comporter des capacités de stockage permettant l'enregistrement de ces flux. L'équipement 101, dans le cadre d'un système (ou application) de type N-vers-1, est appelé équipement (ou terminal) de convergence. Le commutateur auquel il est relié est le commutateur (ou noeud) racine de l'arbre de 25 communication. Pour permettre la distribution de ces flux, les équipements 101 à 107 sont connectés à un réseau de type TDM (en anglais, TDM, Time Division Multiplexing) par l'intermédiaire de connexions audio vidéo 161, 162, 163, 164, 165, 166 et 167 telle que par exemple HDMI (en anglais, HDMI, High Definition Multimedia Interface).
Un réseau TDM permet à un ou plusieurs noeuds émetteurs de transmettre dans un ou plusieurs canaux numériques d'un même support de communication partagé en entrelaçant dans le temps des échantillons de chacun de ces canaux. La figure lb illustre quant à elle un système de diffusion audio vidéo offrant une présentation synchrone (de type 1-vers-N). Plus particulièrement, ce système permet la diffusion d'un flux audio vidéo issue d'un équipement de capture 191 à travers un réseau de type TDM tel que celui du système décrit au regard de la figure la à destination d'une pluralité d'équipements de visualisation 192, 193, 194, 195, 196 et 197. L'équipement 191, dans le cadre d'un système (ou application) de type 1-vers-N, est appelé équipement (ou terminal) de convergence. Le commutateur auquel il est relié est le commutateur (ou noeud) racine de l'arbre de communication. Ces équipements de visualisation et de capture 191 à 197 utilisent aussi des connexions audio vidéo 131 à 137, telle que par exemple HDMI, permettant leur connectivité au réseau de type TDM.
Ainsi, le réseau TDM représenté dans les figures la et lb est composé des sous-réseaux TDM 110, 120, 121, 122, des équipements d'infrastructure que sont les commutateurs SW1, SW2, SW3, SW4 et SW5 respectivement référencés 171, 172, 173, 174 et 175, des adaptateurs TA2, TA3, TA4, TA5 et TA6 respectivement référencés 182, 183, 184, 185 et 186 et enfin des liaisons d'interconnexions 152, 154, et 155 (InterConnect). Les commutateurs et les adaptateurs sont plus généralement appelés noeuds (de communication). Ces dernières permettent une liaison point-à-point entre deux commutateurs comme la liaison 152 entre SW2 et SW5 ou entre un commutateur et un adaptateur comme les liaisons 154 et 155 entre le commutateur SW5 et respectivement les adaptateurs TA4 et TAS. Ces liaisons d'interconnexion seront décrites plus en détail en relation avec la figure 5.
En outre, les sous-réseaux TDM 120, 121 et 122 sont des réseaux radio soit de type personnel (en anglais, PAN, Persona/ Area Network) supportant les communications TDM, soit de type local (en anglais, WLAN, Wireless Local Area Network) mettant en oeuvre une émulation de service TDM (en anglais, CSE, Circuit Service Emulation). Le sous-réseau TDM 110 dans l'exemple des figures la et lb est construit à partir 30 d'une infrastructure de réseau de paquet comme par exemple Gigabit Ethernet sur laquelle on met en oeuvre une émulation de service TDM permettant d'établir deux liaisons d'interconnexion virtuelles 111 et 112 ayant une latence constante entre le commutateur SW1 d'une part et respectivement les commutateurs SW2 et SW4 d'autre part. Il est à noter que l'architecture du réseau décrit au regard des figures la et lb est donnée à titre d'illustration et n'est donc pas limitative pour la mise en oeuvre de l'invention. Il est aussi bien entendu que les équipements 102 à 106 et 192 à 196 peuvent intégrer les adaptateurs TA2 à TA6. En outre, les équipements 101 et 107 d'une part ainsi que 191 et 197 d'autre part peuvent intégrer respectivement les commutateurs SW1 et SW3 pour offrir une connectivité native aux sous-réseaux 110, 120, 121 et 122 ou aux liaisons d'interconnexion 154 et 155. En référence à la figure 2a, il est décrit un dispositif de communication 200 qui intègre l'invention telle que mise en oeuvre dans les commutateurs SW1, SW2, SW3, SW4 et SW5 respectivement référencés 171 à 175 dans les figures la et lb. Ce dispositif de communication adapté à l'invention comporte donc un bus interne 201 permettant l'échange d'informations entre les composants référencés 202 à 207. Une unité centrale 202 permet l'exécution des instructions d'un programme sauvegardé dans une mémoire non programmable 204 ou sur un système de mémorisation non volatile comme par exemple un disque dur 206. Ce programme contient notamment tout ou partie des étapes décrites dans les organigrammes qui décrivent cette invention et illustrées par la suite.
En outre la mémoire non volatile 206 contient les données de configuration qui peuvent être mises à jour par l'opérateur grâce à une interface 205. La mémoire vive (RAM) 203, est la mémoire principale de l'unité centrale 202 qui y exécute les instructions du programme après leur transfert en provenance de la mémoire non programmable 204 ou de la mémoire non volatile 206 après la mise sous tension.
Enfin ce dispositif dispose d'une interface de connectivité locale 209 agencée pour connecter des équipements audio vidéo comme par exemple une interface HDMI. Il dispose aussi d'une connectivité étendue vers un réseau TDM par l'intermédiaire d'un module d'interface 208 qui met en forme les informations à échanger entre le bus interne (en provenance ou à destination d'une application s'exécutant sur l'unité centrale 202 ou de l'interface de connectivité locale) et les ports de communication 210, 211 et 212 avec le réseau TDM. Le module de commutation 207 réalise notamment des opérations de filtrage et d'établissement de circuits entre les ports de communication 210, 211 et 212 et le module d'interface 208 (routage). Le module de commutation 207 est bien sûr configurable par l'unité centrale 202 à travers le bus interne 206.
Il est à noter que le module d'interface 208 est un port de communication qui permet l'adaptation de trafic (par exemple en effectuant des opérations de segmentation et réassemblage) avec les applications alors que les ports de communication 210, 211 et 212 mettent en forme le trafic pour émettre et recevoir les informations de manière adéquate sur un médium.
Enfin, le nombre de ports de communication ainsi que le nombre de modules d'interface 208 dans la présente description fixés respectivement à 3 et 1 ne sont pas limitatifs et devront être dimensionnés en fonction des caractéristiques du système. Dans la suite de ce document, on utilisera indifféremment les termes commutateur ou dispositif de communication de type commutateur tel que décrit au regard de cette figure.
En référence à la figure 2b, il est décrit un dispositif de communication 250 qui intègre l'invention telle que mise en oeuvre dans les adaptateurs TA2, TA3, TA4, TA5 et TA6 respectivement référencés 182 à 187 dans les figures la et lb. Ce dispositif de communication 250 diffère du dispositif 200 précédemment décrit en ce qu'il ne comporte pas de module de commutation 207 et par conséquent ne possède qu'un seul port de communication 210 et un seul module d'interface 208 permettant l'échange d'information à travers le réseau TDM. Dans la suite de ce document on utilisera indifféremment les termes adaptateur ou dispositif de communication de type adaptateur tel que décrit au regard de cette figure. Au regard de la figure 3, il est décrit les mécanismes régissant le fonctionnement des communications dans d'un réseau dit TDM. Ainsi, à chaque port de communication du réseau TDM, l'ensemble de la bande passante disponible est partagée en canaux dits virtuels (en anglais, VC, Virtual Channel) synchrones 302 dont les échantillons 303 de taille identique m sont entrelacés dans le temps formant ainsi une séquence TDM aussi appelée cycle TDM dont les échantillons sont numérotés de 1 à N. A chacun de ces canaux virtuels est assigné un sens de communication entrée ou sortie, on parlera aussi de lecture ou d'écriture. La bande passante ainsi allouée à chaque canal virtuel est donc constante et caractérisée par la fréquence d'apparition du cycle TDM et de la taille des échantillons. A titre d'exemple, pour une fréquence du cycle TDM de 8 kHz soit une période 304 de 125 s (microsecondes) et une taille des échantillons de 48 bits, chaque canal virtuel offre donc une bande passante de 384 Kbps (kilobits par seconde). Ainsi un cycle TDM comportant 1024 canaux virtuels offre une bande passante globale de 384 Mbps (mégabits par seconde). Le signal SDPC 300 (en anglais, SDPC, Synchronous Data Processing Cycle) marque l'apparition du premier symbole représentatif du premier échantillon du cycle TDM. La période 304 de ce signal est égale à la période du cycle TDM. L'enveloppe TID 305 représente un ensemble de canaux virtuels, consécutifs ou non, appartenant à un arbre de communication identifié par un identifiant TIDl pour un port de communication donné. Il est à noter que les commutateurs SW1, SW2, SW3, SW4 et SW5 et les adaptateurs 15 TA2, TA3, TA4, TA5 et TA6 sont synchronisés entre eux ainsi, tous les ports débuteront de manière simultanée le traitement d'une nouvelle séquence TDM. En référence à la figure 4, il est décrit plus en détail le commutateur TDM 207 à l'aide d'un bloc-diagramme. Ainsi le commutateur TDM 207 est composé de quatre ports A, B, C et D référencés respectivement 401, 402, 403 et 404, chacun étant connecté à une unité de 20 commutation 405 qui pourra par exemple prendre la forme d'un bus de données partagé (non représenté sur la figure pour les ports C et D). Il est à noter que, pour des raisons de clarté, n'ont été représentés de manière détaillée que les ports A 401 et B 402. Le port A est pour sa part connecté au module d'interface avec l'application 208, le port B au port de communication 210, les ports C et D étant connectés aux ports de communications 211 et 212 25 mais non représentés sur cette figure. Un sélecteur de cycle TDM de référence 406 permet de choisir une horloge de référence qui est soit un signal engendré localement 407 soit un signal SDPC 300 issu d'un des ports A, B, C ou D, le signal SDPC de chacun des autres ports sera alors asservi sur cette référence. Dans un réseau TDM tel que celui qui supporte les systèmes décrits au regard des figure la et lb, on aura un et un seul commutateur TDM 207 dont le cycle TDM de référence sera l'horloge locale 407. On parle alors de distribution d'horloge de référence. L'opérateur choisit la configuration du sélecteur de cycle de référence 406 de chacun des commutateurs SW1, SW2, SW3, SW4 et SW5 à travers de l'interface utilisateur 205 grâce à un programme qui est exécuté par l'unité centrale 202 qui permet de modifier la configuration d'un commutateur TDM à travers l'interface 450. Dans une alternative, une détermination automatique de la distribution d'horloge pourra être mise en oeuvre par l'Homme du Métier à l'aide d'un algorithme d'arbre de recouvrement (en anglais, spanning tree ).
Chacun des ports A, B, C, et D référencés 401 à 404 comporte des éléments de configuration 410 qui peuvent être statiques ou modifiables dynamiquement. Parmi ces éléments de configuration 410, on peut citer les informations de routage permettant d'établir des circuits de communication à travers l'unité de commutation 405, le sens de communication de chacun des canaux virtuels, mais aussi les informations relatives à la mise en oeuvre de l'invention. Chaque port comporte en outre un module de réception 412 et un module d'émission 411 adaptés à communiquer avec le module auquel il est attaché en respectant les mécanismes décrits au regard de la figure 3. Ainsi, durant un cycle TDM (entre 2 impulsions 301 du signal SDPC 300), chaque port va recevoir des données (Out Data) que le module de réception 412 va stocker avant qu'elles soient transférées vers un ou plusieurs ports. Dans le même temps le module d'émission 411 de chaque port va écrire des données (In Data) qu'il a préalablement stockées dans le port de communication, dans le cas présent 208 pour le port A et 210 pour le port B, auquel il est attaché. Mais ceci sera explicité plus en détail au regard de la figure 6.
Le bloc-diagramme de la figure 5 présente un exemple de port de communication 210 qui va permettre de réaliser une liaison d'interconnexion série (appelée aussi InterConnect). Une liaison d'interconnexion (ou InterConnect) telle que les liaisons d'interconnexion 152, 154 et 155 introduites aux figures la et lb est obtenue en reliant en point à point deux ports de communication à l'aide d'un câble qui transporte les signaux 520 à 526 sur une courte distance (quelques mètres au maximum).
Ainsi, les données issues du commutateur 207 sont, dans un premier temps à l'étape 501, encapsulées pour former une trame de données avant d'être sérialisées et codées par exemple avec un encodage 8b/lOb (8 bits utiles correspondent à 10 bits après encodage) à l'étape 502. Les données ainsi mises en forme sont ensuite transférées dans un registre tampon d'émission LVDS 505 (en anglais, LVDS, Low Voltage Differential Signaling) offrant ainsi une transmission haut débit à travers le signal Data out 521. La chaîne de réception du port de communication 210 réalise les opérations successives inverses, à savoir la réception de données à travers le signal Data in 522 dans le registre tampon de réception LVDS 505, une opération inverse dite de dé-sérialisation et décodage 504 et finalement extraction des données à l'étape 503 avant de les remettre au commutateur 207 suivant les mécanismes tels que décrits au regard de la figure 3. Il est à noter que le signal 520 du registre tampon LVDS 505 est l'horloge CLK de sérialisation (en anglais bit dock ) des données émises ou reçues sur les signaux 521 et 522. Le signal 520 est configurable en entrée ou en sortie, en fonction de la distribution d'horloge configurée par l'opérateur comme précisé précédemment au regard de la figure 4. En outre, ce port de communication possède un module de signalisation 510 permettant d'échanger des informations de contrôle avec le port distant avec lequel il est interconnecté. Une opération de sérialisation 511 est appliquée avant émission sur le signal CTLOUT 523. En réception on réalise l'opération inverse (dé-sérialisation) 512 sur le signal CTLIN 524 pour traitement par le module de signalisation 510. Ce module de signalisation contribue notamment à la diffusion de l'information pour la distribution de l'horloge dans le réseau, et permet de vérifier que la liaison entre les deux ports de communication connectés en point à point est toujours active. Finalement, le port de communication 210 permet la délivrance du signal d'horloge de référence du cycle TDM 300 issu du commutateur 207 sur le signal de sortie 526 SDPCOUT et permet aussi la délivrance à ce même commutateur 207 du signal d'horloge de référence du cycle TDM 300 reçu du terminal distant à travers le signal SDPCIN 525. Ainsi, en fonction de la distribution d'horloge configurée par l'opérateur, un seul de ces deux signaux est pris comme référence.
Au regard du bloc-diagramme présenté à la figure 6, il est décrit plus en détail les mécanismes de communication à travers le coeur de commutation 405 entre les ports A, B, C et D respectivement 401, 402, 403 et 404 du commutateur TDM 207. Ainsi, comme on peut le constater sur cette figure, chaque port du commutateur TDM 207 comporte quatre bancs mémoires 602, 603, 604 et 605, chacun d'eux étant lui-même divisé en deux zones permettant la lecture et l'écriture simultanées. Ainsi le module de réception 412 comporte un module 620 qui vient écrire ces données reçues dans les quatre bancs mémoire 602 à 605. Le module d'émission 411, quant à lui, possède un module de fabrication de séquences TDM 611 dont la procédure est décrite en relation avec la figure 9, qui, d'après les informations de la table de configuration du port décrites en relation avec la figure 8 et contenues dans la mémoire de configuration 410, va accéder au banc mémoire qui lui est réservé dans chacun des ports A, B, C et D du commutateur TDM 207. Les données relatives aux canaux virtuels ainsi lues forment alors une nouvelle séquence TDM. Le module d'écriture 610 n'a plus alors qu'à procéder à l'écriture de cette nouvelle séquence lors du cycle TDM suivant. Ainsi, à titre d'exemple sur la figure 6, on peut voir que le banc 602 de chaque port est accessible par le module de construction de séquence TDM 611 du port A. En outre, toujours d'après les informations contenues dans la mémoire de configuration 410, le module de fabrication de séquences TDM 611 peut stocker les données relatives à un canal virtuel dans la mémoire d'attente 612 lorsque l'on veut réaliser une opération d'équilibrage de la latence comme décrite dans cette invention. Le module 611 peut aussi relire les données relatives à un canal virtuel qu'il a préalablement stockées pour les remettre au module d'écriture 610 introduisant ainsi une latence contrôlée entre la réception sur un premier port du commutateur TDM et l'émission sur un deuxième port.
On peut noter que des informations en provenance du port A peuvent être réémises sur le port A, cela signifie donc que les informations reçues à travers un premier canal virtuel peuvent être retransmises à travers un second canal virtuel au sein d'un même port. Afin de garantir des temps de transfert constants, l'ensemble des cycles d'écriture et de lecture dans les bancs mémoire qui permettent le transfert des données relatives à une séquence TDM devra être réalisé dans un temps inférieur à la période du cycle TDM.
En référence aux figures 7a, figures 7b et 8, il est décrit les tables de configurations d'un commutateur et de chacun de ces ports ainsi que la table des arbres de communication d'un commutateur pour la mise en oeuvre de l'invention. Ainsi à la figure 7a, on peut voir une première table de configuration 700 d'un commutateur TDM 207 composée de trois champs d'information, un identifiant de port 701, une information de délai du lien 702 exprimée en nombre de cycles TDM, et un troisième champ 705 pouvant comporter une liste d'identifiants d'arbres de communication dont les informations sont contenues dans une seconde table 710. Dans une alternative où la latence des liaisons de connexions ou les sous-réseaux n'est pas symétrique, la table de configuration du commutateur 750 comportera une information pour le délai associé au trafic montant 701 et une seconde information pour le délai associé au trafic descendant 703 en lieu et place du champ 702 de délai de lien. A la figure 7b, il est décrit la table des arbres de communication 710 d'un commutateur TDM 207. Celle-ci contient, pour chaque arbre de communication, un champ d'identification unique 711, un champ d'état 712, un champ mode opératoire 713 qui peut prendre les valeurs N-vers-1 ou 1-vers-N représentatif de l'application visée par cet arbre de communication (par exemple applications des figures la et lb). Pour chaque arbre de communication, on trouve un champ 714 comportant la liste des ports d'entrée et sortie du ou des flux appartenant à l'arbre de communication ainsi qu'un champ type 715 et un champ de délai 716 caractérisant ce port. Il est à noter qu'une valeur 0 dans le champ délai 716 signifie que l'information contenue dans ce champ n'est pas à jour. Le champ type caractérisant un port peut prendre l'une des valeurs suivantes : sud , nord , racine ou feuille . La racine est le port de convergence (application ou mode opératoire de type N-vers-1) ou de divergence (application ou mode opératoire de type 1-vers- N) dans l'arbre de communication, c'est-à-dire qu'elle occupe une position centrale, de moyeu, alors qu'une feuille est un port de terminaison dans ce même arbre, c'est-à-dire qu'elle est située côté périphérie. Lorsque l'on se place au niveau d'un commutateur TDM, un port nord est un port de ce commutateur qui est l'extrémité d'une liaison qui est le point de départ d'un chemin entre le commutateur et la racine ; à l'inverse un port sud est un port de ce commutateur qui est l'extrémité d'une liaison qui est le point de départ d'au moins un chemin entre le commutateur et au moins une feuille, c'est-à-dire en direction opposée au terminal de convergence ou de divergence. On notera que le port sud de ce commutateur est relié à un port nord d'un autre commutateur (plus périphérique dans l'arbre de communication) ou est relié à un port feuille. Dans le cadre de cette invention, un arbre de communication ne peut comporter qu'une seule racine. La figure 8 décrit la table de configuration 800 d'un port du commutateur TDM 207 permettant de construire une séquence TDM au regard de la figure 9. Cette table 800 comporte un premier champ d'identification de canal virtuel 801, dont le sens de communication est précisé par le champ 802, l'origine étant précisée par les champs port source 803 et canal virtuel source 804. Enfin on trouve un champ 805 indiquant si ce canal virtuel appartient à un arbre de communication ainsi qu'un champ 806 représentatif du retard (ou supplément de latence) à appliquer sur ce canal virtuel suite à l'exécution de l'opération d'équilibrage de la latence mise en oeuvre dans cette invention. La figure 9 illustre la construction d'une séquence TDM 900 pour chaque port de communication d'un dispositif de communication de type commutateur. Dans une première étape 901 on initialise la mémoire d'émission dans laquelle va être construite la séquence TDM d'après les informations contenues dans la table de configuration 800 du port de communication puis on extrait les informations 802, 803, 804 et 806 associées au premier canal virtuel (VC). Ensuite on passe au test 902, dans lequel on vérifie si l'ensemble des canaux virtuels VCs a été traité, auquel cas la procédure se termine, ce qui signifie que la séquence TDM est prête pour émission lors du cycle TDM suivant. Dans l'hypothèse où le canal virtuel VC est configuré en entrée au regard du champ 802, on extrait les informations du canal virtuel VC suivant et on répète le test 902. Dans l'hypothèse où le canal virtuel VC est configuré en sortie, on passe à l'étape 903, où l'on extrait les informations contenues dans les champs 803 et 804 qui donnent la localisation de l'information à insérer dans la séquence TDM. A l'aide de ces informations, on va donc, à l'étape 904, lire les données du canal virtuel VC du port approprié avant de passer au test 905 afin de déterminer si un délai d'équilibrage est à appliquer (valeur du champ 806 différente de 0). Dans la négative, on vient, à l'étape 920, écrire les données lues à l'étape 904 en mémoire d'émission pour former un canal virtuel VC de la séquence TDM puis on retourne au test 902 pour traiter le canal virtuel VC suivant. Dans l'affirmative au test 905, on écrit les données lues à l'étape 904 dans la mémoire d'équilibrage de la latence à l'étape 910 puis on va lire les données préalablement écrites lors d'une séquence précédente et correspondant au délai d'équilibrage contenu dans le champ 806 de la table de configuration du port de communication 800 à l'étape 911. Il s'agit donc d'un fonctionnement de type mémoire FIFO de longueur réglable. A l'étape suivante, on vient alors écrire les données lues à l'étape 911 en mémoire d'émission pour former un canal virtuel VC de la séquence TDM puis on retourne au test 902 pour traiter le canal virtuel VC suivant. Le procédé d'équilibrage de l'arbre de communication est décrit en relation avec les figures 10 à 15. Ces figures illustrent des organigrammes qui permettent de déterminer, pour chaque noeud de l'arbre de communication, une valeur maximale de latence associée à chaque chemin allant dudit noeud jusqu'à des noeuds feuilles en direction opposée au terminal de convergence (ou au terminal de divergence, selon le type d'application, 1-vers-N ou N-vers-1), et plus particulièrement la propagation et le traitement des messages DELAYQUERY et PORTDELAY. Ces organigrammes permettent en outre d'appliquer, à ces liaisons du noeud en direction opposée au terminal de convergence (ou au terminal de divergence, selon le type d'application, 1-vers-N ou N-vers-1), un supplément d'équilibrage de latence correspondant à une différence entre la valeur maximale de latence de la liaison considérée et la valeur maximale de latence la plus grande parmi les dites valeurs maximales de latence déterminées, et plus particulièrement la propagation et le traitement des messages PORT DELAY et BALANCING CORRECTION. L'organigramme de la figure 10 illustre le démarrage par l'opérateur du processus d'équilibrage de la latence 1000 dans un arbre de communication. L'opérateur choisit, dans une première étape 1001, un mode opératoire (à savoir 1-vers-N ou N-vers-1) par l'intermédiaire de l'interface utilisateur 205 de l'un des adaptateurs 182 à 186 ou l'un des commutateurs 171 à 175.
A l'étape 1002 on vient vérifier le choix de l'opérateur en vue de lui présenter l'interface adéquate. Dans l'hypothèse où son choix s'est porté sur le mode opératoire 1-vers-N, une interface lui permet de sélectionner successivement, à l'étape 1010, le port d'entrée dont est issu le flux d'information à diffuser puis, dans une étape 1011, sélectionner l'ensemble des ports de sortie (auxquels sont connectés les terminaux) pour lesquels on va appliquer un équilibrage, dans l'arbre de communication ainsi formé, de la latence au regard du port d'entrée. Le port d'entrée sera la racine de l'arbre de communication et les ports de sortie seront les feuilles de cet arbre de communication. On passe ensuite dans une étape 1030.
Dans l'autre hypothèse, où le choix de l'opérateur s'est porté sur le mode opératoire N-vers-1, une interface lui permet de sélectionner successivement, dans une première étape 1020, un port de sortie où vont converger tous les flux de l'arbre de communication puis, dans une deuxième étape 1021, tous les ports d'entrée pour lesquels on va appliquer un équilibrage, dans l'arbre de communication ainsi formé, de la latence au regard du port de sortie. On passe ensuite dans l'étape 1030. Dans une alternative aux étapes de sélection des ports d'entrée et de sortie 1010, 1011, 1020 et 1021 l'opérateur pourra sélectionner un arbre de communication qui aura été préalablement configuré par un administrateur du système. A l'étape 1030, on prépare et envoie une notification de type DELAY BALANCING à destination du noeud racine, cette notification ayant pour objectif d'initier le procédé d'équilibrage de latence dans l'arbre de communication formé suite à la sélection des ports d'entrée et de sortie par l'opérateur. La figure 11 illustre le procédé de traitement 1100 des messages reçus par un dispositif de communication décrit en figure 2b et mis en oeuvre dans les adaptateurs TA2, TA3, TA4, TA5 et TA6 respectivement référencés 182 à 187 dans les figures la et lb. Ainsi, le procédé de traitement des messages 1100 débute par une étape d'analyse 1101 du message reçu. Dans l'hypothèse où celui-ci n'est pas reconnu, le traitement se termine. Dans l'hypothèse où le message est identifié comme étant un message de type 30 DELAY BALANCING, on passe dans une étape 1110, d'initialisation d'un nouvel arbre de communication. Il est à noter que ce message contient, outre les informations nécessaires à l'établissement des connexions, un identifiant de l'arbre de communication en cours de construction. Dans cette étape 1110, le dispositif de communication 250 établit les canaux virtuels entre la racine et les feuilles, c'est-à-dire que le dispositif de communication 250 vient mettre à jour les informations de routage dans les tables de configuration 800 des ports de chacun des commutateurs 200 sur le chemin entre la racine et les feuilles à savoir les champ 801, 802, 803, 804 et 805 formant ainsi un arbre de communication. On parle alors d'un établissement de connexion dynamique (en anglais, SVC, Switched Virtual Connection).
On passe alors au test 1111 pour vérifier si l'initialisation s'est bien déroulée. Dans la négative, une erreur est notifiée à l'opérateur, à l'étape 1120, avant de terminer le traitement. Dans l'affirmative au test 1111, le message de notification DELAY BALANCING est envoyé au dispositif de communication 200 de type commutateur auquel l'adaptateur 250 est attaché par une liaison de connexion ou un sous-réseau.
Ce message DELAY BALANCING est alors interprété comme une commande d'activation d'équilibrage de latence de l'arbre de communication. Dans un mode préférentiel de réalisation de l'invention, cette commande d'activation d'équilibrage de latence de l'arbre de communication sera alors propagée du noeud racine vers les noeuds feuilles sous la forme d'un message de type DELAY QUERY, utilisé pour déterminer des latences de chemin.
Cette commande d'activation d'équilibrage de latence de l'arbre de communication peut aussi être propagée à travers l'arbre de communication, du noeud racine vers les noeuds feuilles, au moyen d'un message dédié. Dans l'hypothèse où, lors du test 1101, le message identifié est du type DELAY QUERY, alors on passe à l'étape 1140 où l'on prépare un message comportant la valeur de la latence introduite par l'adaptateur 250 avant de l'envoyer au dispositif de communication 200 de type commutateur auquel l'adaptateur 250 est attaché par une liaison de connexion ou un sous-réseau. Il est à noter que, dans une première alternative de la mise en oeuvre de l'invention, les étapes 1110, 1111 et 1120 peuvent être mise en oeuvre par le dispositif de communication de 30 type commutateur attaché à l'adaptateur.
Dans une seconde branche d'alternative, où les canaux de communication sont préalablement établis par un administrateur ou à l'initialisation des dispositifs de communication, on parle alors de circuits virtuels permanents (en anglais, PVC, Permanent Virtual Circuit), alors les étapes 1110, 1111 et 1120 n'existent pas.
La figure 12 illustre le procédé de traitement 1200 des messages reçus par un dispositif de communication 200 décrit en figure 2a et mis en oeuvre dans les commutateurs SW1, SW2, SW3, SW4 et SW5 respectivement référencés 171 à 175 dans les figures la et lb. Le procédé de traitement des messages 1200 débute donc par une étape d'analyse 1201 du message reçu. Dans l'hypothèse où celui-ci n'est pas reconnu, le traitement se termine. Sinon dans l'hypothèse où le message est identifié comme étant un message de type DELAY BALANCING, on passe dans une étape d'initialisation 1210 d'un nouvel arbre de communication. Il est à noter que ce message est reçu par le commutateur (ou noeud racine) racine de l'arbre de communication et contient en outre les informations nécessaires à l'établissement des connexions ainsi que l'identifiant de l'arbre de communication en cours de construction et le mode opératoire choisi par l'opérateur. Dans l'étape 1210, si l'initialisation n'a pas été réalisée au préalable par un adaptateur, le commutateur établit les canaux virtuels entre la racine et les feuilles, c'est-à-dire que l'on vient mettre à jour les informations de routage dans les tables de configuration des ports 800 de chacun des commutateurs 200 sur les chemins entre la racine et les feuilles à savoir les champ 801, 802, 803, 804 et 805 formant ainsi l'arbre de communication. On parle alors de d'un établissement de connexion dynamique (en anglais, SVC, Switched Virtual Connection). Au cours des établissements de connexion, chacun des commutateurs 200 sur les chemins entre la racine et les feuilles ajoute aussi l'identifiant de l'arbre de communication en cours de construction à la liste des identifiants 705 des arbres de communication de chaque port 701 participant à son élaboration dans la table de configuration du commutateur 700. Si un problème apparaît lors de cette étape d'initialisation, alors une erreur est notifiée à l'opérateur avant de terminer le traitement. Bien entendu ce message de type DELAY BALANCING peut provenir d'un autre 30 équipement connecté au système de communication mais il peut aussi avoir été produit par le commutateur lui-même et dans ce cas de figure le message de type DELAY BALANCING est une signalisation ou un appel de procédure interne. Il est à noter que, dans une alternative où les canaux de communication sont préalablement établis soit par un administrateur du système, c'est-à-dire que l'administrateur met à jour les tables de configuration 800, soit à l'initialisation des dispositifs de communication sur base des informations contenues dans les tables de configuration 800, on parle alors de circuits virtuels permanents (en anglais, PVC, Permanent Virtual Circuit), alors l'étape 1210 n'existe pas. Dans le cas où la phase d'initialisation précédente s'est bien terminée, le traitement continue pour passer à l'étape de configuration 1211 de la table des arbres de communication 710 du commutateur. Dans cette étape, on crée une entrée 711 dans la table de configuration des arbres de communication 710 ou bien on met à jour l'entrée correspondant à l'identifiant de l'arbre de communication 711 pour lequel on procède à un équilibrage de latence. Ainsi, pour l'entrée dont l'identifiant a été reçu dans le message DELAY BALANCING, on inscrit dans le champ 713 le mode opératoire contenu dans le message reçu puis on précise dans le champ 715 le port de communication racine et le ou les ports de communication sud ou feuille parmi les ports de communication 401, 402, 403 et 404 du commutateur 200 participant à l'élaboration de l'arbre de communication, leur champ 716 étant réinitialisé à 0 dans l'attente de leur mise à jour.
Ensuite, à l'étape 1220 on démarre le processus itératif d'équilibrage de la latence de l'arbre de communication en appelant la procédure d'équilibrage du commutateur qui sera décrite en détail au regard de la figure 13. Le traitement du message de type DELAY BALANCING est alors terminé. Dans l'hypothèse où, lors du test 1201, le message identifié est du type DELAY QUERY, on passe à l'étape 1215. Il est à noter que ce message, qui est reçu par un commutateur intermédiaire ou feuille de l'arbre de communication, comporte l'identifiant de l'arbre de communication en cours d'équilibrage et le mode opératoire choisi par l'opérateur. Dans cette étape 1215, on crée une entrée 711 dans la table de configuration des arbres de communication 710 ou bien on met à jour l'entrée correspondant à l'identifiant de l'arbre de communication 711 pour lequel on procède à un équilibrage de latence. Ainsi, pour l'entrée dont l'identifiant est extrait du message DELAY QUERY, on inscrit dans le champ 713 le mode opératoire contenu dans le message reçu puis on positionne dans le champ 715 à la valeur nord le port de communication par lequel a été reçu le message. Parmi les autres ports de communication du commutateur 200 participant à l'arbre de communication, ceux qui sont connectés à un adaptateur 250 ou à un module d'interface 208 sont des ports de communication de type feuille et voient donc la valeur du champ type 715 configurée avec la valeur feuille . Les derniers, étant de type sud , voient leur champ type configuré avec la valeur sud . Le champ 716 de ces ports de communication est réinitialisé à 0 dans l'attente de leur mise à jour.
Suite à l'étape 1215, on passe à l'étape 1220 où on continue le processus itératif d'équilibrage de la latence de l'arbre de communication en appelant la procédure d'équilibrage du commutateur qui sera décrite en détail au regard de la figure 13. Le traitement du message de type DELAY QUERY est alors terminé. Dans l'hypothèse où, lors du test 1201 le message identifié est du type PORT DELAY, on passe à l'étape 1230. Dans cette étape on met à jour, pour le port de communication sud ayant reçu cette réponse, le champ délai du port 716 de la table de configuration des arbres de communication 710 du commutateur avec la valeur de la latence permettant d'atteindre un port feuille identifié dans ce message. Ensuite on passe à l'étape 1231 dans laquelle on réalise les traitements faisant suite à 20 la réception de toutes les réponses en provenance des ports de communication de type sud . Celle-ci est décrite plus en détail en relation avec la figure 14. Le traitement du message de type PORT DELAY est alors terminé. Dans l'hypothèse où, lors du test 1201, le message identifié est du type BALANCING CORRECTION on passe à l'étape 1240 dans laquelle on met à jour dans la table de 25 configuration du port de communication du type nord par lequel est arrivé le message le champ 806 de la table de configuration 800 pour les entrées dont l'identifiant TID du champ 805 est extrait du message reçu. Le traitement du message de type BALANCING CORRECTION est alors terminé. Au regard de la figure 13, il est décrit la procédure 1300 illustrant la consolidation des 30 latences des ports de communication exécutée dans un commutateur 200.
Dans une première étape 1301, on récupère dans la table des arbres de communication la liste des ports de communication 714 participant à l'arbre de communication dont l'identifiant TID 711 est en cours de traitement. Ensuite on sélectionne le premier port de communication de cette liste, puis on passe au test 1302 où l'on vérifie le type du port de communication sélectionné. Si le port de communication 210 considéré est de type feuille alors dans une étape 1310 on met à jour le champ 716 délai du port de la table de configuration du port de communication 210 avec la valeur définie par construction qui est fonction du port de communication 210 permettant une liaison de connexion vers le dispositif de communication de type adaptateur ou de la latence du module d'adaptation de l'application 208 et de la latence du module de commutation 207. Ensuite on passe au test 1330. Dans l'hypothèse où, lors du test 1302, le port de communication est de type sud alors on prépare, dans une étape 1320, un message de type DELAY QUERY contenant l'identifiant de l'arbre de communication que l'on envoie à travers ce port de communication à destination du dispositif de communication qui lui est directement connecté, avant de passer au test 1330. Ainsi, on détermine une valeur maximale de latence par noeuds successifs, en remontant vers le noeud racine depuis les noeuds feuilles, les noeuds intermédiaires propageant un message de type DELAY QUERY sur chacun ses ports sud , cette propagation d'un message s'achevant lorsque le message parvient à un noeud feuille.
Dans l'hypothèse où le port de communication n'est pas du type feuille ou sud , on passe au test 1330. Au test 1330, on vérifie si tous les ports associés à l'arbre de communication ont été traités. Dans la négative, on sélectionne le port de communication suivant dans la liste des ports de communication 714 participant à l'arbre de communication dont l'identifiant TID 711 est en cours de traitement avant de passer au test 1302. Dans l'affirmative au test 1330, on termine par l'étape 1400 décrite plus en détail au regard de la figure 14 dans laquelle on détermine la valeur du supplément de latence à apporter pour obtenir un arbre de communication équilibré lorsque que l'on dispose de toutes les informations de délais 716 nécessaires.
En référence à la figure 14, on va déterminer la valeur du supplément de latence à apporter pour obtenir un arbre de communication équilibré lorsque que l'on dispose de toutes les informations de délais 716 nécessaires. Ainsi, cette procédure 1400 débute par un test 1401 dans lequel on vérifie si, pour l'arbre de communication identifié par son TID 711, tous les ports de communication de type sud ou feuille du commutateur ont été mis à jour, c'est-à-dire si le champ délai du port 716 dans la table de configuration des arbres de communication 710 a une valeur différente de 0. Dans la négative au test 1401, c'est-à-dire que le commutateur est en attente d'une 10 réponse pour ce port, alors le traitement se termine. Dans l'affirmative au test 1401, c'est-à-dire que l'on a mis à jour les informations de délais contenues dans le champ 716 de chacun des ports de communication de type sud pour l'arbre de communication en cours de traitement, on passe à l'étape 1402. On détermine alors, parmi ces informations, quel est le délai maximum avant de passer à l'étape 1500, dans 15 laquelle on détermine et applique le supplément de latence à apporter afin d'équilibrer l'arbre de communication. Cette étape sera décrite plus en détail au regard de la figure 15. Ensuite on passe au test 1404, où l'on vérifie si le commutateur est le noeud racine. Dans l'affirmative, on a terminé les traitements associés à l'arbre de communication identifié par le TID courant. 20 Dans la négative, on passe à l'étape 1405, où l'on prépare un message de type PORT DELAY contenant l'identifiant de l'arbre de communication en cours de traitement et le délai maximum déterminé à l'étape 1402 auquel on vient ajouter le délai du lien 702 du port nord ainsi que la latence intrinsèque du commutateur. Dans le cas de figure d'un lien ayant un délai asymétrique on utilisera l'information de délai montant 703 dans le cas d'un arbre de 25 communication de type N-vers-1 et l'information de délai descendant 704 dans le cas d'un arbre de communication de type 1-vers-N. Ainsi, on applique le ou les supplément(s) de latence par noeuds successifs, en remontant vers le noeud racine depuis les noeuds feuilles, les noeuds intermédiaires propageant un message de type PORT DELAY sur leur port nord , la propagation d'un message 30 s'achevant lorsque le message parvient au noeud racine.
On termine enfin le traitement par l'envoi de ce message au dispositif de communication directement connecté au port nord . Au regard de la figure 15, la valeur de la correction à appliquer pour équilibrer l'arbre de communication va être déterminée.
Cette procédure 1500 débute par une étape 1501 dans laquelle on extrait de la table des arbres de communication 710 la liste des ports de communication de type sud de la liste 704 de l'arbre de communication identifié par le TID courant dans le champ 701 de la table des arbres de communication 710. Lors du test 1502 si le dernier port de communication de la liste extraite a été traité, l'opération se termine, sinon on extrait le premier élément de la liste qui contient les informations 713, 714, 715, 716 relatives à un port de communication de type sud et on passe à l'étape 1503. Dans cette étape 1503, on détermine la correction nécessaire à apporter à l'équilibrage de l'arbre de communication. Pour cela, on retranche au délai maximum, déterminé à l'étape 1402 de la figure 14, la valeur du délai 716 du port de communication contenue dans les informations précédemment extraites. Cette différence donne la valeur de la correction de latence à apporter sur les canaux virtuels de l'arbre de communication transitant par ce port de communication. Ayant déterminé cette valeur de correction, il reste à déterminer où appliquer celle-ci. 20 Cette détermination débute par le test 1504 dans lequel on teste le mode opératoire pour l'arbre de communication en cours de traitement. Dans l'hypothèse où le mode opératoire est 1-vers-N, on passe à l'étape 1510 où l'on modifie la valeur du champ délai d'équilibrage 806 de la table de configuration du port de communication nord de l'arbre de communication TID. Suite à cette opération, on 25 retourne au test 1502 pour traiter le port de communication suivant dans la liste. Dans l'hypothèse où le mode opératoire est N-vers-1, on passe à l'étape 1520 où l'on prépare un message de type BALANCING CORRECTION contenant l'identifiant de l'arbre de communication et la valeur de la correction préalablement calculée à l'étape 1502 puis on passe à l'étape 1521 dans laquelle on transmet le message au dispositif de communication connecté sur ce port de communication sud . Suite à cette opération, on retourne au test 1502 pour traiter le port de communication suivant dans la liste. A l'aide des figures 16 à 19 vont être explicitées, à travers les exemples des systèmes de communication des figures la et lb, les configurations obtenues suite à l'application de l'invention pour équilibrer en latence l'arbre de communication afin d'obtenir une présentation synchrone des informations. La figure 16 illustre, sous la forme d'un graphe, le système de communication décrit à la figure la, les commutateurs TDM étant représentés par des cercles barrés et les adaptateurs par des triangles. On a ajouté, dans des carrés dont les contours sont tracés en pointillés, les délais induits (exprimés en nombre de cycles TDM) par les différents éléments du réseau : les commutateurs TDM 171 à 175 et les liaisons d'interconnexion virtuelles 111, 112, les liaisons d'interconnexion de type InterConnect 152, 154, 155 et enfin les sous-réseaux 120, 121 et 122. A titre d'exemple, le commutateur SW2 référencé 102 introduit une latence de 2 cycles TDM, la liaison d'interconnexion virtuelle 111 un délai de 4 cycles TDM, le sous-réseau 120 un délai de 16 cycles TDM. Il est à noter que ces valeurs de latence introduite par ces éléments du réseau sont constantes et liées à la technologie sous-jacente. Ainsi chaque commutateur a connaissance de sa latence et chacun de ses ports de communication connaît le délai associé à sa liaison de connexion.
La figure 17 illustre le typage (champ 715) des ports de communication des commutateurs du système de communication présenté à la figure la dans le cadre de l'application de l'invention, en plus des délais représentés à la figure 16. Il est à noter que, pour l'application de l'invention sur le système présenté à la figure lb, cela amène à un résultat identique concernant le typage des ports de communication. On notera que les ports de type nord sont notés N , que les ports de type sud sont notés S , que le port de type racine est noté N et est souligné, et enfin que les ports de type feuille sont notés S et sont soulignés. La figure 18 illustre le résultat obtenu après avoir mis en oeuvre l'invention pour le système de communication de la figure la, en précisant pour chaque commutateur, la plus grande valeur parmi les valeurs maximales de latence déterminée sur les ports sud (indiquée dans les cercles barrés représentant les commutateurs TDM) et la correction apportée sur le port nord des commutateurs (indiquée, de manière soulignée, à proximité des ports nord des commutateurs TDM). On notera que les délais introduits à la figure 16 et représentés dans des carrés dont les contours sont tracés en pointillés sont représentés ici aussi, de manière identique. La figure 19 illustre le résultat obtenu après avoir mis en oeuvre l'invention pour le système de communication de la figure lb, en précisant pour chaque commutateur la plus grande parmi les valeurs maximales de latence déterminée sur les ports sud (indiquée dans les cercles barrés représentant les commutateurs TDM) et la correction apportée sur les ports sud (indiquée, de manière soulignée, à proximité des ports sud des commutateurs TDM). On notera que les délais introduits à la figure 16 et représentés dans des carrés dont les contours sont tracés en pointillés sont représentés ici aussi, de manière identique. Dans un second mode de réalisation particulier de l'invention, d'équilibrage de la latence, les informations subissant un retard additionnel lié au supplément de latence ajouté sont stockées temporairement dans le module de réception 412 en lieu et place du module d'émission 411. Alors le mécanisme de fabrication de la séquence TDM en sortie 611 décrit à la figure 9 se trouve simplifié avec la disparition des étapes 905, 910 et 911. Au regard de la figure 20, il est décrit un dispositif de communication de type commutateur dont la mémoire de stockage des informations devant être retardées dans le cadre d'une opération d'équilibrage de latence est située dans le module de réception de chaque port de communication. On peut voir que la mémoire d'équilibrage de latence 612 est attachée à un module de fabrication de séquence TDM 2300 du port de communication considéré. Ce module 2300 met en oeuvre une variante de la procédure décrite au regard de la figure 9. Ainsi les conditions de branchement I (pour les canaux virtuels VCs entrants) et O (pour les canaux virtuels VCs sortants) du test 902 sont inversées (on ne passe à l'étape suivante que pour les canaux virtuels VCs entrants) et l'étape 903 est supprimée. Ainsi, à l'étape 904, on vient lire dans les canaux virtuels VC reçus du module de réception 620, avant de passer au test 905.
Enfin, la séquence TDM ainsi fabriquée est, à l'étape 920, transférée dans les bancs mémoire 602 à 605 au lieu d'être transmise dans le module 610. Dans ce mode de réalisation, la figure 15 se trouve aussi légèrement modifiée en ce que les conditions de branchement au test 1505 1-vers-N et N-vers-1 respectivement vers les 5 étapes 1510 et 1520 sont inversées. A l'aide des figures 21a à 22b vont être exposées, à travers les exemples des systèmes de communication des figures la et lb, les configurations obtenues suite à l'application de l'invention lorsque l'on applique le supplément de latence dans une architecture de commutateur disposant de tampon mémoire pour ajustement de latence an niveau des ports 10 d'entrée (du commutateur). La figure 21a illustre le résultat obtenu après avoir mis en oeuvre l'invention pour le système de communication de la figure la dans ce deuxième mode de réalisation en précisant pour chaque commutateur la plus grande valeur parmi les valeurs maximales de latence déterminées sur les ports sud (indiquée dans les cercles barrés représentant les 15 commutateurs TDM) et la correction apportée sur ceux-ci (indiquée, de manière soulignée, à proximité des ports sud des commutateurs TDM). On notera que les délais introduits à la figure 16 et représentés dans des carrés dont les contours sont tracés en pointillés sont représentés ici aussi, de manière identique. La figure 21b illustre le résultat obtenu après avoir mis en oeuvre l'invention pour le 20 système de communication de la figure lb dans ce deuxième mode de réalisation en précisant pour chaque commutateur la plus grande valeur parmi les valeurs maximales de latence déterminées sur les ports sud (indiquée dans les cercles barrés représentant les commutateurs TDM) et la correction apportée sur le port de communication nord des commutateurs (indiquée, de manière soulignée, à proximité des ports nord des 25 commutateurs TDM). On notera que les délais introduits à la figure 16 et représentés dans des carrés dont les contours sont tracés en pointillés sont représentés ici aussi, de manière identique.
Claims (16)
- Revendications1. Procédé d'équilibrage d'une latence de transmission d'au moins un contenu de données dans un arbre de communication défini dans un réseau de communication synchrone, l'arbre de communication comprenant un noeud racine auquel est connecté un terminal qui est un terminal de convergence dans le cadre d'une application de capture ou un terminal de divergence dans le cadre d'une application de diffusion, l'arbre de communication comprenant en outre des noeuds feuilles auxquels sont connectés des terminaux de capture dans le cadre d'une application de capture ou des terminaux de diffusion dans le cadre d'une application de diffusion, le noeud racine et les noeuds feuilles étant interconnectés par des noeuds intermédiaires, les noeuds étant interconnectés par des liaisons, caractérisé en ce qu'il comprend des étapes consistant à : déterminer, pour chaque noeud de l'arbre de communication, une valeur maximale de latence associée à chaque chemin allant dudit noeud jusqu'à des noeuds feuilles en direction opposée au terminal de convergence ou au terminal de divergence, et - appliquer, aux dites liaisons d'un dit noeud en direction opposée au terminal de convergence ou au terminal de divergence, un supplément d'équilibrage de latence correspondant à une différence entre la valeur maximale de latence de la liaison considérée et la valeur maximale de latence la plus grande parmi les dites valeurs maximales de latence déterminées.
- 2. Procédé selon la revendication 1, caractérisé en ce que les étapes consistant à déterminer une valeur maximale de latence et à appliquer un supplément d'équilibrage de latence sont effectuées par noeuds successifs, en remontant vers le noeud racine depuis les noeuds feuilles.
- 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend une étape préalable consistant à émettre vers lesdits noeuds feuilles, depuis le noeud racine, une commande d'activation d'équilibrage de latence de l'arbre de communication.
- 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend, pour effectuer l'étape consistant à déterminer une valeur maximale de latence, des étapes consistant à, depuis chaque noeud intermédiaire :- émettre, sur ses liaisons en direction opposée au terminal de convergence ou au terminal de divergence, une requête (DELAY QUERY) d'obtention de dite valeur maximale de latence, - émettre un message comprenant une valeur maximale de latence déterminée en fonction d'au moins une réponse à ladite ou auxdites requête(s), ledit message étant émis sur la liaison dudit noeud en direction du terminal de convergence ou du terminal de divergence.
- 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend, pour effectuer l'étape consistant à appliquer un supplément d'équilibrage de latence, une étape consistant, pour au moins certaines des liaisons, à appliquer le supplément de latence à une sortie de liaison au regard d'une direction de transmission dudit contenu.
- 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comprend, pour effectuer l'étape consistant à appliquer un supplément d'équilibrage de latence, une étape consistant, pour au moins certaines des liaisons, à appliquer le supplément de latence à une entrée de liaison au regard d'une direction de transmission dudit ou desdits contenu(s)
- 7. Procédé selon l'une quelconque des revendications 5 et 6, caractérisé en ce qu'il comprend, pour effectuer l'étape consistant à appliquer un supplément d'équilibrage de latence, des étapes préalables consistant, pour un noeud considéré de chacune desdites certaines liaisons, à déterminer la direction de transmission dudit contenu et à, selon la direction de transmission déterminée : - appliquer localement audit noeud considéré le supplément d'équilibrage de latence, ou - émettre une commande d'application du supplément d'équilibrage de latence à destination du noeud interconnecté audit noeud considéré par la liaison.
- 8. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et / ou enregistré sur un support lisible par ordinateur et / ou exécutable par un processeur, caractérisé par le fait qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé selon au moins l'une des revendications 1 à 7, lorsque ledit programme est exécuté sur un ordinateur.
- 9. Moyen de stockage lisible par ordinateur, éventuellement totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutablespar un ordinateur pour mettre en oeuvre le procédé selon au moins l'une des revendications 1 à 7
- 10. Dispositif (200, 250) constituant un noeud d'un réseau de communication synchrone prévu pour subir un équilibrage d'une latence de transmission d'au moins un contenu de données dans un arbre de communication défini dans un réseau de communication synchrone, l'arbre de communication comprenant un noeud racine auquel est connecté un terminal qui est un terminal de convergence dans le cadre d'une application de capture ou un terminal de divergence dans le cadre d'une application de diffusion, l'arbre de communication comprenant en outre des noeuds feuilles auxquels sont connectés des terminaux de capture dans le cadre d'une application de capture ou des terminaux de diffusion dans le cadre d'une application de diffusion, le noeud racine et les noeuds feuilles étant interconnectés par des noeuds intermédiaires, les noeuds étant interconnectés par des liaisons, dispositif caractérisé en ce qu'il comprend des moyens (201, 202, 203, 204, 205, 206, 207) pour : - déterminer une valeur maximale de latence associée à chaque chemin allant dudit 15 noeud jusqu'à des noeuds feuilles en direction opposée au terminal de convergence ou au terminal de divergence, et - appliquer, aux dites liaisons d'un dit noeud en direction opposée au terminal de convergence ou au terminal de divergence, un supplément d'équilibrage de latence correspondant à une différence entre la valeur maximale de latence de la liaison considérée et 20 la valeur maximale de latence la plus grande parmi les dites valeurs maximales de latence déterminées.
- 11. Dispositif selon la revendication 10, caractérisé en ce que les dits moyens (201, 202, 203, 204, 205, 206, 207) sont agencés pour déterminer une valeur maximale de latence et à appliquer un supplément d'équilibrage de latence, et pour ensuite transmettre de dites valeurs 25 maximales de latences, en tenant compte du supplément de latence, vers un noeud suivant, en remontant vers le noeud racine depuis les noeuds feuilles.
- 12. Dispositif selon l'une quelconque des revendications 10 et 11, caractérisé en ce que, le dispositif étant le noeud racine, les dits moyens (201, 202, 203, 204, 205, 206, 207) sont agencés pour émettre, vers lesdits noeuds feuilles, une commande d'activation d'équilibrage de 30 latence de l'arbre de communication.
- 13. Dispositif selon l'une quelconque des revendications 10 et 11, caractérisé en ce que, le dispositif étant un noeud intermédiaire, les dits moyens (201, 202, 203, 204, 205, 206, 207) sont agencés pour déterminer une valeur maximale de latence, et agencés pour : - émettre, sur ses liaisons en direction opposée au terminal de convergence ou au terminal de divergence, une requête (DELAY QUERY) d'obtention de dite valeur maximale de latence, - émettre un message comprenant une valeur maximale de latence déterminée en fonction d'au moins une réponse à ladite ou auxdites requête(s), ledit message étant émis sur la liaison dudit noeud en direction du terminal de convergence ou du terminal de divergence.
- 14. Dispositif selon l'une quelconque des revendications 10 à 13, caractérisé en ce que, pour appliquer un supplément d'équilibrage de latence, les dits moyens (201, 202, 203, 204, 205, 206, 207) sont agencés pour appliquer, à au moins certaines des liaisons, le supplément de latence à une sortie de liaison au regard d'une direction de transmission dudit contenu.
- 15. Dispositif selon l'une quelconque des revendications 10 à 14, caractérisé en ce que, pour appliquer un supplément d'équilibrage de latence, les dits moyens (201, 202, 203, 204, 205, 206, 207) sont agencés pour appliquer, à au moins certaines des liaisons, le supplément de latence à une entrée de liaison au regard d'une direction de transmission dudit ou desdits contenu(s)
- 16. Dispositif selon l'une quelconque des revendications 14 et 15, caractérisé en ce que, pour appliquer un supplément d'équilibrage de latence, les dits moyens (201, 202, 203, 204, 205, 206, 207) sont agencés pour déterminer la direction de transmission dudit contenu et pour, selon la direction de transmission déterminée : - appliquer localement, au dispositif noeud, le supplément d'équilibrage de latence, ou - émettre une commande d'application du supplément d'équilibrage de latence à 25 destination du noeud interconnecté audit dispositif noeud par la liaison.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0858738A FR2939992B1 (fr) | 2008-12-17 | 2008-12-17 | Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants |
US12/636,681 US8238269B2 (en) | 2008-12-17 | 2009-12-11 | Method for balancing latency in a communications tree, corresponding device and storage means |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0858738A FR2939992B1 (fr) | 2008-12-17 | 2008-12-17 | Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2939992A1 true FR2939992A1 (fr) | 2010-06-18 |
FR2939992B1 FR2939992B1 (fr) | 2010-12-31 |
Family
ID=40823024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0858738A Expired - Fee Related FR2939992B1 (fr) | 2008-12-17 | 2008-12-17 | Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants |
Country Status (2)
Country | Link |
---|---|
US (1) | US8238269B2 (fr) |
FR (1) | FR2939992B1 (fr) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600411B2 (en) * | 2011-01-31 | 2017-03-21 | The Mathworks, Inc. | System and method for determining an object's lifetime in an object oriented environment |
EP2683155A1 (fr) | 2012-07-07 | 2014-01-08 | PIXarithmic GmbH | Système et procédé de traitement vidéo et/ou de signaux audio |
EP2688289B1 (fr) | 2012-07-19 | 2014-08-13 | Scalable Video Systems GmbH | Procédé de traitement des signaux vidéo et/ou audio |
US9137119B2 (en) * | 2013-03-07 | 2015-09-15 | Cisco Technology, Inc. | Efficient handling of multi-destination traffic in an internet protocol fabric data center |
TWI602064B (zh) | 2016-11-23 | 2017-10-11 | 財團法人工業技術研究院 | 資料傳輸系統,以及其所使用的拓樸架構建立方法與拓樸架構修復方法 |
CN114827639B (zh) * | 2021-01-28 | 2023-07-11 | 华为技术有限公司 | 多应用的分布式实现方法、可读介质及其电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631410B1 (en) * | 2000-03-16 | 2003-10-07 | Sharp Laboratories Of America, Inc. | Multimedia wired/wireless content synchronization system and method |
US6697365B1 (en) * | 1999-06-10 | 2004-02-24 | Charles Hayes Messenger | Method of listener transmitted broadcasting |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269137B2 (en) | 2001-08-24 | 2007-09-11 | Canon Kabushiki Kaisha | Method for setting up an isochronous data stream connection, with the application of a predetermined, total isochronous delay on one or more routing paths |
US9131016B2 (en) * | 2007-09-11 | 2015-09-08 | Alan Jay Glueckman | Method and apparatus for virtual auditorium usable for a conference call or remote live presentation with audience response thereto |
-
2008
- 2008-12-17 FR FR0858738A patent/FR2939992B1/fr not_active Expired - Fee Related
-
2009
- 2009-12-11 US US12/636,681 patent/US8238269B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697365B1 (en) * | 1999-06-10 | 2004-02-24 | Charles Hayes Messenger | Method of listener transmitted broadcasting |
US6631410B1 (en) * | 2000-03-16 | 2003-10-07 | Sharp Laboratories Of America, Inc. | Multimedia wired/wireless content synchronization system and method |
Also Published As
Publication number | Publication date |
---|---|
US20100149985A1 (en) | 2010-06-17 |
FR2939992B1 (fr) | 2010-12-31 |
US8238269B2 (en) | 2012-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0126196B1 (fr) | Réseau de commutation temporelle asynchrone permettant les communications point à point, de fusion et de diffusion | |
EP0421325B1 (fr) | Système de communication optique temporel asynchrone | |
EP0036808B1 (fr) | Concentrateur de système de communication pour relier plusieurs terminaux asynchrones de téléinformatique | |
FR2820921A1 (fr) | Dispositif et procede de transmission dans un commutateur | |
EP0609137A1 (fr) | Dispositif pour l'échange de format entre voies numériques synchrones et asynchrones | |
FR2939992A1 (fr) | Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants | |
FR2472897A1 (fr) | Dispositif de transmission d'information de commande dans un systeme de commutation | |
FR2952261A1 (fr) | Systeme de communication dans un aeronef | |
EP0735727B1 (fr) | Commutateur ATM utilisant une commutation synchrone par groupes de lignes | |
EP0601653A1 (fr) | Système de transmission pour transmettre des informations à différents débits et station de transmission convenant à un tel système | |
FR2804812A1 (fr) | Procede et dispositif de communication entre un premier et un deuxieme reseau | |
FR2727818A1 (fr) | Procede d'acheminement de cellules dans un reseau de commutation a multiplexage temporel asynchrone, reseau, commutateur d'entree et application correspondants | |
EP0383660A1 (fr) | Réservation de débits dans un réseau de paquets asynchrones | |
FR2642245A1 (fr) | Systeme de reception et de traitement de trames hdlc transmises sur liaison mic multivoies a multiplexage temporel, notamment pour commutateur de donnees | |
FR2824434A1 (fr) | Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement | |
EP0891058B1 (fr) | Commutateur à autonomie d'acheminement et système de vidéoconférence utilisant un tel commutateur | |
EP0406077A1 (fr) | Système complÀ©mentaire de communication en mode sans-connexion pour réseau temporel asynchrone | |
FR2774242A1 (fr) | Systeme et procede de commutation asynchrone de cellules composites, et modules de port d'entree et de port de sortie correspondants | |
FR2918832A1 (fr) | Procedes de transmission de donnees par des noeuds relais dans un reseau de communication synchrone, procede de reception, produit programme d'ordinateur, moyen de stockage et noeuds correspondants. | |
FR2949030A1 (fr) | Procede et dispositif de synchronisation d'applications dans un reseau | |
EP0270471B1 (fr) | Système de commutation de paquets | |
FR2515904A1 (fr) | Systeme de transmission et de commutation pour reseau local a structure de distribution en boucle et a mode de transmission par paquets. | |
FR2794591A1 (fr) | Installation interieure de client multi-terminaux basee sur l'atm | |
FR2947977A1 (fr) | Procede de configuration d'une transmission d'un flux de donnees depuis un emetteur vers un recepteur, produit programme d'ordinateur, moyen de stockage et dispositif d'interconnexion correspondants | |
FR2863436A1 (fr) | Procede et systeme de stockage et/ou de restitution d'un flux de donnees audio video au sein d'un reseau de communication heterogene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140829 |