Brevet FR2796231A1 — publié le 20010112

"Procédé de transmission de trames de données entre un émetteur et un récepteur avec ré-émission de trames non correctement reçues et système de transmission mettant en oeuvre ce procédé" L'invention concerne un procédé de transmission d'informations entre un émetteur et un récepteur du type selon lequel les informations sont émises sous forme de trames, chaque trame d'information étant notamment- identifiée par un numéro de séquence. L'invention permet de retransmettre les trames non correctement reçues en minimisant la surcharge du canal de communication liée à des retransmissions excessives de trames non correctement reçues dites "trames en erreur". L'invention concerne également un système d'émission-réception comprenant par exemple au moins un émetteur et au moins un récepteur, échangeant des informations par l'intermédiaire d'un canal de communication bidirectionnel et mettant en oeuvre le procédé. Dans le domaine de la transmission de données, il est connu de partager la transmission des données en "paquets", chaque paquet appelé trame étant numéroté, c'est-à-dire doté d'un numéro de séquence correspondant à un ordre de transmission normal prédéterminé. Ce principe s'applique à une multitude de moyens de communication (ondes radiofréquences, transmission par infrarouge, etc...). Le canal de communication entre l'émetteur et le récepteur est du type bidirectionnel pour que l'émetteur puisse recevoir des trames de supervision émises par le récepteur. Ces trames de supervision permettent à l'émetteur de "vérifier" que toutes les trames émises ont bien été reçues ou, à défaut, d'organiser la retransmission des trames non correctement reçues. Dans ce domaine de la technique, on connaît les procédures de contrôle d'erreur appelées ARQ (selon la définition en langue anglaise "Automatic Repeat reQuest"). Cette procédure s'utilise avec un canal de communication bidirectionnel comme mentionné ci-dessus et met en oeuvre des moyens pour demander la retransmission des trames en erreur. Toutes les trames d'informations sont numérotées dans l'ordre normal de transmission séquentielle. Ce numéro de séquence à l'émission sera désigné ci- après N(S). Si l'information n'est pas brouillée pendant la transmission, les trames d'informations correctement reçues dans le bon ordre sont acquittées en réponse par le récepteur. Plus particulièrement, le récepteur peut émettre périodiquement des trames de supervision. L'une des plus simples dite "trame RR", qui comporte un numéro de séquence N(R), est formatée pour signaler à l'émetteur, d'une part que le récepteur est prêt à recevoir d'autres informations et d'autre part, que toutes les trames dont les numéros de séquence sont inférieurs à N(R) doivent être acquittées. Une autre trame de supervision classique, qui comporte également un numéro de séquence (N(R), est dite "trame RNR". Lorsqu'une telle trame est émise par le récepteur vers l'émetteur, elle indique que toutes les trames de numéro de séquence inférieur à N(R) ont été correctement reçues par le récepteur, mais que le récepteur se trouve momentanément dans l'incapacité de recevoir des trames d'information supplémentaires. Par conséquent, si l'émetteur a reçu une trame RNR, il ne peut recommencer à émettre qu'à la réception d'une trame RR subséquente. Un troisième type de trame de supervision, connu en soi, est appelé "trame de rejet sélectif' ou trame SREJ. Classiquement, une telle trame est émise par le récepteur pour demander la retransmission d'une trame d'informations non correctement reçue et pour acquitter une ou plusieurs trames d'informations reçues avant la trame à retransmettre. Parmi les procédures de type ARQ, l'une des plus performantes utilise de telles trames de rejet sélectif pour ne retransmettre que les trames de données erronées. Cette procédure de rejet sélectif fait l'objet de la recommandation X.141 du CCITT, livre bleu, volume VIII, fascicule V111.3, Sème Assemblée Plénière, Novembre 1988. Une trame SREJ est élaborée par le récepteur pour faire retransmettre une trame erronée et acquitter toutes les trames dont les numéros de séquence précédent celui de la trame erronée. Cependant, cette procédure ne peut être utilisée que pour une seule trame perdue à la fois. La transmission de nouvelles trames est interrompue tant que la trame en erreur n'a pas été correctement reçue. Le document EP-A-162478 décrit un procédé pour que le récepteur demande à l'émetteur de retransmettre un groupe de trames de données consécutives non correctement reçues. Cependant, ce procédé ne traite pas le problème de l'acquittement des trames correctement reçues. Une trame SREJ mentionnée ci-dessus, conformée pour demander la retransmission d'une trame et acquitter les trames d'informations reçues avant la trame à retransmettre est connue en soi et constitue une partie d'une des procédures de signalisation d'erreur de transmission décrite dans la recommandation X 141 du CCITT. L'émetteur ou le récepteur est généralement une station de communication pouvant selon les circonstances fonctionner en émetteur ou en récepteur. Un tel émetteur-récepteur comporte une mémoire vive, ou RAM dont une partie est réservée au stockage momentané des trames de données notamment les trames d'informations. On désigne cet espace mémoire par "buffers". Dans le cas de l'émetteur, les "buffers" contiennent les trames à transmettre ou à retransmettre. Dans le cas du récepteur, les "buffers" sont utilisés pour stocker les trames d'informations correctement reçues le temps nécessaire pour recevoir et stocker des trames manquantes retransmises une ou plusieurs fois afin d'être en mesure de reconstituer la séquence d'informations transmises dans l'ordre normal de transmission défini à l'émission avant de la transmettre à son tour à un réseau d'exploitation. Les "buffers" peuvent être momentanément saturés, particulièrement ceux du récepteur ; dans ce cas, la transmission des trames d'informations doit être momentanément interrompue le temps de libérer lesdits "buffers". L'un des buts de l'invention est de remédier aux inconvénients de la technique antérieure en permettant la retransmission d'un ou plusieurs blocs de trames de données consécutives non correctement reçues (trames dites en erreur), sans bloquer la transmission des données tant que le bloc de trame en erreur n'a pas été intégralement retransmis. L'invention a également pour but de pouvoir acquitter les trames correctement reçues avant le bloc de trames en erreur et des trames correctement reçues entre la fin de ce bloc de trames en erreur et la dernière trame de données correctement reçues. On entend par "acquittement" d'une trame le fait que l'émetteur puisse déduire, à partir des informations reçues par le biais des trames de supervision, que telle ou telle trame a été correctement reçue par le récepteur. L'émetteur peut alors libérer l'espace mémoire correspondant. Plus précisément, l'invention concerne un procédé de transmission de trames de données, entre un émetteur et un récepteur, échangeant des informations par l'intermédiaire d'un canal de communication bidirectionnel, une trame d'informations étant repérée par un numéro de séquence, ledit récepteur élaborant et renvoyant vers l'émetteur des trames de supervision dites trames SREJ pour commander la retransmission de trames d'informations non correctement reçues dites trames en erreur, caractérisé en ce qu'il consiste - à émettre successivement des trames d'informations vers le récepteur tant que cela est possible, - à élaborer et tenir à jour, du côté dudit récepteur, une structure-mémoire desdites trames en erreur, agencée en arbre de réception comportant des branches et/ou feuilles, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, - à élaborer, à partir dudit arbre de réception, et émettre des trames SREJ précitées vers l'émetteur, chaque trame SREJ identifiant un nouveau et un seul bloc de trames consécutives en erreur, - à exploiter les trames SREJ reçues par l'émetteur pour piloter la ré- émission de blocs de trame en fonction des informations contenues dans lesdites trames SREJ. Par "émettre des trames d'informations tant que cela est possible" on veut dire qu'on ne soumet pas la cadence d'émission des trames d'informations à la bonne ou mauvaise réception de celles-ci. La cadence d'émission peut être affectée, principalement, par une éventuelle saturation des "buffers". De préférence, on agence dans le récepteur un arbre de réception en sorte qu'il comprenne - une racine indiquant le numéro de séquence de la première trame en attente n'ayant jamais fait l'objet d'une demande de retransmission et, en cas de nécessité de retransmission, - au moins une branche et/ou feuille, la ou les feuilles occupant le niveau le plus éloigné de ladite racine, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, une feuille étant créée sur réception d'une trame d'informations de numéro de séquence non attendu et étant classée à un niveau juste inférieur à celui de la feuille ou branche contenant ledit numéro de séquence non attendu. Le procédé est encore avantageusement caractérisé en ce qu'il consiste à élaborer et émettre une trame SREJ précitée chaque fois que le récepteur reçoit une trame ayant un numéro de séquence différent de celui qui est attendu ou chaque fois que le récepteur a effectivement reçu un bloc de trames complet correspondant à sa feuille terminale représentant les numéros de séquence les plus faibles et qu'il existe une feuille adjacente de même niveau. Selon un autre aspect remarquable de l'invention, le procédé est caractérisé en ce qu'il consiste, du côté émetteur, à élaborer et tenir à jour une structure-mémoire des trames à transmettre dans un ordre prédéterminé, agencée en arbre de transmission comprenant - une racine indiquant le numéro de séquence de la prochaine trame de données qui sera émise pour la première fois et, le cas échéant, - au moins une branche et/ou feuille, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives à retransmettre et en ce qu'il consiste, pour chaque émission de trame, à sélectionner la trame présentant le plus petit numéro de séquence dans ledit arbre de transmission, à émettre cette trame et à incrémenter la valeur inférieure de la feuille correspondante, ou de ladite racine si aucune trame n'est à retransmettre. La gestion d'une structure-mémoire sous forme d'arbre est un concept classique. On rappelle qu'au fur et à mesure que l'arbre se développe, les dernières informations classées dans l'arbre (c'est-à-dire les plus "éloignées" de la racine) forment ce qu'on appelle une "feuille". D'autres informations classées à des niveaux intermédiaires entre la racine et la feuille constituent des "branches". Cependant, comme mentionné ci-dessus, il peut exister plusieurs "feuilles" classées au même niveau. Les feuilles de même niveau sont formées dans des circonstances particulières qui seront développées ci-après. Lorsqu'on exploite un arbre dans un état donné pour élaborer une information ou une instruction, par exemple pour construire une trame SREJ à partir de l'arbre de réception, on se place toujours à la feuille terminale de l'arbre, c'est-à-dire dans cet exemple précis, celle qui renferme les numéros de séquence les plus éloignés de celui qui est contenu dans la racine, c'est-à-dire les plus faibles. Dans la suite de la description, on dira par convention qu'une branche ou feuille est à un niveau "inférieur" à une autre lorsqu'elle est classée à un niveau plus éloigné que celle-ci par rapport à la racine ou qu'elle est à un niveau "supérieur", dans le cas contraire. L'invention concerne également un système de transmission de trames de données, comprenant un émetteur et un récepteur, échangeant des informations par l'intermédiaire d'un canal de communication bidirectionnel, une trame d'informations étant repérée par un numéro de séquence, ledit récepteur élaborant et renvoyant vers l'émetteur des trames de supervision dites trames SREJ pour commander la retransmission de trames d'informations non correctement reçues dites trames en erreur, caractérisé en ce qu'il comporte - des moyens pour émettre successivement des trames d'informations vers le récepteur tant que cela est possible, - des moyens pour élaborer et tenir à jour, du côté dudit récepteur, une structure-mémoire desdites trames en erreur, agencé en arbre de réception comportant des branches et/ou feuilles, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, - des moyens pour élaborer et émettre des trames SREJ précitées vers l'émetteur, chaque trame SREJ identifiant un nouveau et seul bloc de trames consécutives en erreur, et - des moyens pour exploiter les trames SREJ reçues par l'émetteur pour piloter la ré-émission de blocs de trame en fonction des informations contenues dans les trames SREJ. Un tel système de transmission peut donc comporter au moins deux stations de communication formant chacune un émetteur-récepteur susceptible de communiquer par le canal de communication bidirectionnel choisi. Une structure-mémoire précitée fait partie de la mémoire vive (RAM) d'une telle station de communication. L'invention concerne également toute station de communication constituant un tel émetteur-récepteur susceptible d'être utilisé soit en émetteur, soit en récepteur dans un système de transmission de données selon la définition qui précède. L'invention concerne aussi d'autres équipements comportant une telle station de communication. Un tel équipement peut par exemple constituer un ordinateur, une imprimante, un télécopieur, un scanner, un appareil photographique ou une caméra numérique. Cette liste n'est évidemment pas limitative. L'invention concerne également un dispositif d'émission-réception ou un dispositif d'émission ou un dispositif de réception, pour la transmission de trames de données, susceptible d'être couplé à un canal de communication bidirectionnel pour correspondre avec au moins un dispositif d'émission et/ou de réception semblable, caractérisé en ce qu'il comprend des moyens de stockage de données représentatives de telles trames et des moyens de stockage et de gestion des numéros de séquence de telles trames, permettant la mise en oeuvre du procédé défini ci-dessus. Enfin, l'invention vise aussi un moyen de stockage d'informations éventuellement amovible (par exemple disque dur, "CD-ROM" ou disquette) lisible par un ordinateur ou un processeur et contenant des instructions de programme, caractérisé en ce que ces instructions permettent la mise en oeuvre du procédé de transmission de trames de données tel que défini ci-dessus. L'invention sera mieux comprise et d'autres avantages de celle-ci apparaîtront plus clairement à la lumière de la description qui va suivre, donnée uniquement à titre d'exemple et faite en référence aux dessins annexés dans lesquels - la figure 1 est un schéma représentant une station de communication formant émetteur-récepteur mettant en oeuvre l'invention ; - la figure 2 représente une trame de données utilisée dans le cadre de l'invention ; - la figure 3 illustre une séquence de communication perturbée, entre deux stations de communication distantes l'une de l'autre ; - la figure 4 illustre l'évolution de l'arbre de réception V(R) par rapport à l'exemple de la figure 3 ; - la figure 5 illustre l'évolution de l'arbre de transmission V(S) par rapport à l'exemple de la figure 3 ; - la figure 6 illustre l'évolution de l'arbre de non acquittement NACK par rapport à l'exemple de la figure 3 ; - la figure 7 est un organigramme montrant comment on détermine le numéro de séquence de la prochaine trame d'informations à émettre à partir de l'arbre de transmission V(S) ; - la figure 8 est un organigramme montrant l'évolution de l'arbre de non acquittement NACK après envoi d'une trame d'information ; - la figure 9 est un organigramme montrant l'évolution de l'arbre NACK sur réception d'une trame SREJ ; - la figure 10 est un organigramme montrant l'évolution de l'arbre NACK sur réception d'une trame RNR ou RR ; - la figure 11 est un organigramme montrant l'évolution de l'arbre de transmission V(S) sur réception d'une trame SREJ ; et - les figures 12A et 12B représentent un organigramme explicitant l'évolution de l'arbre de réception V(R), sur réception d'une trame d'informations. En se reportant à la figure 1, on a représenté sous forme de schéma-bloc un émetteur-récepteur conforme à l'invention et susceptible d'être intégré à un système de transmission de données entre deux unités reliées par un canal de communication bidirectionnel. La nature de ce canal importe peu pour la mise en oeuvre de l'invention ; il peut par exemple être constitué par un canal radiofréquence, un canal de transmission infrarouge, une liaison filaire, etc... En d'autres termes, un système de transmission de données entre deux unités distantes l'une de l'autre, comprend deux dispositifs formant émetteur-récepteur conformes à la figure 1, couplés par ledit canal. Chaque émetteur-récepteur a une architecture générale conforme à un modèle connu sous l'abréviation OSI. Selon ce modèle, l'unité formant émetteur-récepteur comprend notamment trois couches, une couche réseau CR, une couche de liaison de données CL, plus particulièrement concernée par l'invention, et une couche physique CP. Cette dernière assure l'interface avec le canal de communication bidirectionnel CCB. La couche CR peut être reliée ou intégrée à un terminal informatique dont on désire transmettre les données à une autre unité distante. Ce terminal informatique peut être un ordinateur personnel, une imprimante, un télécopieur, un scanner, un appareil photographique numérique, une caméra numérique, un système de communication ou un serveur de fichiers, par exemple. La couche de liaison de données CL comporte une interface de liaison IR à la couche CR et une interface de liaison IP à la couche physique CP. Elle comporte également un microcontrôleur MC, une mémoire vive RAM et une mémoire morte ROM. Ces trois sous-ensembles contiennent- et/ou gèrent les différentes fonctions constitutives de l'invention. En particulier, on a défini une fonction réception RE, une fonction transmission TR et trois fonctions de gestion GVR d'arbres, la fonction de gestion de l'arbre de réception V(R) la fonction de gestion GVS de l'arbre de transmission V(S) et la fonction de gestion GNACK de l'arbre de non acquittement ou arbre NACK. Les fonctions TR, RE et les différentes fonctions de gestion d'arbre seront décrites plus en détails en référence aux organigrammes. Il est à noter que dans une configuration donnée de transmission, un émetteur-récepteur fonctionne en émetteur de trames d'informations et dans ce cas, sa fonction GVR est inhibée tandis que l'autre fonctionne en récepteur de trames d'informations et dans ce cas, ses fonctions GVS et GNACK sont inhibées. Une partie de la mémoire RAM constitue une mémoire tampon ou "buffers" permettant de stocker les données à transmettre (trames d'informations I) lorsque l'émetteur-récepteur fonctionne en émetteur de données. Inversement, une partie de la mémoire RAM constitue une mémoire tampon ou "buffers" permettant de stocker les données reçues, c'est-à-dire notamment les mêmes trames d'informations lorsque l'émetteur-récepteur est utilisé en récepteur. Par ailleurs, lorsque l'émetteur-récepteur est utilisé en récepteur, le microcontrôleur associé aux mémoires RAM et ROM est capable d'élaborer et renvoyer des trames de supervision et notamment trois types de trames déjà mentionnés, à savoir - une trame RR utilisée pour indiquer que le récepteur est prêt à recevoir une trame d'informations, pour acquitter les trames d'informations précédemment reçues et pour débloquer une possible condition "récepteur occupé" qui aurait été précédemment déclenchée par une trame RNR ; - une trame RNR est utilisée pour acquitter les trames d'informations précédemment reçues et pour indiquer une condition "récepteur occupé", c'est- à-dire une incapacité temporaire pour le récepteur de recevoir des trames d'informations supplémentaires. Cette condition signifie par exemple que la mémoire tampon du récepteur est saturée et qu'il est nécessaire d'attendre que le récepteur ait traité les trames reçues avant d'en envoyer de nouvelles ; - une trame SREJ ou trame de rejet sélectif était utilisée classiquement pour demander la retransmission d'une trame et pour acquitter les trames d'informations reçues avant la trame à retransmettre. Selon l'invention, la fonctionnalité de la trame SREJ est étendue, comme on le verra plus loin, pour pouvoir - demander la retransmission d'un bloc de trames non correctement reçues ou bloc de trames en erreur et non plus une seule trame - de permettre l'acquittement des trames qui sont reçues correctement avant et après un bloc de trames en erreur. On entend par acquittement d'une trame ou d'un bloc de trames le fait que l'émetteur reçoit du récepteur une trame de supervision lui permettant de reconnaître qu'une ou plusieurs trames d'informations ont été correctement reçues. L'acquittement permet donc de libérer l'espace mémoire occupé par cette trame dans la mémoire tampon (RAM). Le tableau ci-dessous indique le contenu des différentes trames CHAMP PARÂMETRES MODE FONCTION D'INFORMATIONS UTILES I OUI N(S) RR NON N(R) S RNR NON N(R) SREJ NON N(R), N(L), N(A) Dans la colonne MODE, la lettre I indique que la trame est une trame d'information et la lettre S indique que la trame est une trame de supervision. Les trames 1 sont émises par l'émetteur et reçues par le récepteur. Elles comportent un champ d'informations et sont repérées par un numéro de séquence N(S) qui indique l'ordre normal d'émission. Une trame de supervisions comporte dans son entête des informations permettant d'identifier sa fonction RR, RNR ou SREJ. Elle ne comporte pas de champ d'informations. Une trame RR ou RNR comporte notamment un paramètre N(R) correspondant au numéro de séquence en réception, sa valeur est égale au numéro de séquence en émission de la trame d'informations attendue par le récepteur. Pour la trame SREJ, le paramètre N(R) correspond au numéro de séquence de la première trame d'un bloc de trames en erreur tandis que le paramètre N(L) correspond au numéro de séquence de la dernière trame du même bloc de trames en erreur. Le paramètre supplémentaire N(A) se déduit de l'évolution de l'arbre V(R) qui sera décrit plus loin. La figure 2 décrit la structure d'une trame, qui peut être une trame d'informations ou une trame de supervision. La trame comporte un champ de contrôle CC, un champ d'informations CI contenant (dans le cas d'une trame d'informations) un paquet de données à transmettre et un champ de contrôle d'erreur FCS. Ce champ est utilisé à la réception pour détecter si la trame a été corrompue ou non au cours de sa transmission et si, par conséquent, elle doit être retransmise. L'exploitation du champ de contrôle d'erreur est connue et ne fait pas partie de l'invention. Le champ de contrôle CC comporte lui-même plusieurs paramètres. Le paramètre M définit le type de trame, à savoir, dans le cas présent, s'il s'agit d'une trame de données ou d'une trame de supervision. Le paramètre F définit la fonction de la trame s'il s'agit d'une trame de supervision. Enfin, le champ de contrôle peut comporter quatre autres paramètres N(R), N(S), N(L) et N(A), comme indiqué ci-dessus. En fonctionnement normal et non perturbé, c'est-à-dire notamment si le récepteur n'a pas émis de trame RNR, l'émetteur est programmé pour émettre les trames d'informations. Ces trames d'informations sont émises, tant que cela est possible, c'est-à-dire lorsqu'il n'y a pas saturation des buffers, lorsque les conditions de transmission le permettent et en l'absence d'interdiction générée par une trame RNR. Notamment, si les trames d'informations sont correctement reçues, le récepteur émet régulièrement des trames RR ou RNR permettant d'acquitter les trames correctement reçues, c'est-à-dire permettant d'informer le récepteur qu'un certain nombre de trames ont été correctement reçues et peuvent donc être effacées de la mémoire tampon de l'émetteur. En outre, la fonction réception RE du récepteur est associée à la fonction GVR permettant de gérer un arbre dit "arbre de réception" comportant des branches et/ou feuilles, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur. Cet arbre V(R) permet d'élaborer des trames SREJ qui seront renvoyées vers l'émetteur. Chaque trame SREJ identifie un bloc de trames d'informations consécutives en erreur. Les trames SREJ reçues par l'émetteur permettent de piloter la ré-émission de blocs de trames en fonction des informations contenues dans les trames SREJ qui permettent ici d'élaborer et tenir à jour un arbre de transmission V(S), comme on le verra plus loin. Le procédé de l'invention permet notamment de gérer les retransmissions de plusieurs blocs de trames non correctement reçues en évitant des retransmissions inutiles et sans pour autant empêcher la transmission d'autres trames. La figure 3 illustre une séquence de fonctionnement conforme à l'invention dans le cas où certaines trames ne sont pas correctement reçues. La figure 4 explicite l'évolution de l'arbre de réception V(R), géré par le récepteur, pendant cette séquence. La figure 5 explicite l'évolution de l'arbre de transmission V(S) et la figure 6 explicite l'évolution de l'arbre NACK. Sur la figure 3, la colonne de gauche symbolise l'émetteur et renvoie aux différents états successifs de l'arbre de transmission V(S) de la figure 5. La colonne du milieu représente le canal de transmission et l'ordre de succession des trames d'informations repérées par leurs numéros de séquence. Dans l'exemple, on transmet ou tente de retransmettre les trames d'informations portant les numéros 0 à 53. Certains incidents de transmission empêchant la transmission normale de trames successives sont repérés par des parasites P1 à P5. Ces parasites provoquent ultérieurement l'envoi de trames SREJ vers l'émetteur. Ces trames sont repérées SREJ1 à SREJ6. La colonne de droite représente le récepteur et indique les différents états de l'arbre de réception V(R) de la figure 4 ainsi que les paramètres de chaque trame SREJ émise par le récepteur. On suppose ainsi que la trame 10 émise par l'émetteur est normalement reçue par le récepteur à l'état R1. Dans cet état, l'arbre de réception V(R) est supposé réduit à sa racine où s'affiche le numéro de séquence de la trame suivante normalement attendue par le récepteur, à savoir la trame 11. Dans l'exemple à l'état T1, l'arbre d'émission est réduit à sa racine et indique la prochaine trame à émettre : 11. A l'étape T1, aussitôt après l'émission de 11, l'arbre NACK comporte une feuille 0-1, puisque 10 n'est pas acquittée et cette feuille s'incrémente à chaque émission de trame I jusqu'à réception de la trame SREJ1. Dans l'exemple, on suppose que les trames suivantes 11 à 150 ne sont pas correctement reçues par le récepteur (perturbations P1). Par conséquent, après la trame 10, le récepteur reçoit la trame 151. Du fait que le numéro de séquence de la trame qu'il reçoit ne correspond pas à la trame attendue (inscrite dans sa racine) le récepteur émet une trame SREJ1 à l'état R2, qui est reçue par l'émetteur à l'état T2. A réception de la trame 151, pour construire la trame SREJ1, le récepteur, qui gère l'évolution de l'arbre de réception V(R) crée une feuille dans cet arbre, dans laquelle sont indiquées les limites du bloc de trames en erreur, à savoir 1 et 50. En outre, l'arbre V(R) modifie sa racine puisque celle- ci doit toujours comporter le numéro de séquence de la première trame attendue n'ayant jamais fait l'objet d'une demande de retransmission, à savoir 152. L'émetteur est programmé pour émettre sans discontinuer sauf réception d'une trame RNR. Par conséquent, la trame 152 est émise. Elle est ici, normalement reçue par le récepteur. Par conséquent, on voit qu'à ce stade la trame SREJ est très facilement construite à partir de la feuille 1-50 et de la racine. Plus précisément, on donne aux paramètres N(R) et N(L) les valeurs minimale et maximale du bloc de trames en erreur, c'est-à-dire 1 et 50 et au paramètre N(A) la valeur inscrite dans la racine, c'est-à-dire 52. A l'état T2 où l'émetteur reçoit la trame SREJ1, le numéro de séquence de la prochaine trame à émettre et qui n'a pas encore été émise une première fois est inscrite dans la racine de l'arbre de transmission V(S), c'est-à-dire la trame 153. A réception de la trame SREJ1, l'émetteur ajoute une feuille à son arbre de transmission. Cette feuille est composée des paramètres N(R) et N(L) de la trame SREJ1, à savoir 1 et 50. Parallèlement, les informations de la trame SREJ1 sont exploitées pour acquitter les trames correctement reçues, à savoir la trame 10 reçue avant le bloc de trames en erreur identifié 11-150 et la trame correctement reçue entre la limite supérieure du bloc de trames en erreur 150 et la trame (I52) qui est normalement attendue après l'état R2. Une seule trame a été normalement reçue dans cet intervalle, il s'agit de la trame 151. Par conséquent, à l'état T2, l'arbre de non acquittement NACK comporte une branche correspondant à la seule trame 152 (pour laquelle l'émetteur ne peut encore "savoir" si elle a ou non été correctement reçue) et une feuille correspondant aux trames 11 à 150 correspondant à des trames qui ne peuvent être acquittées du fait qu'elles n'ont pas été correctement reçues mais doivent au contraire être retransmises. A partir de ce moment, l'émetteur "sait" que les trames 10 et 151 sont acquittées, ce qui est reflété par l'état de l'arbre NACK à l'état T2. Cet arbre peut donc être exploité par le microcontrôleur de l'émetteur, lequel met en couvre un programme de libération de l'espace mémoire occupé dans les "buffers" par les trames 10 et 151. A partir de ce moment aussi, l'émetteur "sait" qu'il ne doit pas transmettre la trame 153 inscrite dans la racine de l'arbre d'émission avant d'avoir réémis les trames 11 et 150 au moins une fois. A partir de l'état T2, il commence donc à retransmettre les trames 11 à 150. Il se trouve que les trames 11 à 19 sont correctement reçues par le récepteur. A chaque réception correcte d'une trame 11 à 19 le microcontrôleur du récepteur modifie son arbre de réception en incrémentant d'une unité la valeur minimum de sa feuille terminale. Cette feuille devient donc successivement 2-50 ; 3-50 ; 4-50, etc. ... Puis, un nouvel incident dans la transmission (perturbations P2) fait que les trames 110 à 140 sont à nouveau perdues. En revanche, la trame 141 est correctement reçue par le récepteur. A réception de celle-ci (état R3) le récepteur est en mesure de déterminer le nouvel incident de transmission puisque le numéro de séquence de la trame reçue 141 ne correspond pas à celui qui était attendu, à savoir 110. II crée donc une nouvelle feuille dans l'arbre de réception V(R) indiquant un nouveau bloc de trames en erreur : 110-I40. La précédente feuille, devenant une branche, est aussi modifiée pour tenir compte du fait que le bloc de trame 142-I50 reste à retransmettre puisque la trame 141 a été correctement reçue. A l'étape suivante, cette branche devient aussitôt 43-50 puisque la trame 142 a aussi été correctement reçue. La trame SREJ2 est donc élaborée à partir des valeurs inscrites dans l'arbre à l'état R3. Ces valeurs sont constituées des limites du. nouveau bloc de trame en erreur identifié, à savoir 110 à 140 et de la prochaine trame attendue après réception de la trame 141, à savoir la trame 142. A ce stade d'analyse de la séquence de transmission de la figure 3, on peut déduire certaines règles de formation de l'arbre de réception V(R). Tout d'abord, la racine indique le numéro de séquence de la première trame en attente, n'ayant jamais fait l'objet d'une demande de retransmission. En second lieu, en cas de nécessité de retransmission, l'arbre V(R) se développe et comporte au moins une branche et/ou feuille, la feuille (ou les feuilles)occupant le niveau le plus éloigné de la racine, comme indiqué précédemment. Chaque branche ou feuille repère les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur. Dans l'exemple analysé jusqu'à présent, une nouvelle feuille peut être classée à un niveau plus éloigné par rapport à la racine que la dernière feuille créée (qui devient une branche) lorsque le bloc de trame en erreur qu'elle représente est contenu dans ladite dernière feuille créée (nouvelle branche). De cette façon, la formation de la trame SREJ devient extrêmement simple. La fonction GVR du récepteur parcourt l'arbre à partir de la racine jusqu'à la dernière feuille et la trame SREJ comprend les numéros de séquence des trames constituant les limites de la feuille terminale et la limite inférieure de la branche la plus proche de cette feuille, c'est-à-dire ici la branche de niveau supérieur. Comme on le verra plus loin, on peut aussi être amené à créer plusieurs feuilles ou branches de même niveau. On rappelle que la feuille terminale repère le bloc de trames en erreur le plus éloigné de la racine, c'est-à-dire celui qui possède le numéro de séquence le plus faible dans l'arbre. Dans ce cas, comme on le verra plus loin, une trame SREJ est formée à partir des numéros de séquence des trames constituant les limites de ladite feuille terminale et la limite inférieure de la feuille ou branche immédiatement adjacente. Une feuille ou branche immédiatement adjacente correspond à la feuille ou la branche qui possède le numéro de séquence le plus faible en excluant la feuille terminale. A réception de la trame SREJ2 (état T3) l'émetteur modifie à la fois l'arbre de transmission V(S) et l'arbre de non acquittement NACK. Pour l'arbre de transmission, le processeur de l'émetteur crée une nouvelle feuille 10-40, à partir des paramètres N(R) et N(L) de la trame SREJ2. La feuille précédente devient la branche 43-50 puisque entre temps la trame 142 a été envoyée. L'arbre NACK évolue également avec la création d'une feuille 10-40 et avec la mise à jour de la feuille précédente qui devient une branche 42-50 tenant compte de l'acquittement de la trame 141 et du fait que la trame 142, bien qu'ayant été envoyée, n'a pas été acquittée par les informations contenues dans la trame SREJ2. A partir de l'état T3, l'émetteur tient compte de la modification de l'arbre V(S) et recommence à émettre à partir de la trame 110 en incrémentant à chaque fois la limite inférieure de la feuille terminale. Cette feuille devient donc successivement 11-40 ; 12-40 ; etc.... . Selon l'exemple illustré, la retransmission des trames s'opère normalement jusqu'à la trame 115 où une nouvelle perturbation P3 vient empêcher la bonne réception des trames 116 à 125. Le récepteur reçoit normalement la trame 126 alors qu'il attendait la trame 116. A l'état R4, l'arbre de réception V(R) est modifié selon les mêmes règles que celle exposée précédemment. La nouvelle feuille indique les limites du nouveau bloc de trames en erreur, à savoir 16-25. La feuille précédente, qui devient la branche la plus proche, est transformée pour tenir compte du fait que, à l'état R4, les trames 127 à 140 sont toujours attendues. Cependant, à l'étape suivante, cette branche deviendra 28-40 pour tenir compte du fait que la trame 127 a été correctement reçue. Comme précédemment, la trame SREJ3 est créée à partir des valeurs de la feuille terminale 16, 25 et à partir de la limite inférieure de la branche voisine, c'est-à-dire 27. Cette trame est reçue par l'émetteur à l'état T4. En conséquence, l'arbre d'émission V(S) est modifié. II se crée une nouvelle feuille 16-25 à partir des deux premières valeurs de la trame SREJ3. La feuille précédente devenant branche est aussi modifiée pour tenir compte de l'émission des trames 126 et 127. La limite inférieure de cette branche devient donc 28. A partir de ce moment, l'émetteur "sait" qu'il doit modifier à nouveau l'ordre de transmission des trames de façon à réduire progressivement la feuille--terminale. C'est pourquoi, l'étape suivante se traduit par l'émission de la trame 116 et l'incrémentation de la limite inférieure de la feuille de l'arbre de transmission. Les trames sont correctement reçues dans cet ordre à partir de 116 jusqu'à la trame 120. Ensuite, un nouveau brouillage de la transmission (perturbations P4) empêche la réception des trames 121 à 125 correspondant à la feuille de l'arbre V(S) et des trames 128 à 130 correspondant à une partie de la branche voisine. La trame 131 est correctement reçue par le récepteur, mais ce n'est pas la trame attendue. A partir de ce moment, celui-ci est en mesure de reconnaître une nouvelle défaillance de transmission puisqu'il reçoit la trame 131 alors qu'il attendait la trame 121. Sur la figure 4, on a représenté l'état de l'arbre de réception V(R) juste avant l'état R5, c'est-à-dire juste après réception de la trame 120. II s'agit maintenant de mettre à jour l'arbre de réception V(R) en tenant compte de la bonne réception de la trame 131. La trame 131 se situe dans le bloc d'erreur 28-40. II faut donc créer une feuille 28-30 au niveau juste inférieur caractérisant la non-réception des trames du début du bloc de trames en erreur 28-40. Le bloc de trames en erreur 21-25 est toujours en erreur et se situe au même niveau que le bloc de trames en erreur 28-30. II constitue toujours la feuille terminale car c'est le bloc qui possède les numéros de séquence les plus faibles. Par conséquent, la trame SREJ4, qui est émise, contient les paramètres 21-25 pour indiquer le bloc de trame à retransmettre en priorité et 28 pour acquitter les trames 126 et 127. On en déduit la règle générale de "classement" d'une nouvelle feuille créée par rapport à la racine. Une feuille est créée sur réception d'une trame d'informations de numéro de séquence non attendu et est classée à un niveau juste inférieur par rapport à la feuille ou branche contenant le numéro de séquence non attendu (ici la feuille 28-40, à l'état R5). On remarque que, même dans ce cas, la trame SREJ est formée exactement de la même façon, c'est-à-dire à partir des deux paramètres de la feuille terminale et de la limite inférieure (à savoir 28) de la feuille ou branche qui possède les numéros de séquence les plus faibles en excluant ceux de la feuille terminale, à savoir 128. Bien entendu la branche de niveau supérieur, qui était 28-40 devient 32-40 pour tenir compte de la formation de la nouvelle feuille et acquitter la trame 131 correctement reçue. Dans l'intervalle, une trame 132 est émise par l'émetteur, mais celle-ci est perdue en raison d'une pertubation P5. A l'état T6, en raison de la réception de la trame SREJ4, l'émetteur modifie son arbre d'émission V(S) en exploitant les valeurs transmises dans la trame SREJ. Par conséquent, il crée une feuille 21-25 qui indique que les trames 121 à 125 doivent être retransmises en priorité. La branche précédente reste dans son état, à savoir 33-40 puisque l'émetteur a émis toutes les trames redemandées jusqu'à 132 mais qu'il n'est pas encore "informé" que les trames 128 à 130 et la trame 132 sont à nouveau perdues. Parallèlement, l'arbre NACK est aussi modifié par la mise à jour d'une feuille 21-25 pour acquitter les trames I16 à 120. De plus, le message SREJ est exploité pour acquitter les trames comprises entre 125 et 128, c'est-à-dire les deux dernières valeurs du message SREJ4. Seule la trame 127 est concernée puisque la trame 126 avait déjà été acquittée par la trame SREJ3. A partir de l'état T6, et compte tenu de la modification de son arbre de transmission V(S), l'émetteur va reprendre l'émission des trames 121 à 125. Ces trames sont normalement reçues et à l'état R6, les feuilles 21-25 des états R5 et T6 sont totalement réduites, à la fois dans l'arbre de réception V(R) et dans l'arbre d'émission V(S). A ce moment, l'émetteur envoie la trame 133 qui correspond à la limite inférieure de la branche de niveau supérieur. Cependant, le récepteur attendait la trame 128. Il en résulte l'émission d'une trame SREJ5, toujours construite de la même façon que précédemment indiqué, à savoir les limites 28, 30 de la feuille terminale et la limite inférieure 32 de la branche précédente. Cette trame SREJ5 identifie donc le bloc de trames en erreur 128 130 et acquitte la trame 131 ainsi que toutes les trames de numéros de séquence inférieurs à 28. A l'état T7, l'arbre de transmission V(S) est donc modifié pour créer une nouvelle feuille 28-30, la branche de niveau supérieur devenant 34-40 puisque, entre temps, la trame 133 a été envoyée. Parallèlement, l'arbre NACK est également modifié par l'ajout d'une feuille 28-30 et la modification de la feuille précédente correspondant à l'acquittement de la trame 31. On en déduit une autre circonstance dans laquelle une trame SREJ peut être créée, à savoir, lorsque le récepteur a effectivement reçu .un bloc de trame complet correspondant à sa feuille terminale représentant les numéros de séquence les plus faibles de l'arbre et qu'il existe une feuille adjacente de même niveau. A l'état R7, lorsque le récepteur reçoit la trame 133, il crée une feuille 32 32 de même niveau que la feuille 28-30 indiquant que la trame 132, précédemment transmise, n'a pas été reçue. Cependant, l'information n'est pas immédiatement renvoyée à l'émetteur puisque aucune la trame SREJ n'est émise à ce moment. Du côté de l'émetteur, l'ordre de transmission est à nouveau modifié pour réduire la feuille 28-30 et par conséquent l'émetteur ré-émet à nouveau les trames 128 à 130 jusqu'à ce que la feuille correspondante soit éliminée. A réception de la trame 130, le récepteur émet une trame SREJ6, toujours formée de la même façon, c'est-à-dire à partir des deux limites de la feuille 32-32 et de la limite inférieure de la branche de niveau supérieur, c'est-à-dire 34. A l'état T8, l'émetteur reçoit cette trame SREJ6 et en déduit que la trame 132 n'a pas été correctement reçue. Il crée donc aussitôt une feuille 32-32 qui se trouve immédiatement réduite par une nouvelle émission de la trame 132. Celle-ci est correctement reçue. A l'état T8, la trame SREJ6 est aussi exploitée pour acquitter toutes les trames inférieures à 132 et celles qui sont comprises entre les deux dernières valeurs de la trame SREJ, à savoir la trame 133. Ensuite, l'émetteur reprend l'émission des trames 134 à 140. Dans l'exemple, elles sont correctement reçues. Par conséquent, les feuilles 34-40 sont progressivement réduites de l'arbre de réception et de l'arbre d'émission. L'émetteur poursuit en émettant les trames 143 à 150, qui sont correctement reçues. Par conséquent, à l'état R9, l'arbre de réception V(R) se trouve réduit à sa racine 53 de même que l'arbre d'émission à l'état T9 dont la racine est incrémentée d'une unité. A partir de l'état T9, l'émetteur est prêt à envoyer la trame 154 et les suivantes dans l'ordre normal puisque l'arbre d'émission est désormais réduit à sa racine. Une trame RR ou RNR peut être émise pour réduire l'arbre NACK qui n'a pas été modifié depuis l'état T8, c'est-à-dire depuis la réception de la dernière trame SREJ6. Les algorithmes suivants explicitent les différentes fonctions programmées dans le processeur de l'émetteur ou récepteur. On appellera élément toute partie de l'arbre qui constitue une feuille ou branche. On appellera Binf la limite inférieure d'un bloc de trames et Bsup la limite supérieure d'un bloc de trames. Ainsi, la figure 7 explicite la fonction GVS permettant de déterminer le numéro de séquence de la prochaine trame d'informations à émettre. Cette fonction GVS est appelée par la fonction TR lorsque l'émetteur est prêt à émettre une trame de données. L'étape E301 est une étape d'initialisation. L'étape E302 est un test où on vérifie si l'arbre V(S) est vide, c'est-à-dire réduit à sa racine. Dans ce cas, on donne à N(S) la valeur de cette racine avant d'incrémenter la racine d'une unité (étape E309). Puis, à l'étape E308, on émet la trame ayant le numéro N(S) et on retourne à l'étape E302. Si l'arbre V(S) n'est pas réduit à sa racine, on passe à l'étape E303 pour rechercher la feuille dont la limite inférieure Binf correspond au plus petit numéro de séquence présent dans l'arbre. A l'étape E304, on donne la valeur Binf à N(S). A l'étape E305, on incrémente la valeur Binf d'une unité. L'étape E306 est un test dans lequel on vérifie si la valeur de Binf est plus grande que Bsup qui est la limite supérieure de la feuille sélectionnée. Si le test est négatif, on passe à l'étape E308 pour émettre la trame de numéro de séquence N(S). Si le test est positif, on supprime la feuille à l'étape E307 et on passe à l'étape E308. La figure 8 explicite comment la fonction TR fait appel à la fonction GNACK de gestion de l'arbre de non acquittement pour modifier celui-ci lorsqu'une trame de numéro de séquence N(S) a été émise. A l'étape E401, on suppose qu'une trame de données de numéro de séquence N(S) a été émise, ce qui doit déclencher une modification de l'arbre de non acquittement NACK. A l'étape E402, on se place à la racine de cet arbre NACK. Ensuite, on commence à parcourir l'arbre NACK. A l'étape E403, on sélectionne l'élément de niveau directement inférieur. L'étape E 404 est un test où l'on vérifie si la valeur de N(S) est inférieure à la limite inférieure Binf de cet élément. Si la réponse est oui, on retourne à l'étape E403. Si la réponse est non, on vérifie si N(S) est supérieur à la limite supérieure Bsup de cet élément. Si la réponse est oui, cela signifie que cette trame a déjà été transmise au moins une fois et n'est toujours pas acquittée. Par conséquent, aucune modification de l'arbre NACK n'est nécessaire et on retourne à l'étape E401 en attente de l'émission d'une nouvelle trame. Si la réponse est non, on donne à Bsup la valeur de N(S), ce qui signifie qu'on modifie l'élément concerné pour tenir compte de l'émission de la trame N(S). Ensuite, on retourne au début du processus en l'attente de l'émission d'une nouvelle trame de données. La figure 9 explicite comment la fonction GNACK modifie l'arbre NACK sur réception d'une trame SREJ. L'étape E801 est une phase d'attente de réception d'une trame SREJ où les trois paramètres N(R), N(L) et N(A) de la trame SREJ sont pris en compte. A l'étape E802, on se place à la racine de l'arbre NACK. Ensuite, on commence à parcourir l'arbre NACK. A l'étape E803, on sélectionne l'élément de niveau directement inférieur. Le test E804 vérifie si l'arbre est vide. Si la réponse est oui, cela signifie qu'on se trouve à l'extrémité de l'arbre et qu'il y a donc une erreur; cette dernière est signalée. Si la réponse est non, on passe à l'étape E805 qui est un test où l'on vérifie si la valeur de N(A) diminuée d'une unité est inférieure à la limite inférieure de l'élément considéré. Si la réponse est oui, on retourne à l'étape E803 et on continue à parcourir l'arbre. Cette boucle permet de localiser la position du paramètre N(A) vis-à-vis des intervalles de trames définis dans l'arbre NACK. Lorsque la réponse au test E805 est négative, on passe à l'opération E806 qui consiste à supprimer tous les éléments situés à des niveaux inférieurs par rapport à l'élément considéré. On passe ensuite au test E807 qui consiste à vérifier si la valeur du paramètre N(A) diminué d'une unité est inférieure à la limite supérieure de l'élément considéré. Si la réponse est oui, on passe à l'étape E809 qui consiste à donner la valeur du paramètre N(A) à ladite limite inférieure Binf, puis on passe à une étape E810 qui consiste à créer une nouvelle feuille telle que Bsup = N(L) et Binf = N(R). Cette nouvelle feuille signifie simplement que le nouveau bloc de trames en erreur identifié par la trame SREJ reçue par l'émetteur, ne peut être acquitté. On retourne ensuite à l'étape E801 en l'attente d'une nouvelle trame SREJ. Si la réponse au test E807 est négative, on modifie les limites de l'élément sélectionné à l'étape E806 en donnant la valeur N(L) à la limite Bsup et la valeur N(R) à la limite Binf. On retourne ensuite à l'étape E801. La figure 10 explicite le rôle de la fonction GNACK pour modifier l'arbre de non acquittement sur réception d'une trame RNR ou RR. L'étape E901 est une phase d'attente de réception d'une trame RNR ou RR où le paramètre N(R) de la trame RNR ou RR est pris en compte. On sait que dans ce cas, toutes les trames dont les numéros de séquence sont inférieurs à la valeur du paramètre N(R) doivent être acquittées. Par conséquent, la fonction RE, après reconnaissance d'une trame RR ou RNR fait appel à la fonction GNACK qui utilise l'algorithme pour mettre à jour l'arbre de non acquittement. A l'étape E902, on se place sur le premier élément de l'arbre. L'étape E903 est un test où on vérifie si la valeur de N(R) est supérieure à la limite supérieure Bsup de cet élément. Si la réponse est oui, on supprime l'élément en question ainsi que tous les éléments de niveau inférieur et on retourne à l'étape E901 en attente d'une nouvelle trame de supervision. Si la réponse est non, on passe à l'étape E905 qui consiste à vérifier si la valeur de N(R) est comprise entre les limites inférieure et supérieure de l'élément considéré. Si la réponse est non, on passe à l'opération E908 qui consiste à sélectionner l'élément "suivant" de niveau directement inférieur dans le sens de parcours de l'arbre, c'est-à-dire en s'éloignant de la racine. On passe ensuite au test E909 qui consiste à vérifier si cette branche ou feuille est vide (c'est-à-dire n'existe pas). Si c'est le cas, on retourne à l'étape E901. Si ce n'est pas le cas, on retourne à l'étape E903 et on recommence les comparaisons de N(R) avec les limites de ce nouvel élément. Si la réponse au test E905 est positive on passe à l'étape E906 où la limite inférieure Binf de l'élément considéré prend la valeur du paramètre N(R), puis on passe à l'étape E907 où on supprime les éléments de niveau inférieur avant de retourner à l'étape E901. La figure 11 illustre la gestion de l'arbre V(S) sur réception d'une trame SREJ. La réception d'une telle trame par l'émetteur signifie qu'un bloc de trames d'information n'a pas été correctement reçu par le récepteur et que les limites de ce bloc de trames ont été identifiées puisqu'elles correspondent aux paramètres N(R) et N(L) de la trame SREJ. Par conséquent, à réception de ladite trame SREJ, la fonction RE fait appel à la fonction GVS pour stocker les caractéristiques du bloc de trames en erreur dans l'arbre de transmission V(S). Au moment où la trame SREJ demande la retransmission d'un bloc de trame en erreur, les numéros de séquence de ces trames ne sont plus présents dans l'arbre de transmission V(S) puisque le numéro de séquence d'une trame émise est effacé de l'arbre de transmission au moment de la transmission effective de cette trame. Tous les numéros de séquence présents dans l'arbre V(S) sont donc supérieurs aux numéros des limites du bloc en erreur identifié par la trame SREJ. Par conséquent, la gestion de l'arbre V(S) est extrêmement simple. L'étape E701 est une phase d'attente de réception d'une trame de supervision SREJ où les paramètres de la trame SREJ sont identifiés, notamment N(R) et N(L). A l'étape E702, on se place au bout de l'arbre V(S). A l'étape E703, on crée une nouvelle feuille telle que sa limite inférieure Binf soit égale à N(R) et sa limite supérieure Bsup soit égale à N(L). Puis on retourne à l'étape E701 en attente de réception d'une nouvelle trame SREJ. Les figures 12A et 12B explicitent comment la fonction de gestion de l'arbre de réception GVR modifie ce dernier sur l'ordre de la fonction réception RE lorsque qu'une trame de données de numéro de séquence N(S) est reçue. Pour ce faire, la fonction GVS repère la position de N(S) dans l'arbre de réception V(R). L'étape E501 est une phase d'attente de réception correcte d'une trame de numéro de séquence N(S). On passe alors à l'étape E502 qui consiste à se placer à la racine de l'arbre de réception. L'étape E503 est un test où l'on vérifie si le numéro de séquence N(S) de la trame reçue est égal à la valeur inscrite dans la racine. Si la réponse est oui on passe à l'étape E504 qui incrémente la racine d'une unité et on passe à l'étape E610 détaillée plus loin. Si la réponse au test E503 est négative, on passe au test E505 où l'on vérifie si N(S) est supérieur à la valeur inscrite dans la racine. Si la réponse est oui, cela signifie que l'arbre doit être pourvu d'une feuille de niveau juste inférieur à cette racine car un bloc de trames en erreur vient d'être détecté. Cela correspond par exemple à l'état R2 en référence à la figure 3. On passe alors à l'étape E506 et on crée une feuille telle que sa limite inférieure Binf soit égale à la valeur de la racine et telle que sa limite supérieure Bsup soit égale à N(S) -1. Une fois cette feuille créée, on incrémente la valeur de la racine d'une unité à l'étape E507 et on passe à l'étape E611 détaillée plus loin. Si la réponse au test E505 est négative, cela signifie qu'au moins une branche ou feuille était déjà créée pour demander la ré-émission d'un bloc de trames en erreur. Dans ce cas, à l'étape E508, on se place au niveau immédiatement inférieur de l'arbre V(R), c'est-à-dire en s'éloignant de la racine et on considère l'élément tel que sa limite inférieure Binf est minimum à ce niveau. On passe alors à l'étape E509 qui est un test où l'on vérifie si le numéro de séquence N(S) de la trame correctement reçue est inférieur à la valeur Binf de l'élément considéré à l'étape E508. Si la réponse est positive, cela signifie que l'on doit encore s'éloigner de la racine en considérant l'élément de niveau inférieur et on retourne à l'étape E508. Si la réponse au test E509 est négative, on passe au test E510 où l'on vérifie si la valeur de N(S) est inférieure ou égale à la limite supérieure Bsup de l'élément considéré à l'étape E509. Si la réponse est négative, cela signifie que l'on n'a pas considéré le bon élément du niveau en question et qu'il convient de considérer l'élément immédiatement adjacent, c'est-à-dire un élément de même niveau tel que sa limite inférieure soit minimale parmi l'ensemble des autres éléments de ce même niveau. Par conséquent, à l'étape E511, on sélectionne l'élément immédiatement adjacent. L'étape E512 est un test d'erreur où l'on examine si un élément immédiatement adjacent n'existe pas. La réponse normale est non et dans ce cas on retourne au test E510. Cette boucle E510, E 511, E512 permet donc d'identifier un élément auquel appartient le numéro de séquence N(S) lorsqu'un même niveau comporte plusieurs éléments. Si la réponse au test E510 est positive, on passe à l'étape E601 (figure 12B) où l'on va poursuivre la mise à jour de l'arbre V(R) et émettre une trame SREJ. L'étape E601 est un test où on vérifie si N(S) est égal à la limite inférieure Binf de l'élément identifié. Si la réponse est oui, on passe à l'étape E606 où on incrémente la valeur de Binf d'une unité. Ensuite, on passe au test E607 où l'on vérifie si cette valeur Binf est devenue supérieure à Bsup, limite supérieure de l'élément considéré. Si la réponse est oui, cela signifie que l'élément a été totalement réduit. A l'étape E608, on supprime cet élément. A l'étape E609, on vérifie s'il existe un élément de même niveau. Si la réponse est non, on passe à l'étape E610 qui consiste à vérifier si le numéro de séquence de la trame correspond au numéro de la trame attendue. On rappelle que le numéro de trame attendu est le plus petit numéro présent dans l'arbre à ce moment. Si la réponse au test E609 est positive, on passe à l'étape E611 qui consiste à sélectionner la feuille terminale dans le but d'émettre une trame SREJ. Si la réponse au test E601 est négative, on passe au test E602 où l'on vérifie si la valeur de N(S) est égale à limite supérieure de l'élément considéré au test E601. Si la réponse à ce test est positive, on passe à l'étape E603 où la limite supérieure de cet élément est décrémentée d'une unité puis on va à l'étape E611. Si la réponse au test E602 est négative, on crée un nouvel élément dont la limite inférieure est égale à la valeur de Binf de l'élément considéré et dont la limite supérieure Bsup est égale à la valeur du numéro de séquence N(S) diminué d'une unité. Puis, à l'étape E605, on change la valeur Binf de cet élément en lui donnant la valeur de N(S) +1. Ensuite, on va à l'étape E611. Après l'étape E611 consistant à sélectionner la feuille terminale, on passe à l'étape E612 qui consiste à créer et émettre une trame de supervision SREJ à partir de la feuille terminale. Plus précisément, comme mentionné précédemment, on construit cette trame SREJ en donnant aux deux premières valeurs N(R) et N(L) les valeurs de Binf et Bsup de la feuille terminale et en donnant au paramètre N(A) la valeur de la limite inférieure de la branche ou feuille qui possède les numéros de séquence les plus faibles après avoir exclu ceux de la feuille terminale. On envoie ensuite la trame SREJ comprenant ces trois paramètres. Après l'exécution de l'opération E612, on retourne à l'étape E501 pour attendre la réception correcte d'une nouvelle trame d'informations. D'autre part, la trame correctement reçue est traitée. Si le numéro de séquence de cette trame correspond au plus petit numéro de séquence présent dans l'arbre V(R) la trame reçue peut être transmise à la couche réseau du récepteur. Dans le cas contraire, elle est stockée dans une mémoire tampon qui peut être une partie de la mémoire vive du récepteur. Elle ne sera transmise à la couche réseau que lorsque toutes les trames en erreur qui la précèdent seront correctement reçues. REVENDICATIONS 1- Procédé de transmission de trames de données, entre un émetteur et un récepteur, échangeant des informations par l'intermédiaire d'un canal de communication bidirectionnel, une trame d'information étant repérée par un numéro de séquence, ledit récepteur élaborant et renvoyant vers l'émetteur des trames de supervision dites trames SREJ pour commander la retransmission de trames d'informations non correctement reçues dites trames en erreur, caractérisé en ce qu'il consiste - à émettre successivement des trames d'informations (I) vers le récepteur tant que cela est possible, - à élaborer et tenir à jour, du côté dudit récepteur, une structure-mémoire desdites trames en erreur, agencée en arbre de réception (V(R)) comportant des branches et/ou feuilles, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, - à élaborer à partir dudit arbre de réception et émettre des trames SREJ précitées vers l'émetteur, chaque trame SREJ identifiant un nouveau et seul bloc de trames consécutives en erreur, et - à exploiter les trames SREJ reçues par l'émetteur pour piloter la ré- émission de blocs de trame en fonction des informations (V(R), N(L), N(A)) contenues dans lesdites trames SREJ. 2- Procédé selon la revendication 1, caractérisé en ce qu'on agence ledit arbre de réception en sorte qu'il comprenne - une racine indiquant le numéro de séquence de la première trame en attente n'ayant jamais fait l'objet d'une demande de retransmission et, en cas de nécessité de retransmission, - au moins une branche et/ou feuille, la ou les feuilles occupant le niveau le plus éloigné de ladite racine, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, une telle feuille étant créée sur réception d'une trame d'informations de numéro de séquence non attendu et étant classée à un niveau juste inférieur à celui de la feuille ou branche contenant ledit numéro de séquence non attendu. 3- Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il consiste à élaborer et émettre une trame SREJ précitée chaque fois que le récepteur reçoit une trame ayant un numéro de séquence différent de celui qui est attendu ou chaque fois que le récepteur a effectivement reçu un bloc de trames complet correspondant à sa feuille terminale représentant les numéros de séquence les plus faibles et qu'il existe une feuille adjacente de même niveau. 4- Procédé selon l'une des revendications précédentes, caractérisé en ce que, à chaque réception correcte d'une trame d'informations (I), on incrémente la limite inférieure de la feuille ou branche ou la racine de l'arbre de réception qui contient le numéro de séquence de la trame reçue. 5- Procédé selon la revendication 3 ou 4, caractérisé en ce qu'une trame SREJ comprend les numéros de séquence (N(R), N(L), N(A)) des trames constituant les limites de ladite feuille terminale et la limite inférieure de la branche ou feuille la plus proche de ladite feuille terminale. 6- Procédé selon la revendication 5, caractérisé en ce que, du côté émetteur, on exploite les trames SREJ reçues pour libérer l'espace mémoire (RAM) occupé par les trames ayant un numéro de séquence inférieur à la limite inférieure de ladite feuille terminale et compris entre la limite supérieure de ladite feuille terminale et la limite inférieure de ladite branche ou feuille la plus proche. 7- Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il consiste, du côté émetteur, à élaborer et tenir à jour une structure-mémoire des trames à transmettre dans un ordre prédéterminé, agencée en arbre de transmission (V(S)) comprenant - une racine indiquant le numéro de séquence de la prochaine trame de données qui sera émise pour la première fois et, le cas échéant, - au moins une branche et/ou feuille, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives à retransmettre, et en ce qu'il consiste, pour chaque émission de trame, à sélectionner la trame présentant le plus petit numéro de séquence dans ledit arbre de transmission, à émettre cette trame et à incrémenter la valeur inférieure de la feuille correspondante, ou de ladite racine si aucune trame n'est à retransmettre. 8- Procédé selon la revendication 7, caractérisé en ce qu'on crée une feuille dans l'arbre de transmission (V(S))à réception de chaque trame SREJ précitée, à partir de deux valeurs contenues dans ladite trame SREJ indiquant les numéros de séquence extrêmes d'un bloc de trames en erreur. 9- Procédé selon l'une des revendications précédentes, caractérisé en ce que, du côté récepteur, on émet d'autres trames de supervision (RR, RNR) indiquant des trames correctement reçues et en ce que, du côté de l'émetteur, on exploite ces trames de supervision pour libérer l'espace mémoire (RAM) occupé par des trames correctement reçues. 10- Procédé selon l'une des revendications précédentes, caractérisé en ce qu'une trame de supervision précitée est exploitée, du côté émetteur, pour acquitter des trames correctement reçues par ledit récepteur. 11- Procédé selon la revendication 10, caractérisé en ce que, du côté émetteur, on exploite une trame de supervision dite "RR" ou "RNR" comprenant un numéro de séquence d'une trame correctement reçue pour libérer l'espace mémoire occupé par les trames ayant un numéro de séquence inférieur à celui de ladite trame de supervision "RR" ou "RNR". 12- Procédé selon la revendication 10, caractérisé en ce qu'il consiste, du côté émetteur, à élaborer et tenir à jour une structure-mémoire (NACK) des trames émises mais non acquittées en retour. 13- Procédé selon la revendication 12, caractérisé en ce que ladite structure-mémoire desdites trames non acquittées en retour est agencée en arbre des trames non acquittées dit "arbre NACK" dont chaque branche ou feuille repère les numéros de séquence des trames extrêmes d'un bloc de trames non acquittées et en ce qu'on gère l'espace mémoire des trames à transmettre à partir de cet arbre. 14- Procédé selon la revendication 13, caractérisé en ce qu'on réduit ledit arbre NACK en exploitant les informations transmises par lesdites trames de supervision. 15- Procédé selon l'une des revendications 12 à 14, caractérisé en ce qu'on exploite ledit arbre NACK pour libérer l'espace mémoire occupé par les trames acquittées. 16- Procédé de réception de trames de données, émises sur un canal de communication bidirectionnel, une trame d'information étant repérée par un numéro de séquence, ledit récepteur élaborant et renvoyant vers un émetteur des trames de supervision dites trames SREJ pour commander la retransmission de trames d'informations non correctement reçues dites trames en erreur, caractérisé en ce qu'il consiste, sur réception de trames d'informations (I) - à élaborer et tenir à jour, du côté dudit récepteur, une structure-mémoire desdites trames en erreur, agencée en arbre de réception (V(R)) comportant des branches et/ou feuilles, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, - à élaborer à partir dudit arbre de réception et émettre des trames SREJ précitées vers l'émetteur, chaque trame SREJ identifiant un nouveau et seul bloc de trames consécutives en erreur, et - à exploiter les trames SREJ reçues par l'émetteur pour piloter la réémission de blocs de trame en fonction des informations (V(R), N(L), N(A)) contenues dans lesdites trames SREJ. 17- Système de transmission de trames de données, comprenant un émetteur et un récepteur, échangeant des informations par l'intermédiaire d'un canal de communication bidirectionnel, chaque trame de donnée étant repérée par un numéro de séquence, ledit récepteur élaborant et renvoyant vers l'émetteur des trames de supervision dites trames SREJ pour commander la retransmission de trames d'informations non correctement reçues dites trames en erreur, caractérisé en ce qu'il comporte - des moyens pour émettre successivement des trames d'informations entre émetteur et récepteur lorsque cela est possible, - des moyens pour élaborer et tenir à jour, du côté dudit récepteur, une structure-mémoire desdites trames en erreur agencée en arbre de réception comportant des branches et/ou feuilles, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, - des moyens pour élaborer et émettre des trames SREJ précitées vers l'émetteur, chaque trame SREJ identifiant un nouveau et seul bloc de trames consécutives en erreur, et - des moyens pour exploiter les trames SREJ reçues par l'émetteur pour piloter la ré-émission de blocs de trame en fonction des informations contenues dans lesdites trames SREJ. 18- Système selon la revendication 17, caractérisé en ce ladite structure- mémoire est organisée pour que ledit arbre de réception comprenne - une racine indiquant le numéro de séquence de la première trame en attente n'ayant jamais fait l'objet d'une demande de retransmission et, en cas de nécessité de retransmission, - au moins une branche et/ou feuille, la ou les feuilles occupant le niveau le plus éloigné de ladite racine, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives en erreur, une telle feuille étant créée sur réception d'une trame d'informations de numéro de séquence non attendu et étant classée à un niveau juste inférieur à celui de la feuille ou branche contenant ledit numéro de séquence non attendu. 19- Système selon la revendication 17 ou 18, caractérisé en ce qu'il comporte des moyens pour commander l'élaboration et l'émission d'une trame SREJ précitée chaque fois que le récepteur reçoit une trame ayant un numéro de séquence différent de celui qui est attendu ou chaque fois que le récepteur a effectivement reçu un bloc de trames complet correspondant à sa feuille terminale représentant les numéros de séquence les plus faibles et qu'il existe une feuille adjacente de même niveau. 20- Système selon l'une des revendications 17 à 19, caractérisé en ce qu'il comporte des moyens pour incrémenter la limite inférieure de la feuille ou branche ou la racine de l'arbre de réception qui contient le numéro de séquence d'une trame correctement reçue. 21- Système selon la revendication 19 ou 20, caractérisé en ce qu'il comprend des moyens pour élaborer une trame SREJ comprenant les numéros de séquence des trames constituant les limites de laditë feuille terminale et la limite inférieure de la branche ou feuille la plus proche de ladite feuille terminale. 22- Système selon la revendication 21, caractérisé en ce qu'il comporte, du côté émetteur, des moyens pour libérer l'espace mémoire (RAM) occupé par les trames ayant un numéro de séquence inférieur à la limite inférieure de ladite feuille terminale et compris entre la limite supérieure de ladite feuille terminale et la limite inférieure de ladite branche ou feuille la plus proche, ces moyens étant pilotés par chaque réception de trame SREJ. 23- Système selon l'une des revendications 17 à 22, caractérisé en ce qu'il comporte, du côté émetteur, des moyens pour élaborer et tenir à jour une structure-mémoire des trames à transmettre dans un ordre prédéterminé, agencé en arbre de transmission comprenant - une racine indiquant le numéro de séquence de la prochaine trame de données qui sera émise pour la première fois et, le cas échéant, - au moins une branche et/ou feuille, chacune repérant les numéros de séquence des trames extrêmes d'un bloc de trames consécutives à retransmettre, et en ce qu'il comporte, pour chaque émission de trame, des moyens pour sélectionner la trame présentant le plus petit numéro de séquence dans ledit arbre de transmission, des moyens pour émettre cette trame et des moyens pour incrémenter la valeur inférieure de la feuille correspondante, ou de ladite racine si aucune trame n'est à retransmettre. 24- Système selon l'une des revendications 17 à 23, caractérisé en ce qu'il comporte, du côté récepteur, des moyens pour émettre d'autres trames de supervision indiquant des trames correctement reçues et en ce qu'il comporte, du côté de l'émetteur, des moyens pour libérer l'espace mémoire occupé par des trames correctement reçues. 25- Système selon l'une des revendications17 à 24, caractérisé en ce qu'il comporte, du côté émetteur, des moyens pour acquitter des trames correctement reçues par ledit récepteur, ces moyens exploitant les trames de supervision reçues par l'émetteur. 26- Système selon la revendication 25, caractérisé en ce qu'il comporte des moyens pour libérer l'espace mémoire occupé par les trames ayant un numéro de séquence inférieur à celui de ladite trame de supervision "RR" ou "RNR". 27- Système selon la revendication 25, caractérisé en ce qu'il comporte, du côté émetteur, des moyens pour élaborer et tenir à jour une structure- mémoire des trames émises mais non acquittées en retour. 28- Système selon la revendication 27, caractérisé en ce que ladite structure-mémoire desdites trames non acquittées en retour est agencée en arbre des trames non acquittées dit "arbre NACK" dont chaque branche ou feuille repère les numéros de séquence des trames extrêmes d'un bloc de trames non acquittées et en ce qu'il comporte des moyens pour gérer l'espace mémoire des trames à transmettre à partir de cet arbre. 29- Système selon la revendication 28, caractérisé en ce qu'il comporte des moyens pour réduire ledit arbre NACK en exploitant les informations transmises par lesdites trames de supervision. 30- Système selon l'une des revendications 27 à 29, caractérisé en ce qu'il comporte des moyens pour libérer l'espace mémoire occupé par les trames acquittées. 31- Station de communication, caractérisée en ce qu'elle constitue un émetteur-récepteur appartenant à un système de transmission de données selon l'une des revendications 17 à 30. 32- Ordinateur caractérisé en ce qu'il comporte une station de communication selon la revendication 31. 33- Imprimante caractérisée en ce qu'elle comporte une station de communication selon la revendication 31. 34- Télécopieur caractérisé en ce qu'il comporte une station de communication selon la revendication 31. 35- Scanner caractérisé en de qu'il comporte une station de communication selon la revendication 31. 36- Appareil photographique caractérisé en ce qu'il comporte une station de communication selon la revendication 31. 37- Caméra numérique caractérisée en ce qu'elle comporte une station de communication selon la revendication 31. 38- Dispositif d'émission-réception pour la transmission de trames de données susceptible d'être couplé à un canal de communication bidirectionnel pour correspondre avec au moins un dispositif d'émission et/ou réception semblable, caractérisé en ce qu'il comprend des moyens de stockage de données représentatives de telles trames et des moyens de stockage et de gestion des numéros de séquence de telles trames, permettant la mise en oeuvre du procédé selon l'une des revendications 1 à 15. 39- Dispositif de réception de trames de données, susceptible d'être couplé à un canal de communication bidirectionnel pour correspondre avec au moins un dispositif d'émission adapté, caractérisé en ce qu'il comprend des moyens de stockage de données représentatives de telles trames et des moyens de stockage et de gestion des numéros de séquence de telles trames, permettant la mise en oeuvre du procédé selon l'une des revendications 1 à 15. 40- Dispositif d'émission de trames de données, susceptible d'être couplé à un canal de communication bidirectionnel pour correspondre avec au moins un dispositif de réception adapté, caractérisé en ce qu'il comprend des moyens de stockage de données représentatives de telles trames et des moyens de stockage et de gestion des numéros de séquence de telles trames, permettant la mise en oeuvre du procédé selon l'une des revendications 1 à 15.