FR2921777A1 - Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants. - Google Patents
Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants. Download PDFInfo
- Publication number
- FR2921777A1 FR2921777A1 FR0757912A FR0757912A FR2921777A1 FR 2921777 A1 FR2921777 A1 FR 2921777A1 FR 0757912 A FR0757912 A FR 0757912A FR 0757912 A FR0757912 A FR 0757912A FR 2921777 A1 FR2921777 A1 FR 2921777A1
- Authority
- FR
- France
- Prior art keywords
- acknowledgment
- data
- field
- node
- received
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1614—Details of the supervisory signal using bitmaps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0097—Relays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0098—Unequal error protection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Il est proposé un procédé d'acquittement hiérarchique de données reçues par un noeud récepteur et émises par un noeud émetteur, au sein d'un réseau de communication comprenant une pluralité de noeuds, les données étant transmises par paquets de données comprenant chacun une pluralité de blocs de donnée. Le procédé comprend une étape d'envoi d'un message contenant un champ d'acquittement comprenant deux parties : une première partie (1101) comprenant des informations d'acquittement (1103) au niveau paquet de données ; et une deuxième partie (1102) comprenant des informations d'acquittement (1107) au niveau bloc de données. La première partie du champ d'acquittement est mieux protégée contre les erreurs de transmission que la deuxième partie, par l'utilisation d'un codage correcteur d'erreurs (1111).
Description
Procédé d'acquittement hiérarchique de données, produit programme d'ordinateur, moyen de stockage et noeud correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des transmissions de données dans des réseaux maillés comprenant une pluralité de noeuds. Plus précisément, l'invention concerne une technique d'acquittement hiérarchique de données transmises par paquets au sein de tels réseaux (depuis au moins un noeud émetteur vers au moins un noeud récepteur), chaque paquet de données comprenant une pluralité de blocs de données. L'invention s'applique notamment, mais non exclusivement, à l'acquittement de données transmises dans un système de communication à transmissions multiples de type synchrone, dans lequel chaque noeud dispose au niveau MAC (pour Medium Access Controller en anglais, ou Contrôle d'accès au support en français) d'un temps de parole prédéfini pour transmettre des données sur le réseau. Le système de communication est par exemple un système de transmission sans fil (radio) à 60 GHz, qui est particulièrement bien adapté pour la transmission de données à très haut débit sur courtes distances. Le système de transmission assure par exemple la connectivité entre les différents éléments d'un réseau tel par exemple : 20 - un réseau home cinema (ou cinéma à domicile en français) avec des haut-parleurs sans fils (réseau de type point vers multipoint) ; - un réseau à base de multiples sources vidéo connectées à un dispositif d'affichage (réseau de type multipoint vers point) ; - un réseau à base de multiples sources vidéo connectées à de multiples 25 dispositifs d'affichage (réseau de type multipoint vers multipoint). 2. ARRIÈRE-PLAN TECHNOLOGIQUE On connaît dans l'art antérieur de nombreuses techniques d'acquittement pour corriger les erreurs de transmissions. Les techniques d'ARQ (pour Automatic Repeat Request en anglais, ou 30 demande automatique de répétition en français) utilisent un message d'acquittement particulier qui signale la bonne ou mauvaise réception de données ou d'un ensemble de 15 blocs de données. Tant que le temps d'existence de la donnée n'est pas écoulé, l'émetteur réémet la donnée sur réception d'un acquittement négatif. Si on se place dans le contexte de la présente invention, où les données sont transmises par paquets de données comprenant chacun une pluralité de blocs de données, le problème de l'acquittement est plus complexe à traiter. En effet, deux types d'acquittement sont possibles : l'acquittement au niveau paquet de données et l'acquittement au niveau bloc de données. Dans une première technique, visant à optimiser la taille des données d'acquittement, on effectue seulement un acquittement au niveau paquet de données.
Pour chaque paquet de données qu'il reçoit, le récepteur envoie un message d'acquittement positif (OK) pour ce paquet si tous les blocs de données compris dans ce paquet ont été reçus correctement (c'est-à-dire sans erreur), sinon il envoie un message d'acquittement négatif (NOK) pour ce paquet. L'inconvénient de cette première technique connue est que même si un seul bloc de données n'est pas reçu correctement, le récepteur envoie un message d'acquittement négatif (NOK) pour ce paquet et l'émetteur retransmet entièrement ce paquet (c'est-à-dire tous les blocs de données de ce paquet). Cette première technique optimise effectivement la taille des données d'acquittement, mais pas la quantité de données transmises par le noeud émetteur.
Dans une seconde technique, visant à optimiser la quantité de données retransmises par le noeud émetteur, on effectue seulement un acquittement au niveau bloc de données. Pour chaque bloc de données qu'il reçoit, le récepteur envoie un message d'acquittement positif (OK) pour ce bloc de données s'il a été reçu correctement (c'est-à-dire sans erreur), sinon il envoie un message d'acquittement négatif (NOK) pour ce bloc de données. L'inconvénient de cette seconde technique connue est qu'elle nécessite la transmission d'une grande quantité de données d'acquittement par le récepteur. Le document de brevet US2007025383A1 propose de combiner les deux types précités d'acquittement, au niveau paquet de données et au niveau bloc de données respectivement. Plus précisément, ce document propose une méthode de communications synchrones entre des noeuds qui s'échangent des paquets de données durant leur temps de paroles. Durant son temps de parole, le noeud destinataire renvoie un message d'acquittement des données qui lui étaient destinées. Ce message d'acquittement acquitte les données au niveau paquet de données, si aucune erreur n'a été détectée pour le paquet ou si le paquet est totalement erroné. Si le paquet de données contient quelques erreurs (mais n'est pas entièrement erroné), un champ supplémentaire est ajouté dans le message d'acquittement pour préciser la position des blocs de données erronés. Un inconvénient de la technique décrite dans ce document de brevet est que, comme indiqué ci-dessus, l'acquittement au niveau bloc de données n'est réalisé que si seulement certains blocs de données d'un paquet ne sont pas reçus correctement. En outre, quand un acquittement au niveau bloc de données est réalisé pour un paquet non reçu correctement, il l'est pour tous les blocs de données de ce paquet (envoi d'une séquence de bits dans laquelle chaque bit indique si un bloc de données a été reçu correctement ou non).
Enfin, ce document de brevet n'aborde pas la question de la protection des acquittements contre les erreurs de transmission. Il ne suggère donc pas de protéger les acquittements de niveau paquet de données différemment des acquittements de niveau bloc de données. Par ailleurs, toutes les méthodes connues précitées d'acquittement ne garantissent pas la délivrance des informations d'acquittement à tous les noeuds du réseau. Si ces informations d'acquittement étaient suffisamment protégées et relayées par des moyens additionnels, la longueur du message d'acquittement serait incompatible avec les systèmes de transmission envisagés. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est de fournir, dans le contexte précité où les données sont transmises par paquets de données comprenant chacun une pluralité de blocs de données, une technique d'acquittement des données qui combine une faible consommation de bande passante et une robustesse suffisante quant aux informations d'acquittement, permettant ainsi une politique de retransmission efficace des données émises. Au moins un mode de réalisation de l'invention a également pour objectif de fournir une telle technique d'acquittement qui puisse s'appliquer dans un système de communication synchrone, et éventuellement à transmissions multiples. Un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle technique d'acquittement qui soit simple à mettre en oeuvre et peu coûteuse. Un objectif complémentaire d'au moins un mode de réalisation de l'invention est de fournir une telle technique d'acquittement qui soit transparente pour l'émetteur. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé d'acquittement hiérarchique de données reçues par un noeud récepteur et émises par un noeud émetteur, au sein d'un réseau de communication comprenant une pluralité de noeuds, les données étant transmises par paquets de données comprenant chacun une pluralité de blocs de données. Le procédé comprend une étape d'envoi d'un message contenant un champ d'acquittement comprenant deux parties : - une première partie comprenant des informations d'acquittement au niveau paquet de données ; -une deuxième partie comprenant des informations d'acquittement au niveau bloc de données ; En outre, la première partie du champ d'acquittement est mieux protégée contre les erreurs de transmission que la deuxième partie, par l'utilisation d'un codage correcteur d'erreurs. Le principe général de l'invention consiste donc à combiner les acquittements au niveau paquet de données et les acquittements au niveau bloc de données, en privilégiant la protection des acquittements au niveau paquet de données. De cette façon, on optimise le coût (c'est-à-dire la redondance de données) qu'implique la protection des acquittements. En effet, on protège mieux les acquittements au niveau paquet de données, pour maximiser les chances de bonne réception de ces acquittements. Les acquittements au niveau bloc de données, qui sont moins bien protégés, peuvent être vus comme un apport intéressant (mais pas indispensable) dont on dispose côté émetteur dès lors que ces acquittements au niveau bloc de données ont été correctement reçus par l'émetteur. Contrairement à la technique connue du document de brevet US2007025383A1 : - la technique proposée permet, pour un paquet donné, l'envoi d'acquittements au niveau bloc de données quel que soit le nombre de blocs de données mal reçus (c'est-à-dire que le récepteur ait reçu correctement tous les blocs de données du paquet, seulement certains des blocs de données du paquet ou encore tous les blocs de données du paquet) ; - la technique proposée permet, pour un paquet donné, l'envoi d'acquittements au niveau bloc de données pour tous ou seulement certains des blocs de données de ce paquet. Dans un mode de réalisation particulier de l'invention, la première partie comprend une première sous-partie comprenant un ou plusieurs premiers acquittement, chaque premier acquittement étant relatif à un paquet de données reçu par ledit noeud récepteur. La deuxième partie comprend une première sous-partie comprenant un ou plusieurs deuxièmes acquittement, chaque deuxième acquittement étant relatif à un bloc de données reçu par ledit noeud récepteur. Il est important de noter que, selon les mises en oeuvre, tout ou partie des paquets de données reçus par le noeud récepteur peuvent faire l'objet de premiers acquittements. De même, selon les mises en oeuvre, tout ou partie des blocs de données reçus par le noeud récepteur peuvent faire l'objet de deuxièmes acquittements. De façon avantageuse, la première partie comprend une deuxième sous-partie comprenant un ou plusieurs troisièmes acquittements relayés, chaque troisième acquittement relayé étant un acquittement, au niveau paquet de données, reçu par ledit noeud récepteur et émis par un autre noeud du réseau de communication. Pour assurer une meilleure fiabilité des données, chaque troisième acquittement pourra être relayé un plus ou moins grand nombre de fois. Avantageusement, la deuxième partie comprend une deuxième sous-partie comprenant un ou plusieurs quatrièmes acquittements relayés, chaque quatrième acquittement relayé étant un acquittement, au niveau bloc de données, reçu par ledit noeud récepteur et émis par un autre noeud du réseau de communication. Pour assurer une meilleure fiabilité des données, chaque quatrième acquittement pourra être relayé un plus ou moins grand nombre de fois.
Selon une caractéristique avantageuse, ledit champ d'acquittement a une taille prédéterminée, et en ce que la taille de la deuxième partie est réduite pour être égale à la différence entre la taille prédéterminée du champ acquittement et la taille de la première partie si la somme des tailles des première et deuxième parties est supérieure à la taille prédéterminée du champ acquittement.
Ainsi, dans ce mode de réalisation, le champ d'acquittement peut être de taille fixe, ce qui permet de limiter la bande passante utilisée et également une application dans un système de communication de type synchrone, et éventuellement à transmissions multiples. En effet, dans un système de communication synchrone (et éventuellement à transmissions multiples), chaque noeud dispose au niveau MAC d'un temps de parole prédéfini pour transmettre des blocs de données sur le réseau. Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, ce produit programme d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre du procédé selon au moins un de ses modes de réalisation, lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé précité, selon au moins un de ses modes de réalisation. Un autre mode de réalisation de l'invention propose un noeud récepteur comprenant des moyens d'acquittement hiérarchique de données reçues par ledit noeud récepteur et émises par un noeud émetteur, au sein d'un réseau de communication comprenant une pluralité de noeuds, les données étant transmises par paquets de données comprenant chacun une pluralité de blocs de données. Lesdits moyens d'acquittement comprennent : - des moyens de construction d'un message contenant un champ d'acquittement (1205) comprenant deux parties : une première partie (1101) comprenant des informations d'acquittement (1103) au niveau paquet de données ; une deuxième partie (1102) comprenant des informations d'acquittement (1107) au niveau bloc de données ; moyens de protection de la première partie du champ d'acquittement par l'utilisation d'un codage correcteur d'erreurs (1111), la première partie du champ d' acquittement étant mieux protégée contre les erreurs de transmission que la 10 deuxième partie, lesdits moyens de protection permettant d'obtenir un message protégé ; - des moyens d'envoi dudit message protégé. Plus généralement, le noeud récepteur selon ce mode de réalisation de l'invention comprend des moyens de mise en oeuvre du procédé d'acquittement tel que décrit 15 précédemment (dans l'un quelconque de ses différents modes de réalisation). Avantageusement, la première partie comprend une première sous-partie comprenant un ou plusieurs premiers acquittement, chaque premier acquittement étant relatif à un paquet de données reçu par ledit noeud récepteur. La deuxième partie comprend une première sous-partie comprenant un ou plusieurs deuxièmes 20 acquittement, chaque deuxième acquittement étant relatif à un bloc de données reçu par ledit noeud récepteur. De façon avantageuse, la première partie comprend une deuxième sous-partie comprenant un ou plusieurs troisièmes acquittements relayés, chaque troisième acquittement relayé étant un acquittement, au niveau paquet de données, reçu par ledit 25 noeud récepteur et émis par un autre noeud du réseau de communication. Avantageusement, la deuxième partie comprend une deuxième sous-partie comprenant un ou plusieurs quatrièmes acquittements relayés, chaque quatrième acquittement relayé étant un acquittement, au niveau bloc de données, reçu par ledit noeud récepteur et émis par un autre noeud du réseau de communication. 30 De façon avantageuse, lesdits moyens d'acquittement comprennent des moyens de réduction de la taille de la deuxième partie du champ d'acquittement, pour que la - des taille de ladite deuxième partie soit égale à la différence entre une taille prédéterminée du champ acquittement et la taille de la première partie si la somme des tailles des première et deuxième parties est supérieure à une taille prédéterminée du champ acquittement. 5. LISTE DES FIGURES D'autres caractéristiques et avantages de modes de réalisation de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif (tous les modes de réalisation de l'invention ne sont pas limités aux caractéristiques et avantages des modes de réalisation décrits ci-après), et des dessins annexés, dans lesquels : - la figure 1 présente un exemple d'architecture d'un module de communication synchrone (SCM) selon un mode de réalisation particulier de l'invention ; - la figure 2 présente un organigramme décrivant les différentes étapes effectuées par le bloc décodeur RDB apparaissant sur la figure 1 ; - la figure 3 présente un organigramme décrivant les différentes étapes effectuées par le bloc décodeur ACK apparaissant sur la figure 1 ; - la figure 4 présente un organigramme décrivant les différentes étapes effectuées par le bloc contrôleur ACK apparaissant sur la figure 1 ; - la figure 5 présente un organigramme décrivant les différentes étapes effectuées par le bloc contrôleur de retransmission apparaissant sur la figure 1 ; - la figure 6 présente un organigramme détaillant l'étape référencée 407 sur la figure 4 ; - la figure 7 présente un organigramme détaillant l'étape référencée 402 sur la figure 4 ; 25 - la figure 8 présente un organigramme détaillant l'étape référencée 403 sur la figure 4 ; - la figure 9 présente un organigramme détaillant l'étape référencée 404 sur la figure 4 ; - la figure 10 présente un organigramme détaillant l'étape référencée 405 sur la 30 figure 4 ; 20 - la figure 11 décrit un exemple de la structure du champ d'acquittement ( ACK payload ) apparaissant sur la figure 12 ; - la figure 12 décrit la composition d'un paquet MAC ; et - la figure 13 présente un exemple d'un système de communication à 60 GHz dans lequel peut être mis en oeuvre le procédé d'acquittement selon l'invention. 6. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique. On présente ci-après un exemple d'implémentation de l'invention pour un système audio 8 voies. Prenons l'exemple d'un système de communication à 60 GHz, constitué de neuf noeuds de transmission selon l'invention. Un tel système est représenté par la figure 13. Plus particulièrement, dans un exemple d'implémentation, le système comprend : - huit noeuds la, 2a, 3a, 4a, 6a, 7a, 8a et 9a de type WAR (pour Wireless Audio Renderer en anglais, ou récepteur audio sans fil en français), dont chacun est équipé d'un dispositif numérique de restitution de canal audio ( Digital Audio Channel Amplifier en anglais), respectivement lb, 2b, 3b, 4b, 6b, 7b, 8b et 9b, qui intègre un haut-parleur ( speaker en anglais), et - un noeud 5a de type WAD (pour Wireless Audio Decoder en anglais, ou décodeur audio sans fil en français), comprenant un décodeur audio multi voies ( Surround Sound Decoder en anglais), respectivement 5b, par exemple intégré dans un écran plat et susceptible de transmettre via le système de communication 60GHz, de manière parfaitement synchronisée, les différents canaux audio associés à la vidéo affichée sur l'écran. Les noeuds communiquent entre eux par l'intermédiaire d'un système de communication synchrone à transmissions multiples. Dans un réseau maillé synchrone, il y a une séquence prédéterminée d'intervalles de temps, au niveau de la couche MAC (pour Medium Access Control en anglais). On rappelle que la couche MAC assure la gestion de l'accès au support physique et est une partie de la couche liaison de données ( data link level en anglais, correspondant à la couche 2 du modèle OSI). Chaque noeud peut envoyer des données pendant des intervalles de temps qui lui sont alloués. Pendant chaque intervalle de temps, les données sont envoyées dans une trame de taille fixe, appelée trame MAC ou paquet MAC . Chaque paquet MAC comprend des blocs de données de taille fixe (appelés par la suite blocs de données RDB, pour Radio Data Block en anglais). Le réseau maillé synchrone met en oeuvre un cadencement qui définit un cycle de transmission de données synchrone (ou cycle SDTC, pour Synchronous Data Transmission Cycle en anglais) sur ce réseau. Une super trame s'inscrit dans chaque cycle SDTC et comprend une pluralité de trames (paquets), chaque trame (paquet) étant associée à l'un des noeuds. En d'autres termes, l'ensemble des temps de paroles des noeuds du réseau constituent une super-trame. Pour conserver le synchronisme du système, toutes les données doivent avoir un délai de transmission fixe. La figure 12 décrit la composition d'un paquet MAC. Il comprend les champs suivants : - un champ d'en-tête MAC ( MAC HEADER ) 1201, comportant au minimum le numéro de la super-trame SDTC auquel il est associé et le numéro du noeud ayant émis ce paquet MAC ; - un champ de données synchrone ( SYNCHRONOUS DATA payload ) 1202, comportant l'ensemble des données synchrones (RDB) émises par le noeud ; - un champ de données retransmises ( RETRANSMITTED DATA payload ) 1203, comportant l'ensemble des données synchrones (RDB) réémises par le noeud ; - un champ libre ( FREE payload ) 1204, comportant des données de remplissage non utilisées ; et - un champ d'acquittement ( ACK payload ) 1205, comportant les informations d'acquittement émises par le noeud. Par ailleurs, chacun des noeuds la, 2a, 3a, 4a, 5a, 6a, 7a, 8a et 9a, intègre un module de communication synchrone (SCM, pour Synchronous Communication 25 Module en anglais), respectivement 1, 2, 3, 4, 5, 6, 7, 8 et 9, qui intègre différents moyens conformément à l'invention. On présente maintenant, en relation avec la figure 1, un exemple d'architecture du module de communication SCM, dans lequel celui-ci comprend : - un processeur (ou CPU, pour Central Processing Unit en anglais) 102 à qui sont associés un bloc de mémoire d'exécution (RAM) 104 et un bloc de mémoire non volatile (ROM) 103. Le CPU 102 peut recevoir des informations de configuration au travers d'une interface utilisateur 121 ; et - un dispositif de communication 101.
Le CPU 102 communique avec le dispositif de communication 101 au travers d'un bloc 105 qui gère notamment les interruptions à destination du CPU, ainsi que les échanges de données entre les différents blocs du dispositif de communication 101 et le CPU 102. Par ailleurs, c'est dans ce bloc d'interface 105 que se trouve stockée à l'initialisation du système la matrice de répartition du canal utilisé par le système.
Le dispositif de communication 101 assure le transfert des données synchrones entre un bloc d'interface radio 60GHz 112 et un bloc d'interface synchrone 119 vers/depuis le module de traitement des canaux audio 120, qui se trouve être ou bien un dispositif numérique de restitution de canal audio ( Digital Audio Channel Amplifier en anglais) lb, 2b, 3b, 4b, 6b, 7b, 8b et 9b, ou un décodeur audio multi voies ( Surround sound decoder en anglais) 5b. Au sein du dispositif de communication 101 on trouve, côté traitement des données synchrones, un bloc 116 d'écriture des données synchrones, utilisé pour récupérer du bloc d'interface synchrone 119 les données synchrones à transmettre sur le lien radio, et un bloc 117 de lecture des données synchrones, utilisé pour transmettre les données synchrones à l'application par l'intermédiaire du bloc d'interface synchrone 119. Au sein du dispositif de communication 101, on trouve, côté transmission des données synchrones, un bloc d'émission 110 et un bloc de réception 111. Le bloc d'émission 110 intègre notamment les fonctions de modulation, par exemple de type OFDM, et de codage convolutionnel. Le bloc de réception 111 réalise les fonctions inverses de celles implémentées dans le bloc d'émission 110, notamment de démodulation et de décodage de Viterbi. Un bloc de synchronisation 113 contrôle l'enchaînement régulier des cycles SDTC par rapport aux paquets radio reçus (par le bloc de réception 111) afin de garantir un accès parfaitement synchrone au canal de transmission pour l'envoi de paquet (par le bloc d'émission 110). Par ailleurs ce bloc de synchronisation 113 pilote un bloc de synchronisation 118, qui lui contrôle l'enchaînement régulier de cycles SDPC ( Synchronous Data Processing Cycle en anglais, ou Cycle de Traitement de Données Synchrone en français), pour un transfert parfaitement synchrone des échantillons, pour chaque canal virtuel, entre les blocs d'écriture 116 et de lecture 117 et le bloc d'interface synchrone 119. Un bloc 106 de codage de bloc de données RDB prépare les paquets de données synchrones en vue de l'émission. Ces données sont protégées par un code séparable à distance maximale (ou code MDS, pour Maximal Distance Separable Code en anglais) de type Reed Solomon assurant un taux d'erreur à la réception de 10-12. Un bloc 107 de codage rassemble les différentes parties composant le champ d'acquittement ( ACK payload ) 1205 (à savoir, comme détaillé ci-après, OWN ACK STATUS 1103, REMOTE ACK STATUS 1104, OWN ACK MASK 1107 et REMOTEACKMASK 1108). Il est notamment en charge de protéger la partie OWNACKSTATUS 1103 à l'aide d'un code correcteur d'erreur (par exemple de type BCH) assurant un taux d'erreur à la réception de 10-12. Un bloc 108 est utilisé lorsque le noeud est en charge de retransmettre des blocs de données RDB suite à la réception de messages d'acquittement négatifs reçu d'autres noeuds.
Un bloc décodeur RDB 121 rassemble les étapes de décodage des blocs de données RDB reçus du bloc 111. Ce bloc décodeur RDB 121 est décrit plus précisément ci-après, en relation avec la figure 2. Un bloc décodeur ACK 114 rassemble les étapes de décodage des données d'acquittement ACK reçu du bloc 111. Ce bloc décodeur ACK 114 est décrit plus précisément ci-après, en relation avec la figure 3.
Un bloc contrôleur ACK 115 concerne la génération des messages d'acquittement. Ce bloc contrôleur ACK 115 est décrit plus précisément ci-après, en relation avec la figure 4. Un bloc contrôleur de retransmission 109 concerne le stockage des messages d' acquittement et leur analyse. Ce bloc contrôleur de retransmission 109 est décrit plus précisément ci-après, en relation avec la figure 5. Dans le mode de réalisation décrit ci-dessus, on suppose que tous les noeuds comprennent un même module de communication SCM, implémentant tous les blocs détaillés sur la figure 1. On suppose en effet que chaque noeud peut être, selon les cas, un noeud émetteur ou un noeud récepteur. Il est clair cependant que pour une transmission particulière entre un noeud émetteur et un ou plusieurs noeuds récepteurs, le noeud émetteur comprend les blocs référencés 114, 109 et 108 sur la figure 1, et chaque noeud récepteur comprend les blocs référencés 121, 114, 115 et 107 sur la figure 1 La figure 2 décrit les différentes étapes, effectuées par le bloc décodeur RDB 121 (figure 1), de décodage des blocs de données RDB reçus du bloc 111. Lors de la réception d'un bloc de données RDB (étape 201), celui-ci est stocké dans une mémoire tampon (étape 202). L'ensemble des blocs de données RDB peut être caractérisé par une liste chaînée d'éléments RDBListO, chacun des éléments caractérisant un bloc de données RDB.
Chaque élément de la liste RDB List() est composé de plusieurs champs : -un champ numéro de SDTC , correspondant au numéro de super- trame ; -un champ numéro de RDB , correspondant au numéro du bloc de données RDB ; - un champ OWNRDB : s'il est égal à 1 (OK), cela signifie que le bloc de données RDB est destiné au noeud lui-même ; - un champ RDB Status : s'il est égal à 1 (OK), cela signifie que le bloc de données RDB a été reçu sans erreur ; - un champ numéro de paquet VCB associé ( Associated VCB Number en anglais) correspondant au numéro de paquet VCB auquel appartient le bloc de données RDB ; - un pointeur permettant de retrouver le bloc de données RDB dans la mémoire tampon. Dans une étape 203, on alloue les champs numéro de SDTC , numéro de RDB , OWNRDB et numéro de paquet VCB associé , caractérisant le bloc de données RDB reçu. Dans une étape 204, on vérifie si le bloc de données RDB a été reçu sans erreur.
Dans l'affirmative, on passe à l'étape 206 dans laquelle on place la valeur 1 (OK) dans le champ RDB Status . Dans la négative, on passe à l'étape 205 dans laquelle on place la valeur 0 (not OK) dans le champ RDB Status , afin que le bloc de données RDB soit acquitté de manière négative. Dans une étape 207, on ajoute dans la liste RDB List() l'élément caractérisant le bloc de données RDB reçu (et dont les paramètres ont été préalablement obtenus aux étapes 203 à 206). La figure 3 décrit les différentes étapes, effectuées par le bloc décodeur ACK 114 (figure 1), de décodage des données d'acquittement ACK reçues du bloc 111.
Dans une étape 301, on reçoit un message d'acquittement comprenant une séquence de données d'acquittement (c'est-à-dire une suite d'acquittements) provenant d'un noeud distant. Ce message d'acquittement correspond au contenu du champ d'acquittement ( ACK payload ) 1205 de la figure 12 décrite ci-dessus. Le message d'acquittement est analysé pas à pas (étape 302), c'est-à-dire que les acquittements contenus dans le message d'acquittement sont analysés un par un. Dans une étape 306, on détecte si l'acquittement a été bien reçu, c'est-à-dire sans erreur. Si l'acquittement a été mal reçu, il est rejeté : on passe directement à l'étape 307 dans laquelle on vérifie s'il reste au moins un acquittement à traiter : s'il y en a un, on revient à l'étape 306 (pour traiter l'acquittement suivant), sinon on revient à l'étape 301 (pour traiter le message d'acquittement suivant). Si l'acquittement a été bien reçu, on passe à l'étape 303 dans laquelle on détecte s'il a déjà été reçu. S'il n'a pas déjà été reçu, on passe à l'étape 304 dans laquelle l'acquittement est stocké dans une mémoire tampon. S'il a déjà été reçu, on passe à l'étape 305 dans laquelle l'acquittement est stocké dans la mémoire tampon uniquement dans le cas où cette copie possède un rapport signal à bruit radio de meilleure qualité que celui de la copie déjà stockée. L'ensemble des acquittements peut être caractérisé par une liste chaînée 10 d'éléments RACK List, chacun des éléments caractérisant un acquittement. Chaque élément de la liste RACK List est composé de plusieurs champs : - un champ numéro de SDTC , correspondant au numéro de super-trame ; - un champ numéro de VCB , correspondant au numéro de paquet VCB auquel fait référence l'acquittement ; - un champ ACK Type , indiquant soit un acquittement de paquet VCB (acquittement de type STATUS), soit un acquittement d'un ensemble de bloc de données RDB (acquittement de type MASK) ; - un champ REMOTEACK relayé : s'il est égal à 1 (OK), cela signifie que cet acquittement a déjà été relayé ; - un pointeur permettant de retrouver l'acquittement dans la mémoire tampon ; - un champ SNR ( Signal Noise ratio en anglais, ou Rapport Signal sur Bruit en français) caractérisant la pertinence de la réception. Ainsi, dans l'étape 304, on alloue un nouvel élément dans la liste RACK List et on sauvegarde une copie de l'acquittement dans la liste (c'est-à-dire modification du pointeur pour pointer vers cette copie dans la mémoire tampon). Dans l'étape 305, on se contente de sauvegarder une copie de l'acquittement dans la liste (l'élément existe déjà dans la liste RACK List). 15 20 25 La figure 11 décrit un exemple de la structure du champ d'acquittement ( ACK payload ) 1205 de la figure 12. Le champ d'acquittement, qui est émis par un noeud récepteur donné, est composé de deux parties : - une première partie ACK_STATUS (1101), qui comprend des informations d'acquittement au niveau paquet VCB ; et - une seconde partie ACK_MASK (1102), qui comprend des informations d'acquittement au niveau bloc de données RDB. La première partie ACK_STATUS (1101) est également divisée en deux sous- parties : -une première sous-partie OWNACKSTATUS (1103), qui comprend : * des informations (1106) d'acquittement au niveau paquet VCB de tous les (ou certains des) paquets VCB reçus par le noeud récepteur donné. Ces informations sont rangées par ordre croissant de numéro de paquet VCB. Dans l'exemple illustré, ces informations sont notées ACKVCB1 à ACK VCB m ; * un champ ECC (1111) ( Error-Correcting Code en anglais, ou Code correcteur d'erreur en français), stockant le résultat de l'application d'un code correcteur d'erreurs à l'ensemble des informations d'acquittement au niveau paquet VCB de tous les (ou certains des) paquets VCB reçus par le noeud récepteur donné ; - une seconde sous-partie REMOTEACKSTATUS (1104), qui comprend le relais de toutes les (ou certaines des) sous-parties OWNACKSTATUS (1105) des messages d'acquittement émis par les autres noeuds et reçus par le noeud récepteur donné. Dans l'exemple illustré, ces sous-parties relayées OWNACKSTATUS (1105) sont notées OWNACKSTATUSnode1 à OWN_ACK_STATUS_node N-1. Chacune de ces sous-parties relayées OWNACKSTATUS (1105) possède la même structure que la sous-partie OWNACKSTATUS (1103) émise par le noeud récepteur donné. 20 25 La seconde partie ACK_MASK (1102) est également divisée en deux sous-parties : - une première sous-partie OWNACKMASK (1107), qui comprend : * des informations (1110) d'acquittement au niveau bloc de données RDB de tous les (ou certains des) blocs de données RDB reçus par le noeud récepteur donné. Ces informations sont rangées par ordre croissant de numéro de bloc de données RDB. Dans l'exemple illustré, ces informations sont notées ACK RDB 1 à ACK RDB m ; * un champ CRC (1112) ( Cyclic Redundancy Check en anglais, ou Contrôle par Redondance Cyclique en français), stockant le résultat de l'application d'un code de détection d'erreurs à l'ensemble des informations d'acquittement au niveau paquet RDB de tous les (ou certains des) paquets RDB reçus par le noeud récepteur donné ; - une seconde sous-partie REMOTEACKMASK (1108), qui comprend le relais de tout ou partie des sous-parties OWNACKMASK (1109) des messages d'acquittement émis par les autres noeuds et reçus par le noeud récepteur donné. Dans l'exemple illustré, ces sous-parties relayées OWNACKMASK (1109) sont notées OWN ACK MASK node 1 à OWN ACK MASK node r. Chacune de ces sous-parties relayées OWNACKMASK (1109) possède la même structure que la sous-partie OWNACKMASK (1107) émise par le noeud récepteur donné. La figure 4 décrit le rôle du bloc contrôleur ACK 115. Il décrit notamment les différentes étapes de construction des différents messages d'acquittement qui seront transmis au bloc 107 (codage RDB) pour une émission lors du prochain temps de parole du noeud (paquet MAC). En ce qui concerne la synchronisation des phases de transmission des messages d'acquittement, il est à noter que pour un bloc de données RDB émis lors d'un cycle SDTC(n), les messages d'acquittement le concernant seront émis et relayés durant les deux cycles SDTC suivants, SDTC(n+l) et SDTC(n+2), lors des temps de parole de chaque noeud.
Au début du temps de parole du noeud lui-même, le bloc contrôleur ACK 115 reçoit un événement du bloc 113 (étape 401) déclenchant le processus décrit ci-après d'analyse et de construction du message d'acquittement. L'étape 407 consiste à déterminer le statut de chaque paquet VCB en fonction des blocs de données RDB qui lui sont associés et qui ont été émis lors du cycle SDTC précédent. Cette étape 407 est détaillée ci-après en relation avec la figure 6. L'étape 402 consiste à analyser puis construire la sous-partie OWN ACK STATUS (1103) du champ d'acquittement dédiée à l'acquittement des paquets VCB reçus par le noeud récepteur donné. Cette étape 402 est détaillée ci-après en relation avec la figure 7. L'étape 403 consiste à analyser puis construire la sous-partie OWNACKMASK (1107) du champ d'acquittement dédiée à l'acquittement des blocs de données RDB reçus par le noeud récepteur donné. Cette étape est détaillée ci-après en relation avec la figure 8. L'étape 404 consiste à analyser puis construire la sous-partie REMOTE ACKSTATUS (1104) du champ d'acquittement dédiée au relais des acquittements de type OWN ACK STATUS (1105) reçus des autres noeuds depuis la fin du dernier temps de parole du noeud récepteur donné. Cette étape 404 est détaillée ci-après en relation avec la figure 9. L'étape 405 consiste à analyser puis construire la sous-partie REMOTE ACK MASK (1108) du champ d'acquittement dédiée au relais des acquittements de type OWNACKMASK 1109) reçus des autres noeuds depuis la fin du dernier temps de parole du noeud récepteur donné. Cette étape 405 est détaillée ci-après en relation avec la figure 10. La dernière étape (406) consiste à envoyer la totalité de ces sous-parties du champ d'acquittement au bloc 107 qui assemblera toutes les sous-parties en leur associant au besoin des redondances de code correcteur d'erreurs (ECC) ou de code détecteur d'erreurs (CRC). 20 25 La figure 5 décrit le rôle du bloc contrôleur de retransmission 109. Il décrit notamment les différentes étapes de retransmission des blocs de données RDB qui ont été acquittés négativement et pour lesquels au moins une retransmission est nécessaire. En ce qui concerne la synchronisation des phases de retransmission, il est à noter que pour un bloc de données RDB émis lors d'un cycle SDTC(n), les messages d'acquittement le concernant seront émis et relayés durant les deux cycles SDTC suivants, SDTC(n+l) et SDTC(n+2). La phase de retransmission débute donc au cycle SDTC(n+3). Par conséquent, à la détection du début d'une super-trame (cycle SDTC(n)) (étape 501), la liste RACK List est parcourue pour rechercher les paquets VCB qui ont été émis lors du cycle SDTC(n-3) et dont le destinataire réel n'a pas reçu tout ou partie des blocs de données RDB contenus dans ce paquet VCB (étapes 503-505). Pour un paquet VCB correspondant à ces critères, on recherche dans la liste RDB List les blocs de données RDBs composant ce paquet VCB (étape 507). Pour cela, les champs ACK Type et numéro de VCB sont vérifiés. Deux traitements sont alors possibles : - dans le cas où les informations d'acquittement sont au niveau bloc de données RDB, seuls les blocs de données RDB erronés sont retransmis par le noeud (étape 510) ; - dans le cas où seules les informations au niveau paquet VCB sont présentes, le paquet VCB complet sera réémis (étape 509). Dans les deux cas, les blocs de données RDB à retransmettre seront communiqués au bloc 108. Tous les éléments de la liste RACK List et la liste ACKRDBList qui sont utilisés lors de cette phase sont supprimés de la liste au fur et à mesure (étape 506). Lorsque cet acquittement est complètement traité, il est supprimé de la liste RACK List. La figure 6 décrit les différentes étapes de classification des blocs de données RDB en paquets VCB et permet ainsi de définir le statut de chaque paquet VCB pour un cycle SDTC donné.
La liste RDB List des blocs de données RDB est parcourue (étapes 601 et 607). Pour chaque bloc de données RDB de la liste RDB List, on effectue les étapes suivantes : - dans une étape 602, on lit le numéro de paquet VCB associé ; - dans une étape 603, on vérifie si le bloc de données RDB a été reçu correctement (sans erreur) ; - si le bloc de données RDB n'a pas été reçu correctement, on passe à l'étape 605 dans laquelle on met à 11 le champ VCB Status (pour le paquet VCB identifié lors de l'étape 602), puis à l'étape 606 dans laquelle on incrémente un nombre de blocs de données RDB erronés (nombre préalablement initialisé), et enfin à l'étape 607 dans laquelle on vérifie si tous les blocs de données RDB de la liste RDB List ont été traités ; - si le bloc de données RDB a été reçu correctement, on passe directement à l'étape 607. Puis, la liste VCB_List des paquets VCB est parcourue (étapes 608 et 604) et pour chaque paquet VCB de la liste VCB_List, on effectue les étapes suivantes : - dans une étape 609, on vérifie si le nombre total de blocs de données RDB du paquet courant est égal audit nombre de blocs de données RDB erronés ; - dans l'affirmative à l'étape 609, on passe à l'étape 610 dans laquelle on met à 01 le champ VCB Status (pour le paquet VCB identifié lors de l'étape 602), puis on passe à l'étape 611 ; - dans la négative à l'étape 609, on passe directement à l'étape 611 ; - dans l'étape 611, on vérifie si le nombre de blocs de données RDB erronés est égal à 0 ; - dans l'affirmative à l'étape 611, on passe à l'étape 612 dans laquelle on met à 10 le champ VCB Status (pour le paquet VCB identifié lors de l'étape 602), puis on passe à l'étape 604 dans laquelle on vérifie si tous les paquets VCB de la liste VCB_List ont été traités ; - dans la négative à l'étape 611, on passe directement à l'étape 604. Au final, trois cas sont donc possibles pour chaque paquet VCB : - si au moins un des blocs de données RDB (mais pas tous) n'a pas été reçu correctement, le statut du paquet VCB associé (identifié lors de l'étape 602) devient 11 (étape 604) ; - si tous les blocs de données RDB ont été reçus correctement, le statut du paquet VCB associé (identifié lors de l'étape 602) devient 10 (étape 612) ; - si tous les blocs de données RDB sont erronés, le statut du paquet VCB associé (identifié lors de l'étape 602) devient 01 (étape 610). La figure 7 décrit les différentes étapes de construction de la sous-partie OWNACKSTATUS (1103) du champ d'acquittement émis par le noeud récepteur donné. Cette sous-partie 1103 contient les informations 1106 (ACKVCB1 à ACK_VCB_m) d'acquittement au niveau VCB des paquets VCB reçus par le noeud 15 récepteur donné, lors du cycle SDTC précédent. Dans une variante de l'invention, la sous-partie OWNACKSTATUS (1103) peut contenir uniquement certains des acquittements de paquet VCB reçus par le noeud récepteur donné. Dans une étape 701, la liste VCB List (liste des paquets VCB) est triée par ordre 20 de numéro de paquet VCB. Cette étape 701 est réalisée pour faire en sorte que tous les noeuds agissent de la même manière et qu'aucun en-tête ne soit nécessaire a la compréhension de ces acquittements lors de leur réception. Apres avoir alloué la mémoire nécessaire à cette sous-partie OWNACKSTATUS (étape 702), le statut de chaque paquet VCB (codé sur deux bits, 25 voir la description de la figure 6) est copié dans cette zone mémoire (étapes 703, 704 et 705). La figure 8 décrit les différentes étapes de construction de la sous-partie OWNACKMASK (1107) du champ d'acquittement émis par le noeud récepteur donné. Cette sous-partie 1107 contient les informations 1110 (ACK_RDB_1 à 10 ACKRDBm) d'acquittement au niveau bloc de données RDB des blocs de données RDB reçus par le noeud récepteur donné, lors du cycle SDTC précédent. Dans une variante de l'invention, la sous-partie OWNACKMASK (1107) peut contenir uniquement certains des blocs de données RDB reçus par le noeud récepteur donné. Dans une étape 801, une zone mémoire nécessaire à la sous-partie OWNACKMASK est allouée (on réserve 1 bit pour chacun des blocs de données RDB). Ensuite, la liste RDB List des blocs de données RDB est parcourue (étapes 802 et 805). Pour chaque bloc de données RDB de la liste RDB List, on effectue les étapes suivantes : - dans une étape 803, le statut de chaque bloc de données RDB (codé sur un bit) est copié dans le bit disponible suivant de cette zone mémoire ; et - dans une étape 804, chaque élément de la liste RDBlist caractérisant le bloc de données RDB analysé est transféré dans la liste ACK RDB List. La figure 9 décrit les différentes étapes de construction de la sous-partie REMOTE ACKSTATUS (1104) du champ d'acquittement émis par le noeud récepteur donné. Cette sous-partie 1104 contient les sous-parties OWN ACK STATUS (1105) reçues par le noeud récepteur donné et provenant de tous les autres noeuds du réseau.
Dans l'exemple illustré sur la figure 11, ces sous-parties relayées sont notées OWN ACK STATUS node 1 à OWN ACK STATUS node N-1 Des variantes de l'invention peuvent faire en sorte que seulement un certain nombre des sous-parties OWN ACK STATUS soient relayées. Dans une étape 901, une zone mémoire nécessaire à la sous-partie REMOTE ACK STATUS (1104) est allouée. Ensuite, pour chaque noeud distant i du réseau (sauf le noeud émettant le message d'acquittement) (étapes 902 et 907), on effectue les étapes suivantes : - dans une étape 903, on recherche dans la liste RACK List un élément correspondant à un acquittement émis par le noeud i et dont le champ REMOTE ACK relayé est à 0 (ce qui indique que cet acquittement n'a pas déjà été relayé) ; - si cet élément est trouvé, il est copié dans la zone mémoire allouée pour la sous-partie REMOTE ACKSTATUS (étape 904) et son champ REMOTE ACK relayé est mis à jour en OK (valeur 1) (étape 905) ; - si cet élément n'est pas trouvé, un message de type MISSINGACKSTATUS est copié dans la zone mémoire allouée pour la sous-partie REMOTE_ACK_STATUS (étape 906).
Le message MISSINGACKSTATUS correspond à une séquence de 0 de la longueur de la sous-partie OWNACKSTATUS qui aurait du être reçue par le noeud. Même si elle peut être partiellement erronée lors de transmissions radio, cette séquence est facilement identifiable, car très différente des séquences utiles qui sont une suite de 1 et de 0 .
La figure 10 décrit les différentes étapes de construction de la sous-partie REMOTE ACKMASK (1108) du champ d'acquittement émis par le noeud récepteur donné. Cette sous-partie 1108 contient les sous-parties OWNACKMASK reçues par le noeud récepteur donné et provenant de tous les autres noeuds du réseau. Dans l'exemple illustré sur la figure 11, ces sous-parties relayées sont notées OWN ACK MASK node 1 à OWN ACK MASK node r. Des variantes de l'invention peuvent faire en sorte que seulement un certain nombre des sous-parties OWN ACK MASK soit relayées. Dans le processus décrit ci-dessous par exemple, on suppose qu'il a été fait une présélection des noeuds dont la sous-partie OWNACKMASK (1109) du champ d'acquittement devra être copiée (lors de l'étape 1003) dans la sous-partie REMOTE ACKMASK (1108) du champ d'acquittement du noeud récepteur donné. Dans une étape 1001, une zone mémoire nécessaire à la sous-partie REMOTE ACK MASK (1108) est allouée. Ensuite, pour chaque noeud présélectionné (étape 1006), on effectue les étapes suivantes : 5 10 15 -dans une étape 1002, on détecte si la sous-partie OWN ACK MASK du champ d'acquittement du noeud présélectionné est manquante et si le champ REMOTEACK relayé est à 0 (ce qui indique que cet acquittement n'a pas déjà été relayé) ; - si la sous-partie OWN ACK MASK du champ d'acquittement du noeud présélectionné est manquante et si le champ REMOTEACK relayé est à 0, la sous-partie manquante est remplacée dans la zone mémoire allouée à la sous-partie REMOTEACKMASK (1108) par un message de type MISSING ACK MASK (étape 1004) ; - si la sous-partie OWNACKMASK du champ d'acquittement du noeud présélectionné a été trouvée et si le champ REMOTEACK relayé est à 0, la sous-partie trouvée est copiée dans la zone mémoire allouée à la sous-partie REMOTEACKMASK (1108) (étape 1003) et le champ REMOTEACK relayé de l'acquittement trouvé est mis à jour en OK (valeur 1) (étape 1004). Le message MISSINGACKMASK correspond à une séquence de 0 de la longueur de la sous-partie OWNACKMASK qui aurait du être reçue par le noeud récepteur donné.
Claims (12)
1. Procédé d'acquittement hiérarchique de données reçues par un noeud récepteur et émises par un noeud émetteur, au sein d'un réseau de communication comprenant une pluralité de noeuds, les données étant transmises par paquets de données comprenant chacun une pluralité de blocs de données, caractérisé en ce qu'il comprend une étape d'envoi d'un message contenant un champ d'acquittement (1205) comprenant deux parties : - une première partie (1101) comprenant des informations d'acquittement (1103) au niveau paquet de données ; - une deuxième partie (1102) comprenant des informations d'acquittement (1107) au niveau bloc de données ; et en ce que la première partie du champ d'acquittement est mieux protégée contre les erreurs de transmission que la deuxième partie, par l'utilisation d'un codage correcteur d'erreurs (1111).
2. Procédé selon la revendication 1, caractérisé en ce que la première partie (1101) comprend une première sous-partie (1103) comprenant un ou plusieurs premiers acquittement (1106), chaque premier acquittement étant relatif à un paquet de données reçu par ledit noeud récepteur, et en ce que la deuxième partie (1102) comprend une première sous-partie (1107) comprenant un ou plusieurs deuxièmes acquittement (1110), chaque deuxième acquittement étant relatif à un bloc de données reçu par ledit noeud récepteur.
3. Procédé selon la revendication 2, caractérisé en ce que la première partie (1101) comprend une deuxième sous-partie (1104) comprenant un ou plusieurs troisièmes acquittements relayés (1105), chaque troisième acquittement relayé étant un acquittement, au niveau paquet de données, reçu par ledit noeud récepteur et émis par un autre noeud du réseau de communication.
4. Procédé selon l'une quelconque des revendications 2 et 3, caractérisé en ce que la deuxième partie (1102) comprend une deuxième sous-partie (1108) comprenant un ou plusieurs quatrièmes acquittements relayés (1109), chaque quatrième acquittement relayé étant un acquittement, au niveau bloc de données, reçu par ledit noeud récepteur et émis par un autre noeud du réseau de communication.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit champ d'acquittement (1205) a une taille prédéterminée, et en ce que la taille de la deuxième partie (1102) est réduite pour être égale à la différence entre la taille prédéterminée du champ acquittement et la taille de la première partie (1101) si la somme des tailles des première et deuxième parties est supérieure à la taille prédéterminée du champ acquittement.
6. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 5, lorsque ledit programme est exécuté sur un ordinateur.
7. Moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 5.
8. Noeud récepteur comprenant des moyens d'acquittement hiérarchique de données reçues par ledit noeud récepteur et émises par un noeud émetteur, au sein d'un réseau de communication comprenant une pluralité de noeuds, les données étant transmises par paquets de données comprenant chacun une pluralité de blocs de données, caractérisé en ce que lesdits moyens d'acquittement comprennent : - des moyens de construction d'un message contenant un champ d'acquittement (1205) comprenant deux parties : * une première partie (1101) comprenant des informations d'acquittement (1103) au niveau paquet de données ; * une deuxième partie (1102) comprenant des informations d'acquittement (1107) au niveau bloc de données ; - des moyens de protection de la première partie du champ d'acquittement par l'utilisation d'un codage correcteur d'erreurs (1111), la première partie du champ d'acquittement étant mieux protégée contre les erreurs de transmission que la deuxième partie, lesdits moyens de protection permettant d'obtenir un message protégé ; - des moyens d'envoi dudit message protégé. 30
9. Noeud récepteur selon la revendication 8, caractérisé en ce que la première partie (1101) comprend une première sous-partie (1103) comprenant un ou plusieurs premiers acquittement (1106), chaque premier acquittement étant relatif à un paquet de données reçu par ledit noeud récepteur, et en ce que la deuxième partie (1102) comprend une première sous-partie (1107) comprenant un ou plusieurs deuxièmes acquittement (1110), chaque deuxième acquittement étant relatif à un bloc de données reçu par ledit noeud récepteur.
10. Noeud récepteur selon la revendication 9, caractérisé en ce que la première partie (1101) comprend une deuxième sous-partie (1104) comprenant un ou plusieurs troisièmes acquittements relayés (1105), chaque troisième acquittement relayé étant un acquittement, au niveau paquet de données, reçu par ledit noeud récepteur et émis par un autre noeud du réseau de communication.
11. Noeud récepteur selon l'une quelconque des revendications 9 et 10, caractérisé en ce que la deuxième partie (1102) comprend une deuxième sous-partie (1108) comprenant un ou plusieurs quatrièmes acquittements relayés (1109), chaque quatrième acquittement relayé étant un acquittement, au niveau bloc de données, reçu par ledit noeud récepteur et émis par un autre noeud du réseau de communication.
12. Noeud récepteur selon l'une quelconque des revendications 8 à 11, caractérisé en ce que lesdits moyens d'acquittement comprennent des moyens de réduction de la taille de la deuxième partie (1102) du champ d'acquittement (1205), pour que la taille de ladite deuxième partie soit égale à la différence entre une taille prédéterminée du champ acquittement et la taille de la première partie (1101) si la somme des tailles des première et deuxième parties est supérieure à une taille prédéterminée du champ acquittement.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0757912A FR2921777B1 (fr) | 2007-09-27 | 2007-09-27 | Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0757912A FR2921777B1 (fr) | 2007-09-27 | 2007-09-27 | Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants. |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2921777A1 true FR2921777A1 (fr) | 2009-04-03 |
FR2921777B1 FR2921777B1 (fr) | 2011-02-18 |
Family
ID=39410031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0757912A Expired - Fee Related FR2921777B1 (fr) | 2007-09-27 | 2007-09-27 | Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants. |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2921777B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094561B2 (en) | 2007-12-20 | 2012-01-10 | Canon Kabushiki Kaisha | Method and a device for acknowledging data received by a communication device in a communication network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002058299A1 (fr) * | 2001-01-16 | 2002-07-25 | Motorola, Inc., A Corporation Of The State Of Delaware | Format d'intervalle et procede d'accuse de reception pour systeme de communication sans fil |
US20020146074A1 (en) * | 2001-02-20 | 2002-10-10 | Cute Ltd. | Unequal error protection of variable-length data packets based on recursive systematic convolutional coding |
US20060034277A1 (en) * | 2004-08-13 | 2006-02-16 | Samsung Electronics Co., Ltd. | Method for reporting reception result of packets in mobile communication system |
US20070025383A1 (en) * | 2005-07-27 | 2007-02-01 | Srinivas Katar | Managing contention-free time allocations in a network |
-
2007
- 2007-09-27 FR FR0757912A patent/FR2921777B1/fr not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002058299A1 (fr) * | 2001-01-16 | 2002-07-25 | Motorola, Inc., A Corporation Of The State Of Delaware | Format d'intervalle et procede d'accuse de reception pour systeme de communication sans fil |
US20020146074A1 (en) * | 2001-02-20 | 2002-10-10 | Cute Ltd. | Unequal error protection of variable-length data packets based on recursive systematic convolutional coding |
US20060034277A1 (en) * | 2004-08-13 | 2006-02-16 | Samsung Electronics Co., Ltd. | Method for reporting reception result of packets in mobile communication system |
US20070025383A1 (en) * | 2005-07-27 | 2007-02-01 | Srinivas Katar | Managing contention-free time allocations in a network |
Non-Patent Citations (1)
Title |
---|
KING N. NGAN, CHI W. YAP, KENG T. TAN: "Video Coding for Wireless Communication Systems", 2001, CRC PRESS, UNITED KINGDOM, XP002482570 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094561B2 (en) | 2007-12-20 | 2012-01-10 | Canon Kabushiki Kaisha | Method and a device for acknowledging data received by a communication device in a communication network |
Also Published As
Publication number | Publication date |
---|---|
FR2921777B1 (fr) | 2011-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2385648B1 (fr) | Réseau coopératif à stratégie de demande de retransmission adaptative | |
FR2929063A1 (fr) | Procede et dispositif d'allocation de chemins de transmission de donnees dans un reseau de communication synchrone, produit programme d'ordinateur et moyen de stockage correspondants | |
FR3078459A1 (fr) | Procede et systeme omamrc de transmission avec adaptation lente de lien sous contrainte d'un bler | |
EP2193620B8 (fr) | Procede et equipement de transmission de donnees depuis l'infrastructure d'un reseau de radiocommunication vers des equipements utilisateur | |
FR3045249A1 (fr) | Procede, dispositif de relayage et destinataire avec retour dans un systeme omamrc | |
EP2282432B1 (fr) | Procédé de transmission de données multimedia dans des réseaux de communication ad hoc | |
EP3476071B1 (fr) | Transmission dynamique et selectif d'un signal numerique pour un systeme avec relais full-duplex et une voie de retour limitee | |
CA2031039C (fr) | Procede et dispositif de transmission numerique d'informations, avec demande automatique de retransmission, ou "arq" | |
EP4150808A1 (fr) | Procédé et système omamrc de transmission avec variation du nombre d'utilisations du canal | |
FR2948246A1 (fr) | Procede et dispositif d'allocation de bande passante liberee dans un reseau de communication, produit programme d'ordinateur et moyen de stockage correspondants | |
FR2898455A1 (fr) | Procede et dispositif de transmission de paquets de donnees | |
FR2918832A1 (fr) | Procedes de transmission de donnees par des noeuds relais dans un reseau de communication synchrone, procede de reception, produit programme d'ordinateur, moyen de stockage et noeuds correspondants. | |
FR2921777A1 (fr) | Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants. | |
FR2919773A1 (fr) | Procede de decodage de blocs de donnees de contenus, produit programme d'ordinateur, moyen de stockage et dispositif de decodage correspondants | |
EP1411689B1 (fr) | Procédé de contrôle de retransmission de données et unité de contrôle pour mettre en oeuvre le procédé | |
EP2122895B1 (fr) | Procede de retransmission a redondance incrementale pour des paquets fragmentes | |
EP2436134A2 (fr) | Procédé de transmission de données depuis une infrastructure d'un réseau de radiocommunication vers des équipements utilisateur, et équipements pour la mise en uvre du procédé | |
FR2922390A1 (fr) | Procede de modification d'un paquet code, procede de transmission, procede de reception, produit programme d'ordinateur, dispositif de modification, noeud intermediaire et noeud destinataire correspondants | |
WO2005013578A1 (fr) | Procede de transmission d'informations supplementaires par compression d'en-tete | |
WO2024079309A1 (fr) | Procédé de retransmission coopérative dans un système omamrc avec allocation de ressources et sélections des sources à aider conjointes | |
FR2943195A1 (fr) | Procede de transmission de donnees avec mecanismes de retransmission et synchronisation en cas de perte, dispositif emetteur, produit programme d'ordinateur et moyen de stockage correspondants | |
WO2024002898A1 (fr) | Procédé de retransmission coopérative dans un système omamrc | |
WO2024079158A1 (fr) | Procédé et système omamrc avec transmission fdm et coopérations multiples par sous-bande | |
FR2934746A1 (fr) | Procede et dispositif de transmission dans un reseau de communication synchrone maille, signal, produit programme d'ordinateur et moyen de stockage correspondants. | |
FR2922698A1 (fr) | Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140530 |