Brevet FR2895620A1 — publié le 20070629

PROCEDE ET PRODUIT PROGRAMME D'ORDINATEUR POUR LA TRANSMISSION SYNCHRONE DE PAQUETS DE DONNEES La présente invention concerne des systèmes d'information. Certaines applications ont des exigences de grande largeur de bande et des exigences strictes de synchronisation, de latence et de fiabilité pour des communications. Par exemple, la chirurgie assistée par robot exige une grande largeur de bande pour transmettre des signaux de commande et de retour en temps réel. Les exigences de synchronisation et de latence de telles applications sont strictes, du fait que dans le cas idéal il doit y avoir aussi peu de retard que possible entre les mouvements d'un chirurgien et les mouvements du robot. Dans ces applications, les communications doivent être hautement fiables, du fait qu'une erreur de transmission de données pourrait blesser un patient. Un système de communication classique utilisé dans la chirurgie assistée par robot utilise plusieurs centaines de voies (par exemple des fils) pour connecter une console de commande d'un chirurgien à des bras de robot. Cependant, l'utilisation de plusieurs centaines de voies rend malcommodes l'installation et la maintenance du système, et exige beaucoup de place pour faire passer toutes les voies. Des standards de communication classiques procurent des performances acceptables dans certains domaines, mais sont insuffisants dans d'autres. Par exemple, le standard d'interface IEEE-1394 procure une communication point à point série synchrone. Des canaux IEEE-1394 ont une largeur de bande garantie mais peuvent assurer la synchronisation seulement avec une tolérance d'environ 125 microsecondes. De telles performances peuvent ne pas être suffisantes pour certaines applications exigeant une synchronisation plus serrée. Selon un aspect, il est proposé un procédé qui inclut l'émission d'un premier paquet de données à partir d'un premier noeud vers un deuxième noeud. Le premier paquet de données comprend un champ de 2 données, qui contient des données autres que des données de remplissage provenant du premier noeud. Un deuxième paquet de données est émis par le premier noeud vers le deuxième noeud après l'émission du premier paquet de données. L'émission du deuxième paquet de données commence avant qu'une information d'acquittement quelconque correspondant au premier paquet de données n'ait été reçue à partir du deuxième noeud. Un troisième paquet de données qui a été émis par le deuxième noeud est reçu au premier noeud. Le troisième paquet de données contient une information d'acquittement indiquant si le premier paquet de données a été reçu correctement par le deuxième noeud. L'émission du premier paquet de données et la réception du troisième paquet de données sont verrouillées mutuellement de façon que le troisième paquet de données soit reçu sensiblement au bout d'une durée prédéterminée après l'émission du premier paquet de données. Des formes de réalisation particulières peuvent inclure une ou plusieurs des caractéristiques suivantes. Le deuxième paquet de données peut être émis indépendamment du fait que le premier noeud ait ou non des données autres que des données de remplissage devant être placées dans un champ de données du deuxième paquet de données. Chacun des premier, deuxième et troisième paquet de données peut inclure une information de contrôle de flux respective. L'information de contrôle de flux dans les premier et deuxième paquets de données concerne le premier noeud, et l'information de contrôle de flux dans le troisième paquet de données concerne le deuxième noeud. L'information de contrôle de flux peut inclure une information de contrôle de flux séparée pour de multiples canaux. Le premier paquet de données peut inclure une information d'en-tête indiquant sur lequel d'une multiplicité de canaux les données autres que des données de remplissage sont émises. Chacun des premier et deuxième paquets de données peut inclure une indication d'un état de défaut du premier noeud. Le troisième paquet de données peut inclure une indication d'un état de défaut du deuxième noeud. Les premier, deuxième et troisième paquets de données peuvent avoir une même longueur. Un quatrième paquet de données peut être reçu au premier 35 noeud. Le quatrième paquet de données est émis par le deuxième noeud et 3 contient une information d'acquittement indiquant si le deuxième paquet de données a été reçu correctement par le deuxième noeud. L'émission du deuxième paquet de données et la réception du quatrième paquet de données peuvent être verrouillées mutuellement de façon que le quatrième paquet de données soit reçu sensiblement au bout de la durée prédéterminée après l'émission du deuxième paquet de données. Un cinquième paquet de données peut être reçu au premier noeud avant que le troisième paquet de données ne soit reçu. Le cinquième paquet de données est émis par le deuxième noeud avant le troisième paquet de données, et le cinquième paquet de données n'inclut pas une information d'acquittement indiquant si un paquet de données particulier a été reçu correctement par le deuxième noeud. Selon un autre aspect, il est proposé un procédé qui inclut la transmission synchrone de paquets de données entre un premier noeud et un deuxième noeud. Des paquets de données sont émis par le premier noeud sans attendre un acquittement signalant la réception par le deuxième noeud. Un acquittement provenant du deuxième noeud et signalant la réception d'un paquet de données déterminé est ensuite reçu au premier noeud. L'acquittement est reçu sensiblement au bout d'une durée prédéterminée à la suite de l'émission du paquet de données déterminé, et il indique que le deuxième noeud a reçu le paquet de données déterminé non corrompu. Dans une forme de réalisation particulière, un paquet de données spécifique peut être envoyé à nouveau si un acquittement signalant la réception du paquet de données spécifique n'est pas reçu sensiblement au bout de la durée prédéterminée à la suite de l'émission du paquet de données spécifique. Selon encore un autre aspect, il est proposé un procédé qui comprend l'émission d'un premier paquet de données à partir d'un premier noeud vers un deuxième noeud. Le premier paquet de données comprend un premier champ de données qui contient des données autres que des données de remplissage, provenant du premier noeud. Le premier paquet de données est reçu au deuxième noeud, et la réception du premier paquet prend une durée finie. L'émission d'un deuxième paquet de données à partir du deuxième noeud vers le premier noeud est commencée après que la réception du premier paquet de données a commencé, mais avant que la réception du premier paquet de données ne se soit terminée. Le deuxième paquet de données est reçu au premier noeud, et la réception du deuxième paquet de données prend une durée finie. L'émission d'un troisième paquet de données à partir du premier noeud vers le deuxième noeud est commencée après que l'émission du premier paquet de données s'est terminée, après que la réception du deuxième paquet de données a commencé, et avant que la réception du deuxième paquet de données ne se soit terminée. L'émission du troisième paquet de données commence avant qu'une information d'acquittement quelconque correspondant au premier paquet de données n'ait été reçue à partir du deuxième noeud. Le troisième paquet de données est reçu au deuxième noeud, et la réception du troisième paquet de données prend une durée finie. L'émission d'un quatrième paquet de données à partir du deuxième noeud vers le premier noeud est commencée après que l'émission du deuxième paquet de données s'est terminée, avant que la réception du troisième paquet de données n'ait commencé, et avant que la réception du troisième paquet de données ne se soit terminée. L'émission du quatrième paquet de données commence avant qu'une information d'acquittement quelconque correspondant au deuxième paquet de données n'ait été reçue à partir du premier noeud. Le quatrième paquet de données contient une information d'acquittement indiquant si le premier paquet de données a été reçu correctement par le deuxième noeud. L'émission du premier paquet de données et l'émission du quatrième paquet de données sont verrouillées mutuellement de façon que le quatrième paquet de données soit émis sensiblement au bout d'une durée prédéterminée après l'émission du premier paquet de données. Le quatrième paquet est reçu au premier noeud, et l'information d'acquittement indiquant si le premier paquet de données a été reçu correctement est traitée au premier noeud. Le premier noeud réémet le premier paquet de données si le premier paquet de données n'a pas été reçu correctement au deuxième noeud. Selon un autre aspect, l'invention propose un produit programme d'ordinateur matérialisé sur un support lisible par ordinateur, le produit programme d'ordinateur comprenant des instructions pouvant 35 être exécutées pour faire en sorte qu'un processeur programmable accomplisse les opérations suivantes : émettre un premier paquet de données à partir d'un premier noeud vers un deuxième noeud, le premier paquet de données incluant un premier champ de données contenant des données autres que des 5 données de remplissage issues du premier noeud; émettre un deuxième paquet de données à partir du premier noeud vers le deuxième noeud après l'émission du premier paquet de données, l'émission du deuxième paquet de données commençant avant qu'une information d'acquittement quelconque correspondant au premier paquet de données n'ait été reçue à partir du deuxième noeud; et recevoir un troisième paquet de données au premier noeud, le troisième paquet de données ayant été émis par le deuxième noeud, le troisième paquet de données incluant une information d'acquittement indiquant si le premier paquet de données a été reçu correctement par le deuxième noeud, l'émission du premier paquet de données et la réception du troisième paquet de données étant verrouillées mutuellement de façon que le troisième paquet de données soit reçu sensiblement au bout d'une durée prédéterminée après l'émission du premier paquet de données. Dans des formes de réalisation particulières, le produit programme peut présenter une ou plusieurs des caractéristiques suivantes. Le deuxième paquet de données peut être émis indépendamment du fait que le premier noeud ait ou non des données autres que des données de remplissage à placer dans un deuxième champ de données du deuxième paquet de données. Chacun des premier, deuxième et troisième paquets de données peut contenir une information de contrôle de flux respective, l'information de contrôle de flux dans les premier et deuxième paquets de données concernant le premier noeud, et l'information de contrôle de flux dans le 30 troisième paquet de données concernant le deuxième noeud. L'information de contrôle de flux peut contenir une information de contrôle de flux séparée pour de multiples canaux. Le premier paquet de données comprend une information d'en-tête indiquant sur lequel d'une multiplicité de canaux les données autres 35 que des données de remplissage sont émises. 6 Chacun des premier et deuxième paquets de données peut comprendre une indication d'un état de défaut du premier noeud; et le troisième paquet de données comprend une indication d'un état de défaut du deuxième noeud. Le produit programme d'ordinateur peut comprendre en outre des instructions pouvant être exécutées pour accomplir les opérations suivantes : recevoir un cinquième paquet de données au premier noeud avant que le troisième paquet de données ne soit reçu, le cinquième paquet de données ayant été émis par le deuxième noeud avant le troisième paquet de données, le cinquième paquet de données n'incluant pas une information d'acquittement indiquant si un paquet de données particulier a été reçu correctement par le deuxième noeud. Selon encore un autre aspect, l'invention propose un produit programme d'ordinateur matérialisé sur un support lisible par ordinateur, le produit programme d'ordinateur comprenant des instructions pouvant être exécutées pour faire en sorte qu'un processeur programmable accomplisse les opérations consistant à : effectuer une transmission synchrone de paquets de données entre un premier noeud et un deuxième noeud, ceci incluant les étapes 20 suivantes: émettre des paquets de données à partir du premier noeud sans attendre un acquittement signalant la réception par le deuxième noeud; et recevoir ensuite au premier noeud un acquittement provenant du deuxième noeud, signalant la réception d'un paquet de données 25 déterminé, l'acquittement étant reçu sensiblement au bout d'une durée prédéterminée à la suite de l'émission du paquet de données déterminé, l'acquittement indiquant que le deuxième noeud a reçu le paquet de données déterminé non corrompu. Des modes de réalisation particuliers peuvent être mis en oeuvre 30 de façon à obtenir un ou plusieurs des avantages suivants. Un émetteur et un récepteur peuvent être synchronisés de façon très précise (par exemple avec une tolérance d'environ 10 microsecondes ou moins). La latence peut être limitée et maintenue à une valeur faible (par exemple moins d'environ 10 microsecondes). Des données peuvent être émises 35 avec une faible latence sur un seul connecteur de voie physique. Un même protocole de communication peut être utilisé pour de multiples liaisons de communication fonctionnant à des vitesses différentes dans un seul système. Le protocole de communication peut être mis en oeuvre par matériel de façon peu coûteuse. II est possible d'utiliser pour l'émission de données une largeur de bande qui serait par ailleurs utilisée pour attendre un acquittement. La détection d'erreur et la reprise sur erreur peuvent être effectuées en même temps sur une information de contrôle de flux et une information d'acquittement. Une information de défaut peut être transmise rapidement à travers un système. De multiples flux de données indépendants à des niveaux de priorité différents peuvent être transmis à travers l'ensemble du système. Ces aspects généraux et spécifiques peuvent être mis en oeuvre en utilisant un procédé, un appareil, un système, ou n'importe quelle combinaison de procédés, appareils et systèmes. Les détails d'un ou plusieurs modes de réalisation de l'invention sont présentés dans les dessins annexés et la description ci-dessous. D'autres caractéristiques, aspects et avantages de l'invention ressortiront de la description, des dessins et des revendications. Dans les dessins : La figure 1 est un schéma synoptique d'un système qui comprend de multiples noeuds connectés par des liaisons. La figure 2 est un schéma de la structure d'un paquet de données. La figure 3 est un diagramme temporel de la transmission de paquets entre des noeuds. La figure 4 est un diagramme temporel d'un scénario de reprise sur erreur. La figure 5 est un diagramme temporel d'un scénario de reprise sur erreur. La figure 6 est un organigramme d'un processus exécuté à un 30 noeud. Des numéros de référence et des désignations semblables dans les divers dessins indiquent des éléments semblables. On décrit une couche liaison qui utilise un flux sensiblement continu de données série en duplex intégral entre deux noeuds de 35 système. Des noeuds peuvent inclure, par exemple, des ordinateurs, des processeurs programmables, des réseaux de portes programmables par l'utilisateur (FPGA pour "Field-Programmable Gate Array"), ou un autre appareil de traitement de données. Les données sont divisées en paquets de longueur fixée. Chaque paquet de longueur fixée peut contenir des données, de l'information de contrôle d'erreur, de l'information de contrôle de flux, de l'information de diagnostic, de l'information de défaut et de l'information de commande de retransmission. Les données dans chaque paquet peuvent inclure des données au niveau de matériel ou des parties de messages (par exemple des messages de logiciel). Les paquets de longueur fixée sont transmis continuellement entre deux noeuds, indépendamment du fait que des données à émettre soient disponibles ou non. Lorsqu'il n'y a pas de données disponibles pour l'émission, le champ de données d'un paquet peut être rempli avec des données de "remplissage" qui peuvent être rejetées au noeud de réception. Les paquets émis comprennent des acquittements de paquets reçus précédemment, et un noeud émetteur émettra un premier paquet et commencera à émettre au moins un paquet suivant avant de recevoir un acquittement du premier paquet provenant du noeud de réception. L'émission et la réception de paquets à un noeud sont verrouillées mutuellement, comme on le décrira ci-dessous de façon plus détaillée. Comme représenté sur la figure 1, des données provenant d'un premier noeud 110 peuvent être émises vers de multiples noeuds de destination - par exemple, un deuxième noeud 120, un troisième noeud 130 et un quatrième noeud 140 - en multiplexant les données sur une liaison. Des noeuds entre le premier noeud 110 et un noeud de destination particulier peuvent effectuer le routage des données. Le premier noeud 110 peut émettre des données pour le deuxième noeud 120 sur une première liaison 125. Le premier noeud 110 peut également émettre des données pour le troisième noeud 130 sur la première liaison 125 dirigée vers le deuxième noeud 120, et le deuxième noeud 120 peut router les données vers le troisième noeud 130 sur une deuxième liaison 135. De façon similaire, le premier noeud 110 peut émettre des données pour le quatrième noeud 140 sur la première liaison 125, et le deuxième noeud 120 peut router les données vers le quatrième noeud 140 sur une troisième liaison 145. La désignation d'un noeud de destination peut être effectuée, dans une forme de réalisation, dans un message qui est inclus dans les données qui sont émises. Dans cette forme de réalisation, le deuxième noeud 120 traite de façon caractéristique au moins une partie d'un message qui est envoyé par le premier noeud 110, avant d'envoyer au noeud de destination des paquets contenant des parties du message. Si le deuxième noeud 120 est lui-même le noeud de destination, il n'est pas nécessaire d'émettre le message plus loin. Dans certains systèmes, des communications entre le premier noeud 110 et le troisième noeud 130 et le quatrième noeud 140 ont lieu plus fréquemment que des communications entre le troisième noeud 130 et le quatrième noeud 140. Dans de tels systèmes, la première liaison 125 peut être une liaison plus rapide que la deuxième liaison 135 ou la troisième liaison 145, pour procurer une capacité suffisante pour le plus grand volume de données qui transite sur la première liaison 125. Les noeuds 110, 120, 130 et 140 peuvent inclure un ou plusieurs tampons de données matériels 152 à 164 qui reçoivent des messages et conservent les messages jusqu'à ce qu'un logiciel s'exécutant sur le noeud respectif ou sur un appareil de traitement de données en communication avec le noeud respectif, soit prêt à recevoir les messages. Comme représenté sur la figure 2, un paquet de longueur fixée 200 d'une forme de réalisation peut inclure de multiples octets 201 à 240. Bien qu'un paquet de 40 octets soit représenté, le paquet de longueur fixée peut avoir d'autres longueurs. Dans la forme de réalisation représentée, une information de commande est placée dans 8 des 40 octets, et des données sont placées dans les 32 octets restants. Le premier octet 201 est un champ de synchronisation qui peut être utilisé pour maintenir la synchronisation de trame des octets à un noeud qui reçoit les paquets. Un octet de synchronisation supplémentaire peut être ajouté périodiquement à un paquet (par exemple une fois tous les 128 paquets) pour compenser une dérive d'horloge entre des noeuds. Le deuxième octet 202 est un champ d'acquittement qui indique si le dernier paquet reçu par le noeud émettant le paquet 200 a été reçu correctement (par exemple, incluait une information de contrôle d'erreur valide). Le deuxième octet 202 peut être fixé à une valeur (par exemple OxAC) pour indiquer un acquittement (ACK) signalant que le dernier paquet a été reçu correctement, et à la valeur inverse (par exemple 0x53) pour indiquer que le dernier paquet n'a pas été reçu correctement (non-acquittement ou NAK). Dans une forme de réalisation, toute valeur autre que la valeur d'acquittement peut être interprétée comme "non-acquittement". Dans cette forme de réalisation, si la valeur NAK est l'inverse de la valeur ACK, une erreur portant sur 8 bits est exigée pour transformer un NAK émis en un ACK. Le troisième octet 203 est un champ de réponse qui contient de multiples bits de commande, comme un bit de mode de test qui indique que le système est dans un mode de test de diagnostic, et un bit XOFF pour chacun de multiples canaux de message (par exemple des canaux de priorité basse, moyenne et élevée). Les bits de commande peuvent également inclure un bit de retransmission qui, lorsqu'il est instauré, indique que le paquet 200 est une retransmission d'un paquet antérieur. Un ou plusieurs des bits de commande peuvent également être des bits de défaut, qui indiquent qu'une erreur a eu lieu dans le système. Le quatrième octet 204 est un champ d'en-tête. Le champ d'en-tête peut inclure de multiples sous-champs, comme un sous-champ de sélection de canal et un sous-champ d'ordre. Le sous-champ de sélection de canal est utilisé pour indiquer sur un canal de quelle priorité les données dans le paquet 200 sont émises. Le sous-champ d'ordre peut inclure des instructions pour purger des tampons et faire redémarrer un flux de messages. Le sous-champ d'ordre peut inclure des instructions demandant que des données particulières soient envoyées sur le canal matériel, ou des codes pour identifier de telles données. Le sous-champ d'ordre peut également être utilisé pour synchroniser le système. Par exemple, au début d'un cycle de synchronisation, un paquet qui contient l'ordre de synchronisation peut être envoyé, ce qui permet à des sous- systèmes à l'intérieur du système de maintenir la synchronisation (par exemple avec une tolérance de 10 microsecondes). Le cinquième octet 205 est un champ de numéro de séquence qui contient un numéro de séquence qui peut être utilisé par un noeud récepteur pour détecter des erreurs de transmission. Les octets allant du sixième octet 206 jusqu'au 37-ième octet 237 appartiennent à un champ de données qui contient 32 octets de données, comme un message ou une partie d'un message. Le 38-ième octet 238 est un champ de fin de paquet qui spécifie combien des octets dans le champ de données correspondent à un message, et combien d'octets sont des octets de remplissage. Le champ de fin de paquet peut également inclure un bit indicateur de fin de message qui est instauré lorsque les octets dans le champ de données terminent un message. Le bit indicateur de fin de message peut déclencher une interruption au noeud de réception. Les octets allant du 39-ième octet 239 au 40-ième octet 240 font partie d'un champ de contrôle d'erreur qui peut contenir, dans une forme de réalisation, une valeur de code de redondance cyclique (CRC) à 16 bits (calculée par exemple en utilisant l'algorithme CRC à 16 bits du CCITT). Lorsqu'un noeud reçoit un paquet, le noeud peut utiliser le champ de contrôle d'erreur pour déterminer si une erreur s'est produite pendant que le paquet était émis ou reçu. La structure du paquet 200 autorise des signaux de logique de réaction à un défaut (FRL pour "Fault Reaction Logic") qui indiquent un défaut dans un noeud, pouvant être communiqués de multiples manières. Par exemple, des signaux FRL peuvent être émis dans une information de commande de paquet (par exemple dans les bits de commande du champ de réponse du paquet 200), et/ou dans des messages. Le fait d'émettre des signaux FRL directement dans l'information de commande de paquet permet d'émettre très rapidement une information de défaut, dans l'ensemble du système, et de traiter cette information à un niveau très bas. Un signal de défaut au niveau de l'ensemble du système peut être propagé sans intervention du logiciel, et un matériel de réaction à un défaut peut placer le système dans un état de sécurité lorsqu'un signal de défaut est reçu. Une fois que le problème qui a occasionné le défaut a été résolu (par exemple par l'intervention d'un opérateur humain), le signal de défaut peut être effacé et le système peut retourner à un état fonctionnel. Lorsque le signal de défaut est effacé, le signal FRL indiquant un défaut n'est typiquement pas émis dans l'information de commande de paquet, jusqu'à ce qu'un autre défaut se produise. Un système robotique de chirurgie est un exemple d'un système dans lequel la propagation rapide d'un signal de défaut est avantageuse. Un tel système peut inclure de multiples bras de robot qui tiennent des instruments ou des dispositifs chirurgicaux (par exemple laparoscopes, endoscopes, lampes, caméras et insufflateurs), dont certains peuvent être à l'intérieur d'un patient. Les bras de robot sont typiquement manipulés à distance par un chirurgien. Des communications entre des commandes que le chirurgien actionne et les noeuds qui commandent les bras de robot peuvent utiliser les procédés, systèmes et appareils décrits dans le présent exposé. Si un défaut se produit dans un tel système, les bras de robot peuvent être verrouillés en place, de façon que le patient ne soit pas blessé par des mouvements non désirés des bras de robot. Lorsqu'un défaut de système se produit et le défaut de système se propage entre des noeuds, des freins peuvent être serrés aux articulations des bras de robot, et la communication d'ordres de mouvement peut être suspendue jusqu'à ce que le défaut soit éliminé par un opérateur humain ou automatiquement par une unité de surveillance de système. La structure de paquet décrite permet d'envoyer des données telles que des messages sur un seul canal ou sur de multiples canaux qui sont multiplexés sur une connexion série. Le canal sur lequel un message particulier est envoyé est indiqué par le souschamp de sélection de canal dans le paquet 200. Le logiciel de système peut placer des messages dans différents tampons de matériel pour chaque canal (par exemple en utilisant différentes adresses), et le matériel de système assigne automatiquement un message à un canal sur la base du tampon dans lequel le message a été placé. [)es niveaux de priorité différents peuvent être assignés aux multiples canaux. Dans une forme de réalisation, lorsque des messages de différentes priorités sont en attente d'être émis, un paquet ou un groupe de paquets contenant des données qui sont émises sur un canal de priorité élevée est émis avant un paquet ou un groupe de paquets contenant des données qui sont émises sur un canal de faible priorité. Dans une autre forme de réalisation, on alloue davantage de créneaux d'émission à des paquets contenant des données qui sont émises sur un canal de priorité élevée, en comparaison avec des paquets contenant des données qui sont émises sur un canal de faible priorité. Des messages pour lesquels le temps est critique peuvent être émis sur le canal de priorité élevée, tandis que des messages relativement peu importants peuvent être émis sur le canal de faible priorité. Le matériel de système peut automatiquement émettre une partie d'un message une fois que des données en quantité suffisante pour remplir un paquet ont été écrites dansun tampon. Ainsi, une émission de message peut être effectuée au fur et à mesure que des données deviennent disponibles, et il n'est pas nécessaire d'attendre jusqu'à ce qu'un message entier ait été écrit dans le tampon. Les bits XOFF dans le troisième octet 203 commandent le flux de données dans les canaux. Chaque noeud peut inclure de multiples tampons de matériel qui reçoivent des messages émis sur l'un respectif des multiples canaux. Par exemple, des messages de priorité élevée sont stockés dans un tampon de priorité élevée, et des messages de faible priorité sont stockés dans un tampon de faible priorité. Lorsqu'un premier noeud qui émet le paquet 200 instaure un bit XOFF dans le paquet 200, le premier noeud donne l'instruction à un deuxième noeud qui reçoit le paquet 200, d'arrêter d'émettre des données vers le premier noeud sur le canal de données respectif. Le matériel du premier noeud peut instaurer automatiquement un bit XOFF pour un canal de données, par exemple, lorsqu'un tampon dans lequel le premier noeud place des messages provenant de ce canal de données devient plein. Dans une forme de réalisation, un seuil pour fixer le moment auquel un noeud instaure le bit XOFF pour un canal donné, est fixé égal à la taille du tampon de réception du canal respectif dans le noeud (par exemple 512 mots) moins 32 mots (4 paquets). La marge de 32 mots donne au noeud récepteur le temps de recevoir le signal XOFF et d'agir sur lui, avec une marge d'erreur. D'autres niveaux de seuil sont possibles. Le matériel du premier noeud peut également instaurer le bit XOFF pour le canal de données lorsqu'un grand nombre de messages (par exemple 12) se trouvent dans le tampon de réception. Le matériel peut automatiquement restaurer le bit XOFF pour le canal de données, une fois que des paquets ou des messages sont retirés du tampon. Chaque canal de priorité peut avoir un tampon de réception respectif dans un noeud. Du fait que les bits XOFF sont émis dans chaque paquet, le champ de contrôle d'erreur s'applique aux bits XOFF et protège contre une corruption des bits XOFF. De multiples canaux de communication peuvent être mis à disposition dans la couche liaison, en utilisant le sous-champ de sélection de canal décrit ci-dessus. Par exemple, il est possible de mettre en oeuvre un canal réalisé par matériel et des canaux de priorité élevée, moyenne et basse. Des messages peuvent avoir une longueur variable (par exemple entre 3 et 128 mots) et peuvent être émis dans un ou plusieurs paquets, en fonction de la longueur du message. Le premier octet d'un message peut contenir l'adresse d'un noeud de destination pour le message. Le matériel de système peut fragmenter des messages en multiples paquets à un noeud d'émission et défragmenter les messages à un noeud de réception. Si un message ne remplit pas la partie de données d'un paquet, des données de remplissage peuvent être insérées dans le reste de la partie de données. Des tampons d'émission et de réception pour les messages peuvent être réalisés par matériel. Par exemple, un noeud peut inclure des tampons d'émission et de réception réalisés par matériel pour chaque canal (par exemple des canaux de priorité élevée, moyenne et basse). Dans une forme de réalisation, des tampons d'émission et de réception pour les canaux ont 1,5 fois une taille de message maximale. La figure 3 montre un diagramme temporel de principe pour la communication entre deux noeuds utilisant des paquets tels que ceux envisagés dans le contexte de la figure 2. Des paquets 301 à 304 sont émis séquentiellement par un noeud primaire vers un noeud secondaire. Des paquets 311 à 314 sont reçus au noeud secondaire et correspondent aux paquets 301 à 304, bien que les paquets 311 à 314 puissent être des versions corrompues des paquets 301 à 304 respectifs, si des erreurs de transmission se sont produites. La réception des paquets 311 à 314 est retardée dans le temps par rapport à l'émission des paquets 301 à 304, à cause du temps de propagation fini du paquet le long d'une liaison. Dans l'exemple représenté sur la figure 3, le temps de propagation du paquet est inférieur à la durée du paquet (la durée nécessaire au noeud primaire pour émettre le paquet). Le noeud secondaire émet des paquets 355 à 358 vers le noeud primaire. Des paquets 365 à 368 sont reçus au noeud primaire après un retard et correspondent aux paquets 355 à 358. Le paquet 356 comprend un champ d'acquittement qui porte sur le paquet 301. Si le paquet 311 (qui correspond au paquet 301) a été reçu correctement au noeud 15 secondaire, le paquet 356 comprend un acquittement, ACK, pour le paquet 301. Si le paquet 311 n'a pas été reçu correctement, le paquet 306 comprend un acquittement négatif, NAK. Le paquet 357 comprend un champ d'acquittement correspondant au paquet 302. De façon similaire, le paquet 303 comprend un champ d'acquittement qui indique si le paquet 365 a été reçu correctement ou non au noeud primaire et le paquet 304 comprend un champ d'acquittement pour le paquet 366. Dans une forme de réalisation, le noeud secondaire ne commence pas à émettre des paquets avant qu'un premier champ d'acquittement ne soit reçu à partir du noeud primaire. Par exemple, le noeud secondaire ne commence pas à émettre le paquet 355 jusqu'à ce que le noeud secondaire reçoive le champ d'acquittement dans le paquet 311. Pour faciliter la synchronisation initiale entre les noeuds primaire et secondaire, les deux noeuds peuvent émettre l'un vers l'autre plusieurs octets de synchronisation séquentiels, avant que le noeud primaire n'émette le paquet 301. La figure 3 illustre un cas dans lequel il y a un "pipeline" de deux paquets entre les noeuds primaire et secondaire. Le paquet 356 contient un champ d'acquittement pour le paquet 301. Si le champ d'acquittement contient un acquittement ACK, le noeud primaire émet le paquet 303. Cependant, si le champ d'acquittement du paquet 356 contient un non acquittement NAK, le noeud primaire peut réassembler et réémettre les paquets 301 et 302. Dans cette forme de réalisation, deux paquets sont réémis lorsqu'un non acquittement NAK est reçu pour le premier des deux paquets, afin de resynchroniser le système. Si le premier des deux paquets n'a pas été reçu correctement, le deuxième paquet peut être réémis sans contrôler si le deuxième paquet a été reçu correctement la première fois qu'il a été émis. Dans une situation dans laquelle l'erreur dans le premier paquet était occasionnée par une perte de synchronisation entre les deux noeuds, le deuxième paquet contiendra probablement des erreurs, ce qui fait que le deuxième paquet est réémis préventivement. Le noeud qui a émis le non acquittement NAK réémettra également les deux derniers paquets qu'il a émis avant d'émettre le non acquittement NAK. La figure 3 est décrite comme étant un pipeline de deux paquets entre les noeuds primaire et secondaire, du fait qu'un champ 16 d'acquittement est reçu pour un paquet donné seulement après qu'un autre paquet a été émis. Le temps aller et retour entre les noeuds primaire et secondaire est égal ou légèrement inférieur au temps exigé pour émettre un paquet - c'est-à-dire que le noeud primaire commencera à recevoir le paquet 365 avant que le noeud primaire n'ait terminé d'émettre le paquet 301. Le temps aller et retour dépend de façon caractéristique du retard de propagation sur une liaison et du temps de traitement à un noeud. Des temps aller et retour plus longs (plus longs en temps absolu ou en temps relatif par rapport à la durée d'un paquet) peuvent également être utilisés dans un système et peuvent donner un pipeline qui est plus profond que deux paquets. Des paquets sont émis sensiblement de façon continue entre les noeuds primaire et secondaire indépendamment du fait qu'il y ait ou non des messages à placer dans les champs de données des paquets. Les paquets sont émis dans un mode de verrouillage mutuel, comme représenté sur la figure 3. L'émission en verrouillage mutuel de paquets de longueur fixée fait apparaître un décalage de phase fixé entre les paquets reçus à un noeud et les paquets émis par le noeud. Le noeud reçoit un paquet provenant d'un noeud distant qui contient un acquittement signalant la réception sans erreur d'un paquet émet précédemment, au bout d'une durée prédéterminée après l'émission du paquet émis précédemment. L'émission continue de paquets verrouillés mutuellement permet des communications à grande largeur de bande et faible latence, avec une synchronisation précise entre noeuds. De plus, l'émission continue de paquets permet au système de calculer le taux d'erreurs de bit (BER pour "Bit Error Rate") d'une connexion entre noeuds, d'une manière exacte et sensiblement continue. Comme représenté sur la figure 4, lorsque le noeud secondaire reçoit un paquet 411 provenant du noeud primaire et détermine qu'il s'est produit une erreur de transmission sous l'effet de laquelle les données dans le paquet 411 ont été corrompues, le noeud secondaire termine l'émission d'un paquet et, au lieu d'émettre un paquet suivant, émet une séquence de non acquittement NAK et resynchronisation 456 vers le noeud primaire. La séquence de resynchronisation 456 est émise pour rétablir la synchronisation entre les noeuds primaire et secondaire, du fait qu'une raison pour laquelle le paquet 411 a peu être corrompu est que la synchronisation entre les noeuds primaire et secondaire a pu être diminuée ou perdue. La séquence de resynchronisation peut consister en champs de synchronisation et champs de liaison alternés, le champ de liaison pouvant être un code prédéterminé tel que OxA3. Dans une forme de réalisation, quatre octets de liaison doivent être reçus avant qu'un noeud soit considéré comme resynchronisé. Le noeud primaire reçoit une séquence de non acquittement NAK et resynchronisation 466 et émet une séquence de resynchronisation 403. Après que le noeud primaire a émis la séquence de resynchronisation 403, le noeud primaire envoie à nouveau les derniers paquets qui ont émis avant la réception du non acquittement NAK. Dans le cas d'un pipeline de N paquets, les N derniers paquets sont réémis. Une fois que le noeud secondaire reçoit un acquittement ACK dans un premier paquet réémis 414, le noeud secondaire commence également à réémettre des paquets. Comme représenté sur la figure 5, lorsque le noeud primaire reçoit un paquet 565 provenant du noeud secondaire et détermine qu'il s'est produit une erreur de transmission sous l'effet de laquelle les données dans le paquet 565 ont été corrompues, le noeud primaire envoie une séquence de non acquittement NAK et resynchronisation, 503, vers le noeud secondaire. Le noeud secondaire reçoit une séquence de non acquittement NAK et resynchronisation, 513, et envoie une séquence de resynchronisation 557. Après que le noeud primaire a émis la séquence de non acquittement NAK et resynchronisation, 503, le noeud primaire envoie à nouveau les derniers paquets qui ont été émis avant de recevoir le paquet corrompu. Une fois que le noeud secondaire reçoit un acquittement ACK dans un premier paquet réémis 514, le noeud secondaire commence également à réémettre des paquets. Un compteur d'erreurs peut conserver la trace du nombre d'erreurs de transmission matérielles qui se produisent dans un noeud. Une interruption peut être activée lorsque le compteur atteint un seuil. Dans une forme de réalisation, le compteur d'erreurs peut être lu par logiciel dans le noeud, et le logiciel peut fixer le seuil d'interruption. La détection et la correction d'erreurs peuvent être prises en charge à un niveau très bas dans ce système, et une couche logicielle travaillant au- 18 dessus de la couche liaison décrite n'a pas besoin de mettre en oeuvre une détection et une correction d'erreurs supplémentaires. La figure 6 illustre un processus 600 exécuté dans un noeud, dans une forme de réalisation. Le noeud commence par recevoir un premier paquet (étape 610) et reçoit un champ d'acquittement dans le premier paquet (étape 615). Le noeud détermine si le champ d'acquittement est un acquittement ACK ou un non acquittement NAK (étape 620). Si le champ d'acquittement est un non acquittement NAK, le noeud émet une séquence de resynchronisation (étape 625) et réémet le paquet auquel le non acquittement NAK reçu correspond, conjointement à des paquets quelconques qui ont été émis après ce paquet (étape 630). Si le champ d'acquittement est un acquittement ACK, le noeud commence à émettre un deuxième paquet (635) et contrôle le premier paquet pour détecter des erreurs (étape 640), par exemple en vérifiant une valeur de CRC dans le paquet. Si des erreurs ont été détectées dans le premier paquet, le noeud termine l'émission du deuxième paquet (étape 645) et émet une séquence de non acquittement NAK et resynchronisation (étape 650). Si aucune erreur n'a été détectée dans le premier paquet, le noeud détermine si un bit de défaut était instauré dans le premier paquet (étape 655). Si un bit de défaut était instauré, le noeud est placé dans un mode de défaut ou état de sécurité (étape 660). Si le bit de défaut n'était pas instauré, ou une fois que le noeud est placé dans un mode de défaut, le noeud termine l'émission du deuxième paquet (étape 665) et commence à émettre un troisième paquet (étape 670). Des modes de réalisation de l'invention et toutes les opérations fonctionnelles décrits dans cette description peuvent être mis en oeuvre dans des circuits électroniques numériques, ou dans un logiciel, un microprogramme ou un matériel d'ordinateur, ceci incluant les structures exposées dans cette description et leurs structures équivalentes, ou dans des combinaisons d'un ou plusieurs d'entre eux. Des modes de réalisation de l'invention peuvent être mis en oeuvre sous la forme d'un ou plusieurs produits - programmes d'ordinateur, c'est-à-dire un ou plusieurs modules d'instructions de programme d'ordinateur codées sur un support lisible par ordinateur, pour l'exécution par un appareil de traitement de données, ou 19 pour la commande du fonctionnement de celui-ci. Le support lisible par ordinateur peut être un dispositif de stockage lisible par machine, un substrat de stockage lisible par machine, un dispositif de mémoire, une composition de matière produisant un signal qui se propage et est lisible par machine, ou une combinaison d'un ou plusieurs d'entre eux. Le terme "appareil de traitement de données" englobe tous les appareils, dispositifs et machines pour traiter des données, incluant par exemple un processeur programmable, un ordinateur ou de multiples processeurs ou ordinateurs. L'appareil peut inclure, en plus du matériel, un code qui crée un environnement d'exécution pour le programme d'ordinateur en question, par exemple un code qui constitue un microprogramme de processeur, une pile de protocoles, un système de gestion de base de données, un système d'exploitation ou une combinaison d'un ou plusieurs d'entre eux. Un signal qui se propage est un signal généré artificiellement, par exemple un signal électrique, optique ou électromagnétique généré par une machine, qui est généré de façon à coder de l'information pour l'émission vers un appareil récepteur approprié. Un programme d'ordinateur (qu'on appelle également un programme, logiciel, application logicielle, script ou code) peut être écrit dans n'importe quelle forme de langage de programmation, incluant des langages compilés ou interprétés, et il peut être déployé sous n'importe quelle forme, comprenant la forme d'un programme autonome ou la forme d'un module, composant, sous-programme ou autre unité convenant pour l'utilisation dans un environnement informatique. Un programme d'ordinateur ne correspond pas nécessairement à un fichier dans un système de fichiers. Un programme peut être stocké dans une partie d'un fichier qui contient d'autres programmes ou données (par exemple un ou plusieurs scripts stockés dans un document en langage de balisage), dans un seul fichier dédié au programme en question, ou dans de multiples fichiers coordonnés (par exemple des fichiers qui stockent un ou plusieurs modules, sous-programmes ou parties de code). Un programme d'ordinateur peut être déployé pour être exécuté sur un seul ordinateur ou sur de multiples ordinateurs qui sont situés à un seul site ou sont répartis à travers de multiples sites et interconnectés par un réseau de communication. 20 Les processus et séquences logiques décrits dans cette description peuvent être accomplis par un ou plusieurs processeurs programmables exécutant un ou plusieurs programmes d'ordinateur pour accomplir des fonctions en travaillant sur des données d'entrée et en générant de l'information de sortie. Les processus et séquences logiques peuvent également être accomplis par des circuits logiques spécialisés, par exemple un réseau de portes programmables par l'utilisateur ou FPGA (Field Programmable Gate Array) ou un circuit intégré à application spécifique ou ASIC (Application-Specific Integrated Circuit), et un appareil peut également être réalisé sous la forme d'un tel circuit logique. Des processeurs convenant pour l'exécution d'un programme d'ordinateur comprennent, à titre d'exemple, à la fois des microprocesseurs généraux et spécialisés, et un ou plusieurs processeurs quelconques de n'importe quelle sorte d'ordinateur. De façon générale, un processeur recevra des instructions et des données provenant d'une mémoire morte ou d'une mémoire vive, ou des deux. Les éléments essentiels d'un ordinateur sont un processeur pour exécuter des instructions et un ou plusieurs dispositifs de mémoire pour stocker des instructions et des données. De façon générale, un ordinateur comprendra également un ou plusieurs dispositifs de stockage de masse pour stocker des données, par exemple des disques magnétiques, magnéto-optiques ou optiques, ou sera couplé fonctionnellement pour recevoir des données à partir de tels dispositifs de stockage de masse, ou pour transférer des données vers eux, ou les deux. Cependant, un ordinateur ne doit pas nécessairement avoir de tels dispositifs. En outre, un ordinateur peut être embarqué dans un autre dispositif, par exemple un téléphone mobile, un assistant numérique personnel (PDA pour "Personal Digital Assistant"), un lecteur audio mobile, un récepteur GPS (Global Positioning System), pour n'en citer que quelques uns. Des supports lisibles par ordinateur convenant pour stocker des instructions de programme et des données d'ordinateur incluent toutes les formes de mémoire, supports et dispositifs de mémoire de type non volatil, incluant à titre d'exemple des dispositifs de mémoire à semiconducteur, par exemple des dispositifs EPROM, EEPROM et de mémoire flash; des disques magnétiques, par exemple des disques durs internes ou des disques amovibles; des disques magnéto- 21 optiques; et des disques CD-ROM et DVD-ROM. Le processeur et la mémoire peuvent comporter en supplément des circuits logiques spécialisés, ou être incorporés dans ceux-ci. Pour permettre une interaction avec un utilisateur, des modes de réalisation de l'invention peuvent être mis en oeuvre sur un ordinateur ayant un dispositif de visualisation, par exemple un moniteur à tube cathodique ou à cristaux liquides, pour présenter de l'information à l'utilisateur, et un clavier et un dispositif de pointage, par exemple une souris ou une boule de commande, au moyen desquels l'utilisateur peut introduire de l'information dans l'ordinateur. D'autres sortes de dispositifs peuvent également être utilisés pour permettre une interaction avec un utilisateur; par exemple, un retour présenté à l'utilisateur peut consister en n'importe quelle forme de retour perceptible, par exemple un retour visuel, un retour auditif ou un retour tactile; et de l'information d'entrée provenant de l'utilisateur peut être reçue sous n'importe quelle forme, incluant une information d'entrée acoustique, vocale ou tactile. Bien que cette description contienne de nombreux éléments spécifiques, ceux-ci ne doivent pas être interprétés comme des limitations du cadre de l'invention ou de ce qui peut être revendiqué, mais plutôt comme des descriptions de caractéristiques spécifiques à des modes de réalisation particuliers de l'invention. Certaines caractéristiques qui sont décrites dans cette description dans le contexte de modes de réalisation séparés peuvent également être mises en oeuvre en combinaison dans un seul mode de réalisation. Inversement, diverses caractéristiques qui sont décrites dans le contexte d'un seul mode de réalisation peuvent également être mises en oeuvre séparément dans de multiples modes de réalisation, ou selon n'importe quelle sous-combinaison appropriée. En outre, bien que des caractéristiques puissent être décrites ci-dessus comme agissant dans certaines combinaisons et même revendiquées initialement comme telles, une ou plusieurs caractéristiques tirées d'une combinaison revendiquée peuvent dans certains cas être extraites de la combinaison, et la combinaison revendiquée peut porter sur une sous-combinaison ou une variante d'une sous-combinaison. De façon similaire, bien que des opérations soient représentées 35 dans les dessins dans un ordre particulier, ceci ne doit pas être considéré 22 comme une obligation que de telles opérations soient accomplies dans l'ordre particulier représenté ou dans un ordre séquentiel, ou que toutes les opérations illustrées soient accomplies, pour obtenir des résultats souhaitables. Dans certaines circonstances, un traitement multitâche et parallèle peut être avantageux. En outre, on ne doit pas considérer que la séparation de divers composants de système dans les modes de réalisation décrits ci-dessus exige une telle séparation dans tous les modes de réalisation, et il faut noter que les composants de programme et systèmes décrits peuvent de façon générale être intégrés ensemble en un seul produit logiciel ou incorporés dans de multiples produits logiciels. On a donc décrit des modes de réalisation particuliers de l'invention. D'autres modes de réalisation entrent dans le cadre des revendications suivantes. Par exemple, les actions énumérées dans les revendications peuvent être effectuées dans un ordre différent et produire néanmoins des résultats souhaitables. Les procédés, systèmes et appareils décrits ci-dessus peuvent être utilisés avec divers mécanismes de transport physique, incluant des fibres optiques (fonctionnant par exemple à 160 Mbit/s), la transmission de signaux différentiels à basse tension (fonctionnant par exemple à 122 Mbit/s), et des fils de fond de panier pour une transmission asynchrone et une transmission série synchrone à partir d'une source. Dans une forme de réalisation, des paquets corrompus ne doivent pas nécessairement être réémis lorsque les paquets contiennent des données qui peuvent tolérer des erreurs. Par exemple, des parasites occasionnels dans un train vidéo ou audio sont acceptables. Une détecteur d'erreur et une resynchronisation peuvent néanmoins être utilisées dans cette forme de réalisation pour permettre une reprise rapide, réalisée par matériel, en cas d'erreurs de synchronisation. REVENDICATIONS 1. Procédé comprenant les étapes suivantes : émettre un premier paquet de données (301) à partir d'un premier noeud (110) vers un deuxième noeud (120), le premier paquet de données incluant un premier champ de données (206-237) incluant des données qui ne sont pas des données de remplissage, provenant du premier noeud (110); émettre un deuxième paquet de données (302) à partir du premier noeud (110) vers le deuxième noeud (120) après l'émission du premier paquet de données, l'émission du deuxième paquet de données (302) commençant avant qu'une information d'acquittement quelconque correspondant au premier paquet de données (301) n'ait été reçue à partir du deuxième noeud (120); et recevoir un troisième paquet de données (365) au premier noeud (110), le troisième paquet de données ayant été émis par le deuxième noeud (120), le troisième paquet de données incluant une information d'acquittement indiquant si le premier paquet de données (301) a été reçu correctement par le deuxième noeud (120), l'émission du premier paquet de données (301) et la réception du troisième paquet de données (365) étant verrouillées mutuellement de façon que le troisième paquet de données soit reçu sensiblement au bout d'une durée prédéterminée après l'émission du premier paquet de données (301). 2. Procédé selon la revendication 1, dans lequel le deuxième paquet de données (302) est émis indépendamment du fait que le premier noeud (110) ait ou non des données autres que des données de remplissage à placer dans un deuxième champ de données du deuxième paquet de données (302). 3. Procédé selon la revendication 1, dans lequel chacun des premier, deuxième et troisième paquets de données (301, 302, 365) contient une information de contrôle de flux respective, l'information de contrôle de flux dans les premier et deuxième paquets de données (301, 302) concernant le premier noeud (110), et l'information de contrôle de flux dans le troisième paquet de données (365) concernant le deuxième noeud (120). 4. Procédé selon la revendication 3, dans lequel l'information decontrôle de flux contient une information de contrôle de flux séparée pour de multiples canaux. 5. Procédé selon la revendication 1, dans lequel le premier paquet de données (301) comprend une information d'en-tête (204) indiquant sur lequel d'une multiplicité de canaux les données autres que des données de remplissage sont émises. 6. Procédé selon la revendication 1, dans lequel : chacun des premier et deuxième paquets de données (301, 302) comprend une indication d'un état de défaut du premier noeud (110); et le troisième paquet de données (365) comprend une indication d'un état de défaut du deuxième noeud (120). 7. Procédé selon la revendication 1, dans lequel les premier, deuxième et troisième paquets de données (301, 302, 365) ont une même longueur. 8. Procédé selon la revendication 1, comprenant en outre l'étape consistant à recevoir un quatrième paquet de données (366) au premier noeud (120), le quatrième paquet de données ayant été émis par le deuxième noeud (120) et incluant une information d'acquittement indiquant si le deuxième paquet de données (302) a été reçu correctement par le deuxième noeud (120), l'émission du deuxième paquet de données (302) et la réception du quatrième paquet de données (366) étant verrouillées mutuellement de façon que le quatrième paquet de données soit reçu sensiblement au bout d'une durée prédéterminée après l'émission du deuxième paquet de données (302). 9. Procédé selon la revendication 1, comprenant en outre l'étape consistant à recevoir un cinquième paquet de données au premier noeud (110) avant que le troisième paquet de données ne soit reçu, le cinquième paquet de données ayant été émis par le deuxième noeud (120) avant le troisième paquet de données, le cinquième paquet de données n'incluant pas une information d'acquittement indiquant si un paquet de données particulier a été reçu correctement par le deuxième noeud (120). 10. Procédé comprenant la transmission synchrone de paquets de données entre un premier noeud (110) et un deuxième noeud (120), comprenant les étapes suivantes : émettre des paquets de données à partir du premier noeud (110)sans attendre un acquittement signalant la réception par le deuxième noeud (120); et recevoir ensuite au premier noeud (110) un acquittement provenant du deuxième noeud (120), signalant la réception d'un paquet de données déterminé, l'acquittement étant reçu sensiblement au bout d'une durée prédéterminée à la suite de l'émission du paquet de données déterminé, l'acquittement indiquant que le deuxième noeud (120) a reçu le paquet de données déterminé non corrompu. 11. Procédé selon la revendication 10, dans lequel la transmission synchrone comprend en outre l'opération consistant à envoyer à nouveau un paquet de données spécifique si un acquittement signalant la réception du paquet de données spécifique n'est pas reçu sensiblement au bout de la durée prédéterminée à la suite de l'émission du paquet de données spécifique. 12. Procédé comprenant les étapes suivantes : émettre un premier paquet de données à partir d'un premier noeud (110) vers un deuxième noeud (120), le premier paquet de données incluant un premier champ de données (206-237) contenant des données autres que des données de remplissage issues du premier noeud (110); recevoir le premier paquet de données au deuxième noeud (120), la réception du premier paquet prenant une durée finie; commencer l'émission d'un deuxième paquet de données à partir du deuxième noeud (120) vers le premier noeud (110) après que la réception du premier paquet de données a commencé, mais avant que la réception du premier paquet de données ne se soit terminée; recevoir le deuxième paquet de données au premier noeud (110), la réception du deuxième paquet de données prenant une durée finie; commencer l'émission d'un troisième paquet de données à partir du premier noeud (110) vers le deuxième noeud (120) après que l'émission du premier paquet de données s'est terminée, après que la réception du deuxième paquet de données a commencé, et avant que la réception du deuxième paquet de données ne se soit terminée, l'émission du troisième paquet de données commençant avant qu'une information d'acquittement quelconque correspondant au premier paquet de données n'ait été reçue à partir du deuxième noeud (120);recevoir le troisième paquet de données au deuxième noeud (120), la réception du troisième paquet de données prenant une durée finie; commencer l'émission d'un quatrième paquet de données à partir du deuxième noeud (120) vers le premier noeud (110) après que l'émission du deuxième paquet de données s'est terminée, après que la réception du troisième paquet de données a commencé, et avant que la réception du troisième paquet de données ne se soit terminée, l'émission du quatrième paquet de données commençant avant qu'une information d'acquittement quelconque correspondant au deuxième paquet de données n'ait été reçue à partir du premier noeud, le quatrième paquet de données incluant une information d'acquittement indiquant si le premier paquet de données a été reçu correctement par le deuxième noeud (120); l'émission du premier paquet de données et l'émission du quatrième paquet de données étant verrouillées mutuellement de façon que le quatrième paquet de données soit émis sensiblement au bout d'une durée prédéterminée après l'émission du premier paquet de données; recevoir le quatrième paquet au premier noeud (110); et traiter au premier noeud (110) l'information d'acquittement indiquant si le premier paquet de données a été reçu correctement, le premier noeud (110) émettant à nouveau le premier paquet de données si le premier paquet de données n'a pas été reçu correctement au deuxième noeud (120). 13. Produit programme d'ordinateur matérialisé sur un support lisible par ordinateur, le produit programme d'ordinateur comprenant des instructions pouvant être exécutées pour faire en sorte qu'un processeur programmable accomplisse les opérations suivantes : émettre un premier paquet de données (301) à partir d'un premier noeud (110) vers un deuxième noeud (120), le premier paquet de données incluant un premier champ de données (206-237) contenant des données autres que des données de remplissage issues du premier noeud (110); émettre un deuxième paquet de données (302) à partir du premier noeud (110) vers le deuxième noeud (120) après l'émission du premier paquet de données, l'émission du deuxième paquet de données (302) commençant avant qu'une information d'acquittement quelconque correspondant au premier paquet de données (301) n'ait été reçue à partirdu deuxième noeud (120); et recevoir un troisième paquet de données (365) au premier noeud (110), le troisième paquet de données ayant été émis par le deuxième noeud (120), le troisième paquet de données (365) incluant une information d'acquittement indiquant si le premier paquet de données (301) a été reçu correctement par le deuxième noeud (120), l'émission du premier paquet de données (301) et la réception du troisième paquet de données (365) étant verrouillées mutuellement de façon que le troisième paquet de données (365) soit reçu sensiblement au bout d'une durée prédéterminée après l'émission du premier paquet de données (301). 14. Produit programme d'ordinateur selon la revendication 13, dans lequel le deuxième paquet de données (302) est émis indépendamment du fait que le premier noeud (110) ait ou non des données autres que des données de remplissage à placer dans un deuxième champ de données du deuxième paquet de données (302). 15. Produit programme d'ordinateur selon la revendication 13, dans lequel chacun des premier, deuxième et troisième paquets de données (301, 302, 365) contient une information de contrôle de flux respective, l'information de contrôle de flux dans les premier et deuxième paquets de données (301, 302) concernant le premier noeud (110), et l'information de contrôle de flux dans le troisième paquet de données (365) concernant le deuxième noeud (120). 16. Produit programme d'ordinateur selon la revendication 15, dans lequel l'information de contrôle de flux contient une information de contrôle de flux séparée pour de multiples canaux. 17. Produit programme d'ordinateur selon la revendication 13, dans lequel le premier paquet de données (301) comprend une information d'en-tête (204) indiquant sur lequel d'une multiplicité de canaux les données autres que des données de remplissage sont émises. 18. Produit programme d'ordinateur selon la revendication 13, dans lequel : chacun des premier et deuxième paquets de données (301, 302) comprend une indication d'un état de défaut du premier noeud (110); et le troisième paquet de données (365) comprend une indication d'un état de défaut du deuxième noeud (120). 19. Produit programme d'ordinateur selon la revendication 13, comprenant en outre des instructions pouvant être exécutées pour accomplir les opérations suivantes : recevoir un cinquième paquet de données au premier noeud (110) avant que le troisième paquet de données ne soit reçu, le cinquième paquet de données ayant été émis par le deuxième noeud (120) avant le troisième paquet de données, le cinquième paquet de données n'incluant pas une information d'acquittement indiquant si un paquet de données particulier a été reçu correctement par le deuxième noeud (120). 20. Produit programme d'ordinateur matérialisé sur un support lisible par ordinateur, le produit programme d'ordinateur comprenant des instructions pouvant être exécutées pour faire en sorte qu'un processeur programmable accomplisse les opérations consistant à : effectuer une transmission synchrone de paquets de données entre un premier noeud (110) et un deuxième noeud (120), ceci incluant les étapes suivantes : émettre des paquets de données à partir du premier noeud (110) sans attendre un acquittement signalant la réception par le deuxième noeud (120); et recevoir ensuite au premier noeud (110) un acquittement provenant du deuxième noeud (120), signalant la réception d'un paquet de données déterminé, l'acquittement étant reçu sensiblement au bout d'une durée prédéterminée à la suite de l'émission du paquet de données déterminé, l'acquittement indiquant que le deuxième noeud (120) a reçu le paquet de données déterminé non corrompu.