FR2853173A1 - Isochronous data e.g. audio data, flow reading method for data communication network, involves modifying time stamping information based on cycle drift, where stamping information indicates reading time of data - Google Patents

Isochronous data e.g. audio data, flow reading method for data communication network, involves modifying time stamping information based on cycle drift, where stamping information indicates reading time of data Download PDF

Info

Publication number
FR2853173A1
FR2853173A1 FR0303664A FR0303664A FR2853173A1 FR 2853173 A1 FR2853173 A1 FR 2853173A1 FR 0303664 A FR0303664 A FR 0303664A FR 0303664 A FR0303664 A FR 0303664A FR 2853173 A1 FR2853173 A1 FR 2853173A1
Authority
FR
France
Prior art keywords
clock
packet
clock drift
drift
bridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0303664A
Other languages
French (fr)
Other versions
FR2853173B1 (en
Inventor
Pascal Lagrange
Stephane Bizet
Sebastien Pouplard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0303664A priority Critical patent/FR2853173B1/en
Publication of FR2853173A1 publication Critical patent/FR2853173A1/en
Application granted granted Critical
Publication of FR2853173B1 publication Critical patent/FR2853173B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • H04J3/0655Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40097Interconnection with other networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6489Buffer Management, Threshold setting, Scheduling, Shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

The method involves transmitting an isochronous data as packets, from one sub-network to another subnetwork, where packet contains a set of time stamping information. A cycle drift between two subsequent clock cycles is obtained for transmission of each packet between the networks. The information is modified based on the cycle drift, where the stamping information indicates reading time of the data. Independent claims are also included for the following: (a) a computer program including instruction codes to perform a method of reading flow of an isochronous data (b) a bridge interconnecting two sub-networks.

Description

Procédé de maintien d'un débit de lecture constant des données d'un fluxMethod for maintaining a constant reading rate of the data of a stream

de données isochrones traversant un pont, programme d'ordinateur et pont  isochronous data crossing a bridge, computer program and bridge

correspondants.correspondents.

Le domaine de l'invention est celui des réseaux de communication de données, 5 du type comprenant chacun une pluralité de sous-réseaux connectés entre eux par des équipements appelés ponts.  The field of the invention is that of data communication networks, of the type each comprising a plurality of subnets connected together by equipment called bridges.

Plus précisément, l'invention concerne un procédé de maintien d'un débit de lecture constant des données d'un flux de données isochrones, par exemple un flux audio/vidéo, traversant un pont interconnectant des premier et second sous-réseaux.  More specifically, the invention relates to a method for maintaining a constant reading rate of the data of an isochronous data stream, for example an audio / video stream, crossing a bridge interconnecting first and second subnets.

On suppose que les premier et second sous-réseaux véhiculent le flux de données dans des premiers paquets et appartiennent à des premier et second domaines d'horloge respectivement.  It is assumed that the first and second subnetworks convey the data flow in first packets and belong to the first and second clock domains respectively.

On suppose également que les données sont associées à des informations d'horodatage (" time stamp " en anglais) indiquant chacune un instant de lecture de 15 données, comme expliqué en détail dans la suite de la description. Typiquement, les données sont comprises dans des seconds paquets, par exemple de type MPEG2 ou DV, qui sont eux-mêmes véhiculés dans les premiers paquets précités. Chaque second paquet comprend une partie utile (" payload "), dans laquelle sont insérées des données, et un en-tête (" header "), dans lequel est notamment insérée une information d'horodatage 20 (" time stamp ") qui est une information de temps absolu, indiquant quand le paquet doit être consommé (lue) par l'application destinataire.  It is also assumed that the data is associated with time stamping information ("time stamp" in English) each indicating an instant of reading of data, as explained in detail in the following description. Typically, the data are included in second packets, for example of the MPEG2 or DV type, which are themselves conveyed in the above-mentioned first packets. Each second packet includes a useful part ("payload"), in which data are inserted, and a header ("header"), in which is inserted in particular timestamp information 20 ("time stamp") which is absolute time information, indicating when the packet should be consumed (read) by the recipient application.

L'invention s'applique notamment, mais non exclusivement, dans le cas particulier d'un réseau de communication dont les sous-réseaux sont des bus numériques, par exemple de type IEEE 1394, sur lesquels peuvent être connectés des 25 terminaux. Dans ce cas, les premiers paquets sont des paquets de type IEEE 1394.  The invention applies in particular, but not exclusively, in the particular case of a communication network whose subnets are digital buses, for example of the IEEE 1394 type, to which terminals can be connected. In this case, the first packets are packets of type IEEE 1394.

Un tel réseau de bus numériques permet d'interconnecter des terminaux (aussi appelés dispositifs) audio et/ou vidéo, de type numérique, afin qu'ils échangent des signaux audiovisuels. Les terminaux appartiennent par exemple à la liste d'équipements suivante (qui n'est pas exhaustive): récepteurs de télévision (par satellite, par voie 30 hertzienne, par câble, xDSL, ... ), téléviseurs, magnétoscopes, scanners, caméras numériques, appareils photo numériques, lecteurs DVD, ordinateurs, assistants numériques personnels (PDA), imprimantes, etc. On présente maintenant des inconvénients d'un réseau de bus numériques de type IEEE 1394. Il est clair cependant que cette discussion, qui est présentée uniquement 5 à titre illustratif et dans un seul souci de simplification, peut aisément être transposée à d'autres types de réseaux de communication dont les sous-réseaux sont interconnectés par des ponts.  Such a digital bus network makes it possible to interconnect digital audio and / or video terminals (also called devices), so that they exchange audiovisual signals. The terminals belong, for example, to the following list of equipment (which is not exhaustive): television receivers (by satellite, over the air, by cable, xDSL, etc.), televisions, video recorders, scanners, cameras digital cameras, digital cameras, DVD players, computers, personal digital assistants (PDAs), printers, etc. We now present the drawbacks of an IEEE 1394 type digital bus network. It is clear, however, that this discussion, which is presented only for illustration and for the sake of simplification, can easily be transposed to other types. communication networks whose subnets are interconnected by bridges.

On rappelle que la norme IEEE 1394 est décrite dans les documents de référence suivants: " IEEE Std 1394-1995, Standard for High Performance Serial Bus " et " IEEE 10 Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) ". Un troisième document " IEEE P1394.1 Standard for High Performance Serial Bus Bridges " (version 1.04 en date du 25 octobre 2002) décrit comment connecter différents bus de type IEEE 1394.  Note that the IEEE 1394 standard is described in the following reference documents: "IEEE Std 1394-1995, Standard for High Performance Serial Bus" and "IEEE 10 Std 1394a-2000, Standard for High Performance Serial Bus (Supplement)". A third document "IEEE P1394.1 Standard for High Performance Serial Bus Bridges" (version 1.04 dated October 25, 2002) describes how to connect different IEEE 1394 type buses.

De façon classique, un réseau de bus numériques est homogène. Les bus 15 numériques y sont interconnectés entre eux via des ponts homogènes. Chaque pont homogène comprend une première et une seconde portes, à chacune desquelles est connecté un des bus numériques. Chaque pont permet le transfert de paquets depuis un bus, connecté à sa première porte, vers un autre bus, connecté à sa seconde porte. Un exemple d'un tel réseau homogène est présenté par la suite, en relation avec la figure 1. 20 A chaque pont est associé un délai isochrone, pour chaque direction de traversée de l'une vers l'autre de ses portes. Ce délai isochrone représente le laps de temps nécessaire au pont pour passer un paquet isochrone depuis l'une vers l'autre de ses portes.  Conventionally, a digital bus network is homogeneous. The digital buses 15 are interconnected there via homogeneous bridges. Each homogeneous bridge includes first and second doors, to which one of the digital buses is connected. Each bridge allows the transfer of packets from a bus, connected to its first door, to another bus, connected to its second door. An example of such a homogeneous network is presented below, in relation to FIG. 1. Each bridge is associated with an isochronous delay, for each direction of crossing from one to the other of its gates. This isochronous delay represents the period of time necessary for the bridge to pass an isochronous packet from one to the other of its gates.

Le délai isochrone est principalement utilisé pour modifier les informations 25 d'horodatage des données (" time stamp "), comprises typiquement dans les seconds paquets (par exemple de type MPEG2 ou DV; voir discussion ci-dessus). En effet, l'information d'horodatage est calculée par l'initiateur isochrone, pour un paquet transféré sur un bus unique (cas o le terminal source et le terminal destinataire sont connectés au même bus numérique). Lorsque un ou plusieurs ponts séparent le terminal 30 source et le terminal destinataire, le délai introduit par la traversée du (des) pont(s) peut faire que le paquet arrive trop tard au terminal destinataire. Afin d'éviter cette situation, chaque pont se trouvant entre le terminal source et le terminal destinataire augmente l'information d'horodatage avec le délai isochrone propre à ce pont (délai de transfert entre les deux bus interconnectés par ce pont).  The isochronous delay is mainly used to modify the data timestamp information ("time stamp"), typically included in the second packets (for example of MPEG2 or DV type; see discussion above). In fact, the timestamp information is calculated by the isochronous initiator, for a packet transferred on a single bus (case where the source terminal and the destination terminal are connected to the same digital bus). When one or more bridges separate the source terminal and the destination terminal, the delay introduced by crossing the bridge (s) can cause the packet to arrive too late at the destination terminal. In order to avoid this situation, each bridge located between the source terminal and the destination terminal increases the time stamping information with the isochronous delay specific to this bridge (transfer delay between the two buses interconnected by this bridge).

Par ailleurs, il existe parfois un décalage temporel fixe et déterminé entre les 5 horloges des deux portes du pont. Dans ce cas, outre la prise en compte du délai de traversée du pont, le pont adapte l'information d'horodatage à l'heure locale de la porte de sortie du paquet. Il est à noter que le décalage temporel étant fixe et déterminé, cette mise à l'heure locale ne peut pas tenir compte d'une éventuelle dérive d'horloge.  In addition, there is sometimes a fixed and determined time difference between the 5 clocks of the two bridge doors. In this case, in addition to taking into account the bridge crossing delay, the bridge adapts the time stamping information to the local time of the packet exit door. It should be noted that the time difference being fixed and determined, this setting to local time cannot take account of any clock drift.

On connaît également un autre type de réseau de bus numériques, qualifié 10 d'hétérogène (au lieu d'homogène) du fait que les bus numériques y sont interconnectés entre eux soit directement, via des ponts homogènes tels que précités, soit à travers au moins un réseau commuté, via des ponts hétérogènes. Le réseau commuté est vu comme un bus numérique par la pluralité de bus numériques. Un exemple d'un tel réseau hétérogène est présenté par la suite, en relation avec la figure 2.  Another type of digital bus network is also known, qualified as heterogeneous (instead of homogeneous) because the digital buses are interconnected therebetween either directly, via homogeneous bridges as mentioned above, or through minus a switched network, via heterogeneous bridges. The switched network is seen as a digital bus by the plurality of digital buses. An example of such a heterogeneous network is presented below, in relation to FIG. 2.

Chaque pont hétérogène comprend une première porte, à laquelle est connecté un des bus numériques, et une seconde porte, à laquelle est connecté le réseau commuté. Le réseau commuté comprend une pluralité de noeuds, reliés entre eux par une pluralité de liens. Ces liens sont par exemple du type permettant des transferts de données bidirectionnels, selon la norme IEEE 1355. On rappelle que la norme IEEE 1355 est 20 définie par la référence IEEE Std 1355-1995 Standard for Heterogeneous InterConnect (HIC) (Low Cost Low Latency Scalable Serial Interconnect) (aka ISO/IEC 14575 DIS).  Each heterogeneous bridge comprises a first door, to which one of the digital buses is connected, and a second door, to which the switched network is connected. The switched network includes a plurality of nodes, linked together by a plurality of links. These links are for example of the type allowing bidirectional data transfers, according to the IEEE 1355 standard. It is recalled that the IEEE 1355 standard is defined by the reference IEEE Std 1355-1995 Standard for Heterogeneous InterConnect (HIC) (Low Cost Low Latency Scalable Serial Interconnect) (aka ISO / IEC 14575 DIS).

Chaque pont hétérogène joue également le rôle d'un noeud du réseau commuté.  Each heterogeneous bridge also plays the role of a node of the switched network.

Le fonctionnement d'un tel réseau hétérogène est le suivant: une connexion est établie, via un ou plusieurs ponts et éventuellement via le réseau commuté, entre un 25 premier terminal (terminal destinataire, ou "listener" en anglais) - connecté à un premier bus numérique -, qui souhaite recevoir des signaux audiovisuels, et un second terminal (terminal source, ou "talker" en anglais) - connecté à un second bus numérique -, qui peut les lui fournir. Par terminal source, on entend par exemple une caméra numérique, un lecteur DVD à sortie numérique, ou tout appareil analogique vu à travers un 30 convertisseur analogique/numérique.  The operation of such a heterogeneous network is as follows: a connection is established, via one or more bridges and possibly via the switched network, between a first terminal (recipient terminal, or "listener" in English) - connected to a first digital bus -, which wishes to receive audiovisual signals, and a second terminal (source terminal, or "talker" in English) - connected to a second digital bus -, which can supply them. By source terminal is meant for example a digital camera, a DVD player with digital output, or any analog device seen through an analog / digital converter.

Le réseau (homogène ou hétérogène) de bus numériques est par exemple un réseau audiovisuel domestique, permettant notamment l'échange en temps réel d'images animées, pour une distribution dans le cadre d'une habitation. Dans le cas o il est de type hétérogène, il comprend par exemple un réseau commuté à haut débit.  The network (homogeneous or heterogeneous) of digital buses is for example a domestic audio-visual network, allowing in particular the exchange in real time of moving images, for a distribution within the framework of a dwelling. In the case where it is of heterogeneous type, it comprises for example a switched broadband network.

On discute maintenant des problèmes qui se posent à la traversée d'un pont par un flux de données, du fait que chacun des deux bus que connecte ce pont appartient à un domaine d'horloge distinct.  We now discuss the problems which arise in crossing a bridge by a data stream, in that each of the two buses which this bridge connects belongs to a distinct clock domain.

Chacune des deux portes d'un pont possède sa propre horloge cyclique, pilotée par un oscillateur libre (24.576 MHz lOOppm). L'horloge cyclique d'une porte est mise en oeuvre 10 dans un registre de temps appelé CTR (" Cycle Time Register "). Le registre CTR possède trois champs: un champ " secondcount " pour les secondes, un champs " cycle-count " pour les cycles, et un champ représentant les fractions d'un cycle (" cycle-offset "). L'oscillateur fait évoluer le registre CTR en incrémentant le champ cycle-offset à chaque période. Tout les 3072 coups de l'oscillateur le champ cyclecount est incrémenté, ce qui représente une durée 15 de 125,us pour un cycle.  Each of the two doors of a bridge has its own cyclic clock, controlled by a free oscillator (24.576 MHz lOOppm). The cyclic clock of a door is implemented in a time register called CTR ("Cycle Time Register"). The CTR register has three fields: a "secondcount" field for seconds, a "cycle-count" field for cycles, and a field representing the fractions of a cycle ("cycle-offset"). The oscillator changes the CTR register by incrementing the cycle-offset field at each period. Every 3072 oscillator strokes the cyclecount field is incremented, which represents a duration 15 of 125, us for a cycle.

Afin d'éviter une dérive entre les horloges des équipements connectés à un même bus, l'horloge de l'un des équipements est choisie comme horloge maître (" Cycle Master "). Les horloges des autres équipements connectés au même bus sont mises à jour régulièrement en fonction de cette horloge maître (notion de domaine d'horloge), 20 grâce à des premiers messages de synchronisation (" Cycle Start ") que celle-ci émet à chaque début de cycle (lorsque le champ cycleoffset s'annule).  In order to avoid a drift between the clocks of the devices connected to the same bus, the clock of one of the devices is chosen as the master clock ("Cycle Master"). The clocks of the other devices connected to the same bus are updated regularly as a function of this master clock (notion of clock domain), 20 thanks to first synchronization messages ("Cycle Start") which the latter transmits each time cycle start (when the cycleoffset field is canceled).

Mais une dérive entre les horloges des deux portes d'un même pont peut apparaître (c'est-à-dire une dérive entre deux domaines d'horloge). Cette dérive d'horloge entre deux domaines d'horloge va provoquer, par cumul, une discontinuité 25 dans le flux de données lors de la traversée du pont, se traduisant soit par une perte de données et l'impossibilité de maintenir un débit de lecture constant des données du flux de données isochrones, ou par un débordement des files d'attente d'émission.  But a drift between the clocks of the two doors of the same bridge can appear (i.e. a drift between two clock domains). This clock drift between two clock domains will cause, by cumulation, a discontinuity in the data flow when crossing the bridge, resulting in either a loss of data and the impossibility of maintaining a read rate. constant data from the isochronous data flow, or by an overflow of the transmission queues.

Une solution à ce problème est proposée dans la norme précitée " IEEE P1394.1 Standard for High Performance Serial Bus Bridges " (aussi appelée " norme P1394.1 " 30 ci-après) qui décrit comment connecter différents bus de type IEEE 1394 et définit notamment les caractéristiques des ponts homogènes. Cette solution consiste à supprimer la dérive elle-même, en choisissant une des horloges maître (" Cycle Master ") comme horloge maître de référence pour l'ensemble des bus du réseau (" Net Cycle Master "). Les ponts se trouvant sur le même bus que cette horloge de référence lui seront synchronisés grâce aux premiers messages de synchronisation. Les autres 5 horloges maître du réseau seront indirectement synchronisés à cette horloge de référence, grâce à des seconds messages de synchronisation (" Gofast/GoSlow ") émis selon le besoin par les ponts.  A solution to this problem is proposed in the above-mentioned standard "IEEE P1394.1 Standard for High Performance Serial Bus Bridges" (also called "standard P1394.1" 30 below) which describes how to connect different IEEE 1394 type buses and defines in particular the characteristics of homogeneous bridges. This solution consists in eliminating the drift itself, by choosing one of the master clocks ("Cycle Master") as reference master clock for all the buses of the network ("Net Cycle Master"). The bridges on the same bus as this reference clock will be synchronized to it thanks to the first synchronization messages. The other 5 master clocks on the network will be indirectly synchronized to this reference clock, thanks to second synchronization messages ("Gofast / GoSlow") sent as needed by the bridges.

Cette solution, intimement liée à la norme complémentaire IEEE P1394.1, est efficace mais n'est pas suffisante. En effet, certains équipements sont conformes à la 10 norme IEEE 1394, mais pas à la norme complémentaire PIEEE 1394.1. Par conséquent, si un tel équipement comprend une horloge maître (" Cycle Master "), il est incapable d'interpréter les seconds messages de synchronisation provenant d'un des ponts de son bus (le pont émetteur des seconds messages se trouve dans le chemin de l'horloge de référence) . En d'autres termes, le domaine d'horloge définie par cette horloge maître 15 (" Cycle Master ") ne peut pas être mise à jour par rapport à l'horloge de référence (" Net Cycle Master "). Dans ce cas, dans chaque pont dont une des deux portes appartient à ce domaine d'horloge, il existe un risque de dérive par rapport au domaine d'horloge auquel appartient l'autre porte de ce pont.  This solution, closely linked to the complementary standard IEEE P1394.1, is effective but is not sufficient. Indeed, some equipment complies with the IEEE 1394 standard, but not with the complementary PIEEE 1394.1 standard. Consequently, if such equipment includes a master clock ("Cycle Master"), it is unable to interpret the second synchronization messages coming from one of the bridges of its bus (the transmitter bridge of the second messages is in the path of the reference clock). In other words, the clock domain defined by this master clock 15 ("Cycle Master") cannot be updated with respect to the reference clock ("Net Cycle Master"). In this case, in each bridge of which one of the two doors belongs to this clock domain, there is a risk of drift with respect to the clock domain to which the other door of this bridge belongs.

Comme indiqué ci-dessus, une telle dérive d'horloge peut conduire, lors de la 20 traversée du pont par le flux de données, à une perte de données (discontinuité dans le flux de données) et l'impossibilité de maintenir un débit de lecture constant des données du flux.  As indicated above, such a clock drift can lead, when the bridge crosses the data stream, to data loss (discontinuity in the data stream) and the impossibility of maintaining a data rate of constant reading of flow data.

L'invention a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique.  The object of the invention is in particular to overcome these various drawbacks of the state of the art.

Plus précisément, l'un des objectifs de la présente invention est de fournir un procédé de maintien d'un débit de lecture constant des données d'un flux de données isochrones traversant un pont, malgré une éventuelle dérive d'horloge.  More specifically, one of the objectives of the present invention is to provide a method of maintaining a constant reading rate of the data of an isochronous data stream crossing a bridge, despite a possible clock drift.

L'invention a également pour objectif de fournir un tel procédé permettant d'éviter toute perte ou carence de données due à une dérive d'horloge.  The invention also aims to provide such a method making it possible to avoid any loss or deficiency of data due to clock drift.

Un autre objectif de l'invention est de fournir un tel procédé qui ne nécessite aucune action sur les horloge maître des différents bus.  Another objective of the invention is to provide such a method which requires no action on the master clocks of the various buses.

Un objectif complémentaire de l'invention est de fournir un tel procédé qui soit simple à mettre en oeuvre.  An additional objective of the invention is to provide such a method which is simple to implement.

Un autre objectif de l'invention est de fournir un tel procédé qui ne nécessite pas l'envoi de messages sur le réseau, et donc consomme pas de bande passante sur le réseau.  Another object of the invention is to provide such a method which does not require the sending of messages over the network, and therefore does not consume bandwidth on the network.

Ces différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé de maintien d'un débit de lecture constant des données d'un flux de données isochrones traversant un pont interconnectant des premier et second sous- réseaux, les premier et second sous-réseaux véhiculant le flux de 10 données dans des premiers paquets et appartenant à des premier et second domaines d'horloge respectivement, les données étant associées à des informations d'horodatage indiquant chacune un instant de lecture de données. Pour chaque premier paquet à transmettre depuis le premier vers le second sous-réseau, le pont effectue les étapes suivantes obtention de la dérive d'horloge entre les premier et second domaines 15 d'horloge; modification, en prenant en compte la dérive d'horloge, de chaque information d'horodatage contenue dans ledit premier paquet.  These various objectives, as well as others which will appear subsequently, are achieved according to the invention using a method of maintaining a constant reading rate of the data of an isochronous data stream crossing a bridge. interconnecting first and second subnetworks, the first and second subnetworks carrying the flow of data in first packets and belonging to first and second clock domains respectively, the data being associated with timestamp information indicating each a moment of reading data. For each first packet to be transmitted from the first to the second subnetwork, the bridge performs the following steps: obtaining the clock drift between the first and second clock domains; modification, taking into account the clock drift, of each timestamp information contained in said first packet.

Le principe général de l'invention consiste donc à synchroniser le flux, lors de la traversée d'un pont, en modifiant le flux lui-même (et plus précisément les informations d'horodatage des données de ce flux) et non pas les horloges des domaines d'horloge 20 concernés. Ainsi, on maintient un débit de lecture constant des données du flux, même s'il existe une dérive d'horloge entre les domaines d'horloge situés de part et d'autre du pont.  The general principle of the invention therefore consists in synchronizing the flow, when crossing a bridge, by modifying the flow itself (and more precisely the timestamp information of the data of this flow) and not the clocks clock domains 20 concerned. Thus, a constant reading rate of the data of the stream is maintained, even if there is a clock drift between the clock domains situated on either side of the bridge.

Ainsi, dans le cas de bus IEEE 1394, le procédé selon l'invention s'applique lorsqu'un équipement comprenant une horloge maître (" Cycle Master ") soit conforme 25 ou non à la norme complémentaire IEEE P1394.1. Dans un mode de réalisation particulier de l'invention (voir description détaillée en relation avec les figures 10 et 11), les ponts mettent en oeuvre soit la technique proposée dans la norme complémentaire IEEE P1394. 1 (avec utilisation de seconds messages de synchronisation), soit la technique selon la présente invention, selon que les équipements comprenant les 30 horloges maître sont conformes ou non à la norme complémentaire IEEE Pi 394. 1.  Thus, in the case of an IEEE 1394 bus, the method according to the invention applies when an item of equipment comprising a master clock ("Cycle Master") is or is not compliant with the complementary standard IEEE P1394.1. In a particular embodiment of the invention (see detailed description in relation to FIGS. 10 and 11), the bridges implement either the technique proposed in the complementary standard IEEE P1394. 1 (with the use of second synchronization messages), ie the technique according to the present invention, depending on whether the equipment comprising the 30 master clocks conforms or not to the complementary standard IEEE Pi 394. 1.

Il est à noter par ailleurs que la modification selon l'invention des informations d'horodatage (en fonction de la dérive d'horloge) vient en complément des traitements classiques discutés ci-dessus (prise en compte du délai de traversée du pont et adaptation à l'heure locale de la porte de sortie du paquet).  It should also be noted that the modification according to the invention of the time stamping information (as a function of the clock drift) complements the conventional processing operations discussed above (taking into account the time taken to cross the bridge and adaptation at the local time of the package exit door).

Préférentiellement, la prise en compte de la dérive d'horloge consiste à soustraire la dérive d'horloge de chaque information d'horodatage contenue dans ledit premier paquet.  Preferably, taking into account the clock drift consists in subtracting the clock drift from each time stamping information contained in said first packet.

De façon avantageuse, les premiers paquets véhiculent des seconds paquets comprenant chacun des données et une information d'horodatage associée à ces 10 données.  Advantageously, the first packets convey second packets each comprising data and timestamp information associated with these 10 data.

On notera que, dans ce cas, un premier paquet (par exemple de type IEEE 1394) peut contenir: - aucune information d'horodatage, s'il s'agit d'un premier paquet vide ou s'il contient un morceau d'un second paquet (par exemple de type MPEG2 OU DV) 15 dans lequel ne se trouve pas l'en-tête (et donc l'information d'horodatage) de ce second paquet; - une information d'horodatage, s'il contient un seul en-tête de second paquet (par exemple s'il contient un seul second paquet ou seulement un morceau de second paquet dans lequel se trouve l'en-tête de ce second paquet); - plusieurs informations d'horodatage, s'il contient plusieurs en-têtes de second paquet (par exemple s'il contient plusieurs seconds paquets).  Note that, in this case, a first packet (for example of the IEEE 1394 type) may contain: - no time stamp information, if it is a first empty packet or if it contains a piece of a second packet (for example of MPEG2 OR DV type) in which the header (and therefore the time stamp information) of this second packet is not found; - timestamp information, if it contains a single header of the second packet (for example if it contains a single second packet or only a piece of second packet in which the header of this second packet is found ); - several timestamp information, if it contains several second packet headers (for example if it contains several second packets).

Avantageusement, le pont appartient au groupe comprenant: - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau homogène incluant une pluralité de sous-réseaux; - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau hétérogène incluant une pluralité de sous-réseaux et au moins un réseau de base, le réseau de base étant vu comme un sous- réseau par la pluralité de sous-réseaux; - des ponts hétérogènes interconnectant chacun un des sous-réseaux et le réseau de base appartenant audit réseau hétérogène et vu comme un sous- réseau.  Advantageously, the bridge belongs to the group comprising: - homogeneous bridges each interconnecting two sub-networks belonging to a homogeneous network including a plurality of sub-networks; - homogeneous bridges each interconnecting two sub-networks belonging to a heterogeneous network including a plurality of sub-networks and at least one basic network, the basic network being seen as a sub-network by the plurality of sub-networks; - heterogeneous bridges each interconnecting one of the subnets and the basic network belonging to said heterogeneous network and seen as a subnetwork.

Dans un mode de réalisation particulier de l'invention, les sous-réseaux sont des bus de type IEEE 1394, les premiers paquets sont des paquets de type IEEE 1394, le réseau de base est un réseau commuté, et les seconds paquets sont des paquets de type MPEG2 ou DV.  In a particular embodiment of the invention, the subnets are IEEE 1394 type buses, the first packets are IEEE 1394 type packets, the basic network is a switched network, and the second packets are packets MPEG2 or DV type.

Selon une caractéristique avantageuse, le pont comprenant des première et seconde portes connectées aux premier et second sous-réseaux respectivement, caractérisé en ce que l'obtention de la dérive d'horloge entre les premier et second domaines d'horloge comprend les étapes suivantes: - on obtient une différence d'horloge courante (DIFF,), en soustrayant la valeur d'horloge (CTR2n) dans le second domaine d'horloge à la valeur d'horloge (CTRn) dans le premier domaine d'horloge, à un instant déterminé (ta); - on obtient une dérive (An) pour l'instant déterminé (ta), en soustrayant une différence d'horloge de référence (DIFFef) à la différence d'horloge courante (DIFF.).  According to an advantageous characteristic, the bridge comprising first and second gates connected to the first and second subnets respectively, characterized in that obtaining the clock drift between the first and second clock domains comprises the following steps: - a current clock difference (DIFF,) is obtained, by subtracting the clock value (CTR2n) in the second clock domain from the clock value (CTRn) in the first clock domain, from a determined time (ta); - a drift (An) is obtained for the determined time (ta), by subtracting a reference clock difference (DIFFef) from the current clock difference (DIFF.).

Dans un mode de réalisation préférentiel de l'invention, le pont effectue en outre une compensation de la dérive d'horloge entre les premier et second domaines d'horloge, par ajout ou suppression d'au moins un premier paquet.  In a preferred embodiment of the invention, the bridge also performs compensation for clock drift between the first and second clock domains, by adding or removing at least one first packet.

Ainsi, on combine la modification des informations d'horodatage (en fonction de la dérive d'horloge) avec une compensation de la dérive d'horloge elle-même. De cette 20 façon, on évite une perte de données qui se produirait si la valeur absolue de la dérive d'horloge devenait supérieure à la durée d'un cycle de traitement d'un premier paquet (un bus aurait alors un cycle de retard sur l'autre et un premier paquet serait perdu).  Thus, the modification of the timestamp information (as a function of the clock drift) is combined with compensation for the clock drift itself. In this way, data loss is avoided which would occur if the absolute value of the clock drift becomes greater than the duration of a processing cycle of a first packet (a bus would then have a delay cycle on the other and a first package would be lost).

De façon préférentielle, la compensation de la dérive d'horloge comprend les étapes suivantes, effectuées pour chaque premier paquet à transmettre depuis le premier 25 vers le second sous-réseau: - on compare la valeur absolue de la dérive d'horloge avec un premier seuil; - si la valeur absolue de la dérive d'horloge est inférieure ou égale au premier seuil, aucune compensation de la dérive d'horloge n'est effectuée; - si la valeur absolue de la dérive d'horloge est supérieure au premier seuil, on détermine le signe de la dérive d'horloge: * si la dérive d'horloge est négative, une compensation de la dérive d'horloge est effectuée par insertion d'un premier paquet vide, avant l'envoi du premier paquet courant; * si la dérive d'horloge est positive, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant.  Preferably, the compensation for clock drift comprises the following steps, performed for each first packet to be transmitted from the first to the second subnetwork: - the absolute value of the clock drift is compared with a first threshold; - if the absolute value of clock drift is less than or equal to the first threshold, no compensation for clock drift is carried out; - if the absolute value of the clock drift is greater than the first threshold, the sign of the clock drift is determined: * if the clock drift is negative, compensation for the clock drift is carried out by insertion a first empty packet, before sending the first current packet; * if the clock drift is positive, compensation for the clock drift is performed by deleting the first current packet.

Avantageusement, si la valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive, on détermine si le premier paquet courant est vide ou non: - s'il est vide, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant; - sinon, aucune compensation de la dérive d'horloge n'est effectuée.  Advantageously, if the absolute value of the clock drift is greater than the first threshold and if the clock drift is positive, it is determined whether the first current packet is empty or not: - if it is empty, compensation for the clock drift is performed by deleting the first current packet; - otherwise, no compensation for clock drift is carried out.

En d'autres termes, on ne supprime le premier paquet courant que s'il est vide. D'une façon générale, le premier seuil doit être inférieur à la durée d'un cycle de traitement d'un premier paquet.  In other words, the first current packet is only deleted if it is empty. In general, the first threshold must be less than the duration of a processing cycle for a first packet.

Dans une variante avantageuse, si la valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive on compare la dérive d'horloge avec un second seuil; - si la dérive d'horloge est inférieure ou égale au second seuil, on détermine si le premier paquet courant est vide ou non: 20 * s'il est vide, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant; * sinon, aucune compensation de la dérive d'horloge n'est effectuée; - si la dérive d'horloge est supérieure au second seuil, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant. 25 Ainsi, on utilise deux seuils au lieu d'un. Le second seuil permet de décider si la suppression est impérative (c'est-à-dire si la valeur absolue de la dérive d'horloge s'approche de la durée d'un cycle de traitement d'un premier paquet) : si c'est le cas, on supprime le premier paquet courant qu'il soit vide ou non; dans le cas contraire, on ne supprime le premier paquet courant que s'il est vide.  In an advantageous variant, if the absolute value of the clock drift is greater than the first threshold and if the clock drift is positive, the clock drift is compared with a second threshold; - if the clock drift is less than or equal to the second threshold, it is determined whether the first current packet is empty or not: 20 * if it is empty, compensation for the clock drift is carried out by deleting the first packet current; * otherwise, no compensation for clock drift is carried out; - if the clock drift is greater than the second threshold, compensation for the clock drift is carried out by deleting the first current packet. 25 Thus, two thresholds are used instead of one. The second threshold makes it possible to decide if the deletion is imperative (that is to say if the absolute value of the clock drift approaches the duration of a processing cycle of a first packet): if c 'is the case, we delete the first current packet whether it is empty or not; otherwise, the first current packet is only deleted if it is empty.

D'une façon générale, le second seuil doit être supérieur au premier seuil et inférieur à la durée d'un cycle de traitement d'un premier paquet.  In general, the second threshold must be greater than the first threshold and less than the duration of a processing cycle for a first packet.

Préférentiellement, le premier seuil est compris entre le quart et la moitié de la durée d'un cycle de traitement d'un premier paquet.  Preferably, the first threshold is between a quarter and a half of the duration of a processing cycle for a first packet.

De façon préférentielle, le second seuil est compris entre la moitié et les trois quarts de la durée d'un cycle de traitement d'un premier paquet.  Preferably, the second threshold is between half and three quarters of the duration of a processing cycle for a first packet.

Il est clair cependant, comme déjà indiqué ci-dessus, que d'autres valeurs des premier et second seuils peuvent être envisagés sans sortir du cadre de la présente invention.  It is clear however, as already indicated above, that other values of the first and second thresholds can be envisaged without departing from the scope of the present invention.

De façon avantageuse, la différence d'horloge courante (DIFFJ) devient la nouvelle différence d'horloge de référence (DIFFef), si une compensation de la dérive 10 d'horloge est effectuée, par ajout ou suppression d'au moins un premier paquet.  Advantageously, the current clock difference (DIFFJ) becomes the new reference clock difference (DIFFef), if compensation for clock drift is made, by adding or removing at least one first packet .

L'invention concerne également un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé tel que précité, lorsque ledit programme est exécuté sur un ordinateur.  The invention also relates to a computer program comprising program code instructions for executing the steps of the method as mentioned above, when said program is executed on a computer.

L'invention concerne aussi un pont interconnectant des premier et second sous15 réseaux, un flux de données isochrones traversant ledit pont, les premier et second sousréseaux véhiculant le flux de données dans des premiers paquets et appartenant à des premier et second domaines d'horloge respectivement, les données étant associées à des informations d'horodatage indiquant chacune un instant de lecture de données. Le pont comprend: des moyens d'obtention de la dérive d'horloge entre les premier et second 20 domaines d'horloge, pour chaque premier paquet à transmettre depuis le premier vers le second sous-réseau; des moyens de modification, en prenant en compte la dérive d'horloge, de chaque information d'horodatage contenue dans ledit premier paquet; de façon à maintenir un débit de lecture constant des données du flux de données isochrones traversant le pont.  The invention also relates to a bridge interconnecting first and second sub-networks, an isochronous data stream crossing said bridge, the first and second sub-networks conveying the data stream in first packets and belonging to first and second clock domains respectively. , the data being associated with timestamp information each indicating an instant of data reading. The bridge comprises: means for obtaining the clock drift between the first and second clock domains, for each first packet to be transmitted from the first to the second subnetwork; modification means, taking into account the clock drift, of each time stamping information contained in said first packet; so as to maintain a constant read rate of the data of the isochronous data stream crossing the bridge.

D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels: - la figure 1 présente un synoptique d'un exemple de réseau homogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention; 30 - la figure 2 présente un synoptique d'un exemple de réseau hétérogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention; - la figure 3 illustre un exemple de réalisation d'une porte de pont; - les figures 4 et 5 présente la structure d'un paquet IEEE 1394 pour un flux Audio/Vidéo de type MPEG2 ou DV; - la figure 6 présente un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser un paquet IEEE 1394, indépendamment de la nature du flux de données; - la figure 7 présente un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser un paquet IEEE 1394 comprenant des données d'un flux de données MPEG2 ou DV; - la figure 8 présente un organigramme d'un premier mode de réalisation particulier du procédé selon l'invention, avec utilisation d'un seul seuil; - la figure 9 présente un organigramme d'un second mode de réalisation particulier du procédé selon l'invention, avec utilisation de deux seuils; - la figure 10 présente un exemple d'algorithme mis en oeuvre par une porte de pont, lorsque se produit une initialisation du bus auquel elle est connectée; - la figure Il présente un exemple d'algorithme mis en oeuvre par une porte de pont, lorsqu'un indicateur de méthode de synchronisation courante est modifié. L'invention concerne donc un procédé de maintien d'un débit de lecture constant des données d'un flux isochrone traversant un pont interconnectant des premier et 20 second sous-réseaux. Pour chaque premier paquet à transmettre depuis le premier vers le second sous- réseau, le pont obtient la dérive d'horloge entre les premier et second domaines d'horloge, et modifie chaque information d'horodatage contenue dans ce premier paquet, en prenant en compte la dérive d'horloge.  Other characteristics and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of an indicative and non-limiting example, and the attached drawings, in which: - FIG. 1 presents a block diagram of an example of a homogeneous network of digital buses, in which the method according to the invention can be implemented; FIG. 2 shows a block diagram of an example of a heterogeneous network of digital buses, in which the method according to the invention can be implemented; - Figure 3 illustrates an embodiment of a bridge door; - Figures 4 and 5 shows the structure of an IEEE 1394 packet for an Audio / Video stream of MPEG2 or DV type; - Figure 6 shows an example of an algorithm implemented by a bridge gate, in order to analyze an IEEE 1394 packet, regardless of the nature of the data flow; FIG. 7 shows an example of an algorithm implemented by a bridge gate, in order to analyze an IEEE 1394 packet comprising data from a MPEG2 or DV data stream; - Figure 8 shows a flowchart of a first particular embodiment of the method according to the invention, with the use of a single threshold; - Figure 9 shows a flowchart of a second particular embodiment of the method according to the invention, with the use of two thresholds; - Figure 10 shows an example of an algorithm implemented by a bridge gate, when an initialization of the bus to which it is connected occurs; - Figure It presents an example of algorithm implemented by a bridge door, when an indicator of current synchronization method is modified. The invention therefore relates to a method of maintaining a constant reading rate for the data of an isochronous stream crossing a bridge interconnecting first and second subnetworks. For each first packet to be transmitted from the first to the second subnetwork, the bridge obtains the clock drift between the first and second clock domains, and modifies each time stamping information contained in this first packet, taking into account counts clock drift.

Dans la suite de la description, on considère à titre d'exemple le cas o les sous25 réseaux sont des bus numériques conformes à la norme IEEE 1394, interconnectés par des ponts conformes à la norme complémentaire IEEE P1394.1. Il est clair cependant que la présente invention n'est pas limitée à ces types particuliers de sous-réseaux et ponts.  In the following description, we consider by way of example the case where the sub-networks are digital buses conforming to the IEEE 1394 standard, interconnected by bridges conforming to the complementary IEEE P1394.1 standard. It is clear, however, that the present invention is not limited to these particular types of subnetworks and bridges.

On considère aussi dans la suite que chaque premier paquet contient un seul 30 second paquet, c'est-à-dire qu'il y a une information d'horodatage par premier paquet.  It is also considered below that each first packet contains only one second packet, that is to say that there is timestamp information per first packet.

On présente maintenant, en relation avec le synoptique de la figure 1, un exemple de réseau homogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention.  We now present, in relation to the block diagram of FIG. 1, an example of a homogeneous network of digital buses, in which the method according to the invention can be implemented.

Dans cet exemple, le réseau homogène est constitué d'une pluralité de bus de 5 type IEEE 1394, référencés 4, 23, 47, 58, 145 et 146, et conformes aux première et seconde normes précitées (" IEEE Std 1394-1995, Standard for High Performance Serial Bus " et " IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) ").  In this example, the homogeneous network is made up of a plurality of IEEE 1394 type 5 buses, referenced 4, 23, 47, 58, 145 and 146, and conforming to the first and second standards mentioned above ("IEEE Std 1394-1995, Standard for High Performance Serial Bus "and" IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) ").

Sur les bus IEEE 1394 sont connectés des terminaux ou dispositifs, référencés 10 Dl à D15.  Terminals or devices, referenced 10 Dl to D15, are connected to the IEEE 1394 buses.

Les bus sont interconnectés par des ponts homogènes conformes à la troisième norme précitée " IEEE P1394.1 Standard for High Performance Serial Bus Bridges ".  The buses are interconnected by homogeneous bridges conforming to the aforementioned third standard "IEEE P1394.1 Standard for High Performance Serial Bus Bridges".

Les ponts homogènes sont référencés P1I/P2, P3/P4, P5/P6, P7/P8, P9/P1O, avec Pi, i = 1 à 10, représentant une porte d'un pont IEEE P1394.1.  Homogeneous bridges are referenced P1I / P2, P3 / P4, P5 / P6, P7 / P8, P9 / P1O, with Pi, i = 1 to 10, representing a gate of an IEEE P1394.1 bridge.

On pourra se reporter à la troisième norme précitée pour obtenir une description détaillée de la structure d'un pont homogène.  Reference may be made to the aforementioned third standard for a detailed description of the structure of a homogeneous bridge.

On présente maintenant, en relation avec le synoptique de la figure 2, un exemple de réseau hétérogène de bus numériques, dans lequel peut être mis en oeuvre le procédé selon l'invention.  An example of a heterogeneous network of digital buses is now presented, in relation to the block diagram of FIG. 2, in which the method according to the invention can be implemented.

Dans cet exemple, le réseau hétérogène est constitué d'une pluralité de bus de type IEEE 1394 référencés 110, 120, 130, 140, 150 et 250 interconnectés les uns aux autres et/ou à un réseau commuté 100.  In this example, the heterogeneous network consists of a plurality of IEEE 1394 type buses referenced 110, 120, 130, 140, 150 and 250 interconnected to each other and / or to a switched network 100.

Le pont référencé 216/217 est un pont homogène, interconnectant deux bus de type IEEE 1394.  The bridge referenced 216/217 is a homogeneous bridge, interconnecting two IEEE 1394 type buses.

L'interconnexion du réseau commuté 100 et des bus IEEE 1394 est réalisée par l'intermédiaire de ponts hétérogènes, conformes à la troisième norme précitée. Ils sont constitués chacun de deux portes appairées, référencés 201/202, 203/204, 205/206, 207/208 et 209/211. Ainsi, un pont hétérogène référencé X/Y est constitué de portes elles-mêmes référencées X et Y. Chacun de ces ponts hétérogènes présente une première 30 porte connectée au réseau commuté 100 et une seconde porte connectée à un bus numérique de type IEEE 1394.  The interconnection of the switched network 100 and the IEEE 1394 buses is carried out by means of heterogeneous bridges, conforming to the aforementioned third standard. They each consist of two paired doors, referenced 201/202, 203/204, 205/206, 207/208 and 209/211. Thus, a heterogeneous bridge referenced X / Y consists of gates themselves referenced X and Y. Each of these heterogeneous bridges has a first gate connected to the switched network 100 and a second gate connected to a digital bus of the IEEE 1394 type.

Le réseau commuté 100 est vu comme un bus série par tous les équipements (terminaux, ponts homogènes, contrôleur, ...) qui n'appartiennent pas à ce réseau commuté 100.  The switched network 100 is seen as a serial bus by all the equipment (terminals, homogeneous bridges, controller, etc.) which does not belong to this switched network 100.

Sur les bus IEEE 1394 sont connectés des terminaux ou dispositifs, référencés 5 101 à 104 (sur le bus référencé 110), 105 à 107 (sur le bus référencé 120), 108 et 109 (sur le bus référencé 130), 111 à 114 (sur le bus référencé 140), 119 et 121 (sur le bus référencé 250), 115 à 118 (surle bus référencé 150). Ils sont conformes aux première et seconde normes précitées.  Terminals or devices are connected to the IEEE 1394 buses, referenced 5 101 to 104 (on the bus referenced 110), 105 to 107 (on the bus referenced 120), 108 and 109 (on the bus referenced 130), 111 to 114 (on the bus referenced 140), 119 and 121 (on the bus referenced 250), 115 to 118 (on the bus referenced 150). They comply with the first and second standards mentioned above.

Le réseau commuté 100 est constitué de liens référencés 160, 170, 180, 190, 200, 10 210, 220, 230 et 240 qui interconnectent: - d'une part des noeuds référencés 201/202, 203/204, 205/206, 207/208 et 209/211, encore appelés ponts hétérogènes, interconnectant le réseau commuté 100 avec des bus IEEE 1394, et - d'autre part des noeuds référencés 212/213 et 214/215, internes au réseau commuté 100.  The switched network 100 is made up of links referenced 160, 170, 180, 190, 200, 10 210, 220, 230 and 240 which interconnect: - on the one hand, nodes referenced 201/202, 203/204, 205/206, 207/208 and 209/211, also called heterogeneous bridges, interconnecting the switched network 100 with IEEE 1394 buses, and - on the other hand, nodes referenced 212/213 and 214/215, internal to the switched network 100.

Le routage de paquets au travers du réseau commuté 100 est par exemple réalisé en mettant en oeuvre une méthode de routage par la source (en anglais " source routing "), selon laquelle l'information de routage d'un paquet est calculée par une unité centrale qui connaît la topologie du réseau commuté 100. Cet aspect ne sera pas décrit 20 plus en détails dans le cadre de la présente invention.  The routing of packets through the switched network 100 is for example carried out by implementing a method of routing by the source (in English "source routing"), according to which the routing information of a packet is calculated by a unit central which knows the topology of the switched network 100. This aspect will not be described in more detail in the context of the present invention.

On pourra se reporter à la demande de brevet n0 FR 2 828 946, publiée le 28 février 2003, pour obtenir une description détaillée de la structure d'un pont hétérogène.  Reference may be made to patent application No. FR 2 828 946, published on February 28, 2003, for a detailed description of the structure of a heterogeneous bridge.

On présente désormais, en relation avec la figure 3, un exemple de réalisation d'une porte de pont conforme à la troisième norme précitée. Les principaux blocs sont 25 décrits successivement.  We now present, in relation to FIG. 3, an exemplary embodiment of a bridge door in accordance with the third standard mentioned above. The main blocks are described successively.

Le bloc " noyau de liaison 1394 " (1394 Link Core) 504 est décrit en détail dans les première et seconde normes précitées. Ce bloc 504 comprend notamment les principaux sous-blocs suivants: - un sous-bloc " interface liaison-PHY " (Link-PHY Interface) 503, utilisé la 30 communication avec un " noyau PHY 1394 " (1394 PHY Core), comme décrit dans les première et seconde norme précitées; - un sous-bloc 505 utilisé pour la transmission de données asynchrones et isochrones vers le noyau de la couche PHY (PHY Layer core); - un sous-bloc 506 utilisé pour le calcul et l'insertion d'informations de contrôle d'erreur (CRC), comme décrit dans la première norme précitée; S - une horloge cyclique locale 507, comme décrit dans la première norme précitée; - un sous-bloc 508 utilisé pour la réception de données asynchrones et isochrones transmises par le noyau de la couche PHY (PHY Layer core); - un sous-bloc 510 gérant des registres et des interruptions, conformément aux première, seconde et troisième normes précitées. 10 Le bloc " filtre de paquets ATF " (ATF packet filter) 511 met en oeuvre un algorithme de filtrage sur les paquets venant de la mémoire FIFO de transmission asynchrone (ou mémoire ATF, pour Asynchronous Transmit FIFO). Ce bloc gère tous les signaux utiles ATF et ULC pour la transmission de paquets après l'étape de filtrage.  The "1394 Link Core" 504 block is described in detail in the first and second standards mentioned above. This block 504 notably comprises the following main sub-blocks: a “Link-PHY Interface” sub-block 503, used for communication with a “1394 PHY Core”, as described in the first and second standards mentioned above; - a sub-block 505 used for the transmission of asynchronous and isochronous data to the core of the PHY layer (PHY Layer core); - a sub-block 506 used for the calculation and insertion of error control information (CRC), as described in the first aforementioned standard; S - a local cyclic clock 507, as described in the first aforementioned standard; - a sub-block 508 used for the reception of asynchronous and isochronous data transmitted by the core of the PHY layer (PHY Layer core); - a sub-block 510 managing registers and interrupts, in accordance with the first, second and third standards mentioned above. The “ATF packet filter” block 511 implements a filtering algorithm on the packets coming from the asynchronous transmission FIFO memory (or ATF memory, for Asynchronous Transmit FIFO). This block manages all the useful ATF and ULC signals for the transmission of packets after the filtering step.

Le bloc " filtre de paquets ITF " (ITF packet filter) 512 met en oeuvre un 15 algorithme de filtrage sur les paquets venant de la mémoire FIFO de transmission isochrone (ou mémoire ITF, pour Isochronous Transmit FIFO). Ce bloc gère tous les signaux utiles ITF et ULC pour la transmission de paquets après l'étape de filtrage.  The “ITF packet filter” block 512 implements a filtering algorithm on the packets coming from the isochronous transmission FIFO memory (or ITF memory, for Isochronous Transmit FIFO). This block manages all the useful ITF and ULC signals for the transmission of packets after the filtering step.

Le bloc " table de routage de flux 1355 " (1355 stream routing table) 513 implémente une matrice de huit lignes, chaque ligne contenant un registre de contrôle de 20 flux sur sept bits.  The "1355 stream routing table" block 513 implements an eight-row matrix, each row containing a 20-bit seven-bit control register.

Le bloc " registres d'entrée/sortie d'équipement 1394 " (1394 Device iDr/oDr) 515 implémente deux matrices de quatre lignes: une matrice est associée à des lignes contenant des registres d'entrée sur sept bits (7 bits iDr registers), l'autre matrice étant associée à des lignes contenant des registres de sortie sur neuf bits (9 bits oDr registers). 25 Le bloc " filtre de paquet en réception " (Rx packet filter) 516 met en oeuvre un algorithme de filtrage sur les paquets venant de la mémoire ITF (via un buffer de filtrage) ou de l'ULC. Ce bloc gère tous les signaux d'écriture ARF, IRF et ULC pour la transmission de paquets après l'étape de filtrage.  The "1394 device input / output registers" block (1394 Device iDr / oDr) 515 implements two matrices of four lines: a matrix is associated with lines containing input registers on seven bits (7 bits iDr registers ), the other matrix being associated with lines containing nine-bit output registers (9-bit oDr registers). The block "packet filter on reception" (Rx packet filter) 516 implements a filtering algorithm on the packets coming from the ITF memory (via a filtering buffer) or from the ULC. This block manages all the ARF, IRF and ULC write signals for the transmission of packets after the filtering step.

Le bloc " registres de carte de route 1394 " (1394 Route map registers) 517 30 implémente un registre à 256 octets.  The 1394 Route map registers 517 30 block implements a 256 byte register.

Le bloc " machine d'acquittement " (Ack engine) 518 génère un signal d'acquittement après réception d'un paquet asynchrone.  The "acknowledgment machine" block (Ack engine) 518 generates an acknowledgment signal after reception of an asynchronous packet.

Le bloc " interface IT & registres PHY 1394 " (1394 PHY registers & IT I/F) 521 implémente l'interface permettant d'accéder aux registres du composant 1394 PHY 5 (16 registres maximum) et transporter vers l'interface 13 des signaux d'interruption associés à la couche PHY 1394 et venant de l'ULC.  The block "IT interface & PHY 1394 registers" (1394 PHY registers & IT I / F) 521 implements the interface allowing access to the registers of the 1394 PHY 5 component (16 registers maximum) and transport signals to interface 13 interrupts associated with the PHY 1394 layer and coming from the ULC.

Le bloc " interface IT & registres liaison 1394 " (1394 1394Link registers & IT I/F) 522 implémente l'interface permettant d'accéder aux registres du composant 1394 liaison et pont (1394 Link & bridge) et transporter vers l'interface I17 des signaux 10 d'interruption venant de l'ULC, sauf ceux associés à la couche PHY 1394.  The block "IT interface & 1394 link registers" (1394 1394Link registers & IT I / F) 522 implements the interface allowing access to the registers of the 1394 link and bridge component (1394 Link & bridge) and transport to the I17 interface interrupt signals from the ULC, except those associated with the PHY 1394 layer.

Le bloc " comparaison d'horloge " (Clkcomp) 523 est utilisé pour la détection de début de cycle de paquet.  The "clock comparison" block (Clkcomp) 523 is used for the detection of the start of the packet cycle.

Le bloc " mémoire FIFO de réception asynchrone " (Asynchronous Receive FIFO (ARF)) 524 implémente une FIFO synchrone de 1Kx32 bits. Les signaux 15 d'écriture sont en charge du bloc " filtre de paquet en réception " (Rx packet filter) 516.  The "Asynchronous Receive FIFO (ARF)" block 524 implements a synchronous FIFO of 1Kx32 bits. The write signals 15 are in charge of the "packet reception filter" block 516.

Les signaux de lecture sont en charge du bloc " gestion de paquet en réception " (Rx packet management) 516.  The read signals are in charge of the "packet management on reception" block (Rx packet management) 516.

Le bloc " mémoire FIFO de réception isochrone " (Isochronous Receive FIFO (IRF)) 525 implémente une FIFO synchrone de 2Kx32 bits. Les signaux d'écriture sont 20 en charge du bloc " filtre de paquet en réception " (Rx packet filter) 516. Les signaux de lecture sont en charge du bloc " gestion de paquet en réception " (Rx packet management) 516.  The "Isochronous Receive FIFO (IRF)" block 525 implements a synchronous FIFO of 2Kx32 bits. The write signals are in charge of the Rx packet filter 516 block. The read signals are in charge of the Rx packet management 516 block.

Le bloc " mémoires FIFO de type, validité et taille de paquet " (Pk Size, Validity and Type FIFOs) 526 implémente deux FIFOs (une pour l'isochrone et l'autre pour le 25 non isochrone) associées aux caractéristiques des paquets 1394 entrants.  The block "FIFO memories of packet type, validity and size" (Pk Size, Validity and Type FIFOs) 526 implements two FIFOs (one for the isochronous and the other for the non-isochronous) associated with the characteristics of the incoming 1394 packets .

Le bloc " gestion de paquet en réception " (Rx packet management) 527 implémente un algorithme de gestion des paquets venant du bus hôte (122) ou du bus DPRAM (16). Ce bloc gère tous les signaux d'écriture associés aux mémoires ATF et ITF, et partage avec le bloc " gestion de paquet en émission " 533 tous les signaux 30 associés à 122 et 16.  The “packet management on reception” block (Rx packet management) 527 implements an algorithm for managing packets coming from the host bus (122) or from the DPRAM bus (16). This block manages all the write signals associated with the ATF and ITF memories, and shares with the "packet transmission management" block 533 all the signals 30 associated with 122 and 16.

Le bloc " registre de carte de génération de réseau " (Netgeneration map register) 528 implémente un registre de carte de génération de réseau.  The "Netgeneration map register" block 528 implements a network generation card register.

Le bloc " mémoire FIFO d'émission isochrone " (Isochronous Transmit FIFO (ITF)) 529 implémente une FIFO synchrone de 2Kx32 bits. Les signaux d'écriture sont 5 en charge du bloc " gestion de paquet en émission " (Tx packet management) 533. Les signaux de lecture sont en charge du bloc " filtre de paquets ITF " (ITF packet filter) 512.  The "Isochronous Transmit FIFO (ITF)" block 529 implements a synchronous FIFO of 2Kx32 bits. The write signals are in charge of the “packet management” block 533. The read signals are in charge of the “ITF packet filter” block 512.

Le bloc " mémoire FIFO d'émission asynchrone " (Asynchronous Transmit FIFO (ATF)) 530 implémente une FIFO synchrone de 1Kx32 bits. Les signaux 10 d'écriture sont en charge du bloc " gestion de paquet en émission " (Tx packet management) 533. Les signaux de lecture sont en charge du bloc " filtre de paquets ATF " (ATF packet filter) 511.  The "Asynchronous Transmit FIFO (ATF)" block 530 implements a synchronous FIFO of 1Kx32 bits. The write signals are in charge of the "packet management in transmission" block (Tx packet management) 533. The read signals are in charge of the "ATF packet filter" block 511.

Le bloc " mémoire FIFO de vitesse d'émission " (Speed Transmit FIFO (STF)) 531 implémente une FIFO synchrone de 512x2 bits. Les signaux d'écriture sont réalisés 15 par l'interface I23. Les signaux de lecture sont en charge du bloc " filtre de paquets ATF " (ATF packet filter) 511.  The "Speed Transmit FIFO (STF)" block 531 implements a synchronous FIFO of 512x2 bits. The write signals are produced by the interface I23. The read signals are in charge of the block "ATF packet filter" 511.

Le bloc " gestion de paquet en émission " (Tx packet management) 532 implémente un algorithme de gestion des paquets venant du bus hôte (I22), le bus de DPRAM (16) ou le bus A/V (I100). Ce bloc gère tous les signaux d'écriture associés aux 20 mémoires FIFO ITF et ATF, et partage avec le bloc " gestion de paquet en réception " (Rx packet management) 527 tous les signaux utiles associés à I22, I6 et 1100.  The "packet management in transmission" block (Tx packet management) 532 implements an algorithm for managing packets coming from the host bus (I22), the DPRAM bus (16) or the A / V bus (I100). This block manages all the write signals associated with the 20 FIFO memories ITF and ATF, and shares with the “packet management on reception” block (Rx packet management) 527 all the useful signals associated with I22, I6 and 1100.

Les blocs référencés 504, 513 à 518 et 521 à 528 forment ensemble des moyens de réception d'un paquet venant d'un bus.  The blocks referenced 504, 513 to 518 and 521 to 528 together form means for receiving a packet coming from a bus.

Les blocs référencés 504, 513 à 515 et 528 à 532 forment ensemble des moyens 25 de réception d'un paquet venant d'un bus.  The blocks referenced 504, 513 to 515 and 528 to 532 together form means 25 for receiving a packet coming from a bus.

On présente maintenant, en relation avec les figures 4 et 5, la structure d'un paquet IEEE 1394 pour un flux Audio/Vidéo de type MPEG2 ou DV. Cette brève présentation vise à définir principalement les champs utilisés dans le cadre de la présente invention. Pour une description plus détaillée de cette structure, on pourra se reporter 30 aux première et seconde normes précitées, ainsi qu'à la norme IEC 61883, décrite dans le document de référence suivant: " IEC Std 61883, Consumer audio/video équipement Digital interface ".  We now present, in relation to FIGS. 4 and 5, the structure of an IEEE 1394 packet for an Audio / Video stream of MPEG2 or DV type. This brief presentation aims mainly to define the fields used in the context of the present invention. For a more detailed description of this structure, reference may be made to the first and second standards mentioned above, as well as to standard IEC 61883, described in the following reference document: "IEC Std 61883, Consumer audio / video equipment Digital interface ".

Le paquet IEEE 1394 comprend une pluralité de champs, référencés 601 à 607, que l'on présente ci- après successivement.  The IEEE 1394 packet includes a plurality of fields, referenced 601 to 607, which are presented successively below.

Le champ " en-tête isochrone " (isochronous header) 601, sur 32 bits, contient des informations générales relatives à une transaction isochrone sur un bus 1394. Il contient un sous-champ " longueur de données " (data length) 701, qui spécifie la longueur du champ de données utiles du paquet isochrone, en octets. Il contient également un sous-champ " TAG " 702, qui fournit une indication de haut niveau sur le 10 format des données transportées par le paquet isochrone. Par exemple, la valeur 012 indique la présence d'en-têtes CIPO 603 et CIPI 604 dans le paquet et donc si les données transportées par le paquet sont des données audio/vidéo (A/V data).  The isochronous header field 601, on 32 bits, contains general information relating to an isochronous transaction on a 1394 bus. It contains a "data length" sub-field 701, which specifies the length of the payload field of the isochronous packet, in bytes. It also contains a "TAG" subfield 702, which provides a high level indication of the format of the data transported by the isochronous packet. For example, the value 012 indicates the presence of CIPO 603 and CIPI 604 headers in the packet and therefore if the data transported by the packet is audio / video data (A / V data).

Le champ " en-tête CRC " (CRCs header) 602 est calculé uniquement à partir de l'en-tête isochrone 601 et est utilisé pour le contrôle d'erreur.  The "CRC header" field 602 is calculated only from the isochronous header 601 and is used for error control.

Le champ " en-tête CIPO " (CIPO header) 603, sur 32 bits, contient des informations générales relatives aux données audio/vidéo contenues dans le champ " données utiles " 606. Il contient un sous-champ " DBC " 703, qui est un compteur de continuité des blocs de données, permettant de détecter une perte de blocs de données. Il contient également un sous- champ " DBS " 704, qui indique la taille d'un bloc de 20 données, en nombre de mots de 32 bits (quadlets). Un paquet Audio/vidéo est divisé en plusieurs blocs de données, selon le sous-champ FN (Fraction number) 705. Le souschamp " DBS " 704 indique la taille de ces blocs de données.  The CIPO header field 603, 32-bit, contains general information relating to the audio / video data contained in the "useful data" field 606. It contains a "DBC" subfield 703, which is a data block continuity counter, used to detect a loss of data blocks. It also contains a "DBS" subfield 704, which indicates the size of a block of 20 data, in number of 32-bit words (quadlets). An audio / video packet is divided into several data blocks, according to the FN (Fraction number) 705 subfield. The "DBS" subfield 704 indicates the size of these data blocks.

Le champ " en-tête CIP1 " (CIP1 header) 604, sur 32 bits, contient lui aussi des informations générales relatives aux données audio/vidéo contenues dans le champ 25 " données utiles " 606. Il contient un souschamp " Format (FMT) " 703. Si ce dernier contient la valeur 1111112 (pas de données), les sous-champs DBS, FN, QPC, SPH et DBC sont ignorés et aucun bloc de données n'est transmis. Le bit de poids fort (MSB) du souschamp FMT 703 indique si le sous-champ SYT 707 est disponible ou non, c'està-dire, seulement pour un flux Audio/Vidéo de type DV, s'il contient une information 30 d'horodatage (Time Stamp) ou non. Quand une information d'horodatage est indiquée par le bit de poids fort du sous- champ FMT, le sous-champ SYT 707 contient les 16 bits de poids faible du registre d'horloge CTR " IEEE 1394 CYCLETIME " plus un décalage (offset).  The "CIP1 header" field 604, on 32 bits, also contains general information relating to the audio / video data contained in field 25 "useful data" 606. It contains a "Format (FMT)" subfield "703. If the latter contains the value 1111112 (no data), the DBS, FN, QPC, SPH and DBC subfields are ignored and no data block is transmitted. The most significant bit (MSB) of the FMT 703 subfield indicates whether the SYT 707 subfield is available or not, that is, only for an Audio / Video stream of DV type, if it contains information 30 d time stamp or not. When timestamp information is indicated by the most significant bit of the FMT subfield, the SYT 707 subfield contains the 16 least significant bits of the clock register CTR "IEEE 1394 CYCLETIME" plus an offset .

Le champ " en-tête horodatage " (Time Stamp header) 605 existe seulement pour un flux Audio/Vidéo de type MPEG2. Il contient un sous-champ " horodatage " 5 (Time Stamp) 708 qui représente les 25 bits du registre d'horloge CTR, au moment o le premier bit/octet du paquet du flux de transport (ou paquet TSP, pour " Transport Stream Packet ") arrive de l'application, plus un décalage (offset). Ce décalage est égal au délai global constant entre le moment d'arrivée (du premier bit) et le moment o le paquet TSP (le premier bit) est délivré par un récepteur à l'application.  The "Time Stamp header" field 605 exists only for an Audio / Video stream of MPEG2 type. It contains a "time stamp" subfield 5 (Time Stamp) 708 which represents the 25 bits of the clock register CTR, at the moment when the first bit / byte of the transport stream packet (or TSP packet, for "Transport Stream" Packet ") arrives from the application, plus an offset. This offset is equal to the constant global delay between the moment of arrival (of the first bit) and the moment when the TSP packet (the first bit) is delivered by a receiver to the application.

Quel que soit le champ ou sous-champ o elle est contenue, l'information d'horodatage (Time Stamp) est utilisée par le récepteur de données isochrone pour reconstruire une séquence correcte des paquets TSP sur sa sortie. L'information d'horodatage indique l'instant prévu de fourniture du premier bit/octet du paquet TSP depuis la sortie du récepteur vers le décodeur cible du flux de transport.  Regardless of the field or subfield in which it is contained, time stamp information is used by the isochronous data receiver to reconstruct a correct sequence of TSP packets on its output. The timestamp information indicates the expected time of delivery of the first bit / byte of the TSP packet from the output of the receiver to the target decoder of the transport stream.

Le champ " données utiles " (data payload) 606 contient les données utiles.  The "payload" field 606 contains the useful data.

Le champ " données CRC " (Data CRC) 607 est calculé uniquement à partir des données des champs référencés 602 à 606 et est utilisé pour le contrôle d'erreur.  The "CRC data" field (Data CRC) 607 is calculated only from the data of the fields referenced 602 to 606 and is used for error checking.

On présente maintenant, en relation avec la figure 6, un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser les champs d'un paquet IEEE 1394, 20 indépendamment de la nature du flux de données audio/vfdéo (MPEG2, DV, ... ) reçus sur un canal isochrone donné. Un autre algorithme spécifique au cas d'un flux MPEG2 ou DV est présenté ci-après, en relation avec la figure 7.  We now present, in relation to FIG. 6, an example of an algorithm implemented by a bridge gate, in order to analyze the fields of an IEEE 1394 packet, independently of the nature of the audio / vfdeo data stream. (MPEG2, DV, ...) received on a given isochronous channel. Another algorithm specific to the case of an MPEG2 or DV stream is presented below, in relation to FIG. 7.

Au sein de la porte de pont, l'algorithme de la figure 6 est appliqué par les blocs " filtre de paquet en réception " (Rx packet filter) et " gestion de paquet en émission " 25 (Tx packet management), référencés 516 et 532 respectivement sur la figure 3.  Within the bridge door, the algorithm of FIG. 6 is applied by the “packet reception filter” (Rx packet filter) and “packet transmission management” blocks 25 (Tx packet management), referenced 516 and 532 respectively in FIG. 3.

Lors de l'étape référencée 801, le pont attend la réception d'un paquet de données. Après réception d'un paquet de données, l'en-tête isochrone 601 est d'abord stocké, au cours de l'étape référencée 802, puis analysé au cours des étapes référencées 803 et 804. Au cours de l'étape référencée 803, le sous-champ TAG 702 est vérifié en 30 premier: s'il contient la valeur 012, cela indique la présence des en-têtes CIPO 603 et CIP1 604 et donc que le paquet 1394 courant transporte un contenu audio/vidéo. Sinon, le paquet 1394 courant ne transporte pas un contenu audio/vidéo et il n'est pas nécessaire de poursuivre son analyse: on passe à l'étape finale référencée 813. Si le paquet 1394 courant transporte un contenu audio/vidéo, on passe à l'étape référencée 804, au cours de laquelle le sous-champ de longueur de données 701 est stocké pour une 5 analyse ultérieure, puis à l'étape référencée 805, au cours de laquelle l'en-tête CIPO 603 est stocké. Le sous-champ DBC 703 est alors vérifié lors de l'étape référencée 806: si sa valeur n'est pas égale à 0002, ceci signifie qu'aucun champ ou sous-champ d'information d'horodatage n'est présent dans le paquet courant et aussi que ce paquet courant n'est pas vide. Dans ce cas, l'analyse du paquet est terminée et on passe à 10 l'étape finale référencée 813. Si le sous-champ DBC 703 contient la valeur 000,2 ceci signifie que le paquet courant peut comprendre un champ ou sous-champ d'information d'horodatage 707 ou 708 ou bien que le paquet est vide. Afin de déterminer si le paquet courant est vide ou non, on soustrait deux de la longueur de données 701 (partie utile du paquet 1394 moins les deux en-têtes CIP 603 et 604), lors de l'étape référencée 807. Si 15 le résultat est zéro, le paquet est reconnu comme un paquet vide (étape référencée 809), puis on reçoit et on stocke l'en-tête CIPI 604 (étape référencée 812), avant de passer à l'étape finale référencée 813. Si le résultat n'est pas zéro, le paquet est reconnu comme un paquet non-vide (étape référencée 808), puis on reçoit et on stocke l'en-tête CIPI 604 (étape référencée 810), et enfin on retrouve la valeur de l'information d'horodatage 20 contenue dans le sous- champ SYT 707 ou dans le champ d'information d'horodatage 708 (étape 811), avant de passer à l'étape finale référencée 813.  During the step referenced 801, the bridge waits for the reception of a data packet. After receiving a data packet, the isochronous header 601 is first stored, during the step referenced 802, then analyzed during the steps referenced 803 and 804. During the step referenced 803 , the TAG 702 subfield is checked first: if it contains the value 012, this indicates the presence of the CIPO 603 and CIP1 604 headers and therefore that the current 1394 packet carries audio / video content. Otherwise, the current 1394 packet does not transport audio / video content and it is not necessary to continue its analysis: we go to the final step referenced 813. If the current 1394 packet carries audio / video content, we pass in the step referenced 804, during which the data length subfield 701 is stored for further analysis, then in the step referenced 805, during which the CIPO header 603 is stored. The DBC sub-field 703 is then verified during the step referenced 806: if its value is not equal to 0002, this means that no timestamp information field or sub-field is present in the current package and also that this current package is not empty. In this case, the analysis of the packet is finished and we go to the final step referenced 813. If the DBC subfield 703 contains the value 000.2 this means that the current packet can include a field or subfield 707 or 708 timestamp information or that the package is empty. In order to determine whether the current packet is empty or not, two are subtracted from the data length 701 (useful part of the packet 1394 minus the two CIP headers 603 and 604), during the step referenced 807. If the result is zero, the packet is recognized as an empty packet (step referenced 809), then we receive and store the CIPI header 604 (step referenced 812), before going to the final step referenced 813. If the result is not zero, the packet is recognized as a non-empty packet (step referenced 808), then we receive and store the header CIPI 604 (step referenced 810), and finally we find the value of l timestamp information 20 contained in the SYT sub-field 707 or in the timestamp information field 708 (step 811), before going to the final step referenced 813.

On présente maintenant, en relation avec la figure 7 un exemple d'algorithme mis en oeuvre par une porte de pont, afin d'analyser un paquet IEEE 1394 comprenant des données d'un flux de données MPEG2 ou DV.  We now present, in relation to FIG. 7, an example of an algorithm implemented by a bridge gate, in order to analyze an IEEE 1394 packet comprising data from a MPEG2 or DV data stream.

Au sein de la porte de pont, l'algorithme de la figure 7 est appliqué par les blocs " filtre de paquet en réception " (Rx packet filter) et " gestion de paquet en émission " (Tx packet management), référencés 516 et 532 respectivement sur la figure 3.  Within the bridge door, the algorithm of FIG. 7 is applied by the "packet reception filter" (Rx packet filter) and "packet transmission management" (Tx packet management) blocks, referenced 516 and 532. respectively in Figure 3.

Lors de l'étape référencée 901, le pont attend la réception d'un paquet de données sur un canal isochrone 1394 donné. Après réception d'un paquet de données, 30 l'en-tête isochrone 601 est d'abord stocké, au cours de l'étape référencée 902, puis analysé au cours des étapes référencées 903 et 904. Au cours de l'étape référencée 903, le sous-champ TAG 702 est vérifié en premier: s'il contient la valeur 012, cela indique la présence des en-têtes CIPO 603 et CIP1 604 et donc que le paquet 1394 courant transporte un contenu audio/vidéo. Sinon, le paquet 1394 courant ne transporte pas un contenu audio/vidéo et il n'est pas nécessaire de poursuivre son analyse: on passe à 5 l'étape finale référencée 915. Si le paquet 1394 courant transporte un contenu audio/vidéo, on passe à l'étape référencée 916, au cours de laquelle le sous-champ de longueur de données 701 est stocké, puis analysé dans une étape référencée 904 afin de déterminer si le paquet courant est vide ou non. Pour cela on soustrait deux de la longueur de données 701 (partie utile du paquet 1394 moins les deux en-têtes CIP 603 et 10 604). Si le résultat est zéro, le paquet courant est reconnu comme un paquet vide (étape 906), puis les en-têtes CIPO 603 et CIPI 604 sont reçus et stockés (étape 914), avant de passer à l'étape finale référencée 915. Si le résultat est différent de zéro, le paquet courant est reconnu comme un paquet non-vide (étape 905), puis l'en-tête CIPO 603 est reçu (étape 907) et son sous- champ DBC 703 est analysé (étape 908). Si la valeur du 15 sous-champ DBC 703 n'est pas égale à 0002, ceci signifie qu'aucun champ ou souschamp d'information d'horodatage n'est présent dans le paquet courant et aussi que ce paquet courant n'est pas vide. Dans ce cas, l'analyse du paquet est terminée et on passe à l'étape finale référencée 915. Si le sous- champ DBC 703 contient la valeur 0002 ceci signifie que le paquet courant peut comprendre un champ ou sous-champ d'information 20 d'horodatage 707 ou 708. On passe alors à l'étape référencée 909, lors de laquelle l'entête CIPI 604 est reçu et stocké. Puis, le sous-champ FMT 706 est analysé. S'il contient la valeur 0000002, cela signifie que le format audio/vidéo transporté par le paquet courant est le format DV, et l'information d'horodatage est obtenue dans le sous-champ SYT 707 de l'en- tête CIP1 604 (étape 912), avant de passer à l'étape finale référencée 25 915. S'il contient la valeur 1000002, cela signifie que le format audio/vidéo transporté par le paquet courant est le format MPEG2. Le champ " en-tête d'information d'horodatage " 605 est reçu (étape 911), puis l'information d'horodatage est obtenue dans le sous-champ " information d'horodatage " 708 de ce champ " en-tête d'information d'horodatage " 605 (étape 913), avant de passer à l'étape finale référencée 30 915.  During the step referenced 901, the bridge waits for the reception of a data packet on a given isochronous channel 1394. After receiving a data packet, the isochronous header 601 is first stored, during the step referenced 902, then analyzed during the steps referenced 903 and 904. During the step referenced 903, the TAG subfield 702 is checked first: if it contains the value 012, this indicates the presence of the CIPO 603 and CIP1 604 headers and therefore that the current 1394 packet carries audio / video content. Otherwise, the current 1394 packet does not carry audio / video content and there is no need to continue its analysis: we go to the final step referenced 915. If the current 1394 packet carries audio / video content, we proceeds to step referenced 916, during which the data length subfield 701 is stored, and then analyzed in a step referenced 904 to determine whether the current packet is empty or not. To do this, subtract two from the data length 701 (useful part of the 1394 packet minus the two CIP headers 603 and 10 604). If the result is zero, the current packet is recognized as an empty packet (step 906), then the CIPO 603 and CIPI 604 headers are received and stored (step 914), before going to the final step referenced 915. If the result is other than zero, the current packet is recognized as a non-empty packet (step 905), then the CIPO header 603 is received (step 907) and its DBC subfield 703 is analyzed (step 908 ). If the value of DBC subfield 703 is not equal to 0002, this means that no time stamp information field or subfield is present in the current packet and also that this current packet is not empty. In this case, the analysis of the packet is finished and we go to the final step referenced 915. If the DBC subfield 703 contains the value 0002 this means that the current packet can include an information field or subfield 20 timestamp 707 or 708. We then go to the step referenced 909, during which the CIPI header 604 is received and stored. Then, the FMT 706 subfield is analyzed. If it contains the value 0000002, this means that the audio / video format transported by the current packet is the DV format, and the timestamp information is obtained in the SYT 707 subfield of the CIP1 604 header. (step 912), before going to the final step referenced 25 915. If it contains the value 1000002, this means that the audio / video format transported by the current packet is the MPEG2 format. The "timestamp information header" field 605 is received (step 911), then the timestamp information is obtained in the "timestamp information" subfield 708 of this "header timestamp" field. timestamp information "605 (step 913), before proceeding to the final step referenced 30 915.

On présente maintenant, en relation avec l'organigramme de la figure 8, un premier mode de réalisation particulier du procédé selon l'invention, avec utilisation d'un seul seuil. On rappelle que ce procédé consiste en un ajustement du flux et une mise à jour des informations d'horodatage. Au sein de la porte de pont, l'algorithme de 5 la figure 8 est appliqué par les blocs " gestion de paquet en émission " (Tx packet management) 532 et " comparaison d'horloge " (Clkcomp) 523, référencés 532 et 523 respectivement sur la figure 3.  We now present, in relation to the flow diagram of FIG. 8, a first particular embodiment of the method according to the invention, with the use of a single threshold. It will be recalled that this method consists in adjusting the flow and updating the time stamp information. Within the bridge door, the algorithm of FIG. 8 is applied by the blocks "packet management in transmission" (Tx packet management) 532 and "clock comparison" (Clkcomp) 523, referenced 532 and 523 respectively in Figure 3.

On note CTR, et CTR2 les registres d'horloge se trouvant au niveau des portes Pl et P2 respectivement du pont. A chaque début de cycle au niveau de la porte Pi 10 (lorsque le champ " cycleoffset " de son registre CTR, s'annule) (étape référencée 1102, l'instant ta), la valeur de l'horloge relative à la porte P2 est obtenue. Pour cet instant tn, on calcule la différence DIFFn entre la valeur CTRIn contenue dans le registre d'horloge de la porte Pl et la valeur CTR2J, contenue dans le registre d'horloge de la porte P2. Puis, au cours de l'étape référencée 1104, on calcule la dérive d'horloge 15 An = DIFF, - DIFFref, avec DIFFrCf une valeur de différence de référence.  We denote CTR, and CTR2 the clock registers located at the doors Pl and P2 respectively of the bridge. At each cycle start at the door Pi 10 (when the "cycleoffset" field of its register CTR, is canceled) (step referenced 1102, the instant ta), the value of the clock relating to the door P2 is obtained. For this instant tn, the difference DIFFn is calculated between the value CTRIn contained in the clock register of gate P1 and the value CTR2J, contained in the clock register of gate P2. Then, during the step referenced 1104, the clock drift 15 An = DIFF, - DIFFref is calculated, with DIFFrCf a reference difference value.

Lors du premier calcul de DIFFn (c'est-à-dire DIFF.), on a: DIFFC, = DIFFo (étapes référencées 1103 et 1116).  During the first calculation of DIFFn (that is to say DIFF.), We have: DIFFC, = DIFFo (steps referenced 1103 and 1116).

Il est à noter que pour un pont connectant un bus IEEE 1394 à un réseau commuté (voir ci-dessus la description de la figure 2), il n'y a pas d'émission de paquets 20 de début de cycle du côté du réseau commuté. Afin d'assurer que les horloges de tous les noeuds du réseau commuté sont synchronisées, on effectue par exemple un ajustement du compteur local de chaque noeud, comme décrit dans la demande de brevet FR 2 793 623 publiée le 17 novembre 2000.  It should be noted that for a bridge connecting an IEEE 1394 bus to a switched network (see description of FIG. 2 above), there is no transmission of packets at the start of the cycle on the network side. switched. In order to ensure that the clocks of all the nodes of the switched network are synchronized, an adjustment of the local counter of each node is carried out, for example, as described in patent application FR 2 793 623 published on November 17, 2000.

Après le calcul de la dérive d'horloge, on passe à l'étape référencée 1105, au 25 cours de laquelle est appliqué l'un des algorithmes décrits ci-dessus en relation avec les figures 6 et 7, dès qu'un paquet 1394 est reçu provenant du bus référencé 146. Après que l'analyse du paquet a été effectuée, l'information d'horodatage est mise à jour lors de l'étape référencée 1107, si le paquet n'est pas vide (vérification effectuée lors de l'étape référencée 1106). Cette mise à jour consiste à soustraire la dérive d'horloge An à 30 l'information d'horodatage du paquet courant (ou à chacune des informations d'horodatage du paquet courant si celui-ci en comprend plusieurs). L'étape de mise à jour 1107 n'est pas exécutée si le paquet est vide. Lors de l'étape référencée 1108, on détermine si la valeur absolue de la dérive d'horloge est supérieure ou non à un seuil prédéterminé. Ce seuil est par exemple égal à un tiers d'une durée de cycle IEEE 1394 (c'est-à-dire 41,7 gs). Si la valeur absolue de la dérive d'horloge est inférieure ou égale 5 au seuil, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée 1115) avant le passage à l'étape finale référencée 1117. Si la valeur absolue de la dérive d'horloge est supérieure au seuil, on vérifie le signe de la dérive d'horloge au cours de l'étape référencée 1110.  After calculating the clock drift, we go to the step referenced 1105, during which one of the algorithms described above is applied in relation to FIGS. 6 and 7, as soon as a 1394 packet is received from the bus referenced 146. After the analysis of the packet has been performed, the timestamp information is updated during the step referenced 1107, if the packet is not empty (verification carried out during the step referenced 1106). This update consists in subtracting the clock drift An from the time stamp information of the current packet (or from each of the time stamp information of the current packet if the latter comprises several). Update step 1107 is not executed if the package is empty. During the step referenced 1108, it is determined whether or not the absolute value of the clock drift is greater than a predetermined threshold. This threshold is for example equal to one third of an IEEE 1394 cycle time (i.e. 41.7 gs). If the absolute value of the clock drift is less than or equal to the threshold, no adjustment is made and the packet is delivered normally (step referenced 1115) before going to the final step referenced 1117. If the absolute value of the clock drift is greater than the threshold, the sign of the clock drift is verified during the step referenced 1110.

Si la dérive d'horloge est positive, ceci signifie, que l'écart entre les deux 10 domaines d'horloge augmente. Dans ce cas, l'ajustement du flux (compensation de la dérive d'horloge) est effectué en générant et en insérant un paquet vide (étapes référencées 1111 et 1112), à la place du paquet 1394 courant. Ce dernier sera transmis pendant le cycle isochrone suivant.  If the clock drift is positive, this means that the difference between the two clock domains increases. In this case, the flow adjustment (compensation for clock drift) is carried out by generating and inserting an empty packet (steps referenced 1111 and 1112), in place of the current 1394 packet. The latter will be transmitted during the next isochronous cycle.

Si la dérive d'horloge est négative, ceci signifie, que l'écart entre les deux 15 domaines d'horloge se réduit. Dans ce cas, on vérifie si le paquet courant est un paquet vide ou non (étape référencée 1113). Si le paquet courant est vide, il est supprimé (c'està-dire pas envoyé) et le paquet suivant est envoyé à la place (étape référencée 1114).  If the clock drift is negative, this means that the difference between the two clock domains is reduced. In this case, it is checked whether the current packet is an empty packet or not (step referenced 1113). If the current packet is empty, it is deleted (i.e. not sent) and the next packet is sent instead (step referenced 1114).

Puis la nouvelle différence DIFF11 calculée lors de l'étape référencée 1102 devient la différence de référence DIFFref (étape référencée 1109), avant le passage à l'étape finale 20 référencée 1117. Si le paquet courant n'est pas vide, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée l 15) avant le passage à l'étape finale référencée 1117.  Then the new difference DIFF11 calculated during the step referenced 1102 becomes the reference difference DIFFref (step referenced 1109), before passing to the final step 20 referenced 1117. If the current packet is not empty, no adjustment is necessary. 'is performed and the package is delivered normally (step referenced l 15) before proceeding to the final step referenced 1117.

On présente maintenant, en relation avec l'organigramme de la figure 9, un second mode de réalisation particulier du procédé selon l'invention, avec utilisation de 25 deux seuils.  A second particular embodiment of the method according to the invention is now presented, in relation to the flow diagram of FIG. 9, with the use of two thresholds.

Les étapes référencées 1201 à 1207 sont identiques aux étapes 1101 à 1107 de la figure 8, décrites ci-dessus. Elles ne sont donc pas décrites à nouveau.  The steps referenced 1201 to 1207 are identical to steps 1101 to 1107 in FIG. 8, described above. They are therefore not described again.

Lors de l'étape référencée 1207, on détermine si la valeur absolue de la dérive d'horloge est supérieure ou non à un premier seuil prédéterminé. Ce premier seuil est 30 par exemple égal à un tiers d'une durée de cycle IEEE 1394 (c'est-à-dire 41,7 gs).  During the step referenced 1207, it is determined whether or not the absolute value of the clock drift is greater than a first predetermined threshold. This first threshold is for example equal to one third of an IEEE 1394 cycle time (that is to say 41.7 gs).

Si la valeur absolue de la dérive d'horloge est inférieure ou égale au premier seuil, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée 1216) avant le passage à l'étape finale référencée 1218.  If the absolute value of the clock drift is less than or equal to the first threshold, no adjustment is made and the packet is delivered normally (step referenced 1216) before passing to the final step referenced 1218.

Si la valeur absolue de la dérive d'horloge est supérieure au premier seuil, on 5 vérifie le signe de la dérive d'horloge au cours de l'étape référencée 1209. Si la dérive d'horloge est positive, ceci signifie, que l'écart entre les deux domaines d'horloge augmente. Dans ce cas, l'ajustement du flux (compensation de la dérive d'horloge) est effectué en générant et en insérant un paquet vide (étapes référencées 1210 et 121 1), à la place du paquet 1394 courant. Ce dernier sera transmis pendant le cycle isochrone 10 suivant. En outre, la nouvelle différence DIFFn calculée lors de l'étape référencée 1202 devient la différence de référence DIFreF (étape référencée 1215).  If the absolute value of the clock drift is greater than the first threshold, the sign of the clock drift is checked during the step referenced 1209. If the clock drift is positive, this means that l The gap between the two clock domains increases. In this case, the flow adjustment (compensation for clock drift) is carried out by generating and inserting an empty packet (steps referenced 1210 and 121 1), in place of the current 1394 packet. The latter will be transmitted during the next isochronous cycle 10. In addition, the new difference DIFFn calculated during the step referenced 1202 becomes the reference difference DIFreF (step referenced 1215).

Si la dérive d'horloge est négative, ceci signifie, que l'écart entre les deux domaines d'horloge se réduit. Dans ce cas, on détermine si la dérive d'horloge est supérieure ou non à un second seuil prédéterminé (aussi appelé valeur critique), lors de 15 l'étape référencée 1212. Ce second seuil est par exemple égal aux deux tiers d'une durée de cycle IEEE 1394 (c'est-à-dire 83,4 is).  If the clock drift is negative, this means that the difference between the two clock domains is reduced. In this case, it is determined whether or not the clock drift is greater than a second predetermined threshold (also called critical value), during the step referenced 1212. This second threshold is for example equal to two thirds of a IEEE 1394 cycle time (i.e. 83.4 is).

Si la dérive d'horloge est inférieure ou égale au second seuil, on détermine si le paquet courant est un paquet vide ou non (étape référencée 1213). Si le paquet courant est vide, il est supprimé (c'est-à- dire pas envoyé) et le paquet suivant est envoyé à la 20 place (étape référencée 1214), puis on effectue l'étape référencée 1215 (voir ci- dessus: DIFFref = DIFF.) avant de passer à l'étape finale référencée 1218. Si le paquet courant n'est pas vide, aucun ajustement n'est effectué et le paquet est délivré normalement (étape référencée 1216) avant le passage à l'étape finale référencée 1218.  If the clock drift is less than or equal to the second threshold, it is determined whether the current packet is an empty packet or not (step referenced 1213). If the current packet is empty, it is deleted (i.e. not sent) and the next packet is sent instead (step referenced 1214), then the step referenced 1215 is performed (see above) : DIFFref = DIFF.) Before going to the final step referenced 1218. If the current package is not empty, no adjustment is made and the package is delivered normally (step referenced 1216) before going to final step referenced 1218.

Si la dérive d'horloge est supérieure au second seuil, le paquet courant est 25 supprimé (c'est-à-dire pas envoyé) et le paquet suivant est envoyé à la place (étape référencée 1214), puis on effectue l'étape référencée 1215 (voir ci-dessus: DIFFrf = DIFFJ) avant de passer à l'étape finale référencée 1218.  If the clock drift is greater than the second threshold, the current packet is deleted (i.e. not sent) and the next packet is sent instead (step referenced 1214), then the step is carried out referenced 1215 (see above: DIFFrf = DIFFJ) before proceeding to the final step referenced 1218.

On présente maintenant, en relation avec l'organigramme de la figure 10, un exemple d'algorithme mis en oeuvre par une porte de pont, lorsque se produit une 30 initialisation du bus auquel elle est connectée.  We now present, in relation to the flowchart of FIG. 10, an example of algorithm implemented by a bridge door, when an initialization of the bus to which it is connected occurs.

La troisième norme précitée (" IEEE P1394.1 Standard for High Performance Serial Bus Bridges ") décrit le processus de mise à jour de réseau, permettant d'organiser un ensemble de bus IEEE 1394 formant un réseau. Une porte de pont est sélectionnée en tant que porte principale (" prime portal ") et est en charge d'énumérer 5 les bus du réseau. L'horloge du domaine d'horloge auquel appartient la porte principale est l'horloge maître de référence (" Net Cycle Master ") pour l'ensemble du réseau.  The third standard mentioned above ("IEEE P1394.1 Standard for High Performance Serial Bus Bridges") describes the network update process, making it possible to organize a set of IEEE 1394 buses forming a network. A bridge door is selected as the main door ("prime portal") and is responsible for listing the 5 buses in the network. The clock of the clock domain to which the main door belongs is the reference master clock ("Net Cycle Master") for the entire network.

Toutes les horloges du réseau doivent se synchroniser avec cette l'horloge maître de référence. Dans ce but, ainsi que pour détecter et éliminer des boucles dans le réseau, des portes alpha (" alpha portals ") sont sélectionnées pour tous les bus du réseau, 10 excepté le bus de la porte principale. Chacune de ces portes alpha est notamment en charge d'assurer, grâce à des messages d'ajustement d'horloge, que son horloge locale est synchronisée avec l'horloge du bus connecté à l'autre porte (" co-portal ") du pont dans lequel est compris cette porte alpha.  All the clocks on the network must synchronize with this reference master clock. For this purpose, as well as for detecting and eliminating loops in the network, alpha gates ("alpha portals") are selected for all the buses in the network, except the bus of the main gate. Each of these alpha doors is in particular responsible for ensuring, thanks to clock adjustment messages, that its local clock is synchronized with the clock of the bus connected to the other door ("co-portal") of the bridge in which this alpha gate is included.

Les deuxième et troisième normes précitées (" IEEE Std 1394-1995, Standard 15 for High Performance Serial Bus " et " IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement) ") décrivent les processus d'auto-identification et d'identification par arborescence qui sont effectués après qu'une initialisation de bus se soit produite sur un bus IEEE 1394. Dans un souci de simplification, ces processus ne sont pas représentés sur la figure 10.  The second and third standards mentioned above ("IEEE Std 1394-1995, Standard 15 for High Performance Serial Bus" and "IEEE Std 1394a-2000, Standard for High Performance Serial Bus (Supplement)") describe the self-identification processes and identification by tree structure which are carried out after a bus initialization has occurred on an IEEE 1394 bus. For the sake of simplification, these processes are not shown in FIG. 10.

Lorsqu'une initialisation de bus se produit (étape référencée 1300), la porte de pont réinitialise un indicateur représentant la méthode de synchronisation, de façon que celui-ci indique une méthode par défaut (par exemple, celle définie dans la troisième norme précitée IEEE P1394.1) (étape référencée 1301). Puis, la porte vérifie si elle est sélectionnéeen tant que porte alpha pour le bus auquel elle est connectée (étape 25 référencée 1302). Dans la négative, le processus est terminé et on passe à l'étape finale référencée 1307. Dans l'affirmative, la porte obtient les caractéristiques de l'équipement hébergeant l'horloge maître du bus local (étape référencée 1303), afin de vérifier si cet équipement est conforme à la norme IEEE P1394.1 (c'est-à-dire s'il peut " voir " les ponts et donc recevoir les messages d'ajustement d'horloge précités) (étape référencée 30 1304). Ces caractéristiques sont stockées dans une mémoire " Configuration ROM " de l'équipement. Si l'équipement hébergeant l'horloge maître du bus local est conforme à la norme IEEE P1394.1, la méthode de synchronisation selon la norme IEEE P1394.1 est sélectionnée (étape référencée 1305). Sinon, la méthode d'ajustement de flux selon la présente invention est sélectionnée (étape référencée 1306).  When a bus initialization occurs (step referenced 1300), the bridge door resets an indicator representing the synchronization method, so that it indicates a default method (for example, that defined in the aforementioned third standard IEEE P1394.1) (step referenced 1301). Then, the gate checks if it is selected as an alpha gate for the bus to which it is connected (step 25 referenced 1302). If not, the process is finished and we go to the final step referenced 1307. If so, the door obtains the characteristics of the equipment hosting the master clock of the local bus (step referenced 1303), in order to verify if this equipment complies with the IEEE P1394.1 standard (that is to say if it can "see" the bridges and therefore receive the above-mentioned clock adjustment messages) (step referenced 30 1304). These characteristics are stored in a memory "Configuration ROM" of the equipment. If the equipment hosting the local bus master clock complies with the IEEE P1394.1 standard, the synchronization method according to the IEEE P1394.1 standard is selected (step referenced 1305). Otherwise, the flow adjustment method according to the present invention is selected (step referenced 1306).

On présente maintenant, en relation avec l'organigramme de la figure 11, un 5 exemple d'algorithme mis en oeuvre par une porte de pont, lorsqu'un indicateur de méthode de synchronisation courante est modifié.  We now present, in relation to the flowchart of FIG. 11, an example of an algorithm implemented by a bridge door, when a current synchronization method indicator is modified.

Cet algorithme est effectué par chaque porte de pont, pour chaque direction de traversée du pont par un flux de données. En fonction de l'indicateur de méthode sélectionnée (étape référencée 1311), la porte applique la méthode de synchronisation 10 selon la norme IEEE P1394.1 (étape référencée 1312) ou la méthode d'ajustement de flux selon la présente invention (étape référencée 1313).  This algorithm is performed by each bridge door, for each direction of crossing of the bridge by a data stream. Depending on the method indicator selected (step referenced 1311), the door applies the synchronization method 10 according to the IEEE P1394.1 standard (step referenced 1312) or the flow adjustment method according to the present invention (step referenced 1313).

Quand la méthode de synchronisation selon la norme IEEE P1394.1 est sélectionnée, seul la porte de pont qui est une porte alpha est concernée et est en charge de la transmission des messages d'ajustement d'horloge quand une dérive d'horloge est 15 détectée (conformément à la norme IEEE P1394,1).  When the synchronization method according to the IEEE P1394.1 standard is selected, only the bridge gate which is an alpha gate is concerned and is in charge of the transmission of the clock adjustment messages when a clock drift is 15 detected (in accordance with IEEE P1394.1 standard).

Quand la méthode selon la présente invention est sélectionnée, les deux portes du pont sont concernées, chacune pour une direction de traversée du pont.  When the method according to the present invention is selected, the two doors of the bridge are concerned, each for a direction of crossing the bridge.

Claims (31)

REVENDICATIONS 1. Procédé de maintien d'un débit de lecture constant des données d'un flux de données isochrones traversant un pont interconnectant des premier et second sousréseaux, les premier et second sous-réseaux véhiculant le flux de données dans des 5 premiers paquets et appartenant à des premier et second domaines d'horloge respectivement, les données étant associées à des informations d'horodatage indiquant chacune un instant de lecture de données, caractérisé en ce que, pour chaque premier paquet à transmettre depuis le premier vers le second sous-réseau, le pont effectue les étapes suivantes: - obtention de la dérive d'horloge entre les premier et second domaines d'horloge; - modification, en prenant en compte la dérive d'horloge, de chaque information d'horodatage contenue dans ledit premier paquet.  1. Method for maintaining a constant reading rate of the data of an isochronous data stream crossing a bridge interconnecting first and second subnets, the first and second subnetworks conveying the data stream in first 5 packets and belonging to first and second clock domains respectively, the data being associated with timestamp information each indicating an instant of data reading, characterized in that, for each first packet to be transmitted from the first to the second subnet , the bridge performs the following steps: - obtaining the clock drift between the first and second clock domains; - modification, taking into account the clock drift, of each time stamping information contained in said first packet. 2. Procédé selon la revendication 1, caractérisé en ce que la prise en compte de la dérive d'horloge consiste à soustraire la dérive d'horloge de chaque information 15 d'horodatage contenue dans ledit premier paquet.  2. Method according to claim 1, characterized in that the taking into account of the clock drift consists in subtracting the clock drift from each time stamping information contained in said first packet. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que les premiers paquets véhiculent des seconds paquets comprenant chacun des données et une information d'horodatage associée à ces données.  3. Method according to any one of claims 1 and 2, characterized in that the first packets convey second packets each comprising data and timestamp information associated with these data. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le 20 pont appartient au groupe comprenant: - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau homogène incluant une pluralité de sous-réseaux; - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau hétérogène incluant une pluralité de sous-réseaux et au moins un réseau 25 de base, le réseau de base étant vu comme un sous-réseau par la pluralité de sous-réseaux; - des ponts hétérogènes interconnectant chacun un des sous-réseaux et le réseau de base appartenant audit réseau hétérogène et vu comme un sous- réseau.  4. Method according to any one of claims 1 to 3, characterized in that the bridge belongs to the group comprising: - homogeneous bridges each interconnecting two sub-networks belonging to a homogeneous network including a plurality of sub-networks; homogeneous bridges each interconnecting two sub-networks belonging to a heterogeneous network including a plurality of sub-networks and at least one basic network, the basic network being seen as a sub-network by the plurality of sub-networks; - heterogeneous bridges each interconnecting one of the subnets and the basic network belonging to said heterogeneous network and seen as a subnetwork. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que 30 les sous-réseaux sont des bus de type IEEE 1394, et en ce que les premiers paquets sont des paquets de type IEEE 1394.  5. Method according to any one of claims 1 to 4, characterized in that the subnets are buses of the IEEE 1394 type, and in that the first packets are packets of the IEEE 1394 type. 6. Procédé selon l'une quelconque des revendications 4 et 5, caractérisé en ce que le réseau de base est un réseau commuté.  6. Method according to any one of claims 4 and 5, characterized in that the basic network is a switched network. 7. Procédé selon l'une quelconque des revendications 3 à 6, caractérisé en ce que les seconds paquets sont des paquets de type MPEG2 ou DV.  7. Method according to any one of claims 3 to 6, characterized in that the second packets are packets of MPEG2 or DV type. 8. Procédé selon l'une quelconque des revendications 1 à 7, le pont comprenant des première et seconde portes connectées aux premier et second sous-réseaux respectivement, caractérisé en ce que l'obtention de la dérive d'horloge entre les premier et second domaines d'horloge comprend les étapes suivantes: - on obtient une différence d'horloge courante (DIFFJ), en soustrayant la valeur d'horloge (CTR2,) dans le second domaine d'horloge à la valeur d'horloge (CTR,1n) dans le premier domaine d'horloge, à un instant déterminé (t,); - on obtient une dérive (An) pour l'instant déterminé (t), en soustrayant une différence d'horloge de référence (DIFFre,) à la différence d'horloge courante (DIFFn).  8. Method according to any one of claims 1 to 7, the bridge comprising first and second doors connected to the first and second subnets respectively, characterized in that obtaining the clock drift between the first and second clock domains comprises the following steps: - a current clock difference (DIFFJ) is obtained, by subtracting the clock value (CTR2,) in the second clock domain from the clock value (CTR, 1n ) in the first clock domain, at a determined instant (t,); - a drift (An) is obtained for the determined time (t), by subtracting a reference clock difference (DIFFre,) from the current clock difference (DIFFn). 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que le pont.effectue en outre une compensation de la dérive d'horloge entre les premier et second domaines d'horloge, par ajout ou suppression d'au moins un premier paquet.  9. Method according to any one of claims 1 to 8, characterized in that the pont.effectue also performs compensation for clock drift between the first and second clock domains, by adding or removing at least a first package. 10. Procédé selon la revendication 9, caractérisé en ce que la compensation de la dérive d'horloge comprend les étapes suivantes, effectuées pour chaque premier paquet 20 à transmettre depuis le premier vers le second sous-réseau: - on compare la valeur absolue de la dérive d'horloge avec un premier seuil; - si la valeur absolue de la dérive d'horloge est inférieure ou égale au premier seuil, aucune compensation de la dérive d'horloge n'est effectuée; - si la valeur absolue de la dérive d'horloge est supérieure aui premier seuil, on détermine le signe de la dérive d'horloge: * si la dérive d'horloge est négative, une compensation de la dérive d'horloge est effectuée par insertion d'un premier paquet vide, avant l'envoi du premier paquet courant; * si la dérive d'horloge est positive, une compensation de la dérive d'horloge 30 est effectuée par suppression du premier paquet courant.  10. Method according to claim 9, characterized in that the compensation for clock drift comprises the following steps, carried out for each first packet 20 to be transmitted from the first to the second subnetwork: - the absolute value of clock drift with a first threshold; - if the absolute value of clock drift is less than or equal to the first threshold, no compensation for clock drift is carried out; - if the absolute value of the clock drift is greater than the first threshold, the sign of the clock drift is determined: * if the clock drift is negative, compensation for the clock drift is carried out by insertion a first empty packet, before sending the first current packet; * if the clock drift is positive, compensation for the clock drift 30 is carried out by deleting the first current packet. 11. Procédé selon la revendication 10, caractérisé en ce que si la valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive, on détermine si le premier paquet courant est vide ou non: - s'il est vide, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant; - sinon, aucune compensation de la dérive d'horloge n'est effectuée.  11. Method according to claim 10, characterized in that if the absolute value of the clock drift is greater than the first threshold and if the clock drift is positive, it is determined whether the first current packet is empty or not: - if it is empty, compensation for clock drift is performed by deleting the first current packet; - otherwise, no compensation for clock drift is carried out. 12. Procédé selon la revendication 10, caractérisé en ce que si la valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive - on compare la dérive d'horloge avec un second seuil; - si la dérive d'horloge est inférieure ou égale au second seuil, on détermine si le premier paquet courant est vide ou non: * s'il est vide, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant; * sinon, aucune compensation de la dérive d'horloge n'est effectuée; 15 - si la dérive d'horloge est supérieure au second seuil, une compensation de la dérive d'horloge est effectuée par suppression du premier paquet courant.  12. Method according to claim 10, characterized in that if the absolute value of the clock drift is greater than the first threshold and if the clock drift is positive - the clock drift is compared with a second threshold; - if the clock drift is less than or equal to the second threshold, it is determined whether the first current packet is empty or not: * if it is empty, compensation for the clock drift is carried out by deleting the first current packet ; * otherwise, no compensation for clock drift is carried out; 15 - if the clock drift is greater than the second threshold, compensation for the clock drift is carried out by deleting the first current packet. 13. Procédé selon l'une quelconque des revendications 10 à 12, caractérisé en ce que le premier seuil est compris entre le quart et la moitié de la durée d'un cycle de traitement d'un premier paquet.13. Method according to any one of claims 10 to 12, characterized in that the first threshold is between a quarter and a half of the duration of a processing cycle of a first packet. 14. Procédé selon l'une quelconque des revendications 12 et 13, caractérisé en ce que le second seuil est compris entre la moitié et les trois quarts de la durée d'un cycle de traitement d'un premier paquet.  14. Method according to any one of claims 12 and 13, characterized in that the second threshold is between half and three quarters of the duration of a processing cycle of a first packet. 15. Procédé selon la revendication 8 et l'une quelconque des revendications 9 à 14, caractérisé en ce que la différence d'horloge courante (DIFFn) devient la nouvelle 25 différence d'horloge de référence (DIFFrf), si une compensation de la dérive d'horloge est effectuée, par ajout ou suppression d'au moins un premier paquet.  15. Method according to claim 8 and any one of claims 9 to 14, characterized in that the current clock difference (DIFFn) becomes the new reference clock difference (DIFFrf), if compensation for the clock drift is performed by adding or removing at least one first packet. 16. Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 15, lorsque ledit programme est exécuté sur un ordinateur.  16. Computer program, characterized in that it comprises program code instructions for the execution of the steps of the method according to any one of claims 1 to 15, when said program is executed on a computer. 17. Pont interconnectant des premier et second sous-réseaux, un flux de données isochrones traversant ledit pont, les premier et second sousréseaux véhiculant le flux de données dans des premiers paquets et appartenant à des premier et second domaines d'horloge respectivement, les données étant associées à des informations d'horodatage indiquant chacune un instant de lecture de données, caractérisé en ce que le pont comprend: - des moyens d'obtention de la dérive d'horloge entre les premier et second domaines d'horloge, pour chaque premier paquet à transmettre depuis le premier vers le second sous-réseau; - des moyens de modification, en prenant en compte la dérive d'horloge, de chaque information d'horodatage contenue dans ledit premier paquet; 10 de façon à maintenir un débit de lecture constant des données du flux de données isochrones traversant le pont.  17. Bridge interconnecting first and second subnets, an isochronous data stream crossing said bridge, the first and second subnets carrying the data stream in first packets and belonging to first and second clock domains respectively, the data being associated with time stamping information each indicating an instant of data reading, characterized in that the bridge comprises: - means for obtaining the clock drift between the first and second clock domains, for each first packet to be transmitted from the first to the second subnet; means of modification, taking into account the clock drift, of each time stamping information contained in said first packet; 10 so as to maintain a constant reading rate of the data of the isochronous data stream crossing the bridge. 18. Pont selon la revendication 17, caractérisé en ce que les moyens de modification de chaque information d'horodatage contenue dans ledit premier paquet comprennent des moyens de soustraction de la dérive d'horloge de chaque information d'horodatage 15 contenue dans ledit premier paquet.  18. Bridge according to claim 17, characterized in that the means for modifying each time stamping information contained in said first packet comprise means for subtracting the clock drift from each time stamping information contained in said first packet . 19. Pont selon l'une quelconque des revendications 17 et 18, caractérisé en ce que les premiers paquets véhiculent des seconds paquets comprenant chacun des données et une information d'horodatage associée à ces données.  19. Bridge according to any one of claims 17 and 18, characterized in that the first packets convey second packets each comprising data and timestamp information associated with these data. 20. Pont selon l'une quelconque des revendications 17 à 19, caractérisé en ce qu'il 20 appartient au groupe comprenant: - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau homogène incluant une pluralité de sous-réseaux; - des ponts homogènes interconnectant chacun deux sous-réseaux appartenant à un réseau hétérogène incluant une pluralité de sous-réseaux et au moins un réseau 25 de base, le réseau de base étant vu comme un sous-réseau par la pluralité de sous-réseaux; - des ponts hétérogènes interconnectant chacun un des sous-réseaux et le réseau de base appartenant audit réseau hétérogène et vu comme un sous- réseau.  20. Bridge according to any one of claims 17 to 19, characterized in that it belongs to the group comprising: - homogeneous bridges each interconnecting two sub-networks belonging to a homogeneous network including a plurality of sub-networks; homogeneous bridges each interconnecting two sub-networks belonging to a heterogeneous network including a plurality of sub-networks and at least one basic network, the basic network being seen as a sub-network by the plurality of sub-networks; - heterogeneous bridges each interconnecting one of the subnets and the basic network belonging to said heterogeneous network and seen as a subnetwork. 21. Pont selon l'une quelconque des revendications 17 à 20, caractérisé en ce que les 30 sous-réseaux sont des bus de type IEEE 1394, et en ce que les premiers paquets sont des paquets de type IEEE 1394.  21. Bridge according to any one of claims 17 to 20, characterized in that the 30 subnets are buses of the IEEE 1394 type, and in that the first packets are packets of the IEEE 1394 type. 22. Pont selon l'une quelconque des revendications 20 et 21, caractérisé en ce que le réseau de base est un réseau commuté.  22. Bridge according to any one of claims 20 and 21, characterized in that the basic network is a switched network. 23. Pont selon l'une quelconque des revendications 19 à 22, caractérisé en ce que les seconds paquets sont des paquets de type MPEG2 ou DV.  23. Bridge according to any one of claims 19 to 22, characterized in that the second packets are MPEG2 or DV type packets. 24. Pont selon l'une quelconque des revendications 17 à 23, le pont comprenant des première et seconde portes connectées aux premier et second sous-réseaux respectivement, caractérisé en ce que les moyens d'obtention de la dérive d'horloge entre les premier et second domaines d'horloge comprennent: - des moyens d'obtention d'une différence d'horloge courante (DIFFn), soustrayant la valeur d'horloge (CTR2n) dans le second domaine d'horloge à la valeur d'horloge (CTRI,) dans le premier domaine d'horloge, à un instant déterminé (te); - des moyens d'obtention d'une dérive (An) pour l'instant déterminé (tQ), soustrayant une différence d'horloge de référence (DIFFrC,) à la différence 15 d'horloge courante (DIFFJ).  24. Bridge according to any one of claims 17 to 23, the bridge comprising first and second doors connected to the first and second subnets respectively, characterized in that the means for obtaining the clock drift between the first and second clock domains comprise: means for obtaining a current clock difference (DIFFn), subtracting the clock value (CTR2n) in the second clock domain from the clock value (CTRI ,) in the first clock domain, at a determined instant (te); means for obtaining a drift (An) for the determined instant (tQ), subtracting a reference clock difference (DIFFrC,) from the current clock difference (DIFFJ). 25. Pont selon l'une quelconque des revendications 17 à 24, caractérisé en ce qu'il comprend en outre des moyens de compensation de la dérive d'horloge entre les premier et second domaines d'horloge, par ajout ou suppression d'au moins un premier paquet.  25. Bridge according to any one of claims 17 to 24, characterized in that it further comprises means for compensating for clock drift between the first and second clock domains, by adding or removing at least minus a first package. 26. Pont selon la revendication 25, caractérisé en ce que les moyens de 20 compensation de la dérive d'horloge comprennent: - des moyens de comparaison, pour chaque premier paquet à transmettre depuis le premier vers le second sous-réseau, de la valeur absolue de la dérive d'horloge avec un premier seuil, aucune compensation de la dérive d'horloge n'étant effectuée si la valeur absolue 25 de la dérive d'horloge est inférieure ou égale au premier seuil; - des moyens, activés si la valeur absolue de la dérive d'horloge est supérieure au premier seuil, de détermination du signe de la dérive d'horloge, de façon que: * si la dérive d'horloge est négative, les moyens de compensation de la dérive d'horloge sont activés et insèrent un premier paquet vide, avant l'envoi du 30 premier paquet courant; * si la dérive d'horloge est positive, les moyens de compensation de la dérive d'horloge sont activés et suppriment le premier paquet courant.  26. Bridge according to claim 25, characterized in that the means for compensating for the clock drift comprise: - means for comparing, for each first packet to be transmitted from the first to the second subnetwork, the value absolute of clock drift with a first threshold, no compensation for clock drift being carried out if the absolute value 25 of clock drift is less than or equal to the first threshold; - means, activated if the absolute value of the clock drift is greater than the first threshold, for determining the sign of the clock drift, so that: * if the clock drift is negative, the compensation means clock drift are activated and insert a first empty packet, before sending the first current packet; * if the clock drift is positive, the clock drift compensation means are activated and delete the first current packet. 27. Pont selon la revendication 26, caractérisé en ce que les moyens de compensation de la dérive d'horloge comprennent en outre des moyens, activés si la 5 valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive, de détermination si le premier paquet courant est vide ou non, de façon que: - s'il est vide, les moyens de compensation de la dérive d'horloge sont activés et suppriment le premier paquet courant; - sinon, les moyens de compensation de la dérive d'horloge ne sont pas activés.27. Bridge according to claim 26, characterized in that the means for compensating for the clock drift further comprise means, activated if the absolute value of the clock drift is greater than the first threshold and if the drift d the clock is positive, determining whether the first current packet is empty or not, so that: - if it is empty, the means for compensating for clock drift are activated and delete the first current packet; - otherwise, the clock drift compensation means are not activated. 28. Pont selon la revendication 26, caractérisé en ce que les moyens de compensation de la dérive d'horloge comprennent en outre: - des moyens, activés si la valeur absolue de la dérive d'horloge est supérieure au premier seuil et si la dérive d'horloge est positive, de comparaison de la dérive 15 d'horloge avec un second seuil; - des moyens, activés si la dérive d'horloge est inférieure ou égale au second seuil, de détermination si le premier paquet courant est vide ou non: * s'il est vide, les moyens de compensation de la dérive d'horloge sont activés et suppriment le premier paquet courant; * sinon, les moyens de compensation de la dérive d'horloge ne sont pas activés; les moyens de compensation de la dérive d'horloge étant activés et supprimant le premier paquet courant si la dérive d'horloge est supérieure au second seuil.  28. Bridge according to claim 26, characterized in that the means for compensating for clock drift further comprise: - means, activated if the absolute value of clock drift is greater than the first threshold and if the drift the clock is positive, comparing the clock drift with a second threshold; - means, activated if the clock drift is less than or equal to the second threshold, for determining whether the first current packet is empty or not: * if it is empty, the means for compensating for clock drift are activated and delete the first current packet; * otherwise, the means of compensation for clock drift are not activated; the clock drift compensation means being activated and deleting the first current packet if the clock drift is greater than the second threshold. 29. Pont selon l'une quelconque des revendications 26 à 28, caractérisé en ce que le 25 premier seuil est compris entre le quart et la moitié de la durée d'un cycle de traitement d'un premier paquet.  29. Bridge according to any one of claims 26 to 28, characterized in that the first threshold is between a quarter and a half of the duration of a processing cycle of a first packet. 30. Pont selon l'une quelconque des revendications 28 et 29, caractérisé en ce que le second seuil est compris entre la moitié et les trois quarts de la durée d'un cycle de traitement d'un premier paquet.  30. Bridge according to any one of claims 28 and 29, characterized in that the second threshold is between half and three quarters of the duration of a processing cycle of a first packet. 31. Pont selon la revendication 24 et l'une quelconque des revendications 25 à 30, caractérisé en ce qu'il comprend des moyens de mise à jour de la différence d'horloge, tels que la différence d'horloge courante (DIFFJ) devient la nouvelle différence d'horloge de référence (DIFFref) si les moyens de compensation de la dérive d'horloge sont activés et ajoutent ou suppriment au moins un premier paquet.  31. Bridge according to claim 24 and any one of claims 25 to 30, characterized in that it comprises means for updating the clock difference, such that the current clock difference (DIFFJ) becomes the new reference clock difference (DIFFref) if the means for compensating for clock drift are activated and add or remove at least one first packet.
FR0303664A 2003-03-25 2003-03-25 METHOD FOR MAINTAINING A CONSTANT READING RATE OF DATA OF AN ISOCHRONOUS DATA STREAM CROSSING A BRIDGE, COMPUTER PROGRAM AND CORRESPONDING BRIDGE Expired - Fee Related FR2853173B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0303664A FR2853173B1 (en) 2003-03-25 2003-03-25 METHOD FOR MAINTAINING A CONSTANT READING RATE OF DATA OF AN ISOCHRONOUS DATA STREAM CROSSING A BRIDGE, COMPUTER PROGRAM AND CORRESPONDING BRIDGE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0303664A FR2853173B1 (en) 2003-03-25 2003-03-25 METHOD FOR MAINTAINING A CONSTANT READING RATE OF DATA OF AN ISOCHRONOUS DATA STREAM CROSSING A BRIDGE, COMPUTER PROGRAM AND CORRESPONDING BRIDGE

Publications (2)

Publication Number Publication Date
FR2853173A1 true FR2853173A1 (en) 2004-10-01
FR2853173B1 FR2853173B1 (en) 2006-01-06

Family

ID=32947160

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0303664A Expired - Fee Related FR2853173B1 (en) 2003-03-25 2003-03-25 METHOD FOR MAINTAINING A CONSTANT READING RATE OF DATA OF AN ISOCHRONOUS DATA STREAM CROSSING A BRIDGE, COMPUTER PROGRAM AND CORRESPONDING BRIDGE

Country Status (1)

Country Link
FR (1) FR2853173B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0942556A2 (en) * 1998-03-12 1999-09-15 Sony Corporation Synchronizing method and bridge
EP1047213A2 (en) * 1999-04-22 2000-10-25 Nec Corporation Network synchronization system and network synchronization method
EP1052793A1 (en) * 1999-05-11 2000-11-15 Canon Kabushiki Kaisha Method and device for the synchronisation between two networks
US20020009049A1 (en) * 2000-02-16 2002-01-24 Sony Corporation Method and apparatus for transferring data, and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0942556A2 (en) * 1998-03-12 1999-09-15 Sony Corporation Synchronizing method and bridge
EP1047213A2 (en) * 1999-04-22 2000-10-25 Nec Corporation Network synchronization system and network synchronization method
EP1052793A1 (en) * 1999-05-11 2000-11-15 Canon Kabushiki Kaisha Method and device for the synchronisation between two networks
US20020009049A1 (en) * 2000-02-16 2002-01-24 Sony Corporation Method and apparatus for transferring data, and storage medium

Also Published As

Publication number Publication date
FR2853173B1 (en) 2006-01-06

Similar Documents

Publication Publication Date Title
US7366754B2 (en) Multi-media jitter removal in an asynchronous digital home network
KR100825171B1 (en) Multi-media jitter removal in an asynchronous digital home network
EP1072166B1 (en) Method of and apparatus for isochronous data communication
EP1303954B1 (en) Multi-media jitter removal in an asynchronous digital home network
US7483451B2 (en) Multi-media jitter removal in an asynchronous digital home network
US20050036512A1 (en) Timestamping network controller for streaming media applications
FR3004878A1 (en) DISTRIBUTED METHOD OF ACQUIRING DATA IN AN AFDX NETWORK.
EP0293314A1 (en) Method and system for controlling the flow of data packets
FR2804812A1 (en) METHOD AND DEVICE FOR COMMUNICATION BETWEEN A FIRST AND A SECOND NETWORK
FR2998125A1 (en) METHOD FOR TRANSMITTING DATA PACKETS BETWEEN TWO COMMUNICATION MODULES AND TRANSMITTER MODULE AND RECEIVER MODULE
US7319704B2 (en) Semiconductor device capable of correcting time stamp and method of correcting time stamp
FR2790892A1 (en) METHOD AND DEVICE FOR CONTROLLING THE SYNCHRONIZATION BETWEEN TWO SERIAL COMMUNICATION BUSES OF A NETWORK
FR2853173A1 (en) Isochronous data e.g. audio data, flow reading method for data communication network, involves modifying time stamping information based on cycle drift, where stamping information indicates reading time of data
FR2850508A1 (en) Numerical bus heterogeneous network access control has access level each first packet and second packet formed first packet and associated same access level inserting level second packet access field
FR2848056A1 (en) Audiovisual domestic digital bus heterogeneous network destination node information synchronization having input node second synchronization packet set following first packet and inserting synchronization mark second packet
FR2762172A1 (en) Signal processing circuit receiving packet data from application side for transfer to serial bus
WO2002007436A1 (en) Method and device for reading mpeg recorded data transmitted on an ieee 1394 bus
FR2839227A1 (en) Video data transmission procedure uses proportion of correctly transmitted packets determined at each frame start to adjust rate for wired to radio network transfer
FR2793624A1 (en) Communication network method for synchronization between 2 communication networks exchanging data by frame of informations uses clockm and several clock pulses monitored by counter and uses read information to make synchronization
FR2842682A1 (en) Isochronous data stream connection setting method for digital bus networks uses bridge system with parameterizable delay
EP0788716A1 (en) Digital data packet multiplexer, in particular for digital television
FR2760918A1 (en) RADIOCOMMUNICATION TERMINAL FOR THE PROCESSING OF DATA, INTERNET SERVERS AND ELECTRONIC MESSAGING IN PARTICULAR
FR2793625A1 (en) Communication network method for synchronization between 2 communication networks exchanging data by frame of informations uses clockm and several clock pulses monitored by counter and uses read information to make synchronization
FR2831745A1 (en) Isochronous domestic TV distribution set up procedure equalises sub flow delays
FR2949030A1 (en) Source and destination applications synchronization method for synchronous time division multiplexing network, involves delaying presentation of data such that total elapsed time between data transmission and presentation is equal

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128