FR 2949031 A1 20110211 FR 0955496 A 20090804 La présente invention concerne un procédé et un dispositif de synchronisation d'événements externes. Elle s'applique, en particulier, aux réseaux de communications multimédias et plus particulièrement aux réseaux de type TDM (acronyme de � Time Division Multiplexing � pour multiplexage par division temporelle) 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 (acronyme de � Synchronous Digital Hierarchy � pour hiérarchie numérique synchrone) ou les réseaux Audio/Vidéo domestiques pour le grand public basés sur l'interconnexion de plusieurs bus tel que définie par le standard IEEE1394.1-2004 appelé � Standard for High Performance Serial Bus Bridges � (standard pour passerelles de bus série haute performance). Il est à noter que, dans le cas où l'on observe une différence de phase relative constante, on parle de réseau � mésochrone � (� mesochronous �, en anglais) bien que, par abus de langage, on utilise aussi le terme de � synchrones �. Un réseau de type TDM est un réseau permettant de véhiculer plusieurs canaux virtuels sur un même support de communication, par agrégation de canaux, en utilisant un multiplexage temporel sur les échantillons é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. Un cycle TDM comporte un intervalle de temps par canal virtuel, ou VC (pour � virtuel chanel � en anglais) véhiculé sur le support de communication. Ainsi, le cycle se répète avec de nouveaux échantillons élémentaires pour chacun des canaux virtuels. 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 Standard 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 voir un réseau TDM synchrone comme 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. La présente invention se rapporte plus particulièrement à un réseau synchrone adapté à la présentation simultanée soit d'une information sur plusieurs terminaux (application de type � un-vers-plusieurs � ou � one-tomany � en anglais) soit de plusieurs informations synchrones issues de plusieurs terminaux à destination d'un terminal commun (application de type � plusieurs-vers-un � ou � many-to-one � en anglais). La présente invention possède des applications dans les systèmes de capture multi-caméras et d'affichages distribués. Si, d'une manière générale, le domaine de la présente invention est celui des réseaux de communication synchrones, plus précisément, l'invention concerne une technique de présentation synchrone d'un évènement détecté de façon multiple au sein d'une interconnexion de réseaux de type TDM synchrones. Dans le cadre de l'invention, plusieurs sous-réseaux de type TDM synchrones, ou � PAN � (acronyme de � Personal Area Network � pour réseau local personnel) sont interconnectés par l'intermédiaire de � PBN � (acronyme de � PAN Bridge Network � pour réseau de passerelles PAN), afin de pouvoir établir des connexions et de pouvoir transmettre des données entre les terminaux hébergés par les différents sous-réseaux. Chaque sous-réseau étant cadencé par un cycle TDM généré par une horloge qui lui est propre, lors de l'interconnexion, une technique de l'état de la technique consiste à passer par une étape transitoire afin de re- synchroniser les cycles TDM en phase, en asservissant l'horloge du sous-réseau esclave sur l'horloge du sous-réseau maître. Cependant, cette étape transitoire perturbe les cycles des sous-réseaux esclaves, et donc perturbe les échanges de données en cours sur le sous-réseau au moment de l'interconnexion. En effet, un cycle TDM peut être perdu, générant des débordements ou des manques dans les mémoires tampons utilisées pour le transfert. Pour palier cet inconvénient, l'invention se place dans le contexte où les horloges des sous-réseaux esclaves sont asservies sur celle du sous-réseau maître, par exemple en maintenant les décalages entre cycles TDM constants. Chaque cycle TDM de chaque sous-réseau à la même période, mais ils ne commencent pas simultanément. Dans le cadre de l'invention, certains sous-réseaux TDM hébergent une ou plusieurs sources audio/vidéo, et d'autres sous-réseaux TDM hébergent 15 une ou plusieurs destinations audio/vidéo. Par exemple, un ensemble de caméras filment une scène, et certains flux issus de ces caméras sont affichés sur un ou plusieurs écrans. Sur détection simultanée par toutes les caméras d'un évènement commun, on souhaite générer une action synchronisée au niveau des écrans. 20 La présente invention vise, notamment, à résoudre le problème suivant : dans un réseau composé de PAN, hébergeant plusieurs sources et destinations audio/vidéo, interconnectés par le biais d'un réseau fédérateur (� backbone network � en anglais), les cycles TDM des PAN hébergeant les sources étant synchronisés en phase constante, et les cycles TDM des PAN 25 hébergeant les destinations étant éventuellement synchronisés en phase nulle, comment déclencher une action simultanée au niveau de plusieurs destinations, par un évènement commun détecté simultanément au niveau de plusieurs sources ? Dans l'état de la technique, la demande de brevet US 2005/0175037 30 décrit un réseau composé de plusieurs modules connectés entre eux par l'intermédiaire de fibres optiques et de communications radio. Les horloges des entrées et des sorties de chaque modules ne sont pas synchronisées, mais l'horloge applicative de sortie de réseau doit être synchronisée en phase nulle avec l'horloge applicative d'entrée du réseau. Pour ce faire, chaque module calcule une valeur de déphasage entre son horloge de sortie et son horloge d'entrée. Ces déphasages sont ensuite cumulés par le module de sortie afin d'alimenter une PLL (acronyme de � Phase Loop Locked � pour asservissement par verrouillage de phase) qui asservit l'horloge de sortie du réseau sur l'horloge d'entrée du réseau. Cette technique n'est pas applicable au problème à la base de la présente invention car elle ne décrit par comment synchroniser les instants de traitement des notifications d'évènement. La présente invention vise à remédier à ces inconvénients. A cet effet, selon un premier aspect, la présente invention vise un procédé de synchronisation de traitements d'événements sur un réseau comportant au moins deux sous-réseaux dit � sources � hébergeant chacun au moins une source de signal représentatif d'un événement et au moins deux sous-réseaux dit � destinations � hébergeant chacun au moins une destination dudit signal représentatif d'un événement, lesdits sous-réseaux présentant la même durée de cycle, caractérisé en ce qu'il comporte : - une étape de repérage d'événement, au cours de laquelle chaque source mesure une durée écoulée entre le début d'un cycle du sous-réseau source hébergeant ladite source et la détection d'un événement commun à plusieurs sources, - une étape de transmission, à chaque destination, d'un signal représentatif de l'événement et de ladite durée mesurée par chaque source, - une étape de mesure de compensation de différences de phases entre les sous-réseaux sources, par chaque sous-réseau destination et - à chaque réception, par une destination, d'un signal représentatif d'un événement en provenance d'une source, une étape d'application de correction de phase, au cours de laquelle ladite destination retarde le traitement dudit événement d'une durée égale à la somme - de ladite durée mesurée par ladite source et - de la compensation de différences de phases pour le réseau source hébergeant ladite source. La présente invention offre l'avantage d'être transparente pour l'application finale, c'est-à-dire qu'aucun protocole particulier n'est à implémenter au niveau applicatif. De plus, la mise en oeuvre de la présente invention ne dépend pas du nombre de sous-réseaux connectés ni du nombre de destinations ou de sources. Elle s'adapte aux différentes topologies du réseau. La présente invention, telle qu'elle succinctement exposée ci-dessus s'applique notamment dans le contexte où les cycles des sous-réseaux hébergeant les destinations (cycles destinations) sont synchronisés en phase nulle, mais pas ceux des sous-réseaux hébergeant les sources. Avant de traiter une notification d'évènement reçue, on attend un délai composé d'une compensation des décalages entre les cycles des sources, et du temps séparant le début du cycle de la source et la détection de l'événement. La compensation des décalages entre les cycles des sous-réseaux hébergeant les sources (cycles sources) est calculée par chaque destination à l'initialisation du système. Lorsqu'un évènement est capté par un appareil (source audio/vidéo, par exemple), il est repéré par rapport au début du cycle en cours au moment de la détection. La valeur � t � d'un compteur, réinitialisé à chaque début de cycle, représente le temps séparant le début de cycle et l'événement. Une notification d'évènement composée de cette valeur � t � ainsi que du type d'évènement est ensuite insérée dans un ou plusieurs canaux virtuels de contrôle associés au flux de données audio/vidéo. Lors de la réception de cette notification d'évènement, à partir du début de cycle suivant la réception, on diffère le traitement de l'événement du délai précédemment cité. Les débuts de cycle des différents réseaux hébergeant les sources étant décalés, pour un même évènement chaque source mesure une valeur � t � différente. Ces différences sont équilibrées par l'application des compensations de différences de phases entre les sous-réseaux hébergeant les sources. Selon des caractéristiques particulières, l'étape de mesure de compensation de différences de phases entre des sous-réseaux hébergeant des sources comporte, pour chaque sous-réseau destination : - une étape de détermination du déphasage entre les fronts montants de cycle d'horloge dudit sous-réseau destination et les fronts montants de chaque sous-réseau source, - une étape d'élection d'un sous-réseau source dit � de référence � et - une étape de détermination du décalage entre des fronts montants entre le sous-réseau source de référence et chaque autre sous-réseau source. Selon des caractéristiques particulières, au cours de l'étape de transmission de ladite durée mesurée, chaque source effectue une insertion d'informations relatives à l'évènement dans un canal virtuel de contrôle de flux de données dédié, au contrôle de flux de données et suivant le même routage et les mêmes délais de transmission que les canaux virtuels de transmission de flux de données. Grâce à ces dispositions, la mesure est pertinente pour les notifications d'événement. Selon des caractéristiques particulières, le procédé objet de la présente invention, tel que succinctement exposé ci-dessus comporte, lors de la connexion de deux ports, chacun relié à un commutateur de sous-réseau, pour le port, dit � esclave � dont l'horloge est fournie par l'autre port, dit � maître �, une étape de génération de signal de synchronisation à destination du commutateur relié audit port esclave, en attendant, après réception par ledit port esclave d'un front montant en provenance dudit port maître, pendant une durée égale à une mesure de la durée entre un front montant d'un signal provenant du port maître et un front montant d'un signal provenant dudit commutateur. Les sous-réseaux sont ainsi synchrones et conservent une différence de phase constante. Selon des caractéristiques particulières, au cours de l'étape de mesure de compensation de différences de phases entre des sous-réseaux sources, chaque port pris dans l'ordre sur un chemin suivi par ledit signal représentatif d'un événement détermine une durée additionnelle à ladite mesure de compensation égale à la latence induite par le décalage des cycles subi lors de la traversée dudit port. La mesure est ainsi réalisée pour tous les ports du chemin suivi par les notifications d'événement. Selon des caractéristiques particulières, au cours de l'étape de mesure de compensation de différences de phases entre des sous-réseaux sources, chaque sous-réseau destination envoie un � message de mesure de décalage � à chaque sous-réseau source et chaque sous-réseau source envoie une réponse au message de mesure de décalage comportant un champ pour ladite mesure, audit sous-réseau destination sur ledit chemin, chaque port sur ledit chemin effectuant : - une étape de réception d'une réponse du port précédant sur ledit chemin, - une étape de mise à jour de la réponse, par ajout de la durée additionnelle mesurée par ledit port à la valeur déjà présente dans ledit champ et - une étape d'envoi de ladite réponse mise à jour au port suivant sur ledit chemin. Les mesures sont ainsi simultanées et effectuées dans l'ordre des ports rencontrés par une notification d'événement. Selon des caractéristiques particulières, l'étape de mesure de compensation de différences de phases entre des sous-réseaux sources comporte, pour chaque port sur ledit chemin, si le signal de synchronisation dudit port n'est pas en phase avec celui du commutateur auquel ledit port est connecté : - une étape de détermination si la réponse arrive dudit commutateur, - si la réponse n'arrive pas dudit commutateur : - si le décalage entre les cycles du port et dudit commutateur est inférieur à une valeur � période du cycle ù intervalle de garde �, la durée additionnelle est égale à la valeur d'une période de cycle additionnée à la valeur du décalage entre les cycles du port et du commutateur, - si le décalage entre les cycles du port et dudit commutateur est supérieur ou égal à une valeur � période du cycle ù intervalle de garde �, la durée additionnelle est égale à la valeur du décalage entre les cycles du port et du commutateur - si la réponse arrive du commutateur : - si le décalage entre les cycles du port et du commutateur est supérieur ou égal à la valeur � intervalle de garde �, la durée additionnelle est égale à la valeur de deux périodes de cycle moins la valeur du décalage entre les cycles du port et du commutateur et - si le décalage entre les cycles du port et du commutateur est inférieur à la valeur � intervalle de garde �, la durée additionnelle est égale à la valeur d'une période de cycle moins la valeur du décalage entre les cycles du port et du commutateur. Selon des caractéristiques particulières, le procédé objet de la présente invention, tel que succinctement exposé ci-dessus, comporte, en outre : - une étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations et - une étape d'ajout dudit décalage à la somme de ladite durée mesurée et de la compensation de différence de phase pour le réseau source hébergeant ladite source pour former un retard mis en oeuvre par chaque destination pour retarder le traitement de l'événement. La présente invention s'applique ainsi aussi au contexte dans lequel les cycles destinations sont aussi synchronisés en phase constante mais non nulle, des compensations supplémentaires palliant les décalages existant entre les débuts des cycles destinations. La détermination, par chaque source, d'une compensation des décalages entre cycles destination, vu depuis une source, fourni un délai appliqué au niveau des destinations, entre le début du cycle de traitement de l'évènement et le traitement lui-même. On garantit ainsi un traitement simultané d'une notification d'événement même dans le cas où les cycles destination ne sont pas synchronisés en phase nulle. Selon des caractéristiques particulières, l'étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations est effectuée par chaque sous-réseau source et, au cours de l'étape d'ajout, on ajoute ledit décalage mesuré par la source ayant émis le signal représentatif de l'événement. Selon des caractéristiques particulières, au cours de l'étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations, ladite mesure est déterminée par rapport au décalage temporel le plus important avec le cycle de ladite source. Ainsi, préférentiellement, on aligne ces compensations sur la plus longue, ce qui réduit le retard appliqué à toutes les notifications d'évènement. Selon des caractéristiques particulières, au cours de l'étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations : - chaque sous-réseau source émet un � message de cumul de décalage � vers chaque destination, - chaque port pris dans l'ordre sur un chemin suivi par ledit message de cumul de décalage détermine une durée additionnelle à ladite mesure égale à la latence induite par la traversée dudit port et - à réception du message de cumul de décalage, chaque sous-réseau destination retourne une réponse vers ledit sous-réseau source, ladite réponse contenant le cumul ainsi déterminé. La mesure du cumul est ainsi réalisée pour tous les ports, dans l'ordre du chemin suivi par les notifications d'événement. Selon un deuxième aspect, la présente invention vise un dispositif de synchronisation de traitements d'événements sur un réseau comportant au moins deux sous-réseaux dit � sources � hébergeant chacun au moins une source de signal représentatif d'un événement et au moins deux sous-réseaux dit � destinations � hébergeant chacun au moins une destination dudit signal 3o représentatif d'un événement, lesdits sous-réseaux présentant la même durée de cycle, caractérisé en ce qu'il comporte : - un moyen de repérage d'événement, au cours de laquelle chaque source mesure une durée écoulée entre le début d'un cycle du sous-réseau source hébergeant ladite source et la détection d'un événement commun à plusieurs sources, - un moyen de transmission, à chaque destination, d'un signal représentatif de l'événement et de ladite durée mesurée par chaque source, - un moyen de mesure de compensation de différences de phases entre les sous-réseaux sources, par chaque sous-réseau destination et - un moyen d'application de corrections de phase adapté, à chaque réception, par une destination, d'un signal représentatif d'un événement en provenance d'une source, à appliquer une correction de phase pour retarder le traitement dudit événement d'une durée égale à la somme - de ladite durée mesurée pour ladite source et - de la compensation de différence de phase pour le réseau source hébergeant ladite source. Selon des caractéristiques particulières, le dispositif objet de la présente invention, tel que succinctement exposé ci-dessus comporte, en outre : - un moyen de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations et - un moyen d'ajout dudit décalage à la somme de ladite durée mesurée et de la compensation de différence de phase pour le réseau source hébergeant ladite source pour former un retard mis en oeuvre par chaque destination pour retarder le traitement de l'événement. Selon un troisième aspect, la présente invention vise un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé objet de la présente invention, tel que succinctement exposé ci-dessus. Selon un quatrième aspect, la présente invention vise un support d'informations lisibles par un ordinateur ou un microprocesseur, amovible ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé objet de la présente invention, tel que succinctement exposé ci-dessus. Les avantages, buts et caractéristiques de ce dispositif, de ce programme d'ordinateur et de ce support d'information étant similaires à ceux du procédé objet de la présente invention, tel que succinctement exposé ci- dessus, ils ne sont pas rappelés ici. D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard des dessins annexés, dans lesquels : - la figure 1 représente, schématiquement, une application pour laquelle peut être mise en oeuvre la présente invention, - la figure 2 représente, schématiquement, un mode de réalisation particulier du dispositif objet de la présente invention, dans un commutateur TDM, - les figures 3a et 3b représentent, sous forme de schéma-blocs, un port de communication de type � Interconnect �, - la figure 4 représente, sous forme d'un logigramme, une initialisation d'un module de gestion de décalages illustré en figure 3a, - les figures 5a et 5b représentent, sous forme de logigrammes, une mesure du décalage et une génération d'un signal � SDPC � décalé, - les figures 6a et 6b représentent, sous forme de logigrammes, un algorithme de fonctionnement d'une mémoire tampon illustrée en figure 3b, - les figures 7a et 7b représentent, sous forme d'un logigramme, un algorithme de fonctionnement d'une mémoire tampon illustrée en figure 3b, - la figure 8 représente des compensations à effectuer dans le cas où les cycles TDM destinations sont synchronisés en phase nulle, - les figures 9a et 9b représentent, sous forme de logigrammes, un algorithme mis en oeuvre sur un noeud de réseau hébergeant une destination, - la figure 10 représente, sous forme d'un logigramme, un algorithme mis en oeuvre sur des noeuds adaptateurs connectés à des noeuds hébergeant des sources, - la figure 11 représente, sous forme d'un logigramme, des étapes d'un traitement de messages de cumul de décalage par des ports, - la figure 12 représente, sous forme d'un logigramme, des étapes de génération de notification d'événement, - la figure 13 représente, sous forme d'un logigramme, des étapes de transmission des informations d'événement, - la figure 14 représente, sous forme d'un logigramme, une application de compensations calculées, - la figure 15 représente, sous forme d'un logigramme, dans le cas 10 de destinations en phase constante, des étapes de compensation des décalages TDM de noeuds destinations et - la figure 16 représente, sous forme d'un logigramme, dans le cas destinations en phase constante, des étapes de ré-alignement et de compensation des décalages TDM de noeuds sources. 15 La figure 1 présente un exemple d'utilisation de l'invention. Un ensemble de cameras 112 à 116 et de micros 107 à 111 capturent une scène dans laquelle se déplace un sujet 106. Les caméras 112 à 116, synchronisées par un signal de synchronisation 117, sont connectées chacune à un sous-réseau PAN, respectivement 119 à 123 (par l'intermédiaire de noeuds 20 adaptateurs non représentés), eux-mêmes interconnectés, par l'intermédiaire d'un ensemble de PBN 118, afin de pouvoir établir des connexions et de pouvoir transmettre des données entre les terminaux hébergés par les différents sous-réseaux. Sont aussi interconnectés à cet ensemble de PBN, deux PAN 124 et 125 auxquels sont rattachés (par l'intermédiaire de noeuds 25 adaptateurs non représentés) deux écrans 126 et 127. Un ensemble de capteurs 100 à 104 permet de suivre les déplacements d'un sujet 106. En fonction du statut de ces capteurs 100 à 104, les données issues d'un sous-ensemble de deux couples caméra-micro sont routées et affichées sur les deux écrans 126 et 127. 30 Par exemple, lorsque le sujet 106 se trouve entre les capteurs 101 et 102, les données issues de la caméra 113 sont routées vers le PAN 124 et affichées sur l'écran 126, et celles issues de la caméra 114 sont routées vers le PAN 125 et affichées sur l'écran 127. Le passage du sujet 106 vers la zone située entre les capteurs 102 et 103 génère un évènement intercepté par les noeuds adaptateurs connectés aux cameras, notamment les cameras 113 et 114. Chaque noeud adaptateur connecté à une camera émet une notification d'événement qui est transmise, en association avec le contrôle du flux de données audio/vidéo. Les noeuds adaptateurs liés aux écrans 126 et 127 reçoivent donc les notifications d'événement générées par les noeuds adaptateurs liés respectivement aux caméras 113 et 114. Le traitement simultané des ces évènements provoque le routage et l'affichage simultané des données issues des caméras 114 et 115 vers les écrans 126 et 127 respectivement. En référence à la figure 2, nous allons maintenant décrire un dispositif de communication 200 qui implémente la présente invention telle que mise en oeuvre dans les équipements d'interconnexion PBN et les noeuds adaptateurs. Ce dispositif de communication 200 comporte un bus interne 201 permettant l'échange d'information entre des 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 206, comme par exemple un disque dur. Ce programme contient, notamment, des instructions pour exécuter tout ou partie des étapes des organigrammes décrits plus loin. La mémoire non volatile 206 contient aussi les données de configuration qui peuvent être mises à jour par l'utilisateur grâce à une interface 205. Une mémoire vive (� RAM �) 203 est la mémoire principale d'une 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. Le dispositif de communication 200 dispose d'une interface de connectivité locale 209 adaptée à connecter des équipements audio/vidéo comme, par exemple, une interface HDMI (acronyme de � High Definition Multimedia Interface � pour, en français, Interface Multimédia Haute Définition). Le dispositif de communication 200 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 devant être échangées entre le bus interne (en provenance ou à destination d'une application s'exécutant sur l'unité centrale 202) ou 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 (� routage �) entre les ports de communication 210, 211 et 212 et le module d'interface 208. Le module de commutation 207 est configurable par l'unité centrale 202, par l'intermédiaire du bus interne 206. 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 de ré-assemblage) avec les applications, alors que les ports de communication 210, 211 et 212 se limitent à émettre et recevoir les informations de manière adéquate sur un médium. Le nombre de ports de communication ainsi que le nombre de modules d'interface 208 dans la présente description, respectivement fixés à 3 et 1, ne sont en aucune manière limitatives et sont, au contraire, dimensionnés en fonction des caractéristiques du système. Dans la suite de la description, on utilise indifféremment les termes de � commutateur � ou de � dispositif de communication � de type commutateur tel que décrit au regard de la figure 2. Le schéma-bloc de la figure 3a représente un exemple de port de communication 210 qui permet de réaliser une liaison d'interconnexion série (appelée aussi � Interconnect �). Une liaison d'interconnexion est obtenue en reliant, en point à point, deux ports de communication à l'aide d'un câble qui transporte des signaux 320 à 326. Les données issues du commutateur 207 sont, dans un premier temps, stockées dans une mémoire tampon 314 avant d'être encapsulées par un bloc fonctionnel 301, pour former une trame de données, et avant d'être sérialisées et encodées par un bloc fonctionnel 302. Les données ainsi mises en forme sont ensuite transférées dans une mémoire tampon (� buffer �) d'émission LVDS (acronyme de � Low Voltage Differential Signaling � pour signalisation par faible tension différentielle) 305 offrant une transmission haut débit par l'intermédiaire d'un signal � Data_out � 321. La chaîne de réception de ce port de communication 210 réalise les opérations successives inverses, à savoir la réception de données à travers le signal � Data_in � 322 dans la mémoire tampon (� buffer �) de réception LVDS 305, une opération inverse dite de dé-sérialisation et de décodage, par un bloc fonctionnel 304, et finalement extraction des données par un bloc fonctionnel 303. Ces données sont ensuite remises, par l'intermédiaire d'une mémoire tampon 315, au commutateur 207 suivant les mécanismes tels que décrit au regard de la figure 3b. On note que le signal � CLK p/n � 320 relié à la mémoire tampon LVDS 305 est l'horloge bit (horloge de cadencement des données par bit de données) des données émises ou reçues sur les signaux 321 et 322. Le signal 320 est configurable en entrée ou en sortie, en fonction de la distribution d'horloge configurée par l'utilisateur. Ce port de communication possède un module de signalisation 310 permettant d'échanger des informations de contrôle avec le port distant, ou maître, de l'Interconnect. Un bloc fonctionnel 311 applique une sérialisation avant émission sur le signal � CTL_OUT � 323. En réception, on réalise l'opération inverse de dé-sérialisation 312 sur le signal � CTL_IN � 324, pour traitement par le module de signalisation 310. Ce module de signalisation 310 contribue, notamment, à la diffusion de l'information pour la distribution de l'horloge dans le réseau, et à la vérification que la liaison entre les deux ports de communication connectés en point à point est toujours active. Le port de communication 210 permet, par l'intermédiaire du module de gestion de décalage TDM 313, la délivrance du signal d'horloge de référence du cycle TDM issue du commutateur 207 sous forme d'un signal de sortie � SDPC_OUT � 326. Il permet aussi la délivrance, à ce même commutateur 207, du signal d'horloge de référence du cycle TDM reçu du commutateur distant (par l'intermédiaire de l'Interconnect) sous forme d'un signal � SDPC_IN � 325. En fonction de la distribution d'horloge configurée par l'utilisateur, un seul de ces deux signaux est pris comme référence. Le schéma-bloc de la figure 3b présente plus en détails le fonctionnent des mémoires tampons 314 et 315 et du module de gestion de décalage TDM 313. Ces éléments permettent la transmission des données, malgré le décalage pouvant exister entre les signaux �SDPC � provenant du commutateur 207 et ceux provenant du port distant, ou maître, de l'Interconnect. Dans le cas où le commutateur 207 fournit l'horloge TDM à l'Interconnect par le port courant de l'Interconnect, le signal � SDPC_décalés � 338 vaut � faux �, ce qui signifie qu'il n'existe pas de décalage entre les signaux � SDPC � du commutateur connecté au port courant de l'Interconnect et ceux de l'Interconnect. Les données sont alors échangées entre les modules d'encapsulation et de dé-encapsulation 301 et 303, d'une part, et le commutateur 207, d'autre part, sans passer par les mémoires tampons 314 et 315. De même, les signaux � SDPC_IN � 325 et � In_SDPC � 337 ne sont pas modifiés par le module de gestion de décalage TDM 313. Dans les cas où l'horloge TDM est fournie à l'Interconnect par le port distant, ou maître, de l'Interconnect, un décalage existe entre le signal � SDPC � reçu par le port depuis l'Interconnect et le signal reçu par le port depuis le commutateur (connecté au port local, ou esclave, de l'Interconnect). Le signal � SDPC_décalés � 338 vaut alors � vrai �. Le signal � In_SDPC � 336 à destination du commutateur est donc généré par un bloc fonctionnel 333 selon l'algorithme détaillé en regard de la figure 5b, sur la base du signal � SDPC IN � 325 et du décalage mesuré par un bloc fonctionnel 334. Le signal � SDPC_OUT � 326 reçoit une copie du signal � IN_SDPC � 325. De plus, la mémoire tampon 314 reçoit et stocke une trame TDM en provenance du commutateur 207 à chaque front montant du signal � In_SDPC � 336 correspondant au cycle TDM du commutateur 207. Une 3o trame TDM est constituée de l'agrégation des canaux virtuels de données destinées à être transmises du commutateur vers le port considéré pendant un cycle TDM (et vice versa, c'est-à-dire qu'il y a une trame TDM par sens de communication). Cette même trame TDM est ensuite délivrée au module 301 sur le front montant du signal � SDPC_IN � 325 correspondant au cycle TDM de l'Interconnect. De même, la mémoire tampon 315 reçoit et stocke une trame TDM en provenance de l'Interconnect à chaque front montant du signal � SDPC_IN � 325 correspondant au cycle TDM de l'Interconnect. Cette même trame TDM est ensuite délivrée au commutateur sur le front montant du signal � In_SDPC � 336 correspondant au cycle TDM du commutateur. Les mémoires tampons 314 et 315 fonctionnent suivant l'algorithme détaillé en regard des figures 6 et 7. Le multiplexeur 330 permet d'envoyer vers le module d'encapsulation 301 les données en provenance soit du commutateur 207 si le signal � SDPC_décalés � 338 vaut faux, soit de la mémoire tampon 314 sinon. Le multiplexeur 331 permet d'envoyer vers le commutateur 207 les données en provenance soit du module de désencapsulation 303 si le signal � SDPC_décalés � 338 vaut faux, soit de la mémoire tampon 315 sinon. Le multiplexeur 332 permet d'envoyer vers le commutateur 207 et les mémoires tampons 314 et 315 le signal SDPC en provenance soit du signal � SDPC_IN � 325 de l'Interconnect si le signal � SDPC_décalés � 338 vaut faux, soit du module � générateur SDPC � 333 sinon. Le multiplexeur 335 permet d'envoyer vers le signal � SDPC_OUT � 326 de l'Interconnect le signal SDPC en provenance soit du signal � SDPC_IN � 325 de l'Interconnect si le signal � SDPC_décalés � 338 vaut vrai, soit du commutateur 207 sinon. Lors de la connexion d'un câble entre deux ports, les ports qu'il relie sont initialisés comme illustré en regard de la figure 4. Lors d'une étape 401, on vérifie la configuration du port pour déterminer si l'horloge TDM du port est fournie par le commutateur ou par le port distant, ou maître, de l'Interconnect. Dans le premier cas, il n'y a pas de décalage entre les cycles TDM du commutateur et du port, il n'y a donc rien de particulier à faire au niveau du port. Dans le second cas, le bloc fonctionnel 334 mesure le décalage selon l'algorithme détaillé en regard de la figure 5a, au cours d'une étape 403. Puis la génération du signal �SDPC � à destination du commutateur démarre au cours d'une étape 404 suivant l'algorithme détaillé en regard de la figure 5b. Au cours d'une étape 405, on re-paramètre le commutateur, par le biais des registres de configuration, pour que le commutateur prenne le port courant comme référence pour son cycle TDM. La figure 5a illustre la méthode utilisée pour mesurer le décalage existant entre le cycle TDM de l'Interconnect et celui du commutateur 207. Au cours d'une étape 500, on attend un front montant sur le signal � SDPC_IN � 325 de l'Interconnect. Ce front montant déclenche le démarrage d'un compteur, au cours d'une étape 501. Puis, au cours d'une étape 502, on attend le prochain front montant sur le signal � Out_SDPC � 337 provenant du commutateur. Ce front montant provoque, au cours d'une étape 503, l'arrêt du compteur, dont la valeur représente alors la valeur du décalage. Au cours d'une étape 504, on détermine si cette valeur est supérieure ou égale à la période du signal � SDPC �. Si oui, on se trouve dans le cas où les deux signaux � SDPC � sont très peu décalés (le décalage est inférieur à la période de l'horloge utilisée pour le compteur). Au cours d'une étape 505, on considère alors que la valeur du décalage est de nulle. Si le résultat de l'étape 504 est négatif ou à la suite de l'étape 505, la valeur de décalage mesurée est conservée en mémoire, au cours d'une étape 506, puis un signal � prêt � 339 est validé, au cours d'une étape 507, pour informer le générateur de signal � SDPC � 333 qu'il peut démarrer. La figure 5b illustre la méthode utilisée pour générer le signal � In_SDPC � 336 décalé à destination du commutateur 207. Dans un premier temps, on attend la validation du signal � prêt � 339, au cours d'une étape 510, puis on attend le prochain front montant sur le signal � SDPC_IN � 325 de l'Interconnect, au cours d'une étape 511. Une fois ce front montant reçu, on attend, au cours d'une étape 512 un délai égal à la valeur du décalage mesuré (par exemple en utilisant un compteur ayant la même horloge que celle utilisée pour mesurer le décalage). Une fois ce délai passé, on génère, au cours d'une étape 513, un front montant sur le signal � In_SDPC � 336, avant de se remettre en attente du prochain front montant sur le signal � SDPC_IN � 325 de l'Interconnect pour recommencer le cycle à l'étape 511. La figure 6a illustre le processus régissant l'écriture dans la mémoire tampon 315. A l'initialisation, au cours d'une étape 600, un compteur d'indice � N � est initialisé à � 0 �. On attend ensuite le prochain front montant sur le signal � SDPC_IN � 325 de l'Interconnect, au cours d'une étape 601. Ce front montant déclenche l'incrémentation de l'indice N, au cours d'une étape 602, et le début de réception et de mémorisation d'une trame TDM, au cours d'une étape 603. On revient ensuite à l'étape 601. La figure 6b illustre des étapes liées à la lecture des données stockées dans la mémoire tampon 315. On commence par attendre le prochain front montant sur le signal � In_SDPC � 336 du commutateur 207, au cours d'une étape 610. Dans l'implémentation décrite et représentée, une variation de la période des cycles TDM d'une microseconde est tolérée. Lors de la transmission d'une trame TDM, on ne dispose pas de toute la période du cycle pour transmettre les données. Un intervalle de garde est défini à la fin de chaque cycle pour assurer que toutes les donnés sont correctement transmises malgré les variations de la période TDM. Au cours d'une étape 611, on détermine si le décalage mesuré est supérieur ou égal à la période TDM moins l'intervalle de garde. Si le décalage mesuré entre les cycles TDM est inférieur à � période TDM û intervalle de garde �, toutes les données d'une trame n'ont peut être pas pu être stockées dans la mémoire tampon au moment du début du cycle TDM du commutateur. On attend alors le cycle suivant. Au cours d'une étape 612, on détermine si � N � est strictement supérieur à 1. Si non, on retourne à l'étape 610. Si oui, on transmet les données reçues au cours du cycle précédent, d'indice � N-1 � de l'Interconnect, au cours d'une étape 613. 3o Si le décalage mesuré entre les cycles TDM est supérieur ou égal à � période TDM û intervalle de garde �, toutes les données d'une trame ont été stockées dans la mémoire tampon au moment du début du cycle TDM du commutateur. On les transmet vers le commutateur, au cours d'une étape 614. La figure 7a illustre des étapes liées à l'écriture dans la mémoire tampon 314. A l'initialisation, au cours d'une étape 700, un compteur d'indice � N � est initialisé à � 0 �. On attend ensuite le prochain front montant sur le signal � In_SDPC � 336 du commutateur 207, au cours d'une étape 701. Ce front montant déclenche l'incrémentation du compteur d'indice � N �, au cours d'une étape 702 et le début de réception et de mémorisation d'une trame TDM, au cours d'une étape 703. On revient ensuite à l'étape 701. La figure 7b illustre des étapes liées à la lecture des données stockées dans la mémoire tampon 314. On commence par attendre le prochain front montant sur le signal � SDPC_IN � 325 de l'Interconnect, au cours d'une étape 710. Au cours d'une étape 711, on détermine si le décalage est strictement inférieur à l'intervalle de garde. En effet, dans le cas de cette mémoire tampon, les données viennent du commutateur et sont transmises vers l'Interconnect. Pour que toutes les données transmises au cours d'un cycle du commutateur aient été correctement stockées dans la mémoire tampon, il faut que le décalage entre les cycles soit inférieur à l'intervalle de garde. Si le résultat de l'étape 711 est positif, les données reçues au cours du cycle courant du commutateur sont transmises à l'Interconnect, au cours d'une étape 714. Sinon, on transmet les données correspondant au cycle précédent au cours d'une étape 713. On décrit maintenant la figure 8 qui concerne des compensations à 25 effectuer dans le cas où les cycles TDM destinations sont synchronisés en phase nulle. Lorsqu'un ensemble de flux de données audio/vidéo est transmis par un ensemble de sources vers un ensemble de destinations, les différents chemins empruntés par ces flux engendrent des différences de temps de 3o transport (différences de latences) et donc des instants de présentation, pour des données émises à un même instant, différents sur les destinations. Dans le cas où tous les PAN sont synchronisés en phase nulle, ces différences de latences s'expriment en nombre entier de cycle TDM. L'utilisation d'une topologie appropriée, avec le même nombre de PBN et les mêmes latences d'Interconnect sur tous les chemins, permet de résoudre ce problème simple. Dans le cas présent, les décalages existants entre les cycles TDM des différents PAN et les mécanismes qu'ils impliquent induisent de la latence supplémentaire, propre à chaque chemin. Pour un chemin particulier, cette latence supplémentaire est la somme des décalages de cycles subis lors de la traversée des différentes interfaces port/commutateur rencontrées sur le chemin, pour lesquelles on observe un décalage entre les signaux � SDPC � du commutateur et du port. Elle peut se décomposer sous la forme a*période TDM + b, formule dans laquelle : - � a � est un entier représentant le nombre de cycles entiers TDM de latence induite par les traitements précédemment cités, et - � b � représente la latence due au décalage existant entre les cycles TDM de la source et ceux de la destination. La valeur de � b � est donc inférieure à la période d'un cycle TDM. Pour assurer une présentation simultanée des notifications d'évènements aux différentes applications, on calcule et on applique une compensation supplémentaire différente pour chaque flux, plus précise que la période TDM, au niveau des noeuds adaptateurs destinations, pour palier les différences entre les latences supplémentaires des différents chemins. Dans un premier temps, supposons que les cycles TDM des sous-réseaux hébergeant les destinations (cycles � TDM destinations �) sont synchronisés en phase nulle, mais pas ceux des sous-réseaux hébergeant les sources. Avant de traiter une notification d'évènement reçue, il faut attendre un délai composé : - d'une compensation des décalages entre les cycles TDM des sources, et - d'un intervalle de temps séparant le début du cycle TDM de la source et la détection de l'événement. La figure 8 présente une illustration de cette compensation. L'axe temporel 800 correspond aux évènements relatifs aux PAN hébergeant les destinations. On note que, en figure 8, un seul axe suffit car, dans un premier temps, les cycles TDM des destinations sont synchrones. Les axes temporels 801, 802, et 803 correspondent aux évènements relatifs à trois PAN hébergeant des sources, appelés � PAN 1 �, � PAN 2 � et � PAN 3 �. L'évènement 809 correspond au début du cycle de départ virtuel des données des applications sources dans le cas où tous les cycles TDM auraient été en phase. L'évènement 810 correspond au début du cycle de départ réel (c'est-à-dire, en prenant en compte le décalage entre les cycles TDM) des données de la source connectée au � PAN 1 �. L'évènement 811 correspond au début du cycle de départ réel des données de la source connectée au � PAN 2 �. L'évènement 812 correspond au début du cycle de départ réel des données de la source connectée au � PAN 3 �. Les différentes valeurs de latence supplémentaire correspondantes sont représentées respectivement par les durées 804, 805 et 806. Le principe de calcul des compensations de décalage des cycles TDM sources consiste à mesurer, par la méthode décrite par la suite, dans un premier temps, les latences induites par les décalages de cycles TDM entre les sources et les destinations. Ces mesures sont faites par chaque destination, pour chaque source. Les cycles TDM destinations étant synchrones, les résultats obtenus sont identiques. Ceci permet de sélectionner la source pour laquelle le décalage cumulé des cycles TDM sur le chemin (aussi appelé le � décalage cumulé de chemin � par la suite) est la plus grande, comme � source de référence �. Les notifications d'évènements générés par cette source n'ont pas besoin de se voir appliquer de compensation. En revanche, ceux issus des autres sources devront se voir appliquer une compensation pour ajuster leurs instants de traitement sur celui des notifications d'évènement générées par la source de référence. Cette compensation est calculée dans un deuxième temps, comme exposé en regard de la figure 9a, et correspond à la différence entre le décalage cumulé de chemin calculé pour la notification d'événement issue de la source de référence et celui calculé pour la notification d'événement issue de la source concernée. Sur la figure 8, cela donne la durée 807 pour la notification d'événement issue de la source hébergée par le � PAN 2 �, et la durée 808 pour la notification d'événement issue de la source hébergée par le � PAN 3 �. La figure 9a illustre des étapes du processus mis en oeuvre par les noeuds adaptateurs hébergeant les destinations (aussi appelés � noeuds destinations � dans la suite de la description). Au cours d'une étape 900, le noeud destination sélectionne une source. Au cours d'une étape 901, le noeud destination construit un � message de mesure de décalage � pour le noeud adaptateur hébergeant une source sélectionnée et envoie ce message. Les étapes 900 et 901 sont effectuées, de préférence, simultanément (ou avec un faible écart temporel, par exemple de l'ordre de quelques cycles TDM) pour toutes les sources reliées au noeud destination. Au cours d'une étape 902, les réponses à ces messages sont interceptées par chaque port traversé sur leur chemin de retour (donc dans le sens que suivra la notification d'évènement, de la source vers la destination), et chaque port additionne le délai, conséquence des décalages de cycle TDM, subis par les données lors de la traversée de ce port (c'est-à-dire, en fonction du décalage des cycles TDM, plus éventuellement la prise en compte de l'intervalle de garde), à la valeur de cumul déjà contenue dans la réponse. Les réponses, une par noeud hébergeant une source, sont reçues au cours de l'étape 903. Une fois les valeurs de décalage cumulé de chemin pour chaque source extraits de ces réponses, la source correspondant au décalage cumulé de chemin le plus élevé (aussi appelé � décalage_ref � dans la suite) est élue � source de référence � au cours d'une étape 904. Pour chaque source, sélectionnée au cours d'une étape 905, la compensation à appliquer est ensuite calculée, au cours d'une étape 906, comme suit : compensation_de_décalage_src_i = décalage_ref ù décalage_src_i. Dans cette formule, � décalage_src_i � est la valeur du décalage cumulé de chemin calculée pour la source � i � en cours (cette valeur vaut zéro pour la source de référence). La valeur � compensation_de_décalage_src_i � est ensuite mémorisée dans une table 910 des compensations illustrée en figure 9b, au cours d'une étape 907. Chaque entrée de cette table 910 correspond à un flux de données auquel peut être associé une notification d'évènement, repéré par le champ 911 contenant la liste des canaux virtuels (en anglais � VC � pour � Virtual chanel �) par lesquels les notifications d'événement peuvent arriver. Chaque entrée de cette table comporte aussi un champ � compensation de décalage � 912, qui reçoit la valeur calculée au cours de l'étape 906. La figure 10 représente des étapes d'un traitement déclenché par la réception d'un message de mesure de décalage par un noeud auquel est connectée une source, au cours d'une étape 1000. Un message de réponse au message de mesure de décalage est construit et renvoyé vers la destination, au cours d'une étape 1001. Cette réponse comporte notamment un champ � cumul_de_latence �, qui est ensuite rempli par les différents ports traversés, au cours de l'étape 902. La figure 11 représente des étapes effectuées par les ports lorsqu'ils interceptent une réponse à un message de mesure de décalage, au cours de l'étape 902. Ces messages sont détectés en fonction du canal virtuel sur lequel ils circulent et en fonction de leur entête. Lorsqu'un de ces messages est intercepté, au cours d'une étape 1100, le port détermine, au cours d'une étape 1101, si le signal � SDPC_décalés � 338 vaut � vrai �. Si le signal � SDPC_décalés � 338 vaut � faux � (c'est à dire que le signal � SDPC � du port est en phase avec celui du commutateur auquel il est connecté) il n'y a pas de traitement particulier à faire. Le message est donc transmis vers sa destination au cours d'une étape 1102. Dans le cas contraire, la valeur de cumul de décalage contenue par le message est extraite, au cours d'une étape 1103. Au cours d'une étape 1104, on détermine si le message arrive du commutateur. Si le résultat de l'étape 1104 est négatif, le message arrive du port distant, ou maître, de l'Interconnect, en direction du commutateur. Au cours d'une étape 1105, on détermine si le décalage entre les cycles TDM du port et du commutateur est supérieur ou égal à la valeur � période TDM û intervalle de garde �. Si le résultat de l'étape 1105 est négatif, au cours d'une étape 1106, à la valeur extraite du message sont ajoutées la valeur d'une période TDM et la valeur du décalage entre les cycles TDM du port et du commutateur. On note que, en figures 6a et 6b, on attend un cycle plus le décalage avant de sortir les données de la mémoire tampon. Puis, la valeur de cumul de latence ainsi calculée est réinsérée dans le message, au cours d'une étape 1108 avant que ce dernier ne soit transmis vers sa destination, au cours de l'étape 1102. Si le résultat de l'étape 1105 est positif, c'est-à-dire si le décalage entre les cycles TDM du port et du commutateur est plus supérieur ou égal à la valeur � période TDM û intervalle de garde �, à la valeur extraite du message est ajoutée, au cours d'une étape 1109, la valeur du décalage entre les cycles TDM du port et du commutateur. On note que, dans les figures 6a et 6b, on attend le décalage avant de sortir les données de la mémoire tampon. Puis la valeur de décalage cumulé ainsi calculée est réinsérée dans le message, au cours de l'étape 1108 avant que ce dernier ne soit transmis vers sa destination, au cours de l'étape 1102. Si le résultat de l'étape 1104 est positif, c'est-à-dire si le message arrive du commutateur, en direction du port distant, ou maître, de l'Interconnect, au cours d'une étape 1110, on détermine si le décalage entre les cycles TDM du port et du commutateur est inférieur à la valeur de l'intervalle de garde. Si le résultat de l'étape 1110 est négatif, à la valeur extraite du message est ajoutée, au cours d'une étape 1111, la valeur de deux périodes TDM moins la valeur du décalage entre les cycles TDM du port et du commutateur. On note que, dans les figures 7a et 7b, on attend un cycle plus le complément du décalage avant de sortir les données de la mémoire tampon, le décalage étant toujours mesuré entre un front montant du signal � SDPC � du port et le front montant suivant du signal � SDPC � du commutateur. Puis la 3o valeur de décalage cumulé ainsi calculée est réinsérée dans le message, au cours de l'étape 1108 avant que ce dernier ne soit transmis vers sa destination, au cours de l'étape 1102. Si le résultat de l'étape 1110 est positif, c'est-à-dire si le décalage entre les cycles TDM du port et du commutateur est inférieur à la valeur de l'intervalle de garde, à la valeur extraite du message est ajoutée, au cours d'une étape 1112, la valeur d'une période TDM moins la valeur du décalage entre les cycles TDM du port et du commutateur. On note que, dans les figures 7a et 7b, on attend le complément du décalage avant de sortir les données de la mémoire tampon, le décalage étant toujours mesuré entre un front montant du signal � SDPC � du port et le front montant suivant du signal � SDPC � du commutateur. Puis la valeur de décalage cumulé ainsi calculée est réinsérée dans le message, au cours de l'étape 1108 avant que ce dernier ne soit transmis vers sa destination, au cours de l'étape 1102. La figure 12 représente le traitement fait au niveau des noeuds adaptateurs sources, pour générer une notification d'évènement. Lorsqu'un évènement est capté par un appareil (source audio/vidéo par exemple), il est repéré par rapport au début du cycle TDM en cours au moment de la détection. La valeur � t � d'un compteur � Cpt �, réinitialisé à chaque début de cycle TDM, représente la durée séparant le début de cycle TDM et l'événement. Ce compteur est incrémenté sur chaque front montant d'une horloge (appelée � horloge compteur �) de période très courte par rapport à la période du cycle TDM, par exemple une horloge compteur de période 30 ns, pour un cycle TDM de période 125 ps. Plus la période de cette horloge compteur est courte, meilleure est la précision du repérage de l'évènement. Lors de l'initialisation du noeud adaptateur, au cours d'une étape 1200, on attend le début du premier cycle TDM pour initialiser la valeur � Cpt � du compteur à � 0 �, au cours d'une étape 1202. Puis on attend l'une des détections suivantes, au cours d'une étape 1203. Si un front montant est détecté sur l'horloge compteur au cours d'une étape 1204, on incrémente la valeur � Cpt � du compteur au cours d'une étape 1205, puis on revient à l'étape 1203. 3o Si un nouveau début de cycle TDM est détecté au cours d'une étape 1201 par le front montant de l'horloge TDM, la valeur � Cpt � du compteur est réinitialisée à zéro au cours d'une étape 1202, puis on revient à l'étape 1203. Si un évènement est détecté au cours d'une étape 1206, la variable � t � prend la valeur courante � Cpt � du compteur au cours d'une étape 1207, et une notification d'évènement composée de la valeur � t � ainsi que du type d'évènement est insérée dans un ou plusieurs canaux dits � virtuels � de contrôle associés au flux de données audio/vidéo au cours d'une étape 1208. Puis, on retourne à l'étape 1203. La figure 13 représente la façon dont est organisé le cycle TDM pour la transmission de la notification d'événement, sur un axe temporel 1300. L'ensemble de la bande passante disponible est partagée en canaux virtuels synchrones. Les échantillons de canaux, de taille identique, sont entrelacés dans le temps et forment ainsi une séquence TDM, aussi appelée � cycle TDM �. 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 de 125 ps, et une taille des échantillons de 48 bits, chaque canal virtuel offre 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). Les signaux � SDPC �, 1302 et 1303, marquent l'apparition du premier symbole représentatif du premier échantillon du cycle TDM. La période de ce signal est égale à la période du cycle TDM. Des ensembles de canaux virtuels 1304 et 1305 représentent respectivement les canaux virtuels réservés à la transmission des données vidéo et audio d'un flux audio/vidéo. Le positionnement de ces canaux virtuels et leur nombre dépendent de la configuration du réseau et de la bande passante allouée. Un ensemble de canaux virtuels 1306 représente les données de contrôle associées au flux de données formé par les ensembles de canaux virtuels 1304 et 1305. Parmi ces données de contrôle, on trouve la notification d'évènement, par exemple au début des données de contrôle. Elle est composée : - d'un champ � drapeau � 1307 qui vaut � 1 � Si une notification d'évènement est présente, et � 0 � sinon ; - un champ � type d'évènement � 1308 contenant le type de l'évènement notifié, et - un champ � valeur t � 1309 contenant la valeur � t � déterminée comme exposé en regard de la figure 12. Les autres valeurs de contrôle se trouvent à la suite, dans le champ 1310. Les champs 1307 à 1310 sont présents à chaque cycle TDM, La valeur du champ � drapeau � 1307 indique si les champs � type d'évènement � et � valeur t � doivent être pris en compte. Si plusieurs flux audio vidéo sont transmis dans un même cycle TDM, chacun d'eux a son propre ensemble de canaux de contrôle. La figure 14 représente le traitement fait à la réception d'une notification d'évènement par un noeud adaptateur destination. Dans le cas où plusieurs flux sont transmis dans le cycle TDM, ce traitement est fait pour chaque notification d'événement reçue indépendamment les unes des autres. Au cours d'une étape 1400, on détermine si le champ � drapeau � 1307 correspondant à un flux en cours de réception vaut � 1 �. Sinon, on retourne à l'étape 1400. Si oui, la valeur � t � est extraite du champ 1308, puis elle est additionnée à la valeur de compensation (correspondant au flux) contenue dans la table décrite en figure 9b. Cette addition donne la valeur � t' �, au cours d'une étape 1401. On attend ensuite le début du prochain cycle TDM, au cours d'une étape 1402, puis on attend un délai égal à la durée de � t' � cycles d'horloge compteur au cours d'une étape 1403, comme illustré en figure 12, avant de traiter l'événement, au cours d'une étape 1404. La nature du traitement dépend du type d'évènement et du scénario d'application. Comme exposé en regard de la figure 8, les moyens décrits jusqu'à présent correspondent au cas où les cycles TDM des sous-réseaux hébergeant les destinations sont synchronisés en phase nulle, mais pas ceux des sous- 3o réseaux hébergeant les sources. Dans le cas où les cycles TDM destinations sont aussi synchronisés en phases constantes mais non nulles, des compensations supplémentaires pallient les décalages existant entre les débuts des cycles TDM destinations. Un premier traitement consiste à déterminer une compensation des décalages entre cycles TDM destinations, cette détermination étant effectuée par chaque source. Cette première compensation, comme celle décrite précédemment, consiste en un délai, appliqué au niveau des destinations, entre le début du cycle TDM de traitement de l'évènement et le traitement lui-même. Chaque source détermine donc une première valeur de compensation pour chaque destination. Appelons � Compl_SRCi_DESTk � cette première compensation déterminée par la source � i � pour la destination � k �. Elle est appliquée par la destination � k � aux événements provenant de la source � i �. En conséquence, à l'application de ces premières compensations, une notification d'évènement générée par une source donnée est traitée au même instant quelle que soit sa destination. Le calcul de cette valeur de compensation est détaillé en regard de la figure 15. Ce calcul est exécuté au niveau de chaque noeud adaptateur source, comme illustré par l'étape 1500. Au cours d'une étape 1501, on détermine, pour chaque destination, le décalage entre les cycles TDM du PAN source et ceux du PAN destination. Cette détermination se fait sur le même principe que celle décrite en regard des figures 9 à 11 : le noeud adaptateur source émet un � message de cumul de décalage � vers la destination. Chaque port traversé intercepte le message et le traite conformément au processus décrit en regard de la figure 11 (à la différence près que, ici, le traitement est appliqué au message de cumul de décalage lui-même, et non à la réponse à ce message). A réception de ce message, le noeud destination retourne une réponse vers le noeud adaptateur source, contenant le cumul ainsi déterminé. Une fois toutes les réponses reçues, le noeud adaptateur destination ayant le plus important décalage TDM avec le noeud adaptateur source est élu comme destination � référence �, au cours d'une étape 1502. Pour chaque destination k, comme illustré par une étape 1503, la valeur � Compl_SRCi_DESTk � est ensuite calculée en soustrayant la valeur de cumul obtenue pour la destination � k � à la valeur de cumul obtenue pour la destination de référence, au cours d'une étape 1504, avant d'être transmise à la destination, au cours d'une étape 1505, par le biais d'un message. La figure 16 décrit le traitement appliqué au niveau des noeuds adaptateurs destinations. Ce deuxième traitement consiste en un ré-alignement des corrections précédentes sur celle qui est la plus longue. En effet, après application des compensations � Compl_SRCi_DESTk �, une notification d'évènement générée par une source � il � donnée sera traitée au même instant � dl � quelle que soit sa destination, et une notification d'évènement générée par une source � i2 � donnée sera traitée au même instant � d2 � quelle que soit sa destination. Le traitement illustré en figure 16 vise à aligner les instants � dl � et � d2 �. Ces instants étant communs à toutes les destinations, le réalignement peut se faire sur une unique destination et être ensuite distribué aux autres. La façon dont cette unique destination est choisie n'influe pas sur le procédé, la méthode de choix utilisée est donc libre (choix de l'utilisateur, paramétrage par défaut au moment de l'initialisation, etc....). La figure 16 décrit le traitement appliqué au niveau de ce noeud adaptateur destination � k �. Après réception de toutes les valeurs � Compl_SRCi_DESTk � (une par source), comme illustré par des étapes 1600 et 1601, le noeud adaptateur destination calcule la valeur maximum des � Compl_SRCj_DESTk � correspondant à l'ensemble des sources �j �, déterminée au cours d'une étape 1602. Puis ce noeud calcule une seconde compensation � Comp2_SRCi � pour chaque source � i �, comme illustré par une étape 1603, en soustrayant la valeur � Compl_SRCi_DESTk � à la valeur maximum des � Compl_SRCj_DESTk �, au cours d'une étape 1604. En conséquence, à l'application de ces secondes compensations, si les cycles TDM sources étaient en phase, le traitement des notifications d'évènement serait synchrone. Les cycles TDM sources n'étant pas en phase, un dernier point consiste en la détermination d'une compensation des décalages entre cycles TDM source. Cette détermination se fait, au cours d'une étape 1605, en utilisant les mêmes moyens que ceux décris en regard des figures 9 à 11, à la différence près que, ici, elle n'est effectuée que par le seul noeud adaptateur � k �. Enfin, on transmet ces compensations aux autres noeuds adaptateurs, pour les appliquer, au cours d'une étape 1606. Ces compensations sont exprimées en nombres de cycles d'horloge compteur. Chaque noeud PBN, ou adaptateur, intègre un de ces compteurs dont la durée de cycle est classiquement déduite de la fréquence d'un quartz. Les quartz situés sur les différents noeuds ont la même fréquence. L'application de compensation se fait de manière similaire à ce qui est décrit en regard de la figure 14. Après réception d'une notification d'évènement et extraction de la valeur � t �, on lui additionne les valeurs de compensation � Compl_SRCi_DRSTk � (correspondant au flux lié à la notification d'évènement), � Comp2_SRCi � et � Comp3_SRCi �. On attend ensuite le début du prochain cycle TDM, au cours de l'étape 1402, puis on attend un délai égal à la durée de � t' � cycles d'horloge compteur, comme exposé en regard de la figure 12, avant de traiter l'événement, au cours de l'étape 1404. La nature du traitement dépend du type d'évènement et du scénario d'application. REVENDICATIONS1 - Procédé de synchronisation de traitements d'événements sur un réseau (118) comportant au moins deux sous-réseaux (119 à 123) dit � sources � hébergeant chacun au moins une source de signal représentatif d'un événement et au moins deux sous-réseaux (124, 125) dit � destinations � hébergeant chacun au moins une destination dudit signal représentatif d'un événement, lesdits sous-réseaux présentant la même durée de cycle, caractérisé en ce qu'il comporte : - une étape (1200 à 1207) de repérage d'événement, au cours de laquelle chaque source mesure une durée écoulée entre le début d'un cycle du sous-réseau source hébergeant ladite source et la détection d'un événement commun à plusieurs sources, - une étape (1208) de transmission, à chaque destination, d'un signal représentatif de l'événement et de ladite durée mesurée par chaque source, - une étape (500 à 506) de mesure de compensation de différences de phases entre les sous-réseaux sources, par chaque sous-réseau destination et - à chaque réception, par une destination, d'un signal représentatif d'un événement en provenance d'une source, une étape (1403) d'application de correction de phase, au cours de laquelle ladite destination retarde le traitement (1404) dudit événement d'une durée égale à la somme - de ladite durée mesurée par ladite source et - de la compensation de différences de phases pour le réseau source hébergeant ladite source. 2 û Procédé selon la revendication 1, caractérisé en ce que l'étape de mesure de compensation de différences de phases entre des sous-réseaux hébergeant des sources comporte, pour chaque sous-réseau destination : - une étape de détermination du déphasage entre les fronts montants de cycle d'horloge dudit sous-réseau destination et les fronts montants de chaque sous-réseau source,- une étape d'élection d'un sous-réseau source dit � de référence � et - une étape de détermination du décalage entre des fronts montants entre le sous-réseau source de référence et chaque autre sous-réseau source. 3 ù Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que, au cours de l'étape de transmission de ladite durée mesurée, chaque source effectue une insertion d'informations relatives à l'évènement dans un canal virtuel de contrôle de flux de données dédié, au contrôle de flux de données et suivant le même routage et les mêmes délais de transmission que les canaux virtuels de transmission de flux de données. 4 ù Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte, lors de la connexion de deux ports, chacun relié à un commutateur de sous-réseau, pour le port, dit � esclave � dont l'horloge est fournie par l'autre port, dit � maître �, une étape de génération de signal de synchronisation à destination du commutateur relié audit port esclave, en attendant, après réception par ledit port esclave d'un front montant en provenance dudit port maître, pendant une durée égale à une mesure de la durée entre un front montant d'un signal provenant du port maître et un front montant d'un signal provenant dudit commutateur. 5 ù Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, au cours de l'étape de mesure de compensation de différences de phases entre des sous-réseaux sources, chaque port pris dans l'ordre sur un chemin suivi par ledit signal représentatif d'un événement détermine une durée additionnelle à ladite mesure de compensation égale à la latence induite par le décalage des cycles subi lors de la traversée dudit port. 6 ù Procédé selon la revendication 5, caractérisé en ce que, au cours de l'étape de mesure de compensation de différences de phases entre des sous-réseaux sources, chaque sous-réseau destination envoie un � message de mesure de décalage � à chaque sous-réseau source et chaque sous-réseau 3o source envoie une réponse au message de mesure de décalage comportant un champ pour ladite mesure, audit sous-réseau destination sur ledit chemin, chaque port sur ledit chemin effectuant :- une étape de réception d'une réponse du port précédant sur ledit chemin, - une étape de mise à jour de la réponse, par ajout de la durée additionnelle mesurée par ledit port à la valeur déjà présente dans ledit champ et - une étape d'envoi de ladite réponse mise à jour au port suivant sur ledit chemin. 7 û Procédé selon la revendication 6, caractérisé en ce que l'étape de mesure de compensation de différences de phases entre des sous-réseaux sources comporte, pour chaque port sur ledit chemin, si le signal de synchronisation dudit port n'est pas en phase avec celui du commutateur auquel ledit port est connecté : - une étape de détermination si la réponse arrive dudit commutateur, - si la réponse n'arrive pas dudit commutateur : - si le décalage entre les cycles du port et dudit commutateur est inférieur à une valeur � période du cycle û intervalle de garde �, la durée additionnelle est égale à la valeur d'une période de cycle additionnée à la valeur du décalage entre les cycles du port et du commutateur, - si le décalage entre les cycles du port et dudit commutateur est supérieur ou égal à une valeur � période du cycle û intervalle de garde �, la durée additionnelle est égale à la valeur du décalage entre les cycles du port et du commutateur - si la réponse arrive du commutateur : - si le décalage entre les cycles du port et du commutateur est supérieur ou égal à la valeur � intervalle de garde �, la durée additionnelle est égale à la valeur de deux périodes de cycle moins la valeur du décalage entre les cycles du port et du commutateur et - si le décalage entre les cycles du port et du commutateur est inférieur à la valeur � intervalle de garde �, la durée additionnelle est égale à la valeur d'une période de cycle moins la valeur du décalage entre les cycles du port et du commutateur.8 û Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte, en outre : - une étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations et - une étape d'ajout dudit décalage à la somme de ladite durée mesurée et de la compensation de différence de phase pour le réseau source hébergeant ladite source pour former un retard mis en oeuvre par chaque destination pour retarder le traitement de l'événement. 9 û Procédé selon la revendication 8, caractérisé en ce que l'étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations est effectuée par chaque sous-réseau source et, au cours de l'étape d'ajout, on ajoute ledit décalage mesuré par la source ayant émis le signal représentatif de l'événement. 10 û Procédé selon la revendication 9, caractérisé en ce que, au cours de l'étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations, ladite mesure est déterminée par rapport au décalage temporel le plus important avec le cycle de ladite source. 11 û Procédé selon l'une quelconque des revendications 9 ou 10, caractérisé en ce que, au cours de l'étape de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations : - chaque sous-réseau source émet un � message de cumul de décalage � vers chaque destination, - chaque port pris dans l'ordre sur un chemin suivi par ledit message de cumul de décalage détermine une durée additionnelle à ladite mesure égale à la latence induite par la traversée dudit port et - à réception du message de cumul de décalage, chaque sous-réseau destination retourne une réponse vers ledit sous-réseau source, ladite réponse contenant le cumul ainsi déterminé. 12 - Dispositif de synchronisation de traitements d'événements sur 3o un réseau comportant au moins deux sous-réseaux dit � sources � hébergeant chacun au moins une source de signal représentatif d'un événement et au moins deux sous-réseaux dit � destinations � hébergeant chacun au moins unedestination dudit signal représentatif d'un événement, lesdits sous-réseaux présentant la même durée de cycle, caractérisé en ce qu'il comporte : - un moyen de repérage d'événement, au cours de laquelle chaque source mesure une durée écoulée entre le début d'un cycle du sous-réseau source hébergeant ladite source et la détection d'un événement commun à plusieurs sources, - un moyen de transmission, à chaque destination, d'un signal représentatif de l'événement et de ladite durée mesurée par chaque source, - un moyen de mesure de compensation de différences de phases entre les sous-réseaux sources, par chaque sous-réseau destination et - un moyen d'application de corrections de phase adapté, à chaque réception, par une destination, d'un signal représentatif d'un événement en provenance d'une source, à appliquer une correction de phase pour retarder le traitement dudit événement d'une durée égale à la somme - de ladite durée mesurée pour ladite source et - de la compensation de différence de phase pour le réseau source hébergeant ladite source. 13 û Dispositif selon la revendication 12, caractérisé en ce qu'il comporte, en outre : - un moyen de mesure de décalage temporel entre les débuts des cycles des sous-réseaux destinations et - un moyen d'ajout dudit décalage à la somme de ladite durée mesurée et de la compensation de différence de phase pour le réseau source hébergeant ladite source pour former un retard mis en oeuvre par chaque destination pour retarder le traitement de l'événement. 14 - Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 11. 15 - Support d'informations lisibles par un ordinateur ou un microprocesseur, amovible ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 11.