FR2852751A1 - Procede d'acquittement de la transmission de donnees entre deux machines sur une ligne de transmission serie full-duplex, machine et programme d'ordinateur correspondants. - Google Patents

Procede d'acquittement de la transmission de donnees entre deux machines sur une ligne de transmission serie full-duplex, machine et programme d'ordinateur correspondants. Download PDF

Info

Publication number
FR2852751A1
FR2852751A1 FR0303518A FR0303518A FR2852751A1 FR 2852751 A1 FR2852751 A1 FR 2852751A1 FR 0303518 A FR0303518 A FR 0303518A FR 0303518 A FR0303518 A FR 0303518A FR 2852751 A1 FR2852751 A1 FR 2852751A1
Authority
FR
France
Prior art keywords
machine
segment
sub
channels
acknowledgment
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
FR0303518A
Other languages
English (en)
Other versions
FR2852751B1 (fr
Inventor
Arnaud Closset
Laurent Frouin
Sylvain Buriau
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 FR0303518A priority Critical patent/FR2852751B1/fr
Publication of FR2852751A1 publication Critical patent/FR2852751A1/fr
Application granted granted Critical
Publication of FR2852751B1 publication Critical patent/FR2852751B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1664Details of the supervisory signal the supervisory signal being transmitted together with payload signals; piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1832Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

L'invention concerne un procédé d'acquittement de la transmission de données entre une première machine et une seconde machine sur une ligne de transmission série full-duplex, du type comprenant : N premiers canaux parallèles formant canaux d'émission de la première machine et canaux de réception de la seconde machine, avec N ≥ 2, ; M seconds canaux parallèles formant canaux d'émission de la seconde machine et canaux de réception de la première machine, avec M ≥ 1. La première machine transmet des données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses N canaux d'émission. Selon l'invention, si une pluralité de sous-segments reçus par la seconde machine sur ses N canaux de réception et relatifs à un même segment donné sont valides, la seconde machine envoie un accusé de réception du segment donné sur un de ses M canaux d'émission.

Description

<Desc/Clms Page number 1>
Procédé d'acquittement de la transmission de données entre deux machines sur une ligne de transmission série full-duplex, machine et programme d'ordinateur correspondants.
Le domaine de l'invention est celui de la transmission de données entre deux machine A et B sur une ligne de transmission série full-duplex, du type comprenant N premiers canaux parallèles de transmission dans un sens et M seconds canaux parallèles de transmission dans l'autre sens, avec N # 2, M > 1. Le cas le plus général est celui où on a au moins deux canaux dans le sens de l'émission des données, et au moins un canal dans le sens de l'émission des acquittements.
Les N premiers canaux de transmission, de la machine A vers la machine B, forment N canaux d'émission de la machine A et N canaux de réception de la machine B. Les M seconds canaux de transmission, de la machine B vers la machine A, forment M canaux d'émission de la machine B et M canaux de réception de la machine A.
La présente invention s'applique dans les deux configurations suivantes : première configuration : seule la machine A émet des données (sur les N premiers canaux) et seule la machine B émet des acquittements (sur le ou les M secondscanaux); seconde configuration : chacune des machines A et B transmet des données et des acquittements.
Dans un souci de simplification, on discute les techniques de l' art antérieur, et leurs inconvénients, en relation avec la seconde configuration précitée. En d'autres termes, on suppose que chacune des machines transmet des données sur la ligne sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un des canaux d'émission de la machine.
Par exemple, la machine A émet un segment sous la forme de N sous-segments émis chacun sur un des N canaux d'émission. Cette même machine A reçoit un segment sous la forme de M sous-segments reçus chacun sur un des M canaux de réception.
Typiquement, chaque canal comprend une paire torsadée, et le nombre N de premiers canaux et le nombre M de seconds canaux sont égaux à deux. Par ailleurs, les données à transmettre se présentent sous la forme d'un train de mots de X bits (avec X = 16, par exemple). Les demi-mots comprenant les bits de poids forts (ou demi-mots
<Desc/Clms Page number 2>
MSB, pour Most Significant Bits en anglais) sont regroupés pour former des soussegments MSB. De la même façon, les demi-mots comprenant les bits de poids faibles (ou demi-mots LSB, pour Least Significant Bits en anglais) sont regroupés pour former des sous-segments LSB. On appelle segment un ensemble formé d'un soussegment LSB et du sous-segment MSB associé.
En d'autres termes, on utilise classiquement une ligne de transmission série fullduplex comprenant : - deux premières paires torsadées pour la transmission de la machine A vers la machine B, l'une pour les sous-segments LSB et l'autre pour les sous-segments
MSB, et - deux secondes paires torsadées pour la transmission de la machine B vers la machine A, l'une pour les sous-segments LSB et l'autre pour les sous-segments
MSB.
Plus précisément, l'invention concerne un procédé d'acquittement de la transmission de données dans le contexte général précité (première ou seconde configuration), et a fortiori dans le contexte plus particulier, également décrit ci-dessus, de mise en #uvre de la seconde configuration.
On connaît dans l'art antérieur une technique de correction d'erreurs par demande de retransmission appelée ARQ, pour Automatic Repeat reQuest . Selon cette technique, lorsqu'une machine A reçoit une indication de mauvaise réception de la part de la machine B pour un bloc de données qu'elle a envoyé auparavant, ou lorsqu'elle ne reçoit pas, dans un délai déterminé, un accusé de réception (acquittement) indiquant une bonne réception de ce bloc de données, elle ré-émet ce bloc de données vers la machine B. Une indication de mauvaise réception peut être envoyé par exemple en transmettant un accusé de réception du dernier bloc de données correctement reçu.
Pour que la machine B détermine si les blocs de données sont correctement reçus ou pas, on rajoute généralement au bloc une information de redondance issue d'un code détecteur d'erreurs (par exemple un CRC pour Cyclic Redundancy Check en anglais). Cette redondance permet la détection d'erreurs éventuelles contenues dans le bloc de données.
<Desc/Clms Page number 3>
On connaît également, dans l'art antérieur, une technique de superposition des données et des accusés de réception (technique appelée piggy-backing en anglais). Son principe est le suivant : pour une direction donnée, une machine A envoie des soussegments (dits sous-segments émis ) comprenant des données et éventuellement des accusés de réception pour d'autres données comprises dans des sous-segments (dits sous-segments reçus ) correctement reçus dans la direction inverse et provenant d'une machine B.
Actuellement, ces deux techniques (ARQ et piggy-backing ) sont mises en #uvre dans le contexte typique actuel rappelé ci-dessus (ligne de transmission série fullduplex comprenant deux paires torsadées pour la transmission dans un sens et deux paires torsadées pour la transmission dans l'autre sens).
Deux types d'acquittements sont gérés en parallèle et empruntent des chemins distincts. Ainsi, pour la machine A, on distingue : - de premiers acquittements relatifs à la réception correcte de sous-segments LSB sur la paire torsadée de réception véhiculant ces sous-segments LSB. Ces premiers acquittements sont insérés dans des sous-segments LSB émis sur la paire torsadée d'émission véhiculant ces sous-segments LSB ; - de seconds acquittements relatifs à la réception correcte de sous-segments MSB sur la paire torsadée de réception véhiculant ces sous-segments MSB. Ces seconds acquittements sont insérés dans des sous-segments MSB émis sur la paire torsadée d'émission véhiculant ces sous-segments MSB.
Avec la solution actuelle, la machine A ne peut donc considérer qu'elle a reçu un acquittement valide d'un segment donné que si elle a reçu le premier acquittement relatif à la réception correcte par la machine B du sous-segment LSB de ce segment donné, ainsi que le second acquittement relatif à la réception correcte par la machine B du soussegment MSB de ce segment donné.
Si elle n'a pas reçu l'acquittement valide d'un segment donné dans un délai déterminé, la machine A renvoie automatiquement ce segment (et plus précisément les sous-segments LSB et MSB formant ensemble ce segment) à la machine B. En pratique, la machine A ré-émet les k derniers segments (c'est-à-dire k sous-segments LSB et k sous-segments MSB). Le paramètre k est appelé fenêtre ARQ .
<Desc/Clms Page number 4>
La solution actuelle précitée présente plusieurs inconvénients.
On notera tout d'abord qu'il ne s'agit pas d'un acquittement au niveau segment puisque pour chaque segment, un premier et un second acquittement sont nécessaires. Un inconvénient d'avoir des acquittements distincts pour chaque soussegment est que cela augmente la probabilité d'échec de réception de ces acquittements par la machine émettrice des sous-segments. En effet, si au moins un acquittement n'est pas reçu correctement, le segment est considéré comme non correctement reçu et doit être retransmis.
Un autre inconvénient de la solution connue est que les sous-segments LSB et MSB n'ont généralement pas la même longueur du fait de l'application d'un codage à longueur variable avant l'émission sur chacune des paires torsadées d'émission. Un délai à l'émission peut apparaître entre les sous-segments LSB et MSB transmis par exemple depuis la machine B vers la machine A et qui contiennent les premier et second acquittements relatifs à la réception correcte des sous-segments LSB et MSB d'un même segment par la machine B et transmis depuis la machine A. C'est donc celui des deux (premier et second) acquittements reçu le plus tardivement qui accorde la validation finale d'un acquittement pour le segment donné. Or, si la validation finale intervient trop tard, les sous-segments LSB et MSB du segment concerné vont devoir être ré-émis par la machine A. Il convient donc de réduire autant que faire ce peut le délai d'acquittement d'un segment donné, de façon à éviter une ré-émission de ce segment donné et permettre la transmission le plus rapidement possible d'autres segments
Encore un autre inconvénient de la solution connue est qu'elle implique que le nombre N de premières paires soit égal au nombre M de secondes paires. En effet, à chaque première paire, permettant à la machine A d'émettre des sous-segments vers la machine B, doit correspondre une paire de réception, permettant à la machine B de retourner à la machine A les acquittements pour les sous-segments précités (et inversement).
L'invention a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique.
Plus précisément, l'un des objectifs de la présente invention est de fournir un procédé d'acquittement de la transmission de données, dans le contexte précité (ligne de
<Desc/Clms Page number 5>
transmission série full-duplex, du type comprenant N premiers canaux parallèles de transmission dans un sens et M seconds canaux parallèles de transmission dans l'autre sens), qui permette un acquittement au niveau segment .
L'invention a également pour objectif de fournir un tel procédé qui soit moins sensible au délai qui peut apparaître entre deux sous-segments que la technique connue décrite ci-dessus.
Un autre objectif de l'invention est de fournir un tel procédé permettant de réduire les temps d'acquittement et donc de diminuer le nombre de ré-émissions de segments.
Ces différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un Procédé d'acquittement de la transmission de données entre une première machine et une seconde machine sur une ligne de transmission série full-duplex, du type comprenant :
N premiers canaux parallèles formant canaux d'émission de la première machine et canaux de réception de la seconde machine, avec N # 2,
M seconds canaux parallèles formant canaux d'émission de la seconde machine et canaux de réception de la première machine, avec M # 1, la première machine transmettant des données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses N canaux d'émission, caractérisé en ce que, si une pluralité de sous-segments reçus par la seconde machine sur ses N canaux de réception et relatifs à un même segment donné sont valides, la seconde machine envoie un accusé de réception du segment donné sur un de ses M canaux d'émission.
Le principe général de l'invention consiste donc à véhiculer des accusés de réception (aussi appelés acquittements) de segments, et non pas des accusés de réception de sous-segments. Ainsi, les acquittements sont transmis dans les meilleurs délais et on réduit les risques d'échec de transmission des acquittements.
Ceci permet de diminuer le nombre de ré-émissions de (sous-)segments et/ou de diminuer la taille de la fenêtre ARQ (voir définition ci-dessus). Dans le second cas, on optimise les contraintes sur la mémoire.
<Desc/Clms Page number 6>
Dans un mode de réalisation particulier de l'invention, la seconde machine transme également des données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses M canaux d'émission, avec M # 2. Si une pluralité de sous-segments reçus par la première machine sur ses M canaux de réception et relatifs à un même segment donné sont valides, la première machine envoie un accusé de réception du segment donné sur un de ses N canaux d'émission.
Ainsi, chacune des machines met en #uvre le principe général de l'invention.
Préférentiellement, au moins une des première et seconde machines insère chaque accusé de réception dans un des sous-segments émis sur un de ses canaux d'émission.
En d'autres termes, on utilise la technique de superposition ( piggy-backing method ) pour envoyer l'accusé de réception.
De façon avantageuse, chaque sous-segment émis sur un canal d'émission donné par une des machines peut comprendre au moins deux accusés de réception.
Ainsi, plusieurs acquittements peuvent même être insérés dans un même soussegment émis, de façon à réduire encore le délai de transmission des acquittements.
De façon avantageuse, dans chaque machine envoyant des accusés de réception, chaque accusé de réception est envoyé sur celui des canaux d'émission qui est disponible le premier.
Préférentiellement, les première et seconde machines mettent en #uvre un mécanisme de type ARQ avec gestion d'une fenêtre ARQ. Chaque accusé de réception comprend un numéro d'accusé de réception inséré par la machine qui envoie ledit accusé de réception. Chaque machine gère, en commun pour tous ses canaux de réception, un premier compteur d'accusés de réception reçus. Pour chaque accusé de réception reçu, chaque machine effectue les étapes suivantes : * lecture du numéro d'accusé de réception ; * analyse de la cohérence du numéro d'accusé de réception lu avec la valeur courante du premier compteur d'accusés de réception reçus ; * en cas de cohérence :
<Desc/Clms Page number 7>
prise en compte de l'accusé de réception de façon à rendre non nulle la fenêtre ARQ gérée par la machine pour chacun de ses canaux d'émission ; incrémentation du premier compteur d'accusés de réception reçus.
Il est important de noter qu'en cas de cohérence, la prise en compte de l'accusé de réception permet d'autoriser, simultanément pour l'ensemble des canaux d'émission, l'envoi de nouveaux sous-segments, du fait qu'il s'agit d'un accusé de réception de segment (et non pas un accusé de réception d'un seul sous-segment).
Avantageusement, la prise en compte de l'accusé de réception consiste à inscrire une information dans une pluralité de premiers registres spécifiques chacun à un des canaux d'émission de la machine.
De façon préférentielle, chaque sous-segment émis sur un canal d'émission donné par une des machines comprend un numéro de sous-segment inséré par ladite machine. Chaque machine gère, pour chacun de ses canaux de réception, un deuxième compteur de sous-segments reçus. Pour chaque sous-segment relatif à un segment donné et reçu par une des machines, ladite machine effectue les étapes suivantes : lecture du numéro de sous-segment compris dans le sous-segment reçu ; analyse de la cohérence du numéro de sous-segment lu avec la valeur courante du deuxième compteur de sous-segments reçus ; en cas de cohérence : * stockage du sous-segment reçu ; * si tous les autres sous-segments reçus relatifs au segment donné sont également stockés, demande d'envoi d'un accusé de réception du segment donné sur un des canaux d'émission de la machine ; * incrémentation du deuxième compteur de sous-segments reçus.
On notera que la demande d'envoi d'un accusé de réception vise à déterminer lequel de la pluralité de canaux d'émission va pouvoir se charger de l'émission de cet accusé de réception (par exemple en l'insérant dans un des sous-segments qu'il s'apprête à émettre). Un seul canal d'émission suffit du fait qu'il s'agit d'un accusé de réception de segment (et non pas un accusé de réception d'un seul sous-segment).
<Desc/Clms Page number 8>
Avantageusement, la demande d'envoi d'un accusé de réception sur un des canaux d'émission consiste à inscrire une information dans un second registre commun à tous les canaux d'émission de la machine.
De façon avantageuse, chaque sous-segment émis sur un canal d'émission donné par une des machines comprend en outre un indicateur d'émission ou ré-émission, précisant si le sous-segment est émis pour la première fois ou ré-émis, et, pour chaque sous-segment relatif à un segment donné et reçu par une des machines, la machine effectue l'étape de stockage du sous-segment reçu, en cas de cohérence, seulement si l'indicateur d'émission ou ré-émission précise que le soussegment est émis pour la première fois.
De cette façon, on supprime l'ambiguïté selon laquelle un sous-segment reçu dont le numéro est cohérent avec la valeur courante du deuxième compteur peut être : soit un sous-segment émis pour la première fois par l'autre machine ; soit un sous-segment ré-émis par l'autre machine, avec le même numéro que lors de sa première émission (du fait que le deuxième compteur est du type modulo n, préférentiellement égal à la taille de la fenêtre ARQ), malgré qu'il a été correctement reçu la première fois et fait l'objet d'un accusé de réception pas encore reçu par l'autre machine.
Quand le second cas est détecté, il n'est donc pas nécessaire de stocker à nouveau le sous-segment reçu.
Avantageusement, chaque canal comprend une paire torsadée.
Dans un mode de réalisation particulier de l'invention, le nombre N de premiers canaux et le nombre M de seconds canaux sont égaux à deux.
L'invention concerne également une seconde machine impliquée dans un procédé d'acquittement de la transmission de données entre une première machine et ladite seconde machine sur une ligne de transmission série full-duplex, du type comprenant :
N premiers canaux parallèles formant canaux d'émission de la première machine et canaux de réception de la seconde machine, avec N # 2,
M seconds canaux parallèles formant canaux d'émission de la seconde machine et canaux de réception de la première machine, avec M 1,
<Desc/Clms Page number 9>
la première machine comprenant des moyens de transmission de données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses N canaux d'émission, ladite seconde machine comprenant : des moyens de détection qu'une pluralité de sous-segments reçus sur ses N canaux de réception et relatifs à un même segment donné sont valides ; des moyens d'envoi d'un accusé de réception du segment donné sur un de ses M canaux d'émission.
Dans un mode de réalisation particulier de l'invention, la seconde machine comprend des moyens de transmission de données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses M canaux d'émission, avec M # 2, de façon que, si une pluralité de sous-segments reçus par la première machine sur ses M canaux de réception et relatifs à un même segment donné sont valides, la première machine envoie un accusé de réception du segment donné sur un de ses N canaux d'émission.
Préférentiellement, la seconde machine comprend des moyens d'insertion de chaque accusé de réception dans un des sous-segments émis sur un des canaux d'émission.
De façon avantageuse, les moyens d'insertion permettent d'insérer au moins deux accusés de réception dans un même sous-segment émis.
De façon avantageuse, les moyens d'envoi de l'accusé de réception comprennent des moyens de sélection de celui des canaux d'émission qui est disponible le premier.
Préférentiellement, la seconde machine comprend : - des moyens de mise en #uvre d'un mécanisme de type ARQ avec gestion d'une fenêtre ARQ ; - des moyens d'insertion d'un numéro d'accusé de réception dans chaque accusé de réception à envoyer ; - des moyens de gestion, en commun pour tous ses canaux de réception, d'un premier compteur d'accusés de réception reçus ; - des moyens de lecture du numéro d'accusé de réception de chaque accusé de réception reçu ;
<Desc/Clms Page number 10>
des moyens d'analyse de la cohérence du numéro d'accusé de réception lu avec la valeur courante du premier compteur d'accusés de réception reçus ; des moyens, activés en cas de cohérence, de prise en compte de l'accusé de réception de façon à rendre non nulle la fenêtre ARQ gérée par la seconde machine pour chacun de ses canaux d'émission ; des moyens d'incrémentation du premier compteur d'accusés de réception reçus.
Avantageusement, les moyens de prise en compte de l'accusé de réception comprennent des moyens d'inscription d'une information dans une pluralité de premiers registres spécifiques chacun à un des canaux d'émission de la seconde machine.
De façon préférentielle, la seconde machine comprend : - des moyens d'insertion d'un numéro de sous-segment dans chaque sous-segment émis sur un de ses canaux d'émission ; - des moyens de gestion, pour chacun de ses canaux de réception, d'un deuxième compteur de sous-segments reçus ; - des moyens de lecture du numéro de sous-segment compris chaque sous-segment relatif à un segment donné et reçu par la seconde machine ; - des moyens d'analyse de la cohérence du numéro de sous-segment lu avec la valeur courante du deuxième compteur de sous-segments reçus ; - des moyens, activés en cas de cohérence, de stockage du sous-segment reçu ; - des moyens, activés si tous les autres sous-segments reçus relatifs au segment donné sont également stockés, permettant de demander l'envoi d'un accusé de réception du segment donné sur un des canaux d'émission de la seconde machine ; des moyens d'incrémentation du deuxième compteur de sous-segments reçus.
Avantageusement, les moyens permettant de demander l'envoi d'un accusé de réception sur un de ses canaux d'émission comprennent des moyens d'inscription d'une information dans un second registre commun à tous les canaux d'émission de la seconde machine.
De façon avantageuse, chaque machine comprend des moyens d'insertion d'un indicateur d'émission ou ré-émission dans chaque sous-segment émis sur un canal d'émission donné, ledit indicateur d'émission ou ré-émission précisant si le sous-
<Desc/Clms Page number 11>
segment est émis pour la première fois ou ré-émis ; et les moyens de stockage du soussegment reçu, sont activés en cas de cohérence et seulement si l'indicateur d'émission ou ré-émission précise que le sous-segment est émis pour la première fois.
Avantageusement, chaque canal comprend une paire torsadée.
Dans un mode de réalisation particulier de l'invention, le nombre N de premiers canaux et le nombre M de seconds canaux sont égaux à deux.
L'invention concerne aussi 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.
L'invention concerne encore un produit programme d'ordinateur, adapté à l'acquittement de la transmission de données entre une première machine et une seconde machine sur une ligne de transmission série full-duplex, du type comprenant :
N premiers canaux parallèles formant canaux d'émission de la première machine et canaux de réception de la seconde machine, avec N # 2,
M seconds canaux parallèles formant canaux d'émission de la seconde machine et canaux de réception de la première machine, avec M # 1, la première machine transmettant des données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses N canaux d'émission, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur comprenant : des moyens de programmation lisibles par ordinateur pour effectuer une étape de vérification qu'une pluralité de sous-segments reçus par la seconde machine sur ses N canaux de réception et relatifs à un même segment donné sont valides ; des moyens de programmation lisibles par ordinateur pour effectuer une étape d'envoi d'un accusé de réception du segment donné sur un des M canaux d'émission de la seconde machine.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : la figure 1 présente un synoptique d'un réseau dans lequel peut être mis en #uvre le procédé d'acquittement selon l'invention ;
<Desc/Clms Page number 12>
la figure 2 illustre un exemple de réalisation d'un n#ud du réseau de la figure 1, dans lequel peut être mis en #uvre le procédé d'acquittement selon l'invention ; la figure 3 présente un schéma bloc fonctionnel du module d'interface de réseau apparaissant sur la figure 2 ; la figure 4 présente le format d'un sous-segment (segment LSB ou segment
MSB) à transmettre après codage sur une des paires torsadées d'une ligne de transmission entre deux n#uds du réseau de la figure 1 ; la figure 5 est un diagramme temporel illustrant un exemple de sous-segments (segments LSB et segments MSB) transmis entre deux n#uds du réseau de la figure 1 ; la figure 6 présente un organigramme décrivant le fonctionnement du bloc de réception de segment LSB, apparaissant sur la figure 2 ; la figure 7 présente un organigramme décrivant le fonctionnement de la partie
LSB du bloc de contrôle de FIFO en réception, apparaissant sur la figure 2 ; la figure 8 présente un organigramme décrivant le fonctionnement du bloc d'émission de segment LSB, apparaissant sur la figure 2 ; la figure 9 présente un organigramme décrivant le fonctionnement de la partie
LSB du bloc de contrôle de FIFO en émission, apparaissant sur la figure 2.
L'invention concerne donc un procédé d'acquittement de la transmission de données entre deux machines sur une ligne de transmission série full-duplex, du type comprenant N premiers canaux parallèles de transmission dans un sens et M seconds canaux parallèles de transmission dans l'autre sens, avec N # 2, M > 1.
Dans le mode de réalisation particulier décrit ci-après, chacune des machines transmet des données sur la ligne, sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un des canaux d'émission de la machine.
Le principe général de l'invention consiste à gérer des accusés de réception (acquittements) de segment et non pas de sous-segment : si une pluralité de soussegments reçus par une des machines et relatifs à un même segment donné sont valides, la machine insère un accusé de réception du segment donné dans un des sous-segments émis sur un des canaux d'émission de la machine.
<Desc/Clms Page number 13>
Dans la suite de la description, on suppose que les machines sont des n#uds d'un réseau et que le procédé d'acquittement selon l'invention est mis en #uvre pour chaque paire de n#uds successifs (parfois appelés n#uds A et B ou machines A et B par la suite) le long d'un chemin de routage entre deux n#uds (appelés premier et second n#uds) se transmettant des données. En d'autres termes, si le chemin de routage entre les premier et second n#uds, notés NI et N2, comprend deux n#uds intermédiaires, notés Nil et Ni2, le procédé d'acquittement selon l'invention est mis en #uvre pour chacune des paires de n#uds suivantes : (NI, Nil), (Nil, Ni2) et (Ni2, N2).
On présente, en relation avec la figure 1, un réseau dans lequel peut être mis en #uvre le procédé d'acquittement selon l'invention.
Il s'agit d'un réseau hétérogène constitué d'une pluralité de bus de type IEEE 1394 référencés 110,120, 130,140, 150 et 250 interconnectés les uns aux autres et/ou à un réseau commuté 100. Un tel réseau commuté 100 est par exemple un réseau audiovisuel domestique, permettant l'échange en temps réel de fichiers audio et/ou d'images animées.
L'interconnexion du réseau commuté 100 et des bus IEEE 1394 est réalisée par l'intermédiaire de ponts hétérogènes, constitués chacun de deux portes appairées, référencés 201/202,203/204, 205/206,207/208 et 209/211. Un pont hétérogène constitué de portes référencées X et Y est ainsi référencé X/Y. Chacun de ces ponts hétérogènes présente donc une première porte connectée au réseau commuté 100 et une seconde porte connectée à un bus numérique de type IEEE 1394. Chaque pont hétérogène de la figure 1 est conforme au standard IEEE 1394. 1, "Standard for High Performance Serial Bus Bridges".
Le pont référencé 216/217 est un pont homogène, interconnectant deux bus de type IEEE 1394. Ce pont référencé 216/217 est également conforme au standard IEEE 1394. 1 "Standard for High Performance Serial Bus Bridges".
Le réseau commuté 100 est constitué de liens (par exemple de type UTP5) référencés 160,170, 180,190, 200,210, 220,230 et 240 qui interconnectent, d'une part des n#uds 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 n#uds référencés 212/213 et 214/215, internes au réseau commuté 100.
<Desc/Clms Page number 14>
Le routage de paquets au travers du réseau commuté 100 est par exemple réalisé en mettant en #uvre 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, ou CPU référencée 391 sur la figure 2, qui connaît la topologie du réseau commuté 100. Cet aspect ne sera pas décrit plus en détails dans le cadre de la présente invention.
La figure 2 illustre la structure d'un n#ud référencé 201/202, 203/204, 205/206, 207/208, 209/211, 212/213 ou 214/215 sur la figure 1.
Un tel n#ud comprend deux interfaces de communication : une première interface 350 avec le bus IEEE 1394, et une seconde interface 310 avec le réseau commuté.
Le commutateur (aussi appelé unité de commutation) 320 permet de transférer des données d'un premier vers un second port de l'interface du réseau commuté, de recevoir des données d'un port de l'interface du réseau commuté vers la DPRAM 330, et de transmettre des données de la DPRAM 330 vers au moins un port de l'interface du réseau commuté (dans cet ordre décroissant de priorité).
Le fonctionnement d'un tel commutateur 320 est notamment décrit dans la demande de brevet français publiée sous le n 2 820 921. Un tel fonctionnement ne faisant pas l'objet de la présente invention, il ne sera pas décrit plus en détails dans ce document.
Dans la suite de la description, on suppose que les ports de l'interface du réseau commuté 310 sont des ports UTP5. En d'autres termes, les n#uds sont interconnectés par des liens UTP5 (de l'anglais Unshielded Twisted Pair, Category 5 telque spécifé dans la norme ANSI/TIA/EIA/568A).
La DPRAM 330 est agencée en un ensemble de FIFOs (une FIFO dans la suite du document correspond à un ensemble de registres où les premières données écrites sont les premières lus), qui permettent le transfert de données de l'interface IEEE 1394 350 vers l'interface du réseau commuté 310, et vice-versa. La gestion de la DPRAM 330 est assurée par le module de contrôle 360, au moyen des signaux de contrôle ctrl2.
Le module SAR 340 est utilisé pour la segmentation et le ré-assemblage (en anglais "Segmentation And Reassembly") des données en provenance et à destination de l'interface de réseau 310. Ainsi, les paquets isochrones de type IEEE 1394 peuvent être
<Desc/Clms Page number 15>
segmentés en vue de leur transmission sur le réseau commuté 100. Le transfert de paquets asynchrones ne fait pas partie de la présente invention, et en sera donc pas décrit plus en détails. En outre, le SAR 340 joue le rôle de planificateur pour la transmission de données sur le réseau, afin de respecter les contraintes de temps imposées par les transferts isochrones.
La configuration de tous les modules est effectuée par l'unité centrale ou CPU 391, via l'interface de bus 370. Les échanges de données et de contrôle entre le module Contrôle/Pont 360 et la CPU 391 sont effectués via l'interface de données 304 et les signaux ctrll, l'interface de bus 370, le bus hôte 380 et le contrôleur de bus 390. Le n#ud comprend en outre un moyen de stockage permanent 393 de type ROM et un moyen de stockage temporaire 392 de type RAM.
On présente maintenant, en relation avec la figure 3. un schéma bloc fonctionnel du module d'interface de réseau 310 (figure 2), compris dans n#ud tel que présenté cidessus.
Dans un souci de simplification, le module d'interface de réseau 310 illustré sur la figure 3 comprend un seul port UTP5. Il est clair que dans la pratique, il en comprend plusieurs (par exemple trois).
Le port UTP5 comprend quatre ports de paires torsadées (Port Tx~Isb, Port Tx~msb, Port Rx~lsb, Port Rx~msb). Deux paires torsadées sont configurées en émission, et deux autres en réception.
Chaque mot de 16 bits (deux octets) provenant du module de commutation (référencé 320 sur la figure 2) est divisé en un octet de poids faible (octet LSB) et un octet de poids fort (octet MSB).
Les octets LSB sont ensuite assemblés pour créer des sous-segments LSB de longueur fixe égale à N octets (comme décrit en détail ci-après en relation avec la figure 4). Les sous-segments LSB sont numérotés en utilisant un champ seg~nb des soussegments LSB. La technique de superposition ( piggy-backing ) est appliquée pour accuser réception de sous-segments LSB précédemment reçus, en utilisant deux champs ack~0 et ack~l des sous-segments LSB. Les sous-segments LSB comprennent en outre un champ R permettant d'indiquer s'ils sont ré-émis.
Ce qui précède peut être transposé au traitement des sous-segments MSB.
<Desc/Clms Page number 16>
On appelle segment un ensemble formé d'un sous-segment LSB et du soussegment MSB associé. Dans un souci de simplification et par abus de langage, soussegment LSB et sous-segment MSB sont appelés ci-après segment LSB et segment MSB respectivement.
Le processus d'émission peut être résumé comme suit.
Les octets de poids faible (LSB) des données provenant du module de commutation (référencé 320 sur la figure 2) sont écrits dans le bloc de FIFO LSB d'émission (tx~fifo~lsb) 409a, puis sont traités dans le bloc d'émission de segment LSB 411a, ensuite sérialisés dans le bloc de sérialisation LSB 412a, et enfin sont transmis, via le bloc de synchronisation d'émission (Tx~link synchronization) 413, sur la paire torsadée reliée au port de transmission LSB (Port Tx~lsb).
Les octets de poids fort (MSB) des données provenant du module de commutation (référencé 320 sur la figure 2) sont écrits dans le bloc de FIFO MSB d'émission (tx~fifo~msb) 409b, puis sont traités dans le bloc d'émission de segment MSB 411b, ensuite sérialisés dans le bloc de sérialisation MSB 412b, et enfin sont transmis, via le bloc de synchronisation d'émission (Tx~link synchronization) 413, sur la paire torsadée reliée au port de transmission MSB (Port Tx~msb).
Le bloc de FIFO LSB d'émission (tx~fifo~lsb) 409a et le bloc de FIFO MSB d'émission (tx~fifo~msb) 409b sont gérés par un bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410.
Le processus de réception est symétrique au processus d'émission. Il implique les blocs suivants : - bloc de FIFO LSB de réception (rx~fifo~lsb) 404a et bloc de FIFO MSB de réception (rx~fifo~msb) 404b ; - bloc de réception de segment LSB 403a et bloc de réception de segment MSB
403b; - bloc de dé-sérialisation LSB 402a et bloc de dé-sérialisation MSB 402b ; - bloc de synchronisation de réception (Rx~link synchronization) 401.
Le bloc de FIFO LSB de réception (rx~fifo~lsb) 404a et le bloc de FIFO MSB de réception (rx~fifo~msb) 404b sont gérés par un bloc de contrôle de FIFO en réception (8b8bl6b rx~fifo mngt) 405.
<Desc/Clms Page number 17>
Par ailleurs, deux blocs de FIFO d'acquittement reçu (Ack~complete fifos) 408a, 408b sont écrits simultanément par le bloc de contrôle de FIFO en réception 405, tandis qu'ils sont lus individuellement par le bloc de contrôle de FIFO en émission 410. Ces blocs de FIFO 408a, 408b sont utilisés pour gérer des fenêtres glissantes ARQ pour les segments LSB et MSB.
La présente invention se rapporte principalement aux quatre blocs d'émission/réception de segment LSB/MSB, référencés 41 la, 411b, 403a et 403b, ainsi qu'aux blocs de contrôle de FIFO en émission/réception, référencés 405 et 410.
On présente désormais plus en détail les blocs impliqués dans le processus de réception, pour la partie LSB. Cette description peut directement être transposée aux blocs impliqués dans le processus de réception, pour la partie MSB.
Le bloc de synchronisation de réception (Rx~link synchronization) 401 retourne : - un signal sync~seg~lsb , au bloc de réception de segment LSB 403a, dès qu'une synchronisation de segment est reconnue sur les paires de réception connectées aux ports de réception (Port Rx~Isb, Port Rx~msb) ; - un signal sync~clk et le flux série associé, au bloc de dé-sérialisation LSB
402a, pour permettre à ce dernier de reformater un flux d'octets LSB à destination du bloc de réception de segment LSB 403a.
Le bloc de dé-sérialisation LSB 402a est en charge du reformatage du flux série initial, et de la fourniture d'octets LSB formatés au bloc de réception de segment LSB 403a. Quand un octet LSB est prêt à être délivré, le signal de sortie new~byte est valide, et l'octet LSB est délivré dès que le signal d'entrée RD~byte est actif.
Chaque octet LSB délivré est associé à un signal d'information d'état d'erreur, byte err , indiquant si l'octet n'est pas valide du fait d'une détection de désynchronisation pendant le traitement de dé-sérialisation.
Le bloc de réception de segment LSB 403a est en charge du désembrouillage (unscrambling) des octets entrants, de la vérification de la parité longitudinale et de l'écriture dans le bloc de FIFO LSB de réception 404a. Il retourne un état ( new~seg~lsb(err/ok) ) des octets de segment LSB écrits dans le bloc de FIFO LSB de réception 404a, en fonction de la détection d'une erreur de parité ou d'un état
<Desc/Clms Page number 18>
d'information entrant ( byte~err ) relatif à des octets venant du bloc de dé-sérialisation LSB 402a. L'état new~seg~lsb(ok) indique qu'un segment LSB complet a été écrit dans le bloc de FIFO LSB de réception 404a, tandis que l'état new~seg~Isb(err) est activé dès que un octet écrit (dans le bloc de FIFO LSB de réception 404a) est associé à une erreur de parité ou n'état pas valide initialement (le signal byte~err était actif depuis le bloc de dé-sérialisation LSB 402a).
Le bloc de contrôle de FIFO en réception (8b8bl6b rx~fifo mngt) 405 est en charge de la modification des pointeurs d'écriture des blocs de FIFO LSB/MSB de réception (rx~fifo~lsb) 404a et (rx~fifo~msb) 404b, en fonction d'informations d'état retournées par le bloc de réception de segment LSB 403a et le bloc de réception de segment MSB 403b. En outre, il est responsable des demandes d'acquittements ( push ack~req fifo ) de segments valides (formés chacun d'un segment LSB valide et un segment MSB valide), et de la vérification de la cohérence des acquittements reçus ( ack~0 et ack~l ) superposés (piggy-backed) aux segments LSB ou MSB reçus ( push ack~complete fifos ). Il est aussi en charge de la génération de requêtes de resynchronisation destinées à la partie émission, dès qu'une erreur est associée aux octets de segment LSB (soit une erreur provenant du bloc de dé-sérialisation LSB 402a, soit une erreur de parité).
On présente désormais plus en détail les blocs impliqués dans le processus d'émission, pour la partie LSB. Cette description peut directement être transposée aux blocs impliqués dans le processus d'émission, pour la partie MSB.
Le bloc de synchronisation d'émission (Tx~link synchronization) 413 reçoit indépendamment deux flux série (un pour chacun des ports d'émission Port tx~lsb et Port tx~msb) venant des blocs de sérialisation 412a et 412b, et tous les deux synchronisés sur le signal d'horloge de sortie sync~clk . Il reçoit également des requêtes de synchronisation venant du bloc de contrôle de FIFO en réception (8b8bl6b rx~fifo mngt) 405, pour forcer tous les ports à se re-synchroniser, en cas de détection d'erreur pendant les processus de réception.
Le bloc de sérialisation LSB 412a est en charge de la sérialisation des flux série d'octets source, du codage et de la fourniture du débit binaire au bloc de synchronisation
<Desc/Clms Page number 19>
d'émission 413. Quand un octet est prêt à être délivré, le signal de sortie new byte est valide, et l'octet est délivré dès que le signal d'entrée WR~byte est actif.
Le bloc d'émission de segment LSB 411a est en charge de la lecture d'octets dans le bloc de FIFO LSB d'émission (tx~fifo~lsb) 409a, de l'embrouillage (scrambling) des octets sortants, et du calcul de la parité longitudinale. En outre, il est responsable de la superposition (piggy-backing) des acquittements à émettre ( ack~0 et ack~l ) à la fin des segments LSB ou MSB, en fonction du contenu du bloc de FIFO de demande d'acquittement (Ack~request fifo) 407. Il est aussi en charge de la finalisation du formatage du segment avec le résultat du calcul de parité. Ce bloc 41 la fournit un indicateur au bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410, à chaque fois qu'un segment LSB a été entièrement lu dans le bloc de FIFO LSB d'émission 409a, et que la superposition d'acquittements (piggy-backing) et que l'octet de parité a été ajouté.
Le bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410 est en charge de la modification des pointeurs de lecture du bloc de FIFO LSB d'émission (tx~fifo~lsb) 409a et du bloc de FIFO MSB d'émission (tx~fifo~msb) 409b, selon les valeurs des fenêtres glissantes ARQ (elles-mêmes fonction du contenu des deux blocs de FIFO d'acquittement reçu (Ack~complete fifos) 408a, 408b.
La figure 4 présente le format d'un segment LSB (respectivement MSB) généré, en émission, par le bloc d'émission de segment LSB 411a (respectivement le bloc d'émission de segment MSB 411b), ou traité, en réception, par le bloc de réception de segment LSB 403a (respectivement le bloc de réception de segment MSB 403b).
Chaque segment LSB ou MSB a une longueur de N octets et comprend : - un champ de données 420, regroupant les (N-2) premiers octets ; - un champ d'accusé de réception ( ack ) 421, correspondant à l'avant-dernier octet et comprenant : * un sous-champ seg~nb 421a, contenant le numéro du segment LSB ou
MSB courant. Ce sous-champ est par exemple codé sur deux bits dans le cas du fenêtre d'ARQ égale à 3: 00 indique le numéro de segment 0 , 01 indique le numéro 1 , 10 indique le numéro 2 et 11 indique un segment non-valide (à ignorer) ;
<Desc/Clms Page number 20>
* deux sous-champs ack~0 421b et ack~1 421c ( piggy-backed fields ), contenant chacun un acquittement d'un segment déjà reçu (ce segment comprenant lui-même un segment LSB et un segment MSB). En effet deux segments peuvent être reçus correctement avant de pouvoir transmettre un acquittement. Chacun de ces sous-champs est par exemple codé sur deux bits : 00 indique l'acquittement du segment numéro 0 , 01 l'acquittement du segment numéro 1 , 10 l'acquittement du segment numéro 2 et 11 l' absence d'acquittement ; * un sous-champ R 421d, indiquant si le segment LSB ou MSB courant est retransmis (R = 1) ou non (R = 0) ; un champ de parité CRC 422, dont la valeur est la parité longitudinale de tous les octets précédents du segment LSB ou MSB courant.
Si on considère par exemple un segment LSB émis sur le port de transmission LSB (Port Tx~lsb), les sous-champs seg~nb 421a et R 421d se rapportent à ce segment LSB, tandis que les sous-champs ack~0 421b et ack~1 421c sont utilisés pour accuser réception des deux parties (segment LSB et segment MSB) d'un segment reçu précédemment. En d'autres termes, un segment reçu ayant un numéro donné est considéré valide (et donc est acquitté) quand les segments LSB et MSB associés (c'est-àdire ayant le même numéro) sont tous les deux reçus et considérés valides.
L'acquittement de ce segment reçu et valide peut ensuite être transmis, soit par un segment LSB émis soit par un segment MSB émis, selon le principe de la superposition ( piggy-backing ).
La figure 5 est un digramme temporel illustrant un exemple de segments LSB et segments MSB transmis entre deux n#uds, appelés ci-après n#ud 0 et n#ud 1 , du réseau de la figure 1.
Le noeudl a déjà reçu les segments LSB 501 et MSB 502 du segment Bn, et est en train d'émettre le segment MSB 503 du segment An+1 et le segment LSB 504 du segment An+2.
Si on suppose que les segments LSB 501 et MSB 502 du segment Bn sont valides (le numéro de segment LSB ou MSB est bien Bn, et le contrôle de parité est correct), alors le n#ud 1 peut accuser réception du segment Bn dès que possible, en
<Desc/Clms Page number 21>
utilisant la technique de superposition pour insérer l'acquittement ack Bn 508 du segment Bn, soit dans le segment MSB du segment An+1 (cas illustré), soit dans le segment LSB du segment An+2 (cas non illustré).
Le même raisonnement s'applique pour la transmission par le n#ud 0 du segment LSB 505 du segment Bn+1, qui porte les acquittements Ack An 506 et Ack An+1 507 des segments An et An+1.
On présente maintenant, en relation avec l'organigramme de la figure 6, le fonctionnement du bloc de réception de segment LSB 403a, apparaissant sur la figure 2.
On utilise un compteur d'octet de segment ( rank ) et une variable de parité ( Parity ).
A la réinitialisation, à chaque fois qu'une désynchronisation est détectée (signal byte~err fourni par le bloc de dé-sérialisation LSB 402a) ou à chaque fois qu'une erreur de parité est détectée sur les octets entrants, l'algorithme retourne dans l'état de départ dans lequel on attend la réception du signal Sync~seg~lsb fourni par le bloc de synchronisation de réception (Rx~link synchronization) 401 pour continuer.
Après réception du signal Sync~seg~Isb , le compteur d'octet de segment ( rank ) est réinitialisé, l'autorisation d'écriture dans le bloc de FIFO LSB de réception (rx~fifo~lsb) 404a est vérifiée et une boucle est effectuée jusqu'à ce que l'écriture soit autorisée (signal inhibit~wr~fifo~lsb inactif).
Après que le signal inhibit~wr~fifo~lsb est devenu inactif, les octets entrants du segment LSB courant sont attendus (événement new~byte venant du bloc de désérialisation LSB 402a).
Après que le signal new~byte est devenu actif, l'octet est lu (RD(byte)) à partir du bloc de dé-sérialisation LSB 402a et désembrouillé (unscrambled), le calcul de parité est effectué (Parity update), le compteur d'octet du segment LSB courant ( rank ) est incrémenté d'une unité et l'octet est écrit dans le bloc de FIFO LSB de réception ( rx~fifo~lsb ) 404a.
Si l'octet lu est associé à une erreur (le signal byte err fourni par le bloc de dé-sérialisation LSB 402a est actif), le processus se termine en revenant à l'état de départ, en activant le signal new~seg~lsb(err) et les numéros associés d'octets écrits du segment LSB courant dans le bloc de FIFO LSB de réception ( rx~fifo~lsb ) 404a,
<Desc/Clms Page number 22>
afin d'indiquer au bloc de contrôle de FIFO en réception (8b8bl6b rx~fifo mngt) 405 qu'une erreur s'est produite pendant la réception du segment LSB courant.
Le même mécanisme se produit lorsque tous les octets reçus sont valides (rank = N-l), mais que le calcul de parité n'est pas cohérent avec le champ de parité (Nième octet du segment LSB) du segment LSB écrit.
On présente maintenant, en relation avec l'organigramme de la figure 7, le fonctionnement de la partie LSB du bloc de contrôle de FIFO en réception (8b8bl6b rx~fifo mngt) 405, apparaissant sur la figure 2. Cette partie LSB est en charge de : - la modification du pointeur d'écriture du bloc de FIFO LSB de réception (rx~fifo~lsb) 404a, dans le cas d'une indication d'erreur venant du bloc de réception de segment LSB 403a ; - la vérification de la cohérence des segments LSB reçus (analyse des sous- champs seg~nb et R ) ; - la formulation de requêtes d'acquittement pour les segments LSB reçus qui sont valides et cohérents, c'est-à-dire l'inscription d'informations (pushing) dans le bloc de FIFO de demande d'acquittement (Ack~request fifo) 407 ; - la vérification de la cohérence des acquittements reçus ( ack~0 et ack~l ) superposés (piggy-backed) aux segments LSB reçus, c'est-à-dire l'inscription d'informations (pushing) de façon simultanée dans les deux blocs de FIFO d'acquittement reçu (Ack~complete fifos) 408a, 408b ; - l'inscription d'informations (pushing) dans le bloc de FIFO LSB d'enregistrement ( fifo~lsb~rec ) 406a, à chaque fois qu'un segment LSB valide a été écrit dans le bloc de FIFO LSB de réception (rx~fifo~lsb) 404a ; - l'interdiction ou l'autorisation de l'écriture dans le bloc de FIFO LSB de réception (rx~fifo~lsb) 404a : l'écriture est interdite chaque fois qu'un nouveau segment LSB (valide ou non) a été traité par le bloc de réception de segment
LSB 403a.
Dans l'organigramme de la figure 7, on utilise notamment un compteur modulo 3 d'acquittements reçus ( next~ack ) et un compteur modulo 3 de numéro de segment LSB ( next~lsb~seg ), et une variable binaire R~attendu indiquant si le prochain segment attendu est un segment retransmis (R~attendu = 1) ou pas (R~attendu = 0).
<Desc/Clms Page number 23>
La partie LSB du bloc de contrôle de FIFO en réception (8b8bl6b rx~fifo mngt) 405 est synchronisée avec les évènements (signaux) new~seg~lsb venant du bloc de réception de segment LSB 403a.
Si une erreur est associée au segment LSB reçu (le signal new~seg~lsb(err) est actif), tous les octets écrits dans le bloc de FIFO LSB de réception (rx~fifo~lsb) 404a (donnés par l'indication nb~byte ) sont supprimés, la variable R~attendu est initialisée à 1 et le processus reboucle sur l'état initial, dans l'attente du segment suivant à traiter. La génération d'une requête de re-synchronisation vers le côté émission (le signal wait~seg~sync devient actif) est effectuée pendant la boucle vers l'état initial. Ceci oblige le bloc de synchronisation d'émission (Tx~link synchronization) 413 à entrer dans un mode de re-synchronisation avec les ports de réception correspondants du n#ud distant. Une fois re-synchronisé, le port de réception va générer en même temps des signaux sync~seg~lsb et sync~seg~msb actifs. La variable R~attendu égale à un indique que le prochain segment attendu est une retransmission.
Si aucune erreur est associée au segment LSB reçu (le signal new~seg~lsb(ok) est actif), la vérification de la cohérence est effectuée sur les souschamps d'acquittements superposés ( ack~0 421b et ack~l 421c), le sous-champ de numéro de segment ( seg~nb 421a) et le sous-champ de retransmission ( R 421d).
Tous les acquittements reçus (et plus précisément les numéros des segments que ces acquittements indiquent comme acquittés, c'est-à-dire les contenus des sous-champs d'acquittements superposés) doivent suivre le compteur modulo 3 d'acquittements reçus ( next~ack ). Ceci signifie qu'un acquittement valide (ack~0 ou ack~l OK ) doit être cohérent avec celui attendu en fonction de la valeur de ce compteur, sinon il est rejeté. Du fait qu'un acquittement valide constitue un accusé de réception aussi bien pour le segment LSB que pour le segment MSB d'un même segment, on réalise l'inscription d'informations (pushing) de façon simultanée dans les deux blocs de FIFO d'acquittement reçu (Ack~complete fifos) 408a, 408b. Ces informations y sont ensuite lues au cours du processus d'émission effectué par le bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410. Le compteur d'acquittements reçus ( next~ack ) est partagé entre les processus de contrôle des parties LSB et MSB (le processus de
<Desc/Clms Page number 24>
contrôle de la partie MSB n'est pas décrit en détail ici, du fait qu'il se déduit directement du processus de contrôle de la partie LSB).
Tous les numéros de segments reçus (contenus des sous-champs seg~nb ) doivent suivre le compteur modulo 3 de numéro de segment LSB ( next~lsb~seg ). La variable R doit aussi suivre la variable R~attendu . Ceci signifie qu'un numéro de segment LSB et la variable R doivent être cohérents avec ceux attendu en fonction de la valeur de ce compteur et de la variable R~attendu , sinon il est rejeté. Même si le numéro de segment LSB est valide, le segment LSB associé peut néanmoins être un segment LSB retransmis, c'est-à-dire une retransmission d'un segment LSB déjà transmis avec le même numéro (du fait que le compteur est modulo 3), . Dans le cas où le segment LSB reçu (retransmis ou pas) n'est pas celui attendu, il n'est pas considéré valide, et les (N-l) octets écrits dans le bloc de FIFO LSB de réception (rx~fifo~lsb) 404a sont supprimés de ce bloc 404a.
Quand le numéro de segment LSB est valide et la variable R est égale à R~attendu (représenté sur l'organigramme par R OK ), le (N-l)ième octet (contenu dans le champ d'accusé de réception 421), est supprimé du bloc de FIFO LSB de réception (rx~fifo~lsb) 404a, et on inscrit des informations dans le bloc de FIFO LSB d'enregistrement ( fifo~lsb~rec ) 406a, afin d'indiquer que le segment LSB reçu est valide et numéroté de façon cohérente. Aussi on re-initialise la variable R~attendu à zéro une fois les trois segments correspondant à la fenêtre ARQ (les trois segments sont déterminés par la variable i) sont correctement reçus (en effet les nouveau segments ne doivent plus être des versions retransmises). Puis, si le bloc de FIFO MSB d'enregistrement ( fifo~msb~rec ) 406b n'est pas vide, ce qui signifie que le segment MSB ayant le même numéro de segment ( seg~nb ) a également été reçu, on inscrit des informations dans le bloc de FIFO de demande d'acquittement (Ack~request fifo) 407, afin de demander à la partie émission de superposer (insérer dans un segment LSB ou MSB à émettre) l'acquittement du segment complet ayant le numéro de segment précité ( seg~nb ).
On présente maintenant, en relation avec l'organigramme de la figure 8. le fonctionnement du bloc d'émission de segment LSB 41 la, apparaissant sur la figure 2.
<Desc/Clms Page number 25>
Cet algorithme est synchronisé sur le signal seg~start(lsb~seg) venant du bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410.
Le principe est de gérer les sous-champs d'acquittement et le sous-champ de retransmission, pour chaque segment LSB émis. On notera que aux sous-champs seg~nb , ack~0 , ack~l et R déjà décrits ci-dessus en relation avec la figure 4, correspondent des variables appelées lsb~seg , ack.ack~0 , ack.ack~l et ack.R respectivement dans l'organigramme de la figure 8.
On utilise par ailleurs un compteur d'octet de segment ( rank ), un compteur d'acquittements émis ( ack~val ) et une variable de parité ( Parity ). Le compteur d'acquittements émis ( ack~val ) est partagé entre les processus de transmission des segments LSB et MSB (le processus de transmission de segment MSB n'est pas décrit en détail ici, du fait qu'il se déduit directement du processus de transmission de segment LSB).
Après que le signal seg~start est devenu actif, tous les (N-2) octets lus dans le bloc de FIFO LSB d'émission (tx~fifo~lsb) 409a sont embrouillés (scrambled) unitairement, écrits dans le bloc de sérialisation LSB 412a et la parité longitudinale est calculée.
Dans le (N-l)ième octet du segment LSB courant : - on remplit le sous-champ de numéro de segment seg~nb en utilisant la variable Isb~seg ; - les sous-champs d'acquittements ack~0 et ack~l sont remplis (incrémentés) en cas d'état non vide du bloc de FIFO de demande d'acquittement (Ack~request fifo) 407 ; - le sous-champ de retransmission R est rempli en fonction de l'état d'une variable retransmit~lsb . Si cette variable n'est pas nulle, le sous-champ R est mis à 1, sinon à 0. Le principe est de systématiquement retransmettre, quand cela est nécessaire, les trois derniers segments LSB transmis, qui sont toujours contenus dans le bloc de FIFO LSB d'émission (tx~fifo~lsb) 409a. Ce mécanisme est décrit en détail ci-dessous, en relation avec la figure 9, qui décrit le fonctionnement de la partie LSB du bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410.
<Desc/Clms Page number 26>
Le Nième octet du segment LSB courant est rempli avec le résultat du calcul de parité effectué sur les (N-l) premiers octets du segment LSB.
On présente désormais, en relation avec l'organigramme de la figure 9, le fonctionnement de la partie LSB du bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410, apparaissant sur la figure 2.
Cet algorithme est synchronisé sur le signal seg~ready venant du bloc d'émission de segment LSB 411a.
Le principe est de gérer une fenêtre ARQ à trois segments LSB. A l'initialisation, la fenêtre ARQ est initialisée à trois (le compteur Isb~ARQ~init prend la valeur trois). A chaque fois que le signal seg~ready est actif, ceci signifiant que le segment LSB précédent a été transmis avec succès par le bloc d'émission de segment LSB 41 la, le crédit initial de la fenêtre ARQ est mis à jour en décrémentant le compteur Isb~ARQ~init d'une unité. Après que le compteur lsb~ARQ~init a atteint zéro, et qu'un nouveau segment LSB doit être transmis, on vérifie l'état (vide ou non) du bloc de FIFO d'acquittement reçu (Ack~complete fifo) 408a relatif à la partie LSB : - si cet état est vide , ceci signifiant que trois segments LSB ont été émis sans qu'aucun acquittement correspondant n'ait été reçu (venant du n#ud distant), le pointeur de lecture du bloc de FIFO LSB d'émission (tx~fifo~lsb) 409a est forcé au début de la fenêtre ARQ et le crédit de la fenêtre ARQ est remis à trois. En outre, les trois segments LSB suivants seront indiqués comme retransmis, en retournant retransmit~lsb = 3 au bloc d'émission de segment LSB 41 la ; - si cet état est non vide , ceci signifiant qu'au moins le premier des trois segments LSB précédemment émis a été acquitté par le n#ud distant), le crédit de la fenêtre ARQ n'est pas nul, et par conséquent aucune retransmission n'est nécessaire.
Dans les deux cas, le bloc de contrôle de FIFO en émission (16b8b8b tx~fifo mngt) 410 retourne le signal seg~start(lsb~seg) au bloc d'émission de segment LSB 411a, afin d'indiquer la disponibilité du bloc de FIFO LSB d'émission (tx~fifo~lsb)

Claims (26)

  1. M seconds canaux parallèles formant canaux d'émission de la seconde machine et canaux de réception de la première machine, avec M > 1, la première machine transmettant des données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses N canaux d'émission, caractérisé en ce que, si une pluralité de sous-segments reçus par la seconde machine sur ses N canaux de réception et relatifs à un même segment donné sont valides, la seconde machine envoie un accusé de réception du segment donné sur un de ses M canaux d'émission.
    N premiers canaux parallèles formant canaux d'émission de la première machine et canaux de réception de la seconde machine, avec N # 2,
    REVENDICATIONS 1. Procédé d'acquittement de la transmission de données entre une première machine et une seconde machine sur une ligne de transmission série full-duplex, du type comprenant :
  2. 2. Procédé selon la revendication 1, la seconde machine transmettant également des données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses M canaux d'émission, avec M > 2, caractérisé en ce que, si une pluralité de sous-segments reçus par la première machine sur ses M canaux de réception et relatifs à un même segment donné sont valides, la première machine envoie un accusé de réception du segment donné sur un de ses N canaux d'émission.
  3. 3. Procédé selon la revendication 2, caractérisé en ce qu'au moins une des première et seconde machines insère chaque accusé de réception dans un des sous-segments émis sur un de ses canaux d'émission.
  4. 4. Procédé selon la revendication 3, caractérisé en ce que chaque sous-segment émis sur un canal d'émission donné par une des machines peut comprendre au moins deux accusés de réception.
  5. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, dans chaque machine envoyant des accusés de réception, chaque accusé de réception est envoyé sur celui des canaux d'émission qui est disponible le premier.
    <Desc/Clms Page number 28>
  6. 6. Procédé selon l'une quelconque des revendications 2 à 5, caractérisé en ce que les première et seconde machines mettent en #uvre un mécanisme de type ARQ avec gestion d'une fenêtre ARQ, chaque accusé de réception comprenant un numéro d'accusé de réception inséré par la machine qui envoie ledit accusé de réception, en ce que chaque machine gère, en commun pour tous ses canaux de réception, un premier compteur d'accusés de réception reçus, et en ce que, pour chaque accusé de réception reçu, chaque machine effectue les étapes suivantes : * lecture du numéro d'accusé de réception ; * analyse de la cohérence du numéro d'accusé de réception lu avec la valeur courante du premier compteur d'accusés de réception reçus ; * en cas de cohérence : prise en compte de l'accusé de réception de façon à rendre non nulle la fenêtre ARQ gérée par la machine pour chacun de ses canaux d'émission ; incrémentation du premier compteur d'accusés de réception reçus.
  7. 7. Procédé selon la revendication 6, caractérisé en ce que la prise en compte de l'accusé de réception consiste à inscrire une information dans une pluralité de premiers registres spécifiques chacun à un des canaux d'émission de la machine.
  8. 8. Procédé selon l'une quelconque des revendications 2 à 7, caractérisé en ce que chaque sous-segment émis sur un canal d'émission donné par une des machines comprend un numéro de sous-segment inséré par ladite machine, en ce que chaque machine gère, pour chacun de ses canaux de réception, un deuxième compteur de sous-segments reçus, et en ce que, pour chaque sous-segment relatif à un segment donné et reçu par une des machines, ladite machine effectue les étapes suivantes : lecture du numéro de sous-segment compris dans le sous-segment reçu ; analyse de la cohérence du numéro de sous-segment lu avec la valeur courante du deuxième compteur de sous-segments reçus ; en cas de cohérence :
    <Desc/Clms Page number 29>
    * stockage du sous-segment reçu ; * si tous les autres sous-segments reçus relatifs au segment donné sont également stockés, demande d'envoi d'un accusé de réception du segment donné sur un des canaux d'émission de la machine ; * incrémentation du deuxième compteur de sous-segments reçus.
  9. 9. Procédé selon la revendication 8, caractérisé en ce que la demande d'envoi d'un accusé de réception sur un des canaux d'émission consiste à inscrire une information dans un second registre commun à tous les canaux d'émission de la machine.
  10. 10. Procédé selon l'une quelconque des revendications 8 et 9, caractérisé en ce que chaque sous-segment émis sur un canal d'émission donné par une des machines comprend en outre un indicateur d'émission ou ré-émission, précisant si le sous-segment est émis pour la première fois ou ré-émis, et en ce que, pour chaque sous-segment relatif à un segment donné et reçu par une des machines, la machine effectue l'étape de stockage du sous-segment reçu, en cas de cohérence, seulement si l'indicateur d'émission ou ré-émission précise que le soussegment est émis pour la première fois.
  11. 11. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que chaque canal comprend une paire torsadée.
  12. 12. Procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce que le nombre N de premiers canaux et le nombre M de seconds canaux sont égaux à deux.
  13. 13. Seconde machine impliquée dans un procédé d'acquittement de la transmission de données entre une première machine et ladite seconde machine sur une ligne de transmission série full-duplex, du type comprenant :
    N premiers canaux parallèles formant canaux d'émission de la première machine et canaux de réception de la seconde machine, avec N # 2,
    M seconds canaux parallèles formant canaux d'émission de la seconde machine et canaux de réception de la première machine, avec M # 1, la première machine comprenant des moyens de transmission de données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses N canaux d'émission, caractérisé en ce que ladite seconde machine comprend :
    <Desc/Clms Page number 30>
    des moyens de détection qu'une pluralité de sous-segments reçus sur ses N canaux de réception et relatifs à un même segment donné sont valides ; des moyens d'envoi d'un accusé de réception du segment donné sur un de ses M canaux d'émission.
  14. 14. Seconde machine selon la revendication 13, caractérisée en ce qu'elle comprend des moyens de transmission de données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses M canaux d'émission, avec M # 2, de façon que, si une pluralité de sous-segments reçus par la première machine sur ses M canaux de réception et relatifs à un même segment donné sont valides, la première machine envoie un accusé de réception du segment donné sur un de ses N canaux d'émission.
  15. 15. Seconde machine selon la revendication 14, caractérisée en ce qu'elle comprend des moyens d'insertion de chaque accusé de réception dans un des sous-segments émis sur un des canaux d'émission.
  16. 16. Seconde machine selon la revendication 15, caractérisée en ce que les moyens d'insertion permettent d'insérer au moins deux accusés de réception dans un même soussegment émis.
  17. 17. Seconde machine selon l'une quelconque des revendications 13 à 16, caractérisée en ce que les moyens d'envoi de l'accusé de réception comprennent des moyens de sélection de celui des canaux d'émission qui est disponible le premier.
  18. 18. Seconde machine selon l'une quelconque des revendications 14 à 17, caractérisée en ce qu'elle comprend : - des moyens de mise en #uvre d'un mécanisme de type ARQ avec gestion d'une fenêtre ARQ ; - des moyens d'insertion d'un numéro d'accusé de réception dans chaque accusé de réception à envoyer ; - des moyens de gestion, en commun pour tous ses canaux de réception, d'un premier compteur d'accusés de réception reçus ; - des moyens de lecture du numéro d'accusé de réception de chaque accusé de réception reçu ;
    <Desc/Clms Page number 31>
    des moyens d'analyse de la cohérence du numéro d'accusé de réception lu avec la valeur courante du premier compteur d'accusés de réception reçus ; des moyens, activés en cas de cohérence, de prise en compte de l'accusé de réception de façon à rendre non nulle la fenêtre ARQ gérée par la seconde machine pour chacun de ses canaux d'émission ; des moyens d'incrémentation du premier compteur d'accusés de réception reçus.
  19. 19. Seconde machine selon la revendication 18, caractérisée en ce que les moyens de prise en compte de l'accusé de réception comprennent des moyens d'inscription d'une information dans une pluralité de premiers registres spécifiques chacun à un des canaux d'émission de la seconde machine.
  20. 20. Seconde machine selon l'une quelconque des revendications 14 à 19, caractérisée en ce qu'elle comprend : - des moyens d'insertion d'un numéro de sous-segment dans chaque sous-segment émis sur un de ses canaux d'émission ; - des moyens de gestion, pour chacun de ses canaux de réception, d'un deuxième compteur de sous-segments reçus ; - des moyens de lecture du numéro de sous-segment compris chaque sous-segment relatif à un segment donné et reçu par la seconde machine ; - des moyens d'analyse de la cohérence du numéro de sous-segment lu avec la valeur courante du deuxième compteur de sous-segments reçus ; - des moyens, activés en cas de cohérence, de stockage du sous-segment reçu ; - des moyens, activés si tous les autres sous-segments reçus relatifs au segment donné sont également stockés, permettant de demander l'envoi d'un accusé de réception du segment donné sur un des canaux d'émission de la seconde machine ; - des moyens d'incrémentation du deuxième compteur de sous-segments reçus.
  21. 21. Seconde machine selon la revendication 20, caractérisée en ce que les moyens permettant de demander l'envoi d'un accusé de réception sur un de ses canaux d'émission comprennent des moyens d'inscription d'une information dans un second registre commun à tous les canaux d'émission de la seconde machine.
    <Desc/Clms Page number 32>
  22. 22. Seconde machine selon l'une quelconque des revendications 20 et 21, caractérisée en ce que chaque machine comprend des moyens d'insertion d'un indicateur d'émission ou ré-émission dans chaque sous-segment émis sur un canal d'émission donné, ledit indicateur d'émission ou ré-émission précisant si le soussegment est émis pour la première fois ou ré-émis ; et en ce que les moyens de stockage du sous-segment reçu, sont activés en cas de cohérence et seulement si l'indicateur d'émission ou ré-émission précise que le soussegment est émis pour la première fois.
  23. 23. Seconde machine selon l'une quelconque des revendications 13 à 22, caractérisée en ce que chaque canal comprend une paire torsadée.
  24. 24. Seconde machine selon l'une quelconque des revendications 13 à 23, caractérisée en ce que le nombre N de premiers canaux et le nombre M de seconds canaux sont égaux à deux.
  25. 25. 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 à 12, lorsque ledit programme est exécuté sur un ordinateur.
  26. 26. Produit programme d'ordinateur, adapté à l'acquittement de la transmission de données entre une première machine et une seconde machine sur une ligne de transmission série full-duplex, du type comprenant :
    N premiers canaux parallèles formant canaux d'émission de la première machine et canaux de réception de la seconde machine, avec N # 2,
    M seconds canaux parallèles formant canaux d'émission de la seconde machine et canaux de réception de la première machine, avec M # 1, la première machine transmettant des données sous la forme de segments comprenant une pluralité de sous-segments émis chacun sur un de ses N canaux d'émission, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur comprenant : des moyens de programmation lisibles par ordinateur pour effectuer une étape de vérification qu'une pluralité de sous-segments reçus par la seconde machine sur ses N canaux de réception et relatifs à un même segment donné sont valides ;
    <Desc/Clms Page number 33>
    des moyens de programmation lisibles par ordinateur pour effectuer une étape d'envoi d'un accusé de réception du segment donné sur un des M canaux d'émission de la seconde machine.
FR0303518A 2003-03-21 2003-03-21 Procede d'acquittement de la transmission de donnees entre deux machines sur une ligne de transmission serie full-duplex, machine et programme d'ordinateur correspondants. Expired - Fee Related FR2852751B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0303518A FR2852751B1 (fr) 2003-03-21 2003-03-21 Procede d'acquittement de la transmission de donnees entre deux machines sur une ligne de transmission serie full-duplex, machine et programme d'ordinateur correspondants.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0303518A FR2852751B1 (fr) 2003-03-21 2003-03-21 Procede d'acquittement de la transmission de donnees entre deux machines sur une ligne de transmission serie full-duplex, machine et programme d'ordinateur correspondants.

Publications (2)

Publication Number Publication Date
FR2852751A1 true FR2852751A1 (fr) 2004-09-24
FR2852751B1 FR2852751B1 (fr) 2005-05-27

Family

ID=32922374

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0303518A Expired - Fee Related FR2852751B1 (fr) 2003-03-21 2003-03-21 Procede d'acquittement de la transmission de donnees entre deux machines sur une ligne de transmission serie full-duplex, machine et programme d'ordinateur correspondants.

Country Status (1)

Country Link
FR (1) FR2852751B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011796A (en) * 1997-06-17 2000-01-04 Qualcomm Incorporated Extended range sequence numbering for selective repeat data transmission protocol
WO2000062466A2 (fr) * 1999-04-09 2000-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Procede pour minimiser les reponses de reaction dans des protocoles arq
US6236647B1 (en) * 1998-02-24 2001-05-22 Tantivy Communications, Inc. Dynamic frame size adjustment and selective reject on a multi-link channel to improve effective throughput and bit error rate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011796A (en) * 1997-06-17 2000-01-04 Qualcomm Incorporated Extended range sequence numbering for selective repeat data transmission protocol
US6236647B1 (en) * 1998-02-24 2001-05-22 Tantivy Communications, Inc. Dynamic frame size adjustment and selective reject on a multi-link channel to improve effective throughput and bit error rate
WO2000062466A2 (fr) * 1999-04-09 2000-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Procede pour minimiser les reponses de reaction dans des protocoles arq

Also Published As

Publication number Publication date
FR2852751B1 (fr) 2005-05-27

Similar Documents

Publication Publication Date Title
US8667363B2 (en) Systems and methods for implementing cyclic redundancy checks
CA1264875A (fr) Procede et dispositif de transmission de donnees numeriques par messages organises en trames
ES2259296T3 (es) Aparato para transmision/recepcion de un tren de bits en una red y procedimiento correspondiente.
EP2885899B1 (fr) Dispositif et procédé de transfert unidirectionnel de données
EP1058477B1 (fr) Dispositif d&#39;interface entre un équipement ATM et un canal de transmission comportant une liaison radio synchrone
CN109327286A (zh) 基于光纤的通信方法及系统
WO2003069834A1 (fr) Procede d&#39;arq semi-fiable et dispositif prevu a cet effet
US6473875B1 (en) Error correction for network delivery of video streams using packet resequencing
BE1004367A5 (fr) Procede et dispositif d&#39;accuse de reception d&#39;ensembles de donnees.
EP0097579B1 (fr) Système de radiocommunications à sauts de fréquence, à redondance inter-paliers
EP0430126B1 (fr) Procédé et dispositif de transmission numérique d&#39;informations, avec demande automatique de retransmission, ou &#34;ARQ&#34;
EP0648063B1 (fr) Méthode et dispositif pour la transmission d&#39;une suite de cellules ATM
Shen et al. RIFL: a reliable link layer network protocol for data center communication
US4555774A (en) Fast response for switched data networks
JPH02121441A (ja) パケット交換システム及び方法
EP0231711A1 (fr) Procédé et équipements de multiplexage et démultiplexage pour mesurer la qualité et localiser des défauts dans des voies numériques multiplexées
FR2655221A1 (fr) Procede de demande automatique de retransmission pour installation de transmission numerique duplex a au moins une voie de retour bruitee et installation permettant la mise en óoeuvre de ce procede.
FR2852751A1 (fr) Procede d&#39;acquittement de la transmission de donnees entre deux machines sur une ligne de transmission serie full-duplex, machine et programme d&#39;ordinateur correspondants.
CN106792265A (zh) 一种网络实时流媒体传输方法和系统
JP4024988B2 (ja) データ伝送方式
US6130895A (en) Methods and devices for sending and receiving data and systems using them
FR2767001A1 (fr) Procede de purge des tampons de liaisons series a haut debit et dispositif de mise en oeuvre du procede
Kothapalli et al. Extended Packet Combining Schemes for Error Control in Wireless Networks
EP0932271A1 (fr) Procédé de communication avec acquittement de réception amélioré
CN107135048A (zh) 一种Interlaken接口的数据传输方法、Interlaken接口和接口系统

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128