Brevet FR2910757A1 — publié le 20080627

PROCEDE DE RETRANSMISSION A REDONDANCE INCREMENTALE POUR DES PAQUETS FRAGMENTES L'invention concerne, notamment, un procédé de retransmission incrémentale adapté aux transmissions de paquets fragmentés ou encore aux transmissions de données pouvant être fragmentés. Elle s'applique, par exemple, dans des réseaux de télécommunications, et plus précisément, celui des réseaux sans fil. Elle est utilisée pour transmettre les SDU ou Service rendu par une couche du modèle OSI à une couche adjacente, (en anglo-saxon service data unit) dans un réseau utilisant, par exemple, le protocole IP. La fragmentation est définie dans le contexte de la présente invention comme permettant une adaptation de la taille de paquets entre la couche 15 d'accès au milieu ou MAC et la couche supérieure. A débit de données constant, toutes les méthodes d'accès radio n'ont pas les mêmes performances (délai, gigue, taux d'erreur paquet, etc.) en sortie de la couche d'accès au support habituellement désignée par les initiales MAC (en 20 anglo-saxon abrégé de Medium access control), et après le réassemblage des unités de protocole de réseau ou PDU (abréviation anglaise de Protocol data unit), correspondant à l'ensemble des informations échangées entre niveaux dans le système des couches modèles OSI, au niveau de la couche IP (Internet Protocol) ou de tout autre protocole dans lequel les paquets de 25 données à transmettre peuvent être fragmentées. Le document intitulé MSDU-Based ARQ Scheme for IP-Level Performance Maximization , de Youngkyu Choi et al publié dans le livre IEEE Globecom 2005 proceedings, divulgue une solution incluant la couche d'accès radio et la couche IP, afin d'optimiser les performances au niveau IP. Dans ce 30 document, l'idée est d'utiliser au niveau de la couche d'accès radio, le fait que les paquets MAC à transmettre appartiennent à un même paquet IP. Se 2910757 2 basant sur une couche d'accès radio ARQ conventionnelle, système de retransmission sur détection d'erreurs (en anglais automatic repeat request), l'idée est de transférer la persistance de I'ARQ pour chacun des paquets MAC (stratégie MPDU Mac Protocol Data Unit) en un crédit global de 5 retransmission pour l'ensemble des paquets MAC constituant le paquet IP (stratégie MSDU pour Mac Service Data Unit, unité de données de service MAC). Le gain en performances au niveau IP entre les deux approches est très significatif. De manière plus générale, l'art antérieur permet d'améliorer les 10 performances au niveau IP, en prenant en compte au niveau MAC, le fait que ces paquets MAC proviennent d'un même paquet IP. Cette stratégie s'applique à un contexte plus général que celui du protocole internet, lorsque les paquets MAC transmis proviennent d'une fragmentation d'un paquet plus grand. La figure 1 schématise un exemple d'implémentation d'un procédé selon l'art antérieur. La partie I correspond à un émetteur, la partie II au canal de transmission, la partie III au récepteur. Le procédé selon l'art antérieur exécute les étapes suivantes : Au niveau de l'émetteur, un paquet SDU est fragmenté, 1, en plusieurs paquets PDU(i), 2. Le procédé initialise ensuite un compteur C_MSDU correspondant à un crédit global de retransmission et initialise i=1, 3, puis code le PDU(i) concerné avec un CRC, 4. II décrémente ensuite le compteur C_MSDU d'une unité, 5, puis le paquet MAC(i) est transmis, 6, à travers le canal de transmission Il, pour être reçu au niveau de la partie récepteur III. Le récepteur 7 décode le CRC, et vérifie s'il y a une erreur de transmission, 8. Dans le cas où il n'y a pas d'erreur, le récepteur retourne l'accusé de réception ACK, acquittement correct de la transmission, 9, à l'émetteur, et sauvegarde les PDU(i) correspondant au paquet transmis, 10, il teste ensuite 11, si tous les PDU ont été transmis, et si oui il les réassemble, 12, pour obtenir le SDU, sinon il transmet les autres paquets. 2910757 3 Dans le cas où le récepteur détecte une erreur, il retourne l'accusé NACK, 13, vers le récepteur. Les accusés de réception ACK ou NACK sont renvoyés vers l'émetteur, réception de l'acquittement 14. L'émetteur vérifie si le paquet est erroné, 15. 5 Si le paquet est valable, il teste 16, si tous les PDU ont été transmis, si oui, l'émetteur valide la transmission du SDU, 17. Dans le cas où tous les PDU n'ont pas été transmis, alors on passe au PDU suivant, 18, et on retourne à l'étape de codage 4. Dans le cas où le paquet est erroné, alors on teste si le compteur C_MSDU 10 est supérieur au nombre N de PDU constituant le paquet moins le nombre de PDU déjà transmis, 19. Dans le cas où la valeur de ce compteur est supérieur, ce qui correspond au fait qu'il existe encore du crédit pour transmettre les paquets, le procédé réitère les étapes à partir de l'étape de transmission du paquet MAC(i), 6. 15 Dans le cas contraire, le crédit autorisé est épuisé, alors l'émetteur décrète un échec de transmission du SDU, 20. L'idée de la présente invention consiste, notamment, à utiliser une technique de retransmission, par exemple, avec redondance incrémentale au niveau de 20 la couche MAC à la place de la technique classique ARQ (Automatic repeat request). L'idée de l'invention consiste, notamment, à mettre en oeuvre la redondance incrémentale au niveau de la couche d'accès au milieu ou MAC, puis à mettre en oeuvre, de manière associée, une gestion du nombre de 25 retransmission qui peut dépendre soit du nombre de fragments transmis, soit du nombre PDU transmis. L'invention concerne un procédé de retransmission à redondance incrémentale, adapté aux transmissions de paquets pouvant être fragmentés 30 en N paquets indicés i caractérisé en ce qu'elle comporte en combinaison au moins les étapes suivantes : 2910757 4 o initialiser à une valeur donnée, un compteur C_MSDU correspondant à un crédit global de retransmission et initialiser i à une valeur donnée, o coder un paquet PDU(i) en cours de traitement avec un CRC, afin d'obtenir un paquet MAC(i), 5 o générer au moins un fragment FRG, FRG(i), o considérer le fragment FRG, FRG(i) généré, o décrémenter le compteur de crédit de retransmission, C_MSDU-1, o transmettre le fragment FRG ou FRG(k) vers un récepteur, o recevoir de la part du récepteur, un acquittement bon ou mauvais du 10 fragment FRG ou FRG(k) transmis, o tester, si le fragment FRG ou FRG(k), est erroné, o Si le fragment n'est pas erroné, tester si i est égal au nombre de paquets N, tous les paquets ont été transmis, o Si oui, alors décréter le succès de transmission, 15 o Si non incrémenter i= i+1 et réitérer les étapes à partir du codage CRC du PDU, o Si le fragment est erroné, tester le compteur de crédit de retransmission, C_MSDU est supérieur à N-i ?, o Si oui aller à l'étape de décrémentation du compteur, 20 o Si non décréter l'échec de transmission. Selon un mode de réalisation, il peut comporter au moins les étapes suivantes : o générer des redondances incrémentales à partir du paquet MAC n i 25 avec un code mère de rendement 1/K afin d'obtenir K fragments FRG(i) pour le paquet MAC(i) correspondant, dans le cas où il n'y a pas d'erreur dans la transmission du fragment, (ACK reçu du récepteur vers l'émetteur), exécuter les étapes suivantes : o Tester si le nombre total de fragment k est égal à une valeur donnée 30 k ? Si oui aller à l'étape de test i= N ?, 2910757 5 Si non incrémenter k, et aller à l'étape de décrémentation du compteur de crédit de transmission. Selon un mode de réalisation, on code une fois le paquet MAC avec un code 5 correcteur d'erreur en un paquet FRG qui est retransmis un nombre de fois donné. Le procédé selon l'invention présente notamment les avantages suivants : • L'utilisation de la retransmission avec redondance incrémentale au 10 niveau de la couche MAC permet d'obtenir une adaptation de lien automatique, correspondant à un code correcteur à capacité de correction variable, s'adaptant automatiquement à l'état du canal de transmission, • Il permet de diminuer le taux d'erreur paquet, le délai et la gigue au 15 niveau IP, ou au niveau du protocole utilisé. D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit d'un exemple de réalisation donné à titre illustratif et nullement limitatif, annexé des figures qui 20 représentent : • La figure 1 un exemple d'implémentation pour un procédé selon l'art antérieur, • La figure 2 un exemple de dispositif pour la mise en oeuvre du procédé selon l'invention, 25 • La figure 3 un exemple d'application dans laquelle le procédé selon l'invention peut être implémenté, • La figure 4 un schéma d'implémentation du procédé selon l'invention, et • La figure 5 un schéma d'une variante de réalisation sans redondance 30 incrémentale. 2910757 6 Afin de mieux faire comprendre l'objet de la présente invention, la description qui suit est donnée à titre illustratif et non limitatif dans le cadre d'un réseau fonctionnant avec le protocole Internet. La figure 2 représente un exemple de schéma de système centralisé 5 permettant la mise en oeuvre du procédé selon l'invention. Le schéma comporte une station de base, jouant le rôle d'émetteur, 21, un premier récepteur 22, et un deuxième récepteur 23 correspondant respectivement à un premier et un deuxième utilisateur. Les utilisateurs sont des abonnés mobiles ou pas. 1 o La liaison descendante, c'est-à-dire, le sens dans lequel sont transférées les données utiles, de la station de base vers les abonnés est représentée par la flèche 24. Le procédé selon l'invention s'applique aussi dans le cas d'une liaison montante, les données étant transférées des abonnés vers une station 15 centrale, la liaison étant représentée par la flèche 25. Dans ce cas d'application, les utilisateurs jouent alors le rôle d'émetteur et la station de base le rôle de récepteur. Un émetteur et un récepteur faisant partie du système de transmission sont équipés de moyens de communication permettant aux différents éléments 20 émetteurs, récepteurs formant et d'un module de type processeur permettant l'exécution des étapes du procédé décrites ci-après en relation avec la figure 3. Au niveau de l'émetteur, un paquet MAC est mis sous la forme d'une trame, puis passe dans un modulateur avant d'être transmis à un émetteur 25 comprenant une antenne d'émission. Au niveau de la réception, le signal S reçu au niveau de l'antenne de réception 26 passe dans un démodulateur 27, puis un dispositif 28, permettant de retrouver la trame initiale (détramage). Le paquet est ensuite transmis à un processeur 29 qui va exécuter les étapes du procédé et générer des paquets non-fragmentés au 30 dispositif de routage R. 2910757 7 Il est bien entendu que, sans sortir du cadre de l'invention, ce schéma donné à titre non limitatif peut comporter un nombre d'utilisateurs supérieur à deux. La figure 3 schématise un exemple d'implémentation du procédé selon l'invention. Elle comporte une partie émetteur I, une partie canal de 5 transmission II, une partie récepteur III. Le procédé selon l'invention comporte, par exemple, les étapes décrites ci-après : Au niveau de l'émetteur L'émetteur va, dans un premier temps, fragmenter le SDU (Service Data 10 unit), 30 en N paquets PDU(1), PDU(2)....PDU(N), 31. II initialise, 32, un compteur correspondant à un crédit global de retransmission C_MSDU et le compteur i à 1 (correspond à l'indice du paquet considéré). Lors de l'étape 33, l'émetteur code le PDU(i) en cours de traitement avec un CRC, conduisant à un paquet MAC(i) puis, 34, il génère des redondances 15 incrémentales à partir du paquet MAC n i avec un code mère de rendement 1/K. Pour un paquet MAC, K fragments FRG(i) sont ainsi obtenus, numérotés de 1 à K, 35 (la figure 3 représente le cas où K est égal à 4). Le fragment FRG(1) est identique au paquet MAC, ceci correspond au principe du codage à rendement compatible. L'indice du fragment FRG(i) est initialisé, étape 36, 20 à k=1. Au cours de l'étape 37, l'émetteur décrémente le compteur de crédit de retransmission d'une unité. Il transmet ensuite, 38, le fragment FRG(k) vers le récepteur. L'émetteur reçoit , 39, l'acquittement du paquet transmis, venant du 25 récepteur. L'émetteur teste, 40, si le fragment est erroné ou non. S'il n'y a pas d'erreur dans la transmission, (ACK reçu du récepteur vers l'émetteur), alors : Au niveau de l'émetteur, le procédé exécute les étapes suivantes : Tester, 41, si le nombre total de fragment a été transmis, k=K ? 30 ^ Si non, passer au fragment k suivant, 42, ^ Si oui, tester si le nombre total de paquets i=N ? a été transmis, 43, 2910757 8 ^ Si oui, 44, l'émetteur décrète le succès de transmission du SDU, ^ Si non, 45, considérer le paquet MAC suivant, i=i+1, S'il y a des erreurs dans la transmission, NACK reçu, 5 ^ Si le nombre de fragments restant à transmettre est inférieur à la valeur du compteur C_MSDU, 46, on décrémente le compteur C_MSDU, 37, et on transmet le fragment suivant, k=k+1 , 47, 38 ^ Sinon arrêter la transmission du SDU, échec de transmission 10 du SDU, 48. Au niveau du récepteur Le récepteur reçoit un fragment transmis, 38, et le met en mémoire 49, et simultanément teste si k=1, 50, ^ Si k est différent de 1, il effectue la concaténation 51 des fragments 15 FRG(k) reçus de 1 à k, en utilisant les éléments mémorisés, il décode avec le codage de rendement R=1/k et il va à l'étape de décodage 52, ^ Si k est égal à 1, alors le récepteur décode le CRC du fragment reçu, 53, Après décodage, le récepteur teste si il y a une erreur dans la transmission 20 du fragment, 54, ^ S'il y a une erreur il transmet le message NACK, 55, à l'émetteur, ^ S'il n'y a pas d'erreur il transmet le message ACK, 56, à l'émetteur et simultanément réalise une sauvegarde des PDU(i), 57, puis teste si i est égal au nombre N de PDU, 58, 25 o Si oui, il réassemble le SDU, 59, o Si non, il attend les autres paquets. La figure 4 représente une variante de réalisation pour laquelle, on code une fois le paquet MAC avec un code correcteur d'erreur en un paquet FRG 30 (fragment) que l'on retransmet autant de fois qu'il est nécessaire. Le nombre 2910757 9 est fixé, par exemple, en fonction du compteur correspondant à un crédit global de retransmission. A la réception, le procédé collectionne les versions réémises de fragment FRG qu'il décode sous forme de décodage souple de type chase 5 decoding connu de l'Homme du métier . Le procédé exécute, par exemple, les étapes suivantes : Au niveau de l'émetteur L'émetteur va, dans un premier temps, fragmenter le SDU (Service Data unit), 60 en N paquets PDU(1), PDU(2)....PDU(N), 61. Il initialise, 62, un 10 compteur correspondant à un crédit global de retransmission C_MSDU et le compteur i du numéro de paquet à traiter à 1. Lors de l'étape 63, l'émetteur code le PDU(i) en cours de traitement avec un CRC, conduisant à un paquet MAC(i) puis, 64, il code le paquet MAC avec un code correcteur d'erreur connu de l'Homme du métier en un paquet FRG, 65, qui est retransmis 15 autant de fois qu'il est nécessaire. Au cours de l'étape 66, l'émetteur décrémente le compteur de crédit de retransmission d'une unité. II transmet ensuite, 67, le fragment FRG vers le récepteur. L'émetteur reçoit 68 l'acquittement du paquet transmis, venant du récepteur. L'émetteur teste, 69, si le fragment est erroné ou non. 20 S'il n'y a pas d'erreur dans la transmission, (ACK reçu du récepteur vers l'émetteur), alors tester si le nombre total de paquets i=N ? a été transmis, 70, ^ Si oui, 71, l'émetteur décrète le succès de transmission du SDU, 25 ^ Si non, 72, considérer le paquet MAC suivant, i=i+1, et retourner à l'étape de codage CRC, 63, S'il y a des erreurs dans la transmission, NACK reçu, Si le nombre de fragments restant à transmettre est inférieur à la valeur du compteur C_MSDU, 73, on décrémente le compteur C_MSDU, 66, 30 et on réitère la transmission du fragment FRG dans la limite du compteur C_MSDU, 2910757 10 Sinon arrêter la transmission du SDU, échec de transmission du SDU, 74. Au niveau du récepteur Le récepteur reçoit un fragment transmis, et le met en mémoire 75, 5 Il décode le fragment FRG en utilisant un décodage souple, 76, puis décode le CRC, 77, II teste ensuite, 78, si il y a une erreur, En cas d'erreur 79, il transmet le message NACK à l'émetteur (69), Sinon, 80, il transmet le message ACK à l'émetteur, et simultanément 10 sauvegarde les PDU(i) 81, vérifie si ii est égal au nombre N de PDU, 82 o Si oui, il réassemble le SDU, 83 o Si non, il attend les autres paquets. Les étapes du procédé décrites ci-dessus, peuvent être mises en oeuvre 15 dans tout réseau point-à-point, point-à-multipoint ou tout autre système d'accès radio multimédia. Les fragments K peuvent avoir la même taille, ou des tailles différentes. REVENDICATIONS 1 û Procédé de retransmission à redondance incrémentale adapté aux transmissions de paquets pouvant être fragmentés en N paquets indicés i caractérisé en ce qu'elle comporte en combinaison au moins les étapes suivantes : o initialiser (32, 62) à une valeur donnée un compteur correspondant à un crédit global de retransmission C_MSDU et initialiser i à une valeur donnée, o coder (33, 63) un paquet PDU(i) en cours de traitement avec un CRC, afin d'obtenir un paquet MAC(i), o générer (35, 36 ; 65, 66) au moins un fragment FRG, FRG(i), o considérer le fragment FRG généré, o décrémenter (37, 66) le compteur de crédit de retransmission, C_MSDU-1, o transmettre (38, 67) le fragment FRG ou FRG(k) vers un récepteur, o recevoir (39, 68)) de la part du récepteur, un acquittement bon ou mauvais du fragment FRG ou FRG(k) transmis, tester, (40, 69), si le fragment FRG ou FRG(k), est erroné, o Si le fragment n'est pas erroné, tester si i est égal au nombre de paquets N, tous les paquets ont été transmis, (43, 70), o Si oui, alors décréter le succès de transmission, o Si non incrémenter i= i+1 et réitérer les étapes à partir du codage CRC du PDU, o Si le fragment est erroné, tester le compteur de crédit de retransmission, C_MSDU est supérieur à N-i ?, (46, 73), Si oui aller à l'étape de décrémentation du compteur, Si non décréter l'échec de transmission. 2910757 12 2 ù Procédé selon la revendication 1, caractérisé en ce que : o on génère des redondances incrémentales à partir du paquet MAC n i avec un code mère de rendement 1/K afin d'obtenir K fragments FRG(i) pour le paquet MAC(i) correspondant, 5 o dans le cas où il n'y a pas d'erreur dans la transmission du fragment, (ACK reçu du récepteur vers l'émetteur), on exécute les étapes suivantes : Tester (41) si le nombre total de fragment k=K ? Si oui aller à l'étape de test i= N ?, (43) 1 o Si non incrémenter k, (42) et aller à l'étape de décrémentation du compteur de crédit de transmission. 3 ù Procédé selon la revendication 1, caractérisé en ce qu'il comporte au niveau de la réception, au moins les étapes suivantes : 15 mémoriser (49) un fragment reçu et simultanément tester (50) si l'indice du fragment correspondant au premier fragment du paquet transmis, ^ Si k est différent de 1, concaténer (51) les fragments FRG(k) reçus de 1 à k, en utilisant les éléments mémorisés, o décoder avec le codage de rendement utilisé à l'émission et 20 aller à une étape de décodage 52, ^ Si k est égal à 1, décoder (53) le CRC du fragment FRG(1) reçu, Après décodage, tester si il y a une erreur dans la transmission du fragment, 54, ^ S'il y a une erreur, transmettre le message NACK, 55, à l'émetteur, 25 ^ S'il n'y a pas d'erreur, transmettre le message ACK, 56, à l'émetteur et simultanément réaliser une sauvegarde des PDU(i), 57, puis tester si i est égal au nombre N de PDIJ, 58 o Si oui, réassembler le SDU, 59. 2910757 13 4 ù Procédé selon la revendication 1, caractérisé en ce que l'on code une fois le paquet MAC avec un code correcteur d'erreur en un paquet FRG qui est retransmis un nombre de fois donné. 5 5 ù Procédé selon la revendication 4, caractérisé en ce qu'il comporte au niveau de la réception au moins les étapes suivantes : o mettre en mémoire les répliques de FRG reçues, o décodage souple d'une réplique FRG, o décoder le CRC de la réplique reçue, 10 o en cas d'erreur, transmettre à l'émetteur un accusé NACK, o sinon transmettre un accusé ACK à l'émetteur et, en parallèle sauvegarder les PDU(i), puis tester si i est égal au nombre N de PDU, 86 Si oui, réassembler le SDU, 87, 15 Sinon attendre les autres paquets. 6 ù Procédé selon l'une des revendications précédentes, caractérisé en ce que on décrémente d'une unité le compteur de crédit de retransmission. 20 7 ù Utilisation du procédé selon l'une des revendications 1 à 6, pour la transmission de paquets IP.