Brevet FR2988940A1 — publié le 20131004

La présente invention concerne une optimisation d'un procédé de transmission d'une donnée sous forme de N blocs entre un équipement source et un équipement cible via un routeur. Il est connu, en particulier dans le domaine avionique, d'utiliser un protocole de 5 communication pour transmettre N blocs B(i) d'une même donnée D entre un équipement DL dit équipement source (encore appelé télé-chargeur, dataloader en anglais) et un équipement C, dit équipement cible via un routeur RS le plus souvent sécurisé. Dans le domaine de l'avionique, ce protocole est appelé ARINC615A, basé sur le protocole TFTP (RFC 1350, 2347 et 2348), et les liens utilisés pour relier les 10 équipements DL et C au routeur RS sont des liens Ethernet 100 BaseT compatibles de la norme ARINC664 part 7. Mais la portée de la présente invention n'est pas limitée à ce protocole ARINC615A ni à ces types de liens mais s'étend à tout protocole de transmission (et tous autres types de liens) qui met en oeuvre un procédé décrit en relation avec la Fig. 1. La portée de la présente invention n'est pas limitée non plus à 15 la présence d'un seul routeur mais peut être étendue au cas de plusieurs routeurs. Elle est valide aussi si certain routeurs transforment les protocoles et les médias physiques de communication (Ethernet, Arinc 664 part 7, CANTM, FlexrayTM, Arinc 429, et autres). Enfin ce brevet peut être appliqué à tout transfert de fichier de données qui utilise le protocole TFTP. 20 La Fig. 1 représente un diagramme des étapes d'un procédé de transmission d'une donnée sous forme de N blocs entre un équipement source et un équipement cible selon l'état de la technique. Le procédé comporte une étape 1 de réception d'acquittement au cours de laquelle l'équipement source DL reçoit une information d'acquittement ACK(i) 25 relative à un bloc B(i) précédemment émis. Le procédé comporte également une étape 2 d'émission de blocs au cours de laquelle le bloc B(i+1) suivant le bloc B(i) acquitté est émis par l'équipement source DL à destination du routeur RS. Bien entendu, cette étape n'est exécutée que dans le cas où il reste un bloc de la donnée à transmettre. 30 Le procédé comporte aussi une étape 3 de formation par le routeur RS de M sous-blocs B(i+1,j) à partir d'un bloc B(i+1) reçu. On peut noter que M est égal ou supérieur à 1. Le procédé comporte également une étape 4 d'émission de sous-blocs au cours de laquelle le routeur RS émet successivement à destination de l'équipement cible les M sous-blocs B(i+1,j) issus d'un bloc B(i+1). Les sous-blocs B(i+1,1),..., B(i+1,M) sont émis successivement et dans l'ordre par le routeur RS. De plus le procédé comporte, suite à la réception des M sous-blocs B(i+1,j) d'un même bloc B(i+1), une étape 5 d'émission d'acquittement au cours de laquelle l'équipement cible C émet une information d'acquittement ACK(i+1) à destination de l'équipement source DL via le routeur RS. Les étapes de ce procédé sont répétées tant que tous les N blocs B(i) de la donnée D à transmettre n'ont pas été acquittés. La Fig. 2 représente un exemple de séquencement des échanges entre les équipements source et cible suivant le procédé de la Fig. 1. Selon le protocole de communication utilisé, le procédé de transmission de la Fig. 1 est lancé, par exemple de la manière suivante : l'équipement C demande qu'une donnée lui soit transmise (code RRQ, pour Read Request, en anglais). L'équipement DL lui répond un message OAK (pour Option Acknowledge en anglais) en guise d'acquittement de cette demande. Le procédé de la Fig. 1 débute alors par la réception par l'équipement DL de cette information d'acquittement ACK(i=0) (pour Acquittement du bloc 0). L'équipement DL émet alors le bloc B(i=1) (étape 2) à destination du routeur RS. Le routeur forme M (ici 4) sous-blocs B(1,j=1), B(1,j=2), B(1,j=3) et B(1,j=4) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Suite à la réception de ces quatre sous-blocs, l'équipement C émet une information d'acquittement ACK(i=1) à destination de l'équipement DL via le routeur RS. L'équipement DL reçoit cette information ACK(1) (étape 1) et émet alors le bloc B(i=2) (étape 2) à destination du routeur RS. Le routeur forme quatre sous-blocs B(2,1), B(2,2), B(2,3) et B(2,4) (étape 3) et émet successivement ces sous- blocs à destination de l'équipement C (étape 4). Suite à la réception de ces quatre sous-blocs, l'équipement C émet une information d'acquittement ACK(2) à destination de l'équipement DL via le routeur RS. L'équipement DL reçoit cette information ACK(2) (étape 1) et émet alors le bloc B(i=3) (étape 2) à destination du routeur RS. Le routeur forme quatre sous-blocs B(3,1), B(3,2), B(3,3) et B(3,4) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Suite à la réception de ces quatre sous-blocs, l'équipement C émet une information d'acquittement ACK(3) à destination de l'équipement DL via le routeur RS. Enfin, l'équipement DL reçoit cette information ACK(i=N=4) (étape 1) et émet alors le bloc B(i=2) (étape 2) à destination du routeur RS. Le routeur forme quatre sous-blocs B(4,1), B(4,2), B(4,3) et B(4,4) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Suite à la réception de ces quatre sous-blocs, l'équipement C émet une information d'acquittement ACK(4) à destination de l'équipement DL via le routeur RS. Et ainsi de suite jusqu'au dernier bloc. L'inventeur a observé que ce type de procédé de transmission présente plusieurs inconvénients. L'un d'entre eux est le temps de transfert relativement important d'une donnée. En effet, au niveau du routeur RS, il est nécessaire de fractionner chaque bloc de donnée entrant en sous-blocs de manière à adapter la taille des blocs aux contraintes du réseau de communication qui relie le routeur RS à l'équipement C. L'inventeur a observé que ce fractionnement des blocs en sous-blocs n'est pas réalisé de manière continue au niveau du routeur RS ce qui interrompt la continuité du flux de données entre l'équipement DL et l'équipement C et donc augmente significativement la durée de transfert. Une autre raison de cette augmentation de la durée totale de transmission de la donnée est que tout nouveau bloc de donnée n'est émis que si le précédent bloc a été correctement émis c'est-à-dire suite à la réception de l'information d'acquittement par l'équipement DL. Le problème résolu par la présente invention est de remédier aux inconvénients suscités tout en ne modifiant pas l'infrastructure de communication, notamment aux niveaux des liens utilisés. A cet effet, la présente invention concerne un procédé de transmission d'une donnée sous forme de N blocs entre un équipement source et un équipement cible via un routeur qui comporte les étapes du procédé de la Fig. 1. Le procédé est caractérisé en ce que : - au cours de la première itération du procédé, au cours de l'étape d'émission de blocs, un nombre prédéterminé N1 de blocs sont successivement émis, - au cours de chaque itération suivante, au cours de l'étape d'émission de blocs, le bloc situé à N1 blocs après celui qui a été dernièrement acquitté est émis. Ainsi, le procédé permet de transmettre les blocs de manière « anticipée » pour que le routeur RS ait en permanence des blocs en entrée, ce qui élimine les interruptions de fonctionnement du routeur RS qui forme et émet en continu les sous-blocs. Les discontinuités de transmission du flux entre les équipements DL et C sont ainsi supprimées et la durée globale du transfert de la donnée entre l'équipement DL et l'équipement C s'en trouve alors significativement réduite. Selon un mode de réalisation du procédé, si la durée entre la dernière émission d'une information d'acquittement relative à un bloc excède un seuil prédéterminé (timeout delay, en anglais), alors l'équipement cible réémet cette information d'acquittement à destination de l'équipement source via le routeur, et cet équipement source, à réception de cette information d'acquittement, émet les N1 blocs suivant le bloc qui est relatif à cette information d'acquittement. Ce mode de réalisation est avantageux car c'est une solution facilement mise en oeuvre au niveau de l'équipement DL pour gérer une erreur de transmission d'un sous-bloc. De plus, le procédé est avantageux car son implémentation ne requiert qu'une modification de l'équipement DL. L'équipement cible n'a pas à être modifié. Par ailleurs, dans le cas du protocole ARINC 615A, si N1 est égal à 2, le routeur RS n'a pas non plus à être modifié. Sinon, il faut que le routeur RS implémente une file de messages en attente qui lui permet de transmettre les messages à la suite les uns des autres, sans rupture de flux et dont la longueur est fonction du nombre N1 alors supérieur de 2. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi 20 lesquels: La Fig. 1 représente un diagramme des étapes d'un procédé de transmission d'une donnée sous forme de N blocs entre un équipement source et un équipement cible selon l'état de la technique. La Fig. 2 représente un exemple de séquencement des échanges entre les 25 équipements source et cible suivant le procédé de la Fig. 1. Les Figs. 3-4 représentent des diagrammes des étapes d'un procédé de transmission d'une donnée sous forme de N blocs entre un équipement source et un équipement cible selon la présente invention. Les Fig. 5-6 représentent deux exemples de séquencement des échanges entre 30 les équipements source et cible suivant le procédé des Figs. 3-4. De manière générale, le procédé revendiqué est une modification du procédé de transmission décrit en relation avec la Fig. 1. Selon la présente invention, le procédé de la Fig. 1 est modifié pour qu'au cours de la première itération du procédé, au cours de l'étape 2 d'émission de blocs, un nombre prédéterminé N1 de blocs sont successivement émis, et qu'au cours de chaque itération suivante, au cours de l'étape 2 d'émission de blocs, le bloc situé à N1 blocs après celui qui a été acquitté est émis. Les Figs. 3-4 représentent des diagrammes des étapes d'un procédé de 5 transmission d'une donnée sous forme de N blocs entre un équipement source DL et un équipement cible C selon la présente invention. Les éléments des Figs. 3 et 4, qui portent les mêmes références que celles de la Fig. 1, désignent les mêmes éléments. Suite à la réception de l'information d'acquittement ACK(0), l'équipement DL 10 émet successivement N1 blocs B(1),...,B(N1) de la donnée D (au contraire du procédé de la Fig. 1 où un seul bloc était émis) à destination du routeur RS. Le routeur RS forme M sous-blocs B(1,1),...B(1,M) (étape 3) à partir du premier bloc B(1) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Le routeur RS ne s'arrête alors pas comme dans le procédé de la Fig. 1 mais forme ensuite M 15 sous-blocs B(2,1),...,B(2,M) à partir du bloc B(2) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4) et ainsi de suite tant que des blocs B(i) sont reçus par le routeur RS. Suite à la réception des M sous-blocs B(i,1),...,B(i,M) relatifs à un même bloc B(i), l'équipement C émet une information d'acquittement ACK(i) à destination de 20 l'équipement DL via le routeur RS (étape 5, Fig. 4). L'équipement DL reçoit cette information d'acquittement ACK(i) (étape 1) et détermine si cette information ACK(i) a été précédemment reçue. Si ce n'est pas le cas, l'équipement DL émet le bloc B(i+N1) (étape 2) à destination du routeur RS à condition, bien évidemment, que ce bloc est à transmettre. 25 Le routeur forme alors M sous-blocs B(i+N1,1),...,B(i+N1,M) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Suite à la réception des M sous-blocs B(i+N1,1), B(i+Nl,M), l'équipement C émet une information d'acquittement ACK(i+N1) à destination de l'équipement DL via le routeur RS (étape 5). 30 Si l'information d'acquittement ACK(i), qui est reçue au cours de l'étape 1 par l'équipement DL a déjà été reçue précédemment, alors les N1 blocs B(i+1),...,B(i+N1) sont émis à destination du routeur RS tel que illustré sur la Fig. 4. Le bloc B(i+1) est émis. Le routeur forme alors M sous-blocs B(i+1,1),...,B(i+1,M) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Le bloc B(i+2) est ensuite émis. Le routeur forme alors M sous-blocs B(i+2,1),...,B(i+2,M) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Ainsi de suite jusqu'à l'émission du dernier bloc B(i+N1). Le routeur forme alors M sous-blocs B(i+N1,1),...,B(i+N1,M) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Le procédé continue alors selon les Figs. 3 et 4. Les Figs. 5-6 représentent deux exemples de séquencement des échanges entre les équipements source et cible suivant le procédé des Figs. 3-4. Suite à la réception de l'information d'acquittement ACK(0), l'équipement DL émet successivement Ni blocs de la donnée D. Ici Ni est égal à 2 et les blocs B(1) et B(2) sont successivement émis (étape 2) à destination du routeur RS. Le routeur forme M (ici 4) sous-blocs B(1,1), B(1,2), B(1,3) et B(1,4) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Le routeur RS forme aussi M sous-blocs B(2,1), B(2,2), B(2,3) et B(2,4) à partir du bloc B(2) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Suite à la réception des sous-blocs B(1,1), B(1,2), B(1,3) et B(1,4), l'équipement C émet une information d'acquittement ACK(1) à destination de l'équipement DL via le routeur RS. Ici, l'information ACK(1) est émise suite à la réception du sous-bloc B(2,1) mais ceci n'est qu'un exemple illustratif car cette information peut être émise à d'autres instants à partir du moment où les quatre sous-blocs relatifs au bloc B(1) ont été reçus par l'équipement C. L'équipement DL reçoit l'information d'acquittement ACK(i=1) (étape 1) et émet alors le bloc B(i+N1=1+2=3) (étape 2) à destination du routeur RS. Le routeur forme quatre sous-blocs B(3,1), B(3,2), B(3,3) et B(3,4) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Suite à la réception des quatre sous-blocs B(2,1), B(2,2), B(2,3) et B(2,4), l'équipement C émet une information d'acquittement ACK(2) à destination de l'équipement DL via le routeur RS. L'équipement DL reçoit cette information ACK(i=2) (étape 1) et émet alors le bloc B(i+N1=2+2=4) (étape 2) à destination du routeur RS. Le routeur forme quatre sous-blocs B(4,1), B(4,2), B(4,3) et B(4,4) (étape 3) et émet successivement ces sous-blocs à destination de l'équipement C (étape 4). Suite à la réception des quatre sous-blocs B(3,1), B(3,2), B(3,3) et B(3,4), l'équipement C émet une information d'acquittement ACK(i=3) à destination de l'équipement DL via le routeur RS. L'équipement DL n'émet alors plus car i+N1 (ici =3+2=5) est supérieur à N (ici égal à 4). Enfin, suite à la réception des quatre sous-blocs B(4,1), B(4,2), B(4,3) et B(4,4), l'équipement C émet une information d'acquittement ACK(4) à destination de l'équipement DL via le routeur RS. Le procédé s'arrête suite à la réception par l'équipement C de l'information d'acquittement ACK(4). On peut remarquer que l'exemple de séquencement donné à la Fig. 5 n'est qu'une illustration qui ne limite en rien le procédé qui peut aboutir par exemple à des émissions successives, par exemple de ces informations d'acquittement. Selon un mode de réalisation du procédé, si la durée T entre la dernière émission d'une information d'acquittement relative à un bloc excède un seuil prédéterminé TH, alors l'équipement C réémet cette information d'acquittement à destination de l'équipement source via le routeur, et cet équipement source, à réception de cette information d'acquittement, émet les N1 blocs suivant le bloc qui est relatif à cette information d'acquittement. La Fig. 6 illustre ce mode de réalisation dans le cas où le bloc B(3,4) n'a pas été reçu par l'équipement C. Dans ce cas et selon cet exemple, la dernière information d'acquittement à avoir été émise par l'équipement C était l'information ACK(2). Un compteur a été alors déclenché suite à l'émission de cette information et comme le sous-bloc B(3,4) n'a jamais été reçu, l'équipement C n'a jamais émis l'information d'acquittement ACK(3) relative à la réception des quatre sous-blocs du bloc B(4). Ainsi, lorsque la durée T du compteur est supérieure au seuil TH, l'équipement C réémet l'information d'acquittement ACK(2) à destination de l'équipement DL (étape 5). A réception de cette information d'acquittement ACK(2), l'équipement C réémet les N1 (ici 2) blocs B(2+1=3) et B(2+2=4) suivant le bloc B(2) qui est relatif à cette information d'acquittement ACK(2). Les moyens des équipements source et cible, qui sont utilisés pour la mise en oeuvre du procédé de la Fig. 1, sont largement connus de l'homme du métier. Ces moyens sont adaptés pour mettre en oeuvre le procédé de transmission selon la présente invention. Ainsi, tout ou partie des procédés décrits ci-dessus peut être implémenté sous forme logicielle par exécution d'un ensemble d'instructions par une machine programmable, tel qu'un CPU (centralize processing unit en anglais, ou processeur en français), un DSP (Digital Signal Processor en anglais ou Unité de Traitement de Signal Numérique en français) un microcontrôleur ou toute autre machine informatique, ou être implémenté sous forme matérielle par une machine ou un composant dédié, tel qu'un FPGA (Field-Programmable Gate Array en anglais ou Matrice de Portes Programmable sur Champ en français) ou un ASIC (Application- Specific Integrated Circuit en anglais ou Circuit Intégré Spécifique à une Application en français). Selon un mode de réalisation, le routeur RS implémente une file de messages en attente, qui lui permet de transmettre les messages à la suite les un des autres, sans rupture de flux.10 REVENDICATIONS1) Procédé de transmission d'une donnée sous forme de N blocs entre un équipement source et un équipement cible via un routeur, ledit procédé comportant : - une étape de réception d'acquittement au cours de laquelle l'équipement source reçoit une information d'acquittement relative à un bloc précédemment émis, - une étape d'émission de blocs au cours de laquelle le bloc suivant le bloc acquitté est émis par l'équipement source et à destination du routeur, - une étape de formation par le routeur d'au moins un sous-bloc à partir d'un bloc reçu, - une étape d'émission de sous-blocs au cours de laquelle le routeur émet au moins un sous-bloc d'un bloc à destination de l'équipement cible, et - suite à la réception du ou des sous-blocs d'un même bloc, une étape d'émission d'acquittement au cours de laquelle l'équipement cible émet une information d'acquittement à destination de l'équipement source via le routeur, - les étapes de ce procédé étant répétées tant que les N blocs n'ont pas été acquittés, caractérisé en ce que - au cours de la première itération du procédé, au cours de l'étape d'émission de blocs, un nombre prédéterminé Ni de blocs sont successivement émis, - au cours de chaque itération suivante, au cours de l'étape d'émission de blocs, le bloc situé à Ni blocs après celui qui a été dernièrement acquitté est émis. 2) Procédé selon la revendication 1 dans lequel, si la durée entre la dernière émission d'une information d'acquittement relative à un bloc excède un seuil prédéterminé, alors l'équipement cible réémet cette information d'acquittement à destination de l'équipement source via le routeur, et cet équipement source, à réception de cette information d'acquittement, émet les Ni blocs suivant le bloc qui est relatif à cette information d'acquittement. 3) Equipement d'un système de transmission qui est prévu pour transmettre une donnée sous forme de N blocs à destination d'un équipement cible via un routeur, ledit équipement comportant :- des moyens de réception d'acquittement prévus pour recevoir une information d'acquittement relative à un bloc précédemment émis, - des moyens d'émission de blocs prévus pour que le bloc suivant le bloc acquitté soit émis à destination du routeur, caractérisé en ce que - les moyens d'émission de blocs sont prévus pour qu'un nombre prédéterminé N1 de blocs soient successivement émis lors d'une première itération et que par la suite, soit émis seul le bloc situé à N1 blocs après celui qui a été dernièrement acquitté. 4) Equipement selon la revendication 3, dans lequel les moyens d'émission de blocs de l'équipement source sont également prévus pour que, à réception d'une information d'acquittement préalablement reçue, N1 blocs suivant le bloc qui est relatif à cette information d'acquittement sont émis. 5) Système de transmission entre un équipement source conforme à la revendication 4 et un équipement cible via un routeur, caractérisé en ce que l'équipement cible comporte des moyens pour réémettre une information d'acquittement à destination de l'équipement source si la durée entre la dernière émission d'une information d'acquittement relative à un bloc excède un seuil prédéterminé, 6) Système de transmission entre un équipement source conforme à la revendication 4 et un équipement cible via un routeur, caractérisé en ce que le routeur implémente une file de messages en attente, qui lui permet de transmettre les messages à la suite les un des autres, sans rupture de flux.