FR2939584A1 - Network coding method for wireless mesh communication network, involves constructing output notification identifying differences between combinations of source packets, and transmitting modified result packet and output notification - Google Patents

Network coding method for wireless mesh communication network, involves constructing output notification identifying differences between combinations of source packets, and transmitting modified result packet and output notification Download PDF

Info

Publication number
FR2939584A1
FR2939584A1 FR0858365A FR0858365A FR2939584A1 FR 2939584 A1 FR2939584 A1 FR 2939584A1 FR 0858365 A FR0858365 A FR 0858365A FR 0858365 A FR0858365 A FR 0858365A FR 2939584 A1 FR2939584 A1 FR 2939584A1
Authority
FR
France
Prior art keywords
packet
packets
modified
source
network coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0858365A
Other languages
French (fr)
Other versions
FR2939584B1 (en
Inventor
Romain Guignard
Julien Sevin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0858365A priority Critical patent/FR2939584B1/en
Publication of FR2939584A1 publication Critical patent/FR2939584A1/en
Application granted granted Critical
Publication of FR2939584B1 publication Critical patent/FR2939584B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15521Ground-based stations combining by calculations packets received from different stations before transmitting the combined packets as part of network coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/0082Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Abstract

The method involves detecting whether input notification indicates that a used data packet is missing or is received in a modified manner such that linear combination of source packets forming the modified used packet is not conformed to a predetermined network coding scheme. A modified result packet is constructed in case of positive detection. An output notification identifying differences between the combinations of packets representing predetermined and modified result packets, respectively, is constructed. The modified result packet and the output notification are transmitted. Independent claims are also included for the following: (1) a computer program product comprising program code instructions for implementing a network coding method (2) a storage medium for storing a computer program comprising instructions for implementing a network coding method (3) a relay node comprised in a mesh network and participating in a network coding method (4) a destination node comprised in a mesh network and participating in a network coding method.

Description

Procédé de codage réseau dans un réseau maillé, produit programme d'ordinateurs, moyen de stockage et noeuds de communication correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des réseaux de communications. Plus précisément, l'invention concerne un procédé permettant de notifier les potentiels changements par rapport à un schéma de codage réseau de référence prédéterminé durant une phase d'initialisation d'un réseau de communication. 2. ARRIÈRE-PLAN TECHNOLOGIQUE 2.1 Contexte et problème On s'attache plus particulièrement dans la suite de ce document à décrire la problématique, existante dans le contexte d'un codage réseau dans un réseau maillé sans fil, à laquelle ont été confrontés les inventeurs de la présente demande de brevet. L'invention ne se limite bien sûr pas à ce contexte particulier d'application, mais présente un intérêt dans tous les cas de codage réseau adapté à la transmission, via des noeuds relais, de paquets de données depuis des noeuds sources vers des noeuds destination, dans un réseau de communication maillé. Les systèmes de communications sans fil de type 60GHz sont particulièrement bien adaptés dans le cadre de transmission de flux de données à très haut débit et à portée limitée. A l'heure de la multiplication des contenus hautes définitions, ce type de transmission sans fil et à haut débit est adéquate, par exemple, comme connexion entre les différents éléments audio d'un cinéma de salon (ou home theater en anglais) nécessitant une bande passante très importante et cela à l'échelle d'une pièce. Mais, malgré les débits importants mis en oeuvre par ces types de réseau, la multiplicité des sources nécessite cependant l'augmentation des bandes passantes disponibles afin de pouvoir transmettre le contenu de ces différentes sources par exemple de l'audio et de la vidéo toujours dans un système Home cinema. Afin de pallier à ce problème de capacité du réseau, un nouveau concept a fait son apparition. Ce concept, appelé codage réseau (ou network coding en anglais), permet à un noeud non plus seulement de retransmettre un des paquets qu'il a reçu en entrée par une des sources (ou par un noeud relais) mais de créer un paquet résultant qui est une combinaison des paquets reçus en entrée. Network encoding method in a mesh network, computer program product, storage means and corresponding communication nodes. FIELD OF THE INVENTION The field of the invention is that of communication networks. More specifically, the invention relates to a method for notifying potential changes with respect to a predetermined reference network coding scheme during an initialization phase of a communication network. 2. TECHNOLOGICAL BACKGROUND 2.1 Context and problem In the remainder of this document, the problem is described, in the context of a network coding in a wireless mesh network, which the inventors have faced. of the present patent application. The invention is of course not limited to this particular context of application, but is of interest in all cases of network coding adapted to the transmission, via relay nodes, of data packets from source nodes to destination nodes. , in a mesh communication network. The 60GHz wireless communication systems are particularly well suited for transmitting data streams with very high speed and limited range. At the time of the proliferation of high definition content, this type of wireless transmission and broadband is adequate, for example, as a connection between the various audio elements of a home theater (or home theater in English) requiring a bandwidth very important and this at the scale of a room. But, despite the high speeds implemented by these types of network, the multiplicity of sources however requires the increase of the available bandwidths in order to be able to transmit the contents of these different sources for example of the audio and the video always in a home cinema system. To overcome this network capacity problem, a new concept has emerged. This concept, called network coding (or network coding in English), allows a node not only to retransmit one of the packets it has received as input from one of the sources (or a relay node) but to create a resulting packet which is a combination of packets received as input.

Le concept de codage réseau a été introduit par R. Ahlswede et al. et amplement décrit dans une publication (R. Ahlswede, N. Cai, S-Y. R. Li, and R. W. Yeung, "Network information flow", IEEE Trans. Inform. Theory, Vol. 46, pp. 1204-1216, July 2000). Très rapidement, de nombreux articles ont démontré l'apport de ce nouveau concept, notamment en termes de gain en bande passante et en termes d'utilisation de la capacité de réseau. De plus, il a été montré que dans un cadre de multidiffusion (ou multicast en anglais) où chaque message envoyé par un noeud source est destiné à l'ensemble des noeuds de Dt (Dt étant un ensemble ou l'ensemble des noeuds destinations du réseau), les combinaisons linéaires dans un corps Fq suffisamment grand donnent un résultat optimal (en terme de gain) tel que décrit dans le document "Linear network coding," - S.-Y. R. Li, R. W. Yeung, and N. Cai, IEEE Trans. Information Theory, IT-49(2):371-381, Feb. 2003. Dans la suite de la description, un schéma de codage réseau est défini de la façon suivante : - les noeuds relais combinent les paquets en entrée pour générer un paquet combiné appelé paquet résultant ; et - pour ces noeuds relais, les paquets en entrée à combiner sont choisis parmi l'ensemble des paquets reçus ; et - pour chaque paquet en entrée à combiner est associé un coefficient dans le corps Fq. Les noeuds et les liens participant au codage réseau sont considérés utiles, les autres sont considérés redondants. Les noeuds destinations reçoivent alors une pluralité de paquets (les paquets résultants des noeuds relais) qui sont des combinaisons linéaires des paquets sources envoyés par les noeuds sources. The concept of network coding has been introduced by R. Ahlswede et al. and extensively described in a publication (R. Ahlswede, N.Cai, SY.R.L. Li, and RW Yeung, "Network Information Flow", IEEE Trans.Information Theory, Vol 46, pp. 1204-1216, July 2000 ). Very quickly, many articles have demonstrated the contribution of this new concept, especially in terms of bandwidth gain and in terms of network capacity utilization. In addition, it has been shown that in a multicast framework (or multicast in English) where each message sent by a source node is intended for all of the nodes of Dt (Dt being a set or all of the destination nodes of the network), the linear combinations in a sufficiently large body Fq give an optimal result (in terms of gain) as described in the document "Linear network coding," - S.-Y. R. Li, R. W. Yeung, and N. Cai, IEEE Trans. Information Theory, IT-49 (2): 371-381, Feb. In the remainder of the description, a network coding scheme is defined as follows: the relay nodes combine the input packets to generate a combined packet called the resulting packet; and for these relay nodes, the input packets to be combined are chosen from the set of packets received; and for each input packet to combine is associated a coefficient in the body Fq. The nodes and links participating in the network coding are considered useful, the others are considered redundant. The destination nodes then receive a plurality of packets (the resulting packets from the relay nodes) which are linear combinations of the source packets sent by the source nodes.

Dans un mode de réalisation de l'invention, le schéma de codage utilisé est un schéma de codage optimisé tel que décrit dans le document de brevet US2005/0010675. Ce codage optimisé permet de réduire le nombre de noeuds et de liens utiles participant au schéma de codage réseau afin de diminuer le nombre d'opérations et donc le temps CPU (pour Central Processing Unit en anglais ou unité de traitement centrale en français). Ce schéma est déterminé à l'initialisation du système en prenant en compte la topologie du système. Les paquets résultants émis par les noeuds relais sont donc prédéterminés (plus précisément leur combinaison linéaire associée est prédéterminée). In one embodiment of the invention, the coding scheme used is an optimized coding scheme as described in US2005 / 0010675. This optimized coding makes it possible to reduce the number of nodes and useful links participating in the network coding scheme in order to reduce the number of operations and therefore the CPU time (for Central Processing Unit in English or central processing unit in French). This scheme is determined at the initialization of the system taking into account the topology of the system. The resulting packets transmitted by the relay nodes are therefore predetermined (more precisely their associated linear combination is predetermined).

Cependant, l'environnement sans fil étant très sensible, la transmission peut être perturbée par de nombreux facteurs comme des interférences, des atténuations ou des masquages provoqués par des objets mobiles traversant le champ d'émission. Ces perturbations du canal de transmission peuvent entraîner des pertes de liens et donc des modifications temporaires de la topologie du réseau. Le schéma de codage réseau prédéterminé étant basé sur la topologie initiale du réseau, une modification de cette topologie peut mener à l'incapacité des noeuds destinataires à décoder l'ensemble des paquets sources du fait que ceux-ci sont tous liés entre eux dans les paquets reçus. However, because the wireless environment is very sensitive, transmission can be disrupted by many factors such as interference, attenuation, or masking caused by moving objects crossing the transmit field. These disturbances of the transmission channel can lead to loss of links and therefore temporary changes in the network topology. Since the predetermined network coding scheme is based on the initial topology of the network, a modification of this topology can lead to the inability of the destination nodes to decode the set of source packets because they are all interconnected in each other. received packets.

2.2 Prérequis et limites de l'état de la technique 2.2 Prerequisites and limitations of the state of the art

2.2.1 Le corps Fe q=2s 2.2.1 The body Fe q = 2s

L'ensemble des opérations effectuées dans la présente invention est réalisée dans un corps fini noté Fq, constitué de q éléments. Dans le cadre de l'invention, les séquences d'information envoyées dans le réseau sont dans un contenant appelé paquet, qui a une taille fixe, s bits consécutifs d'un paquet constituant un symbole sur le corps Fq avec q=2s. Par exemple, un paquet de 1400 octets contient 1400 symboles si la taille du corps est 28 ou contient 700 symboles si la taille du corps est 216. Les opérations d'addition, de multiplication et de division s'effectuent de la façon suivante : - L'addition + s'effectue bit à bit avec la fonction classique OU exclusif (ou XOR ) All the operations performed in the present invention is carried out in a finite body denoted Fq, consisting of q elements. In the context of the invention, the information sequences sent in the network are in a container called packet, which has a fixed size, s consecutive bits of a packet constituting a symbol on the body Fq with q = 2s. For example, a 1400-byte packet contains 1400 symbols if the body size is 28 or contains 700 symbols if the body size is 216. The addition, multiplication, and division operations are performed as follows: - Addition + is done bit by bit with the classic OR exclusive (or XOR) function

- La multiplication . s'effectue symbole à symbole. Un symbole de s bits, b0...bs-1, est transformé en polynôme : b0+blX+..bs-lXs-1. Un polynôme irréductible sur Fq est choisi. La multiplication entre deux symboles est alors obtenue par la multiplication classique entre deux polynômes modulo le polynôme irréductible. - La division est calculée à partir d'un algorithme d'Euclide. De ce fait, dans la suite du document, lorsqu'on écrit : Y=ai.Ar =1 avec A1...A1, 1 paquets en entrée et al,.., a1 des coefficients dans Fq, ces opérations s'effectuent en réalité sur tous les symboles du paquet : yk= k a; .ai i=l où yk et ak sont respectivement le k1ème symbole des paquets Y et A. Les opérations + et . s'effectuent dans Fq. 2.2.2 Codage réseau 2.2.2.1 Introduction Au niveau d'un noeud relais, la combinaison linéaire associée à un paquet résultant peut être vu à deux niveaux distincts, un niveau local et un niveau global. Pour expliquer ces deux niveaux, supposons qu'un schéma de codage réseau est prédéterminé pour l'ensemble des noeuds et situons nous dans un noeud relais combinant. Ce noeud relais Ri doit alors combiner un ensemble de paquets reçus M1, M2,..., M1. Le paquet résultant est alors égal à : yj = la/Mi avec ai ,appartenant au corps fini Fq. =1 Cette combinaison linéaire est la représentation locale du codage, appelée par la suite combinaison locale. Mais les paquets à combiner reçus en entrée peuvent être aussi eux même des paquets résultants provenant d'autres noeuds relais. Notons X1,...XM les paquets sources émis par les noeuds sources. Il est alors clair que chaque paquet circulant dans le réseau est une combinaison linéaire des paquets sources X1,...XM. Le paquet précédemment cité Yi peut aussi être représenté de la manière suivante : yj = g'Xi . i=1 Cette représentation est la représentation globale du codage. Elle prend en compte que chaque paquet reçu Mi est aussi un paquet résultant combinant des paquets sources. Elle est appelée par la suite combinaison globale. Il est clair aussi que les coefficients g3 sont composés d'une combinaison de ai représentant les différentes combinaisons locales des noeuds en amont du noeud recevant ce paquet dans le chemin disjoint (la notion de chemin disjoint est plus amplement décrite par la suite). Il est alors possible d'écrire : g3 = 11a Les produits de a j sont appelés groupe de coefficients. - The multiplication . is symbol to symbol. A symbol of s bits, b0 ... bs-1, is transformed into a polynomial: b0 + blX + .. bs-lXs-1. An irreducible polynomial on Fq is chosen. The multiplication between two symbols is then obtained by the classical multiplication between two polynomials modulo the irreducible polynomial. - The division is calculated from an Euclidean algorithm. Therefore, in the rest of the document, when one writes: Y = ai.Ar = 1 with A1 ... A1, 1 input packets and al, .., a1 coefficients in Fq, these operations take place in fact, on all the symbols of the packet: yk = ka; .ai i = l where yk and ak are respectively the k1th symbol of packets Y and A. The + and. take place in Fq. 2.2.2 Network coding 2.2.2.1 Introduction At a relay node, the linear combination associated with a resulting packet can be seen at two distinct levels, a local level and a global level. To explain these two levels, suppose that a network coding scheme is predetermined for all the nodes and situate us in a combining relay node. This relay node Ri must then combine a set of received packets M1, M2, ..., M1. The resulting packet is then equal to: yj = la / Mi with ai, belonging to the finite field Fq. = 1 This linear combination is the local representation of the coding, hereinafter called local combination. But the packets to combine received as input can be themselves also resulting packets from other relay nodes. Let us denote by X1, ... XM the source packets sent by the source nodes. It is then clear that each packet flowing in the network is a linear combination of source packets X1, ... XM. The aforementioned packet Yi can also be represented in the following way: yj = g'Xi. i = 1 This representation is the global representation of the coding. It takes into account that each received packet Mi is also a resulting packet combining source packets. It is called thereafter global combination. It is also clear that the coefficients g3 are composed of a combination of ai representing the different local combinations of the nodes upstream of the node receiving this packet in the disjoint path (the notion of disjoint path is more fully described later). It is then possible to write: g3 = 11a The products of a j are called group of coefficients.

Une autre représentation du paquet résultant est de l'exprimer en fonction des paquets sources X; et des coefficients ai : y; =1(11160X Another representation of the resulting packet is to express it as a function of the source packets X; and coefficients ai: y; = 1 (11160X

Cette représentation est appelée par la suite combinaison globale explicitée . This representation is subsequently called an explicit global combination.

Les paquets ayant des coefficients non nuls dans une combinaison linéaire (locale, globale ou globale explicitée) sont appelés dans ce qui suit des paquets associés à cette combinaison. Dans le cadre de l'invention, chaque relais mémorise la représentation globale ainsi que la représentation globale explicitée de chaque paquet reçu en entrée dans une matrice, respectivement appelée matrice relais R=(rij) et matrice relais explicitée Rd. Chaque ligne représente un paquet reçu, chaque colonne un paquet source. Pour la matrice relais R, chaque élément de la matrice rij représente le coefficient du paquet source j de la combinaison linéaire globale du paquet i. Pour la matrice relais explicitée Rd, chaque élément de la matrice correspond à la représentation globale explicitée du coefficient associé au paquet source j contenu dans le paquet i. Le noeud destinataire Dj qui reçoit m' paquets Y1,Y2,...,Ym, mémorise aussi la représentation globale et globale explicitée de chaque paquet utile reçu dans une matrice, respectivement appelée matrice destination D=(dij) et matrice de destination explicitée Dd. Chaque ligne représente un paquet utile reçu et chaque colonne un paquet source. Pour la matrice destination D, chaque élément dij de la matrice représente le coefficient du paquet source j de la combinaison linéaire globale du paquet Yi reçu. Pour la matrice de destination explicitée Dd, chaque élément de la matrice correspond à la représentation globale explicitée du coefficient associé au paquet source j contenu dans le paquet Yi reçu. Le noeud destinataire doit alors résoudre le système linéaire constitué par l'ensemble des combinaisons linéaires globales : M Yi = X; 1=1 j=1...m'. Soit d'un point de vue matriciel, Y=D.X avec D la matrice destination, Y le vecteur colonne des paquets reçus et X le vecteur colonne des paquets sources. Il est à noter que si le rang de D (au sens de l'algèbre linéaire) est égal au nombre de noeuds sources alors tous les paquets sources sont décodables. Sinon, il faut étudier plus précisément la matrice destination pour déterminer le nombre de paquets sources décodables tel que plus amplement décrit en relation avec la figure 10. Il est à noter que l'utilisation des matrices explicitées n'est utile que dans l'un des modes de réalisations de l'invention (mode de notification indirect), dans l'autre mode ces matrices sont inutiles. 2.2.2.2 Construction d'un codage réseau Dans un réseau maillé constitué de M sources et de N noeuds destination, l'étape préliminaire avant de construire un schéma de codage réseau est de s'assurer qu'il existe un schéma de codage réseau adapté à la topologie du réseau. Cette phase se base sur des concepts de théorie des graphes et notamment sur une utilisation de l'algorithme de Ford-Fulkerson plus amplement décrit dans le document "Maximum Flow through a Network" Canadian Journal of Mathematics, L. Ford R.Fulkerson, 8 , pp 399-404, 1956. Le réseau est modélisé par un graphe G=(V, E), V étant un ensemble fini de K noeuds (appelés vertices en anglais), V= {xl, . . . , xK}, et E Ç V x V un ensemble fini d'arêtes qui connectent les noeuds. Dans le cadre de l'invention, l'ensemble E est un ensemble ordonné de couples (xi, xj), avec xi et xj appartenant à v, ces couples étant appelés arêtes connectées, arcs ou liens (appelés edges en anglais). Un noeud de V modélise une entité communicante dans le réseau (ordinateurs, speakers, amplificateur) tandis qu'un arc (xi, xj) indique une communication radio suffisamment bonne (c'est-à-dire au dessus d'un certain seuil de puissance radio reçue) entre les deux entités communicantes xi et xj. De plus, un chemin entre un noeud xl et un noeud xp est appelé un ensemble ordonné de noeuds {xl,x2,..,xp} tel que (xi, xi+1) E E pour i = 1, . . . , (pùl). Un chemin peut aussi s'écrire {(xl,x2),..,(xi,xi+1),...,(xp-1,xp)} avec (xk,xk+1) E E pour k = 1, .. . , (pù1). On appelle k chemins disjoints, k ensembles qui n'ont pas deux noeuds consécutifs en commun, soit d'un point de vue graphique , deux arcs en commun. Notons T un ensemble de k chemins disjoints. On définit alors : soit (x, y) E E (un lien du graphe), (x, y) E T si et seulement s'il existe un chemin de T qui contient (x,y), soit x EV (un sommet du graphe), x E T si et seulement s'il existe un chemin de T qui contient x. On appelle deux chemins disjoints entre un ensemble S et un noeud d, deux ensembles ordonnés de noeuds {xl,x2,..,xp,d} et {yl,y2,..,yq,d} tels que : - (xi, xi+1) EE pour i = 1, ... , (pû1) et (xp, d) EE ; - (yj, yj+1) EE pour j = 1, ... , (qû1) et (yq, d) EE ; - xl ES, yl ES et xl≠yl ; `di =1..(p -1), `dj =1..(q -1), (xi, xi+1) ~ (yj, yj+1) et (xp, d) ~ (yq,d) ; La définition se généralise très facilement pour un ensemble de k chemins disjoints. A partir de ces notions de la théorie des graphes, l'état de l'art donne la condition suivante : Soit S un ensemble de M noeuds sources. S'il existe M chemins disjoints entre S et chaque noeud destinataire de Dt, alors les M noeuds sont capables d'émettre simultanément en multicast à Dt si les noeuds relais sont autorisés à combiner linéairement leurs paquets entrant sur un corps fini suffisamment grand. Ce résultat est une conséquence directe de l'article de R. Ahlswede and co. "Network information flow". L'invention se place dans le cadre où cette condition est vérifiée au démarrage du système. Par contre, durant la vie de notre système, il se peut que cette condition ne soit plus respectée, à cause de pertes temporaires de liens. Dans ce cas, aucun schéma de codage réseau n'existe afin de permettre de décoder les M paquets sources. Les noeuds destinations ne peuvent donc plus décoder M paquets sources. Leur algorithme de décodage doit gérer alors ce cas et notamment doit permettre de décoder le maximum de paquets sources (strictement inférieur à m). Packets having non-zero coefficients in a linear combination (local, global or global explicit) are hereinafter called packets associated with this combination. In the context of the invention, each relay stores the global representation as well as the explicit global representation of each packet received as input in a matrix, respectively called relay matrix R = (rij) and explicit relay matrix Rd. Each line represents a packet. received, each column a source package. For the relay matrix R, each element of the matrix rij represents the coefficient of the source packet j of the global linear combination of the packet i. For the explicit relay matrix Rd, each element of the matrix corresponds to the explicit global representation of the coefficient associated with the source packet j contained in the packet i. The destination node Dj which receives m 'packets Y1, Y2, ..., Ym, also stores the global and global explicit representation of each useful packet received in a matrix, respectively called destination matrix D = (dij) and explicit destination matrix. dd. Each line represents a useful packet received and each column a source packet. For the destination matrix D, each element dij of the matrix represents the coefficient of the source packet j of the global linear combination of the packet Yi received. For the explicit destination matrix Dd, each element of the matrix corresponds to the explicit global representation of the coefficient associated with the source packet j contained in the packet Yi received. The destination node must then solve the linear system constituted by the set of global linear combinations: M Yi = X; 1 = 1 j = 1 ... m '. From a matrix point of view, Y = D.X with D the destination matrix, Y the column vector of the received packets and X the column vector of the source packets. Note that if the rank of D (in the linear algebra sense) is equal to the number of source nodes then all source packages are decodable. Otherwise, it is necessary to study more precisely the destination matrix to determine the number of decodable source packets as more fully described in relation to FIG. 10. It should be noted that the use of the explicit matrices is only useful in one embodiments of the invention (indirect notification mode), in the other mode these matrices are useless. 2.2.2.2 Construction of network coding In a mesh network consisting of M sources and N destination nodes, the preliminary step before building a network coding scheme is to ensure that there is a suitable network coding scheme to the topology of the network. This phase is based on graph theory concepts and in particular on a use of the Ford-Fulkerson algorithm more fully described in the document "Maximum flow through a Network" Canadian Journal of Mathematics, L. Ford R.Fulkerson, 8 , pp 399-404, 1956. The network is modeled by a graph G = (V, E), V being a finite set of K nodes (called vertices in English), V = {xl,. . . , xK}, and E V V x V a finite set of edges that connect the nodes. In the context of the invention, the set E is an ordered set of pairs (xi, xj), with xi and xj belonging to v, these pairs being called connected edges, arcs or links (called edges in English). A node of V models a communicating entity in the network (computers, speakers, amplifier) while an arc (xi, xj) indicates a sufficiently good radio communication (that is to say above a certain threshold of received radio power) between the two communicating entities xi and xj. Moreover, a path between a node xl and a node xp is called an ordered set of nodes {xl, x2, .., xp} such that (xi, xi + 1) E E for i = 1,. . . , (pùl). A path can also be written {(xl, x2), .., (xi, xi + 1), ..., (xp-1, xp)} with (xk, xk + 1) EE for k = 1 , .. , (pù1). We call k disjoint paths, k sets that do not have two consecutive nodes in common, either from a graphical point of view, two arcs in common. Let T be a set of k disjointed paths. We then define: (x, y) EE (a link of the graph), (x, y) AND if and only if there exists a path of T that contains (x, y), that is x EV (a vertex of graph), x AND if and only if there exists a path of T that contains x. We call two disjoint paths between a set S and a node d, two ordered sets of nodes {xl, x2, .., xp, d} and {yl, y2, .., yq, d} such that: - (xi , xi + 1) EE for i = 1, ..., (p1) and (xp, d) EE; - (yj, yj + 1) EE for j = 1, ..., (q1) and (yq, d) EE; - xl ES, yl ES and xl ≠ yl; `di = 1 .. (p -1),` dj = 1 .. (q -1), (xi, xi + 1) ~ (yj, yj + 1) and (xp, d) ~ (yq, d ); The definition is generalized very easily for a set of k disjoint paths. From these notions of graph theory, the state of the art gives the following condition: Let S be a set of M source nodes. If there are M disjoint paths between S and each destination node of Dt, then the M nodes are capable of simultaneously transmitting multicast to Dt if the relay nodes are allowed to linearly combine their incoming packets on a sufficiently large finite field. This result is a direct result of the article by R. Ahlswede and co. "Network information flow". The invention is placed in the context where this condition is verified at the start of the system. On the other hand, during the life of our system, this condition may no longer be respected because of temporary loss of links. In this case, no network coding scheme exists to allow the M source packets to be decoded. The destination nodes can no longer decode M source packages. Their decoding algorithm must then handle this case and in particular must allow to decode the maximum of source packets (strictly less than m).

Dans l'état de l'art, il existe principalement deux axes pour la construction d'un schéma de codage réseau en fonction de la connaissance ou non de la topologie initiale du réseau. Pour une topologie connue, un premier schéma déterministe de construction des coefficients basés sur une approche matricielle (appelé schéma de codage déterministe) est donné dans l'article de R. Koetter et M. Médard, "An Algebraic Approach to Network coding" ACM transactions on Networking, Vol 11, Nos, October 2003. In the state of the art, there are mainly two axes for the construction of a network coding scheme depending on whether or not the initial topology of the network is known. For a known topology, a first deterministic scheme for constructing coefficients based on a matrix approach (called a deterministic coding scheme) is given in the article by R. Koetter and M. Médard, "An Algebraic Approach to Network Coding" ACM Transactions on Networking, Vol 11, Nos, October 2003.

Pour une topologie inconnue, une construction à la volée des coefficients tirés aléatoirement (appelé schéma de codage aléatoire) est donnée dans l'article "Randomized distributed network coding" de Michelle Effros, Tracey Ho, David Karger, Ralf Koetter et Muriel Medard. For an unknown topology, an on-the-fly construction of the randomly drawn coefficients (called the random coding scheme) is given in the article "Randomized distributed network coding" by Michelle Effros, Tracey Ho, David Karger, Ralf Koetter and Muriel Medard.

Dans la première approche, les coefficients sont calculés une fois pour toute à l'initialisation du système et donc valable pour la durée de vie du système. Les noeuds destinations et les noeuds relais ont des opérations peu coûteuses à effectuer car ils savent par avance les paquets qu'ils vont recevoir et transmettre. Dans la deuxième approche, les noeuds relais tirent aléatoirement les coefficients du paquet résultant à générer à chaque nouveau paquet à transmettre, ce qui nécessite un temps de traitement supplémentaire. De plus, comme les coefficients sont différents pour chaque nouveau paquet généré, les noeuds relais doivent les transmettre en sus du paquet pour que les noeuds destinations aient connaissance des nouvelles combinaisons linéaires et puissent, dans la mesure du possible, décoder les paquets sources. Or cette signalisation est d'autant plus grande que le corps est grand (chaque coefficient sera codé sur un nombre de bits plus important), et c'est autant de bande passante perdue. Or dans cette deuxième approche, plus le corps est grand plus les chances de réussite du décodage des paquets sources sont grandes. D'où la contradiction. Par contre, dans la première approche, le décodage est sûr de réussir du fait que la construction réalisée à l'initialisation assure un décodage correct. La première approche est donc plus performante que la deuxième en terme de gain en bande passante et en temps de calcul. La deuxième approche possède quelques avantages au niveau de la robustesse à la perte de lien. En effet, comme cette méthode génère un paquet résultant avec une combinaison linéaire différente à chaque envoi, elle ne nécessite pas la connaissance du réseau et la perte de lien est transparente pour elle (bien que ne garantissant pas le décodage). Elle indique un coefficient nul pour le paquet qui devait arriver par ce lien. Dans le cadre de l'invention, il existe un moyen de récupérer la topologie du réseau et donc de construire un schéma de codage réseau avec la première méthode. Cependant, la première approche est fortement touchée par la perte de lien. En effet, cette perte de lien modifie la combinaison linéaire du noeud relais fixé au départ et seul le noeud relais observant cette perte a connaissance de celle-ci. Les autres noeuds et notamment les noeuds destinations ne sont pas au courant de cette modification de la topologie et croient que tout se passe comme d'habitude. Le décodage peut alors être catastrophique et influer sur tous les paquets sources à décoder vu que ceux-ci sont tous liés par les combinaisons linéaires (contrairement à un routage ou seul un paquet source serait atteint). Considérant que les avantages de la première approche sont primordiaux dans des applications hauts débits comme visé par l'invention, le problème technique résolu par la présente invention est de construire un codage réseau prédéterminé et calculé à partir de la topologie initiale, robuste aux liens cassés. Dans la pratique, la méthode de construction du schéma de codage prédéterminé (c'est-à-dire la première approche) couramment utilisée, est celle qui limite le nombre de noeuds et de liens participant au codage réseau en utilisant uniquement les chemins disjoints de la condition d'existence de codage réseau (seul les noeuds et les liens des chemins disjoints sont utiles pour construire le schéma de codage réseau). Ce concept est notamment décrit dans le document de brevet US2005/0010675 de la société Microsoft Corporation. A partir de ce constat, on appelle noeud (resp. lien) utile, un noeud (resp. lien) qui appartient à l'ensemble des chemins disjoints et, on appelle noeud (resp. lien) redondant, un noeud (resp. lien) qui n'appartient pas à l'ensemble des chemins disjoints. Cette version optimisée permet ainsi de limiter le nombre d'opérations. Or dans un réseau local sans-fil, il est fort probable que ces liens redondants soient nombreux, car à chaque fois qu'un noeud émet un paquet, tous les autres noeuds du réseau sont susceptibles de recevoir ce paquet. Ces paquets redondants ne seront pas pris en compte par les noeuds (c'est-à-dire qu'ils ne sont pas stockés). In the first approach, the coefficients are calculated once and for all at the initialization of the system and thus valid for the lifetime of the system. The destination nodes and the relay nodes have inexpensive operations to perform because they know in advance the packets they will receive and transmit. In the second approach, the relay nodes randomly pull the coefficients of the resulting packet to be generated at each new packet to be transmitted, which requires additional processing time. In addition, since the coefficients are different for each new packet generated, the relay nodes must transmit them in addition to the packet so that the destination nodes are aware of the new linear combinations and can, as far as possible, decode the source packets. But this signaling is even larger than the body is large (each coefficient will be encoded on a larger number of bits), and it is as much lost bandwidth. But in this second approach, the larger the body, the greater the chances of successful decoding of source packages. Hence the contradiction. On the other hand, in the first approach, the decoding is sure to succeed because the construction performed at initialization ensures correct decoding. The first approach is therefore more efficient than the second in terms of gain in bandwidth and computing time. The second approach has some advantages in terms of robustness to link loss. Indeed, as this method generates a resulting package with a different linear combination with each send, it does not require knowledge of the network and the loss of link is transparent to it (although not guaranteeing decoding). It indicates a zero coefficient for the packet that was to arrive by this link. In the context of the invention, there is a way to recover the topology of the network and thus to build a network coding scheme with the first method. However, the first approach is strongly affected by link loss. Indeed, this link loss modifies the linear combination of the relay node initially fixed and only the relay node observing this loss has knowledge thereof. The other nodes and especially the destination nodes are not aware of this modification of the topology and believe that everything is happening as usual. Decoding can then be catastrophic and affect all the source packets to be decoded since they are all linked by linear combinations (unlike a routing or only a source packet would be reached). Considering that the advantages of the first approach are essential in high-speed applications as targeted by the invention, the technical problem solved by the present invention is to construct a predetermined network coding and calculated from the initial topology, robust to broken links. . In practice, the method of constructing the predetermined coding scheme (i.e. the first approach) commonly used is that which limits the number of nodes and links participating in the network coding using only the disjoint paths of the condition of existence of network encoding (only nodes and links of disjoint paths are useful for building the network encoding scheme). This concept is described in particular in the patent document US2005 / 0010675 of the company Microsoft Corporation. On the basis of this observation, we call a node (or link) that belongs to the set of disjoint paths and, we call a node (resp link) redundant, a node (resp. ) that does not belong to the set of disjoint paths. This optimized version thus makes it possible to limit the number of operations. But in a wireless LAN, it is likely that these redundant links are numerous, because every time a node sends a packet, all other nodes in the network are likely to receive this packet. These redundant packets will not be taken into account by the nodes (i.e. they are not stored).

Cette version optimisée de la construction du réseau est utilisée dans le cadre de notre invention. Elle limite fortement les opérations car seul les noeuds et liens considérés utiles sont utilisés. Par exemple, un noeud relais n'a plus besoin de combiner la pluralité des paquets qu'il reçoit mais uniquement un sous-ensemble de paquet. Ceci est également vrai pour le noeud destinataire qui n'a besoin que d'un sous-ensemble des paquets reçus pour décoder les paquets sources. De ce fait l'invention va dans un premier temps construire un schéma de codage réseau qui ne prendre en compte que les noeuds et liens utiles. Les noeuds relais ne stockent et ne combinent donc que les paquets utiles auxquels sont associés un coefficient appartenant au corps Fq. Les paquets générés appelés paquets résultants sont prédéterminés. De la même manière, le noeud destinataire construit une matrice destination D, composée uniquement des paquets utiles (les autres n'étant pas stockés). Afin de décoder les paquets sources, le noeud calcule l'inverse de la matrice de destination pour obtenir le système linéaire suivant : X=D-1Y avec X le vecteur colonne des paquets sources et Y le vecteur colonne des paquets reçus. Remarque : La méthode du pivot de Gauss est également utilisée pour calculer le rang d'une matrice. Pour cela, on effectue une triangulation de la matrice. Ensuite, le rang de la matrice s'obtient facilement en comptabilisant le nombre de lignes non nulles de la matrice. 2.2.3 Limites de l'état de la technique Dans l'état de l'art, la gestion des pertes de paquets dans un schéma de codage réseau est principalement gérée par le schéma de codage aléatoire comme décrit précédemment où les noeuds relais effectuent systématiquement des opérations coûteuses tant au niveau du temps de calcul pour combiner les paquets avec ou sans perte de paquets qu'au niveau de la bande passante utilisée pour transmettre la valeur des coefficients. Ces inconvénients minimisent les avantages recherchés en terme de gain de bande passante avec le codage réseau. Dans le cadre de schéma de codage déterministe présenté dans l'article de R. Koetter, M. Médard, "An Algebraic Approach to Network coding" ACM transactions on Networking, Vol 11, Nos, October 2003 et dans l'article de P. A. Chou, Y. Wu, and K. Jain. "Practical network coding," In Proc. 41stAllerton Conf. Communication, Control and Computing, Monticello, IL, Oct. 2003", l'état de l'art recherche des schémas de codage robustes dès la construction de ceux-ci. Ils essaient de s'assurer que les matrices de destination soient toujours capables de décoder l'ensemble des paquets sources envoyés par les noeuds sources pour un ensemble prédéfini de liens cassés. Un inconvénient de cette technique de l'art antérieur réside dans le fait qu'il n'est pas possible d'utiliser un schéma de codage optimisé. En effet, avec cette technique connue il est obligatoire d'utiliser l'ensemble des paquets reçus, ce qui impose au niveau des relais un temps de calcul important et surtout systématique. Ce qui est également néfaste dans des applications hauts débits dans lesquelles il existe un grand flux de données à traiter. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier les 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 une technique permettant de réaliser un schéma de codage réseau robuste à une perte de lien et aussi permettant au noeud destinataire (encore appelé noeud destination) d'adapter son schéma de décodage. Un objectif complémentaire d'au moins un mode de réalisation de l'invention est de fournir une telle technique permettant d'optimiser les ressources CPU. Un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle technique qui soit simple à mettre en oeuvre pour un moindre coût. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de codage réseau dans un réseau maillé comprenant au moins un noeud relais qui, selon un schéma de codage réseau prédéterminé, s'attend à recevoir en entrée une pluralité de paquets de données utiles et doit générer en sortie un paquet résultant prédéterminé obtenu selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données utiles étant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources. Ledit procédé est mis en oeuvre par au moins un noeud relais donné et comprend des étapes consistant à : - détecter si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ; - dans le cas d'une détection positive, construire un paquet résultant modifié à partir des paquets utiles reçus ; 30 construire une notification de sortie identifiant les différences entre la combinaison linéaire de paquets sources représentative du paquet résultant prédéterminé et la combinaison linéaire de paquets sources représentative du paquet résultant modifié ; et - transmettre le paquet résultant modifié et la notification de sortie. Ainsi, dans ce mode de réalisation particulier, l'invention repose sur une approche tout à fait nouvelle et inventive d'un procédé de codage réseau consistant à notifier les potentiels changements par rapport à un schéma de codage réseau de référence prédéterminé établi durant une phase d'initialisation du réseau de communication par exemple. Pour cela, le noeud relais impacté par une perte de lien envoie un paquet résultant différent du paquet résultant prédéterminé à cause d'un paquet utile manquant, mais notifie cette différence grâce à une notification de sortie. Cette notification de sortie constituera une notification d'entrée pour un noeud relai intermédiaire ou un noeud destination. La notification d'entrée permet au noeud relai intermédiaire de construire à son tour un paquet résultant modifié. Au final, la notification d'entrée permet à un noeud destination de prendre en compte la nouvelle combinaison du paquet afin de modifier son schéma de décodage prédéterminé. Le schéma de codage modifié permet de récupérer au moins les paquets sources qui ne sont pas manquants dans le combinaison de paquets sources reçue et éviter ainsi de corrompre ces paquets par un schéma de décodage inapproprié. De ce fait, la présente invention propose un schéma de codage alternatif et provisoire à la détection d'une perte de lien qui permet de limiter l'impact des variations de la topologie du réseau. This optimized version of the network construction is used in the context of our invention. It severely limits operations because only the nodes and links considered useful are used. For example, a relay node no longer needs to combine the plurality of packets it receives but only a subset of packets. This is also true for the recipient node which only needs a subset of the packets received to decode the source packets. Therefore the invention will initially build a network coding scheme that takes into account only the nodes and useful links. The relay nodes store and therefore combine only the useful packets with which a coefficient belonging to the body Fq is associated. The generated packets called the resulting packets are predetermined. In the same way, the destination node constructs a destination matrix D, composed only of the useful packets (the others not being stored). In order to decode the source packets, the node calculates the inverse of the destination matrix to obtain the following linear system: X = D-1Y with X the column vector of the source packets and Y the column vector of the packets received. Note: The Gaussian Pivot method is also used to calculate the rank of a matrix. For this, we perform a triangulation of the matrix. Then, the rank of the matrix is easily obtained by counting the number of non-zero rows of the matrix. 2.2.3 Limits of the state of the art In the state of the art, the management of packet losses in a network coding scheme is mainly managed by the random coding scheme as previously described where the relay nodes systematically perform expensive operations both in terms of computation time to combine the packets with or without packet loss as the bandwidth used to transmit the value of the coefficients. These disadvantages minimize the benefits sought in terms of bandwidth gain with network coding. In the context of deterministic coding scheme presented in R. Koetter's article, M. Medard, "An Algebraic Approach to Network Coding" ACM Transactions on Networking, Vol 11, Nos, October 2003 and in the article by PA Chou , Y. Wu, and K. Jain. "Practical network coding," In Proc. 41stAllerton Conf. Communication, Control and Computing, Monticello, IL, Oct. 2003 ", the state of the art is looking for robust coding schemes as soon as they are built, trying to ensure that destination matrices are always able to to decode all the source packets sent by the source nodes for a predefined set of broken links A disadvantage of this prior art technique lies in the fact that it is not possible to use a coding scheme This is because, with this known technique, it is mandatory to use all the received packets, which imposes a large and especially systematic calculation time on the relays, which is also detrimental in high speed applications in which There is a large flow of data to be processed 3. OBJECTIVES OF THE INVENTION The invention, in at least one embodiment, has the particular objective of overcoming the various disadvantages of the state of the art. More specifically, in at least one embodiment of the invention, one objective is to provide a technique for performing a robust network coding scheme for link loss and also for the destination node (also referred to as the destination node). to adapt his decoding scheme. A complementary objective of at least one embodiment of the invention is to provide such a technique for optimizing CPU resources. Another objective of at least one embodiment of the invention is to provide such a technique which is simple to implement for a lower cost. SUMMARY OF THE INVENTION In a particular embodiment of the invention, there is provided a method of network coding in a mesh network comprising at least one relay node which, according to a predetermined network coding scheme, expects receiving as input a plurality of payload packets and outputting a predetermined resultant packet obtained according to a predetermined linear combination of said plurality of payload packets, each of the payload data packets being formed according to said predetermined network coding scheme by a linear combination of one or more source packets, the source packets being transmitted by source nodes. The method is implemented by at least one relay node and comprises the steps of: - detecting whether at least one input notification indicates that a useful packet is missing or has been received modified so that the linear combination of the source packet or packets forming said modified useful packet does not conform to the predetermined network coding scheme; - in the case of a positive detection, construct a modified resulting packet from the received useful packets; Constructing an output notification identifying the differences between the linear combination of source packets representative of the predetermined resulting packet and the linear combination of source packets representative of the modified resulting packet; and - transmit the resulting modified packet and the output notification. Thus, in this particular embodiment, the invention is based on a completely new and inventive approach to a network coding method of notifying potential changes with respect to a predetermined reference network coding scheme established during a phase. initialization of the communication network for example. For this, the relay node impacted by a link loss sends a resulting packet different from the predetermined resulting packet due to a missing useful packet, but notifies this difference through an output notification. This exit notification will be an input notification for an intermediate relay node or a destination node. The input notification allows the intermediate relay node to build in turn a modified resulting packet. In the end, the input notification allows a destination node to take into account the new combination of the packet in order to modify its predetermined decoding scheme. The modified coding scheme makes it possible to recover at least the source packets that are not missing in the received source packet combination and thus avoid corrupting these packets by an inappropriate decoding scheme. As a result, the present invention provides an alternative and temporary coding scheme for the detection of a loss of link which makes it possible to limit the impact of variations in the topology of the network.

On obtient ainsi, de façon simple et efficace, un schéma de codage réseau tolérant aux pertes de liens (modification non désirée du schéma de codage réseau prédéterminé). Avantageusement, la notification d'entrée représente un événement interne au noeud relais lorsqu'elle indique qu'un paquet utile est manquant ; ou une information reçue avec un paquet utile lorsqu'elle indique que ledit paquet utile a été reçu modifié. Thus, in a simple and effective manner, a network coding scheme tolerant to loss of links (unwanted modification of the predetermined network coding scheme). Advantageously, the input notification represents an event internal to the relay node when it indicates that a useful packet is missing; or information received with a useful packet when it indicates that said useful packet has been received modified.

Une forme de réalisation particulière selon l'invention prévoit que chaque notification d'entrée ou de sortie comprend M champs, avec M le nombre de noeuds sources, chacun des M champs étant associé à l'un des M paquets sources générés par les M noeuds sources, chacun des M champs comprenant : - un premier sous-champ indiquant si un coefficient, associé au paquet source associé audit champ, a été modifié ou non, dans ladite combinaison linéaire de paquets sources représentative dudit paquet résultant modifié, par rapport à ladite combinaison linéaire de paquets sources représentative dudit paquet résultant prédéterminé ; - un deuxième sous-champ donnant une information relative à une valeur du coefficient modifié sur lequel porte le premier sous-champ, si le premier sous-champ indique une modification. Ainsi, à chaque paquet source est associé une notification permettant d'informer si un coefficient de la combinaison linéaire de paquets a été modifié ou non. Cette notification permet ensuite à un noeud destination recevant la notification de modifier son schéma de décodage des paquets sources et à un noeud relais de modifier sa notification de sortie et son paquet résultant modifié. Avantageusement, le deuxième sous-champ est présent seulement si le premier sous-champ indique une modification. A particular embodiment of the invention provides that each input or output notification comprises M fields, with M the number of source nodes, each of the M fields being associated with one of the M source packets generated by the M nodes. sources, each of the M fields comprising: a first subfield indicating whether a coefficient, associated with the source packet associated with said field, has been modified or not, in said linear combination of source packets representative of said modified resulting packet, with respect to said linear combination of source packets representative of said predetermined resulting packet; a second subfield providing information relating to a value of the modified coefficient to which the first subfield relates, if the first subfield indicates a modification. Thus, each source packet is associated with a notification to inform whether a coefficient of the linear combination of packets has been modified or not. This notification then allows a destination node receiving the notification to modify its source packet decoding scheme and a relay node to modify its output notification and its resulting modified packet. Advantageously, the second subfield is present only if the first subfield indicates a modification.

Ainsi, le nombre de données à transmettre sur le réseau est réduit. La bande passante est ainsi optimisée. Egalement, l'information comprise dans le deuxième sous-champ comprend explicitement la valeur du coefficient modifié. Ainsi, le nombre d'opérations inhérent au calcul du coefficient pour le noeud recevant une notification est diminué. La taille de la mémoire est également réduite. De façon avantageuse, l'information comprise dans le deuxième sous-champ comprend au moins une indication permettant à un noeud traitant ladite notification d'entrée ou de sortie de retrouver la valeur du coefficient modifié Ainsi, l'invention permet de choisir le mode de notification minimisant la quantité d'information à émettre sur le réseau et donc gain de bande passante. Thus, the number of data to be transmitted over the network is reduced. The bandwidth is thus optimized. Also, the information included in the second subfield explicitly includes the value of the modified coefficient. Thus, the number of operations inherent in calculating the coefficient for the node receiving a notification is decreased. The size of the memory is also reduced. Advantageously, the information included in the second subfield comprises at least one indication enabling a node processing said entry or exit notification to recover the value of the modified coefficient. Thus, the invention makes it possible to choose the mode of notification minimizing the amount of information to be transmitted over the network and thus bandwidth gain.

Dans un mode de réalisation particulier de l'invention, il est également proposé un procédé de codage réseau dans un réseau maillé comprenant au moins un noeud destination qui, selon un schéma de codage réseau prédéterminé, s'attend à recevoir en entrée une pluralité de paquets de données utiles et doit générer en sortie une pluralité de paquets sources décodés obtenus chacun selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données utile étant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources. Ledit procédé est mis en oeuvre par au moins un noeud destination donné et comprend des étapes consistant à : - détecter si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ; - dans le cas d'une détection positive, obtenir un schéma de codage réseau modifié, en fonction des combinaisons linéaires de paquets sources formant les paquets utiles reçus ; et - décoder les paquets de données utiles reçus, en fonction dudit schéma de codage réseau modifié, pour obtenir au moins un paquet source décodé. Ainsi, dans ce mode de réalisation particulier, l'invention repose sur une approche tout à fait nouvelle et inventive d'un procédé de codage réseau consistant à notifier au noeud destination de modifier son schéma de décodage prédéterminé afin de prendre en compte les paquets reçus modifiés et ainsi décoder un maximum de paquets sources. Selon une caractéristique avantageuse de l'invention, l'étape consistant à obtenir un schéma de codage réseau modifié comprend des étapes consistant à : - modifier une matrice de destination de référence pour obtenir une matrice de destination modifiée, en fonction de ladite au moins notification d'entrée détectées ; - détecter si le rang de ladite matrice de destination modifiée est égal au nombre total de paquets sources à décoder ; et 20 25 30 - si le rang de ladite matrice de destination modifiée est égal au nombre total de paquets sources à décoder, utiliser ladite matrice de destination modifiée pour générer tous les paquets sources décodés, dans ladite étape consistant à décoder. Ainsi, tous les paquets sources sont décodables par le noeud destination. In a particular embodiment of the invention, there is also provided a method of network coding in a mesh network comprising at least one destination node which, according to a predetermined network coding scheme, expects to receive as input a plurality of useful data packets and must output a plurality of decoded source packets each obtained in a predetermined linear combination of said plurality of payload packets, each of the useful data packets being formed, according to said predetermined network coding scheme, by a linear combination of one or more source packets, the source packets being transmitted by source nodes. The method is implemented by at least one destination node and includes the steps of: - detecting whether at least one input notification indicates that a useful packet is missing or has been received modified so that the linear combination of the source packet or packets forming said modified useful packet does not conform to the predetermined network coding scheme; in the case of a positive detection, obtain a modified network coding scheme, according to the linear combinations of source packets forming the received useful packets; and decoding the received payload packets based on said modified network coding scheme to obtain at least one decoded source packet. Thus, in this particular embodiment, the invention is based on an entirely new and inventive approach to a network coding method of notifying the destination node to modify its predetermined decoding scheme in order to take into account the packets received. modified and thus decode a maximum of source packages. According to an advantageous characteristic of the invention, the step of obtaining a modified network coding scheme comprises the following steps: modifying a reference destination matrix to obtain a modified destination matrix, according to said at least one notification detected input; detecting whether the rank of said modified destination matrix is equal to the total number of source packets to be decoded; and if the rank of said modified destination matrix is equal to the total number of source packets to be decoded, use said modified destination matrix to generate all decoded source packets in said step of decoding. Thus, all source packets are decodable by the destination node.

Selon une autre caractéristique avantageuse de l'invention, si le rang de ladite matrice de destination modifiée n'est pas égal au nombre total de paquets sources à décoder, l'étape consistant à obtenir un schéma de codage réseau modifié comprend des étapes consistant à : - déterminer une sous-matrice de ladite matrice de destination modifiée, dont le rang est différent de zéro ; - utiliser ladite sous-matrice pour générer au moins un paquet source décodé, dans ladite étape consistant à décoder. Ainsi, bien qu'une partie seulement des paquets sources est décodable par le noeud destination, le décodage de ces derniers par le noeud destination reste possible. According to another advantageous feature of the invention, if the rank of said modified destination matrix is not equal to the total number of source packets to be decoded, the step of obtaining a modified network coding scheme comprises steps of : - determining a sub-matrix of said modified destination matrix, whose rank is different from zero; using said sub-matrix to generate at least one decoded source packet, in said step of decoding. Thus, although only part of the source packets is decodable by the destination node, the decoding of these latter by the destination node remains possible.

Suivant une caractéristique particulière intéressante de la présente invention, la notification d'entrée représente un événement interne au noeud relais lorsqu'elle indique qu'un paquet utile est manquant ; ou une information reçue avec un paquet utile lorsqu'elle indique que ledit paquet utile a été reçu modifié. Avantageusement, chaque notification d'entrée comprend M champs, avec M le nombre de noeuds sources, chacun des M champs étant associé à l'un des M paquets sources générés par les M noeuds sources, chacun des M champs comprenant : - un premier sous-champ indiquant si un coefficient du paquet source associé audit champ a été modifié ou non, dans ladite combinaison linéaire de paquets sources représentative d'un paquet utile attendu ; - un deuxième sous-champ donnant une information relative à une valeur du coefficient modifié sur lequel porte le premier sous-champ, si le premier sous-champ indique une modification. Ainsi, à chaque paquet source est associé une notification permettant d'informer si un coefficient de la combinaison linéaire de paquets sources a été modifié ou non. According to one particular interesting feature of the present invention, the input notification represents an event internal to the relay node when it indicates that a useful packet is missing; or information received with a useful packet when it indicates that said useful packet has been received modified. Advantageously, each input notification comprises M fields, with M the number of source nodes, each of the M fields being associated with one of the M source packets generated by the M source nodes, each of the M fields comprising: a first sub field indicating whether a coefficient of the source packet associated with said field has been modified or not, in said linear combination of source packets representative of an expected useful packet; a second subfield providing information relating to a value of the modified coefficient to which the first subfield relates, if the first subfield indicates a modification. Thus, each source packet is associated with a notification to inform whether a coefficient of the linear combination of source packages has been modified or not.

Cette notification permet au noeud destination recevant ladite notification de modifier son schéma de décodage prédéterminé des paquets sources. This notification allows the destination node receiving said notification to modify its predetermined decoding scheme of the source packets.

De manière avantageuse, le deuxième sous-champ est présent seulement si le premier sous-champ indique une modification. Ainsi, le nombre de données à transmettre sur le réseau est réduit. La bande passante est ainsi optimisée. Advantageously, the second subfield is present only if the first subfield indicates a change. Thus, the number of data to be transmitted over the network is reduced. The bandwidth is thus optimized.

Egalement, l'information comprise dans le deuxième sous-champ comprend explicitement la valeur du coefficient modifié. Ainsi, le nombre d'opérations inhérent au calcul du coefficient pour le noeud destination recevant la notification est diminué. La taille de la mémoire est également réduite. Also, the information included in the second subfield explicitly includes the value of the modified coefficient. Thus, the number of operations inherent in calculating the coefficient for the destination node receiving the notification is decreased. The size of the memory is also reduced.

Suivant un autre caractéristique, l'information comprise dans le deuxième sous-champ comprend au moins une indication permettant à un noeud recevant ladite notification d'entrée de retrouver la valeur du coefficient modifié. L'invention permet ainsi de choisir le mode de notification minimisant la quantité d'informations à émettre sur le réseau, ce qui permet d'obtenir un gain de bande passante. 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 comprend des instructions de code de programme pour la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents 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 lisible par ordinateur, éventuellement totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé précité (dans l'un quelconque de ses différents modes de réalisation). L'invention concerne également un noeud relais compris dans un réseau maillé et participant à un procédé de codage réseau dans ledit réseau maillé, ledit noeud relais, selon un schéma de codage réseau prédéterminé, s'attendant à recevoir en entrée une pluralité de paquets de données utiles et devant générer en sortie un paquet résultant prédéterminé obtenu selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données utiles étant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources. Ledit noeud relais comprend : - des moyens de détection, permettant de détecter si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ; - des premiers moyens de construction, activés dans le cas d'une détection positive, permettant de construire un paquet résultant modifié à partir des paquets utiles reçus ; - des seconds moyens de construction, permettant de construire une notification de sortie identifiant les différences entre la combinaison linéaire de paquets sources représentative du paquet résultant prédéterminé et la combinaison linéaire de paquets sources représentative du paquet résultant modifié ; - des moyens de transmission, permettant de transmettre le paquet résultant modifié et la notification de sortie. L'invention concerne également un noeud destination compris dans un réseau maillé et participant à un procédé de codage réseau dans ledit réseau maillé, ledit noeud destination, selon un schéma de codage réseau prédéterminé, s'attendant à recevoir en entrée une pluralité de paquets de données utiles et devant générer en sortie une pluralité de paquets sources décodés obtenus chacun selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données étant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources. Ledit noeud destination comprend : - des moyens de détection, permettant de détecter si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ; - des moyens d'obtention, activés dans le cas d'une détection positive, permettant d'obtenir un schéma de codage réseau modifié, en fonction des combinaisons linéaires de paquets sources formant les paquets utiles reçus ; - des moyens de décodage, permettant de décoder les paquets de données utiles reçus en fonction dudit schéma de codage réseau modifié, pour obtenir au moins un paquet source décodé. 5. LISTE DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 illustre schématiquement, selon un mode de réalisation particulier de l'invention, un exemple de réseau sans fil maillé dont certains noeuds mettent en oeuvre un codage réseau ; - la figure 2 illustre schématiquement l'architecture d'un module de communication selon un mode de réalisation particulier de l'invention ; - la figure 3a illustre schématiquement l'algorithme de construction et de diffusion, par un noeud central, du schéma de codage prédéterminé selon un mode de réalisation particulier de l'invention ; - la figure 3b illustre schématiquement l'algorithme de réception, par un noeud relais, des coefficients du codage prédéterminé selon un mode de réalisation particulier de l'invention ; - la figure 3c illustre schématiquement l'algorithme de réception, par un noeud destination, des coefficients du codage prédéterminé selon un mode de réalisation particulier de l'invention ; - la figure 4 illustre schématiquement la structure d'une notification notifiant une modification du schéma de codage prédéterminé selon un mode de réalisation particulier de l'invention ; - la figure 5 illustre schématiquement l'algorithme principal mis en oeuvre dans un noeud relais selon un mode de réalisation particulier de l'invention ; - la figure 6 illustre schématiquement l'algorithme détaillé de la construction d'un paquet résultant selon un mode de réalisation particulier de l'invention ; La figure 7 illustre schématiquement l'algorithme principal mis en oeuvre dans un noeud destination selon un mode de réalisation particulier de l'invention ; - La figure 8 illustre schématiquement l'algorithme de récupération des coefficients des paquets reçus modifiés par un noeud relais ou un noeud destination, selon un mode de réalisation particulier de l'invention ; - La figure 9 illustre schématiquement l'algorithme détaillé de décodage mis en oeuvre par un noeud destination selon un mode de réalisation particulier de l'invention ; - La figure 10 illustre schématiquement l'algorithme de recherche d'une sous matrice décodable selon un mode de réalisation particulier de l'invention. 6. DESCRIPTION DÉTAILLÉE On présente en relation avec la figure 1 un mode de réalisation préférentiel de l'invention dans le cas d'un système de communication sans fil maillé (de type Mesh ) composé de plusieurs noeuds appliquant le codage réseau comme représenté 15 sur la figure 1. Le protocole d'accès au medium est un accès temporel de type TDMA (pour Time Division Multiple Access en anglais ou accès multiple à répartition dans le temps en français) où durant une période fixe, appelée supertrame, chaque noeud du réseau a un accès unique au médium durant un temps de parole fixe (ou slot en anglais). Ce réseau est composé de trois noeuds sources (représentés en 20 noir) nommés respectivement NS1, NS2 et NS3 et de six noeuds étant à la fois des noeuds relais et des noeuds destinations (NR/D1,..,NR/D6). Chaque lien de communication est représenté par une flèche indiquant le sens de la transmission. Les liens de communications en trait plein, comme par exemple entre NS1 et NR/D1 représentent des paquets composés uniquement du paquet source provenant justement 25 de NS1. Les liens de communications en petit pointillé comme par exemple entre NS2 et NRID4 représentent des paquets composés uniquement du paquet source provenant de NS2 et les liens de communications en grand pointillé comme par exemple entre NS3 et NRID2 eux représentent des paquets contenant uniquement le paquet source de NS3. Les autres liens de communications (par exemple entre NR/D1 et NRID3) 30 représentent des paquets ayant subi du codage réseau et donc contenant une 10 combinaison linéaire d'au moins deux paquets sources. Les autres liens de communications non représentés sont soit victime de masquages permanents, soit ces liens ne sont pas utilisables du fait du protocole TDMA et des temps de parole successifs accordés à chaque noeud, les noeuds sources émettant en premier dans l'ordre de leur numérotation et ensuite tous les noeuds relais également dans l'ordre de leur numérotation. Chaque paquet se présente sous la forme décrite en relation avec la figure 4. Le paquet se compose de deux parties : Une partie 410 dans laquelle est contenue l'information émise par les noeuds sources. Cette partie est une combinaison linéaire des paquets sources envoyés par les noeuds sources, cette combinaison linéaire étant prédéterminée à l'initialisation du système tel que plus amplement décrit par la suite en relation avec la figure 3. Une partie 405 dite de notification, elle-même composée de M sous parties (M étant le nombre de sources) et chacune de ces M sous parties est composée de deux champs. Le premier champ (415,...,425) est un indicateur permettant de savoir si le coefficient prédéfini de la combinaison linéaire prédéterminée, associé au paquet source a été modifiée ou non. Ce champ est toujours présent et pourrait être composé d'un bit, la valeur 0 correspondant à aucune modification sur le coefficient et la valeur 1 à des modifications sur le coefficient du paquet source associé. Suivant la valeur du champ indicateur (typiquement 1 dans l'exemple précédent), un champ Info_Coeff (420,...,430) est présent ou non dans la notification. Ce champ donne les informations suffisantes au noeud recevant ce paquet notifié pour retrouver soit directement soit indirectement la nouvelle valeur du (ou des) coefficient(s) associé(s) au(x) paquet(s) source(s) représenté par le(s) champ(s) de la notification. Le choix entre ces deux modes (direct ou indirect) est plus amplement décrit par la suite. Ce champ peut être soit directement la nouvelle valeur du coefficient (mode direct), soit l'indication des coefficients (de la forme globale explicitée) non pris en compte par le noeud précédent pour calculer le coefficient reçu (mode indirect). Un bit est attribué pour chaque groupe de coefficients (de la forme globale explicitée), la valeur 0 correspondant à une non-utilisation et la valeur 1 à l'utilisation de ce groupe de coefficients (de la forme globale explicitée) dans le calcul de la combinaison reçue. Par exemple, la combinaison g5 = a5.a1 + a5.a3 + a5.a4 est envoyée en lieu et place de la combinaison prédéterminée g5 = a5 .a, + a5.a2 + a5.a3 + a5 .a4 . Le champ Info_Coeff associé prend alors la valeur 1011. Un groupe de coefficient représente le résultat de la multiplication de plusieurs coefficients (dans l'exemple précédent : a5 .a, ,a5 .a2 ,a5.a3 et a5.a4 ). Le coefficient global prédéterminé est donc une somme de groupe de coefficients qui représente la combinaison globale explicitée. 6.1 Dispositif de l'invention Le dispositif selon un mode de réalisation particulier de l'invention est illustré sur la figure 2 par le bloc 210. Une application 230 et un émetteur/récepteur Radio Fréquence 240 correspondent à l'environnement du bloc 210. Une interface Homme/Machine 212 permet à l'utilisateur de donner le graphe représentant le réseau afin de calculer le schéma de codage réseau de référence au moyen d'un algorithme de Ford Fulkerson. Ce schéma de codage réseau sera ensuite partagé entre tous les noeuds du réseau. Une mémoire donnée 216 permet de stocker les différentes copies des données émises par les sources et les différents noeuds relais. Ces données reçues par l'émetteur/récepteur Radio Fréquence 240 transitent par un récepteur de paquets radio 215. Cette mémoire permet également de stocker les matrices des différents noeuds intervenant dans le processus de codage réseau tel que décrit par la suite. Le bloc dispositif 210 comprend également un module 217 de gestion de paquets de codage réseau. Ce module segmenté en quatre sous modules 218, 219, 220 et 221 gère les paquets de codage réseau aussi bien au niveau des noeuds relais que des noeuds destinations. Le sous module 218 est un analyseur de notifications qui permet de savoir si le paquet reçu correspond bien au paquet attendu ou si des coefficients liés au codage réseau ont été modifiés. According to another characteristic, the information included in the second subfield comprises at least one indication enabling a node receiving said input notification to retrieve the value of the modified coefficient. The invention thus makes it possible to choose the notification mode minimizing the amount of information to be transmitted on the network, which makes it possible to obtain a gain in bandwidth. In another embodiment, the invention relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor. This computer program product includes program code instructions for carrying out the aforesaid method (in any one of its various embodiments), when said program is run on a computer. In another embodiment, the invention relates to a computer readable storage means, possibly totally or partially removable, storing a computer program comprising a set of instructions executable by a computer to implement the aforementioned method (in any of its different embodiments). The invention also relates to a relay node included in a mesh network and participating in a network coding method in said mesh network, said relay node, according to a predetermined network coding scheme, expecting to receive as input a plurality of packets of useful data and having to output a predetermined resultant packet obtained in a predetermined linear combination of said plurality of payload packets, each of the payload packets being formed, according to said predetermined network coding scheme, by a linear combination of a or more source packets, the source packets being issued by source nodes. Said relay node comprises: detection means, for detecting whether at least one input notification indicates that a useful packet is missing or has been received modified so that the linear combination of the source packet (s) forming said modified useful packet does not conform to the predetermined network coding scheme; first building means, activated in the case of a positive detection, making it possible to construct a modified result packet from the received useful packets; second construction means for constructing an output notification identifying the differences between the linear combination of source packets representative of the predetermined resulting packet and the linear combination of source packets representative of the modified resulting packet; transmission means for transmitting the modified resulting packet and the output notification. The invention also relates to a destination node included in a mesh network and participating in a network coding method in said mesh network, said destination node, according to a predetermined network coding scheme, expecting to receive as input a plurality of packets of useful data and having to output a plurality of decoded source packets each obtained in a predetermined linear combination of said plurality of payload packets, each of the data packets being formed, according to said predetermined network coding scheme, by a linear combination of one or more source packets, the source packets being transmitted by source nodes. The destination node includes: - detection means for detecting whether at least one input notification indicates that a useful packet is missing or has been received modified so that the linear combination of the source packet (s) forming said modified useful packet does not conform to the predetermined network coding scheme; means of obtaining, activated in the case of a positive detection, making it possible to obtain a modified network coding scheme, as a function of the linear combinations of source packets forming the useful packets received; decoding means, for decoding the received useful data packets according to said modified network coding scheme, to obtain at least one decoded source packet. 5. LIST OF FIGURES Other features and advantages of the invention will appear more clearly on reading the following description of a preferred embodiment, given by way of a simple illustrative and nonlimiting example, and the appended drawings, among which: - Figure 1 illustrates schematically, according to a particular embodiment of the invention, an example of wireless mesh network some nodes implement a network encoding; FIG. 2 schematically illustrates the architecture of a communication module according to a particular embodiment of the invention; FIG. 3a schematically illustrates the algorithm for constructing and broadcasting, by a central node, the predetermined coding scheme according to one particular embodiment of the invention; FIG. 3b schematically illustrates the algorithm for reception, by a relay node, of the coefficients of the predetermined coding according to a particular embodiment of the invention; FIG. 3c schematically illustrates the algorithm for reception, by a destination node, of the coefficients of the predetermined coding according to a particular embodiment of the invention; FIG. 4 schematically illustrates the structure of a notification notifying a modification of the predetermined coding scheme according to a particular embodiment of the invention; FIG. 5 diagrammatically illustrates the main algorithm implemented in a relay node according to a particular embodiment of the invention; FIG. 6 schematically illustrates the detailed algorithm of the construction of a resulting packet according to a particular embodiment of the invention; FIG. 7 diagrammatically illustrates the main algorithm implemented in a destination node according to a particular embodiment of the invention; FIG. 8 diagrammatically illustrates the algorithm for recovering the coefficients of the received packets modified by a relay node or a destination node, according to a particular embodiment of the invention; FIG. 9 diagrammatically illustrates the detailed decoding algorithm implemented by a destination node according to a particular embodiment of the invention; - Figure 10 schematically illustrates the search algorithm of a decodable sub-matrix according to a particular embodiment of the invention. DETAILED DESCRIPTION With reference to FIG. 1, a preferred embodiment of the invention is presented in the case of a Mesh wireless communication system composed of several nodes applying the network coding as shown in FIG. FIG. 1. The access protocol to the medium is a TDMA time access (for Time Division Multiple Access or in French) where during a fixed period, called superframe, each node of the network has unique access to the medium during a fixed speaking time (or slot in English). This network is composed of three source nodes (represented in black) named respectively NS1, NS2 and NS3 and six nodes being both relay nodes and destination nodes (NR / D1, .., NR / D6). Each communication link is represented by an arrow indicating the direction of the transmission. The full-line communications links, such as between NS1 and NR / D1, represent packets composed solely of the source packet derived from NS1. The small dotted communication links such as between NS2 and NRID4 represent packets composed only of the source packet from NS2 and the large dotted communications links such as between NS3 and NRID2 represent packets containing only the source packet. NS3. The other communications links (e.g. between NR / D1 and NRID3) represent packets that have undergone network coding and therefore contain a linear combination of at least two source packets. The other unrepresented communications links are either victims of permanent masking, or these links are not usable because of the TDMA protocol and the successive speech times given to each node, the source nodes emitting first in the order of their numbering. and then all the relay nodes also in the order of their numbering. Each packet is in the form described in connection with FIG. 4. The packet consists of two parts: A part 410 in which the information emitted by the source nodes is contained. This part is a linear combination of the source packets sent by the source nodes, this linear combination being predetermined at the initialization of the system as more fully described below in relation to FIG. 3. A so-called notification part 405 even composed of M under parts (M being the number of sources) and each of these M subparts is composed of two fields. The first field (415, ..., 425) is an indicator as to whether the predefined coefficient of the predetermined linear combination associated with the source packet has been modified or not. This field is always present and could be composed of a bit, the value 0 corresponding to no modification on the coefficient and the value 1 to modifications on the coefficient of the associated source package. Depending on the value of the indicator field (typically 1 in the previous example), an Info_Coeff field (420, ..., 430) is present or not in the notification. This field gives sufficient information to the node receiving this notified packet to find either directly or indirectly the new value of the coefficient (s) associated with the source packet (s) represented by the () s) field (s) of the notification. The choice between these two modes (direct or indirect) is more fully described later. This field can be either directly the new value of the coefficient (direct mode), or the indication of the coefficients (of the explicit global form) not taken into account by the preceding node to calculate the received coefficient (indirect mode). One bit is allocated for each group of coefficients (of the explicit global form), the value 0 corresponding to a non-use and the value 1 to the use of this group of coefficients (of the explicit global form) in the calculation of the combination received. For example, the combination g5 = a5.a1 + a5.a3 + a5.a4 is sent instead of the predetermined combination g5 = a5 .a, + a5.a2 + a5.a3 + a5 .a4. The associated Info_Coeff field then takes the value 1011. A coefficient group represents the result of the multiplication of several coefficients (in the previous example: a5 .a,, a5 .a2, a5.a3 and a5.a4). The predetermined global coefficient is therefore a sum of coefficients group which represents the explicit global combination. 6.1 Device of the invention The device according to a particular embodiment of the invention is illustrated in FIG. 2 by the block 210. An application 230 and a radio frequency transmitter / receiver 240 correspond to the environment of the block 210. Man / Machine interface 212 allows the user to give the graph representing the network in order to compute the reference network coding scheme by means of a Ford Fulkerson algorithm. This network coding scheme will then be shared between all the nodes of the network. A given memory 216 makes it possible to store the different copies of the data transmitted by the sources and the different relay nodes. This data received by the Radio Frequency Transmitter / Receiver 240 passes through a radio packet receiver 215. This memory also makes it possible to store the matrices of the various nodes involved in the network coding process as described below. The device block 210 also comprises a module 217 for managing network coding packets. This module segmented into four sub-modules 218, 219, 220 and 221 manages the network coding packets both at the relay nodes and the destination nodes. The sub-module 218 is a notification analyzer that makes it possible to know whether the received packet corresponds to the expected packet or if coefficients related to the network coding have been modified.

Le sous module 219 permet la mise à jour des coefficients de codage réseau à utiliser soit pour la retransmission soit pour le décodage en lieu et place des coefficients de référence stockés dans la mémoire de données 216. La mise à jour de ces coefficients s'effectue après l'analyse d'une notification correspondant à un paquet reçu. Le sous module 220 de production de paquet codé est utilisé par les noeuds relais. Il permet de générer le paquet résultant qui doit être envoyé. Ce paquet résultant est fonction (combinaison linéaire) de certains paquets reçus et de leurs coefficients associés. Une fois produit, le paquet résultant est stocké dans la mémoire de données 216 afin d'être émis par le transmetteur de paquet radio 214. Le sous module 221 est utilisé lors de la phase de décodage. Il permet de construire une matrice de décodage en fonction des paquets reçus et de leurs coefficients associés stockés dans la mémoire de données 216 permettant d'extraire de cette matrice les différents paquets sources. Une fois décodés, les paquets sources sont transmis à l'application 230 grâce au CPU 211. 6.2 Initialisation du système Les figures 3a, 3b et 3c décrivent des algorithmes, mis en oeuvre dans un noeud central, un noeud relais et un noeud destination respectivement, de construction d'un schéma de codage réseau prédéterminé, au démarrage du système. Le noeud central, qui est un des noeuds présents de la figure 1 (par exemple un des noeuds sources), a pour fonction de construire le schéma de codage réseau prédéterminé et de le diffuser à l'ensemble des autres noeuds (tel que décrit dans la figure 3a). A la réception de ce schéma de codage réseau par les autres noeuds du réseau, les noeuds relais stockent celui-ci (tel que décrit dans la figure 3b) et les noeuds destinations également (tel que décrit dans la figure 3c). On présente maintenant, en relation avec la figure 3a, l'algorithme mis en oeuvre dans le noeud central. Une première étape 305 correspond à l'initialisation du système. Puis dans une étape 310, le noeud central récupère la topologie du réseau, c'est-à-dire qu'il récupère la qualité des communications entre les noeuds, la liste des noeuds sources et la liste des noeuds destinations. Cette topologie peut être connue des noeuds du réseau par construction si le réseau est fixe et si le nombre de noeuds est constant. Il est aussi certain que ces informations peuvent être introduites par l'utilisateur après l'installation d'un système. The sub-module 219 allows the update of the network coding coefficients to be used either for the retransmission or for the decoding instead of the reference coefficients stored in the data memory 216. The update of these coefficients is carried out after the analysis of a notification corresponding to a received packet. The coded packet generation sub-module 220 is used by the relay nodes. It makes it possible to generate the resulting package that must be sent. This resulting packet is a function (linear combination) of some received packets and their associated coefficients. Once produced, the resulting packet is stored in the data memory 216 to be transmitted by the radio packet transmitter 214. The sub-module 221 is used during the decoding phase. It makes it possible to construct a decoding matrix according to the received packets and their associated coefficients stored in the data memory 216 making it possible to extract from this matrix the different source packets. Once decoded, the source packets are transmitted to the application 230 thanks to the CPU 211. 6.2 Initialization of the system FIGS. 3a, 3b and 3c describe algorithms, implemented in a central node, a relay node and a destination node respectively , of construction of a predetermined network coding scheme, at system startup. The central node, which is one of the nodes present in FIG. 1 (for example one of the source nodes), has the function of constructing the predetermined network coding scheme and of distributing it to all the other nodes (as described in FIG. Figure 3a). On receipt of this network coding scheme by the other nodes of the network, the relay nodes store the latter (as described in FIG. 3b) and the destination nodes as well (as described in FIG. 3c). We now present, in relation with Figure 3a, the algorithm implemented in the central node. A first step 305 corresponds to the initialization of the system. Then in a step 310, the central node retrieves the topology of the network, that is to say, it retrieves the quality of the communications between the nodes, the list of source nodes and the list of destination nodes. This topology can be known from the nodes of the network by construction if the network is fixed and if the number of nodes is constant. It is also certain that this information can be introduced by the user after the installation of a system.

Puis dans une étape 315 est construit un graphe de réseau G à partir de la topologie du réseau. Si la qualité d'une transmission entre deux entités est considérée bonne, par exemple si le rapport signal sur bruit (ou Signal Noise Ratio en anglais) est supérieur à un seuil donné (dépendant du type de la radio utilisée), la transmission est considérée valide. Sinon, elle est considérée comme non valide. Le graphe de réseau G est alors construit de la manière suivante : chaque entité communicante est modélisée par un noeud du graphe et chaque communication considérée valide entre deux entités est modélisée par un lien entre deux noeuds (et donc chaque communication considérée non valide n'est pas modélisée dans le graphe). Then in a step 315 is built a network graph G from the topology of the network. If the quality of a transmission between two entities is considered good, for example if the signal-to-noise ratio (or Signal Noise Ratio) is greater than a given threshold (depending on the type of radio used), the transmission is considered valid. Otherwise, it is considered invalid. The network graph G is then constructed as follows: each communicating entity is modeled by a node of the graph and each communication considered valid between two entities is modeled by a link between two nodes (and therefore each communication considered invalid is not not modeled in the graph).

Puis une étape 320 détermine le schéma de codage prédéterminé. La méthode est expliquée dans le document de brevet US2005/0010675 de Microsoft Corporation et repris dans de nombreux articles de l'état de l'art. Cette méthode décrite dans le document de brevet US2005/0010675 est citée comme élément pédagogique et aucunement comme étant une étape fondamentale de la présente invention. Les étapes mises en oeuvre dans cette méthode sont les suivantes : - une étape de recherche des chemins disjoints Uj entre l'ensemble S des noeuds sources et chaque noeud destinataire Dj ; - une étape de construction d'un sous-graphe G' de G ne contenant que les sommets et les liens appartenant à au moins un ensemble Uj ; - une étape de détermination des coefficients des combinaisons linéaires de telle manière que l'ensemble des matrices destinations soit de rang égal aux nombres de sources. La taille du corps q est donc implicitement déterminée ainsi que le nombre maximal de groupes de coefficients contenu dans la combinaison linéaire du paquet résultant de chaque noeud relais p. Then a step 320 determines the predetermined coding scheme. The method is explained in US2005 / 0010675 of Microsoft Corporation and repeated in many state-of-the-art articles. This method described in US2005 / 0010675 is cited as a teaching element and not as a fundamental step of the present invention. The steps implemented in this method are the following: a step of searching the disjoint paths Uj between the set S of the source nodes and each destination node Dj; a step of constructing a subgraph G 'of G containing only vertices and links belonging to at least one set Uj; a step of determining the coefficients of the linear combinations in such a way that the set of destination matrices is of rank equal to the number of sources. The size of the body q is therefore implicitly determined as well as the maximum number of groups of coefficients contained in the linear combination of the resulting packet of each relay node p.

Une étape suivante 325 permet de choisir le mode de notification utilisé dans le champ Info_Coeff (420,...,430) de la notification (figure 4). Deux modes sont envisageables : - un mode direct dans lequel les coefficients sont explicitement décrits dans la notification ; et - un mode indirect dans lequel la notification indique les coefficients impactés, les noeuds relais doivent alors déterminer la nouvelle valeur des coefficients. Le mode retenu est celui qui sera le moins coûteux en terme de bande passante. Le choix entre les deux modes se fait alors en comparant le nombre de bits nécessaires pour coder les coefficients du codage réseau (c'est-à-dire la taille du corps nécessaire pour que les matrices de décodage soient inversibles) avec le nombre maximal de paquets contenant un même paquet source qu'un noeud relais devra combiner (le nombre de coefficients aj maximal, composant la combinaison globale explicitée d'un paquet source donné, contenu dans la combinaison linéaire du paquet résultant de chaque noeud relais),et en prenant celui qui minimisera le nombre de bit nécessaire pour la notification. Ce test peut s'écrire de la façon suivante : Mxq>_Mxp avec M le nombre de sources du réseau, q la taille du corps et p le nombre maximal de groupe de coefficients, composant la combinaison globale explicitée d'un paquet source donné, contenu dans la combinaison linéaire du paquet résultant de chaque noeud relais. Bien que le critère de choix pour la mise en oeuvre de la présente invention cherche à minimiser la taille de la notification transmise, le choix du mode de notification peut également être influencé par le contexte du système. En effet, le mode direct diminue le nombre d'opérations inhérentes au calcul du coefficient pour le noeud recevant la notification (le nouveau coefficient étant déjà calculé). De plus, le mode indirect nécessite que chaque noeud du réseau ait connaissance de sa matrice relais (ou destination) sous sa forme globale explicitée afin de retrouver le nouveau coefficient ce qui nécessite l'utilisation d'une mémoire de taille plus importante en comparaison du mode direct. A next step 325 makes it possible to choose the notification mode used in the Info_Coeff field (420, ..., 430) of the notification (FIG. 4). Two modes are conceivable: - a direct mode in which the coefficients are explicitly described in the notification; and an indirect mode in which the notification indicates the impacted coefficients, the relay nodes must then determine the new value of the coefficients. The chosen mode is the one that will be the least expensive in terms of bandwidth. The choice between the two modes is then done by comparing the number of bits necessary to code the coefficients of the network coding (that is to say the size of the body necessary for the decoding matrices to be invertible) with the maximum number of packets containing the same source packet that a relay node will have to combine (the maximum number of aj coefficients, composing the explicit global combination of a given source packet, contained in the linear combination of the resulting packet of each relay node), and taking the one that will minimize the number of bits needed for the notification. This test can be written in the following way: Mxq> _Mxp with M the number of sources of the network, q the size of the body and p the maximum number of group of coefficients, composing the explicit global combination of a given source package, contained in the linear combination of the resulting packet of each relay node. Although the selection criterion for the implementation of the present invention seeks to minimize the size of the transmitted notification, the choice of the notification mode may also be influenced by the context of the system. Indeed, the direct mode reduces the number of operations inherent to the calculation of the coefficient for the node receiving the notification (the new coefficient being already calculated). In addition, the indirect mode requires that each node of the network has knowledge of its relay matrix (or destination) in its explicit global form in order to find the new coefficient which requires the use of a larger memory in comparison with the direct mode.

Puis une étape 330 met en oeuvre un protocole de diffusion des coefficients et du mode de notification. Plusieurs techniques de diffusion sont connues de l'homme de l'art pour diffuser des informations dans un réseau maillé, par exemple de type inondation de données dans un protocole maillé (ou flooding protocol en anglais). Then a step 330 implements a diffusion protocol of the coefficients and the notification mode. Several diffusion techniques are known to those skilled in the art for broadcasting information in a mesh network, for example flood data type in a mesh protocol (or flooding protocol in English).

A la fin de cette étape 330 de diffusion, chaque noeud relais réceptionne dans une étape 340 les coefficients des combinaisons linéaires détaillées de l'ensemble des noeuds du réseau et du mode de notification qui sera utilisé. La figure 3b illustre schématiquement l'algorithme mis en oeuvre dans un noeud relais sur réception du schéma de codage réseau prédéterminé diffusé par le noeud central (figure 3a) . Chaque noeud relais garde en mémoire la combinaison qu'il devra effectuer par la suite, et construit dans une étape 345 une matrice relais et une matrice relais explicitée (la matrice relais explicitée n'est construite que si le mode de notification est le mode indirect). Les matrices relais et relais explicitées contiennent respectivement les combinaisons globales et les combinaisons globales explicitées des paquets résultants des noeuds sources ou noeuds relais ayant eu accès au médium durant la supertrame avant la date d'accès au médium du noeud relais considéré. Les autres paquets, c'est à dire ceux envoyés par des noeuds qui ont eu l'accès au médium après le noeud relais, ne sont pas pris en compte car ils ne sont pas utilisables (du fait de la contrainte que les combinaisons s'effectuent qu'avec des données envoyées durant la supertrame courante). La figure 3c illustre schématiquement l'algorithme mis en oeuvre dans un noeud destination sur réception du schéma de codage réseau prédéterminé diffusé par le noeud central (figure 3a). A la fin de l'étape 330 de diffusion (figure 3a), chaque noeud destination réceptionne dans une étape 350 des coefficients des combinaisons linéaires détaillées de l'ensemble des noeuds du réseau. Chaque noeud destination construit alors, dans une étape 355, une matrice destination D et une matrice destination explicitée (la matrice destination explicitée n'est construite que si le mode de notification est le mode indirect). At the end of this diffusion step 330, each relay node receives in a step 340 the coefficients of the detailed linear combinations of all the nodes of the network and the notification mode that will be used. FIG. 3b diagrammatically illustrates the algorithm implemented in a relay node on reception of the predetermined network coding scheme broadcast by the central node (FIG. 3a). Each relay node keeps in memory the combination that it will have to perform thereafter, and builds in a step 345 a relay matrix and an explicit relay matrix (the explicit relay matrix is constructed only if the notification mode is the indirect mode ). The explicit relay and relay matrices respectively contain the global combinations and the explicit global combinations of the resulting packets of the source nodes or relay nodes that had access to the medium during the superframe before the access date to the medium of the relay node considered. The other packets, ie those sent by nodes which had access to the medium after the relay node, are not taken into account because they are not usable (because of the constraint that the combinations perform only with data sent during the current superframe). FIG. 3c schematically illustrates the algorithm implemented in a destination node on reception of the predetermined network coding scheme broadcast by the central node (FIG. 3a). At the end of the diffusion step 330 (FIG. 3a), each destination node receives in a step 350 coefficients of the detailed linear combinations of all the nodes of the network. Each destination node then constructs, in a step 355, a destination matrix D and an explicit destination matrix (the explicit destination matrix is constructed only if the notification mode is the indirect mode).

Dans une étape 360, à partir de la matrice destination et de l'algorithme de Gauss Jordan, est calculé l'inverse de la matrice destination D (D est par définition inversible). Le noeud destination stocke alors l'inverse de la matrice de destination D, matrice appelée matrice de décodage que le noeud destination utilisera directement à la réception des paquets. Les différentes matrices sont plus amplement décrites par la suite. Après cette phase d'initialisation, chaque noeud source débute l'envoi des paquets sources sur le réseau, chaque noeud relais effectue sa combinaison locale et chaque noeud destination décode les paquets sources à partir de sa matrice de décodage. 6.3 Noeud relais La figure 5 décrit un algorithme de réception d'un paquet source par un noeud relais. Dans une première étape 500, le noeud relais est en attente de réception d'un paquet. Dans une étape suivante 505, sur réception d'un paquet, le noeud relais stocke le paquet ainsi que sa notification associée dans une étape 520. Une fois le paquet stocké, le noeud relais vérifie dans une étape 525 si le paquet reçu était le dernier avant son propre temps de parole. In a step 360, from the destination matrix and the Gauss Jordan algorithm, the inverse of the destination matrix D is calculated (D is by definition invertible). The destination node then stores the inverse of the destination matrix D, a matrix called a decoding matrix that the destination node will use directly on receiving the packets. The different matrices are more fully described later. After this initialization phase, each source node starts sending the source packets on the network, each relay node performs its local combination and each destination node decodes the source packets from its decoding matrix. 6.3 Relay Node Figure 5 describes an algorithm for receiving a source packet by a relay node. In a first step 500, the relay node is waiting to receive a packet. In a next step 505, on receiving a packet, the relay node stores the packet and its associated notification in a step 520. Once the packet is stored, the relay node checks in a step 525 whether the received packet was the last one. before his own speaking time.

Si c'est le cas, le noeud construit dans une étape 530 son paquet résultant à émettre. Cette étape 530 est plus amplement décrite par la suite en relation avec la figure 6. Si ce n'est pas le cas, le noeud relais se remet en attente de réception d'un nouveau paquet (étape 500). If so, the node builds in a step 530 its resulting packet to emit. This step 530 is described more fully later in connection with FIG. 6. If this is not the case, the relay node resumes waiting to receive a new packet (step 500).

Dans le cas où un paquet est attendu mais non reçu, un événement interne permet au noeud relais d'effectuer une étape 510 en lieu et place de l'étape 505. La détection d'une perte de lien est effectuée en faisant une comparaison entre une mesure de RSSI et un seuil. Si le RSSI mesuré est inférieur au seuil alors le paquet est considéré comme non reçu. Dans une étape 515, le noeud relais crée alors une notification ALL_MISSING associée au paquet attendu mais non reçu. La notification ALL_MISSING signifie que tous les coefficients du paquet attendu mais non reçu sont mis à 0. Le paquet est ensuite sauvegardé avec sa notification dans l'étape 520. Dans le cas des paquets attendus mais non reçus, seule la notification est sauvegardée. Il est à noter que la matrice de relais courante est réinitialisée avec la matrice de relais de référence après chaque cycle d'émission de tous les noeuds. La figure 6 illustre schématiquement, selon un mode de réalisation particulier de l'invention, un algorithme de construction, par un noeud relais, d'un paquet résultant à émettre (étape 530 de la figure 5). La construction du paquet résultant à émettre se décompose en trois parties : - une première partie correspondant à l'analyse des notifications de modification ; - une seconde partie correspondant aux modifications de la matrice relais courante en cas de notification de modification ; et - une troisième partie correspondant à la construction du paquet à émettre. La première partie correspondant à l'analyse des notifications commence dans une étape 600 par la remise à zéro, par le noeud relais, de son indice de paquet à combiner Indice_ paquet_ Combine et de sa notification locale Notif . Ensuite, dans une étape 605, le noeud teste si l'indice du paquet à combiner est inférieur au nombre de paquets qu'il doit combiner pour créer son paquet résultant à envoyer. Si le test de l'étape 605 est positif, le système vérifie dans une étape 610 la présence de modifications de coefficients dans la notification par analyse des différents champs Indicateur (415,...,425) de la notification du paquet Indice_ paquet_ Combine . Si aucune modification n'est présente (tous les champs sont à 0), dans une étape 625, le système incrémente d'une unité la variable Indice_ paquet_ Combine . In the case where a packet is expected but not received, an internal event allows the relay node to perform a step 510 in place of step 505. The detection of a loss of link is made by making a comparison between an RSSI measure and a threshold. If the measured RSSI is below the threshold then the packet is considered not received. In a step 515, the relay node then creates an ALL_MISSING notification associated with the expected packet but not received. The ALL_MISSING notification means that all the coefficients of the expected but not received packet are set to 0. The packet is then saved with its notification in step 520. In the case of expected but not received packets, only the notification is saved. It should be noted that the current relay matrix is reset with the reference relay matrix after each transmit cycle of all the nodes. FIG. 6 diagrammatically illustrates, according to a particular embodiment of the invention, an algorithm for constructing, by a relay node, a resulting packet to be transmitted (step 530 of FIG. 5). The construction of the resulting packet to be issued is broken down into three parts: a first part corresponding to the analysis of the modification notifications; a second part corresponding to the modifications of the current relay matrix in the event of notification of modification; and a third part corresponding to the construction of the packet to be transmitted. The first part corresponding to the analysis of the notifications starts in a step 600 by the reset, by the relay node, of its packet index to combine Combine packet_Index and of its local notification Notif. Then, in a step 605, the node tests whether the index of the packet to be combined is less than the number of packets that it must combine to create its resulting packet to send. If the test of step 605 is positive, the system checks in step 610 the presence of coefficient changes in the notification by analysis of the different fields. Indicator (415, ..., 425) of the packet notification Combine packet_Index . If no modification is present (all the fields are at 0), in a step 625, the system increments the variable Combine Packet_Index by one.

Sinon, la notification locale est mise à 1 dans une étape 615 et le système met à jour dans une étape 620 les coefficients du paquet Indice_ paquet_ Combine reçu notifié. Cette étape 620 est plus amplement décrite par la suite en relation avec la figure 8. Si le test de l'étape 605 de la comparaison entre Indice_ paquet_ Combine et le nombre de paquets à combiner est négatif, cela signifie que tous les paquets à combiner ont été testés. Le système passe donc au calcul du paquet résultant à émettre. La première étape de calcul commence dans une étape 630 consistant à vérifier la valeur de la notification locale Notif . Si le test de l'étape 630 est négatif, le système construit dans une étape 645 le paquet prédéterminé à partir de la combinaison linéaire prédéterminé. Sinon, dans une étape 635, le système construit le paquet en fonction des nouveaux coefficients déterminés dans l'étape 620 (et plus amplement décrite par la suite en relation avec la figure 8) et construit la notification associée (notification de sortie) dans une étape 640 suivante. La construction de la notification lors de l'étape 640 dépend du mode choisi pour celle-ci à l'initialisation du système. Dans les deux modes, le champ Indicateur associé à un paquet source est mis à 1 lorsque le coefficient de celui-ci est modifié en comparaison du coefficient de la combinaison linéaire de référence. Dans ce cas, pour le mode direct, la valeur du nouveau coefficient est mise dans le champ Info_Coeff alors que pour le mode indirect, le champ Info_Coeff est rempli en mettant la valeur 1 aux groupes de coefficients (de la combinaison globale explicitée) utilisés et la valeur 0 aux groupes de coefficients (de la combinaison globale explicitée) non-utilisés pour le calcul du coefficient associé au paquet source. Dans la pratique, le noeud relais réutilise les notifications des paquets reçus. Si le champ Indicateur pour le paquet source j du paquet i est à 1, le noeud relais recopie les informations du champ Info_Coeff pour le nombre de groupes de coefficients associé au paquet source j sinon, le noeud relais remplit le champ Info_Coeff avec des 1 pour le nombre de groupes de coefficients. Par exemple, un noeud relais reçoit deux paquets : Ml et M2. Dans l'exemple, la notification a une taille de 5 bits, défini à l'initialisation comme étant le nombre maximal de groupes de coefficients contenu dans la combinaison linéaire du paquet résultant de chaque noeud relais, p, qui dans notre cas correspond au noeud relais créant le paquet Mrésultant. Pour les messages dont le nombre de groupe de coefficient est inférieur à p, les bits de poids faibles non affectés à un groupe de coefficients sont mis à zéro. Les combinaisons globales explicitées sont respectivement : - Mt = (a5.a1 + a5.a3)Xl + (a5.a2 + a5.a4)X2 - M2 = (a11.a7 + "11'0(8)X1 + ("11.0(9 + a11 alo)X2 Avec X1 et X2 les deux paquets sources. Et les notifications sont respectivement : - MlX1 : 1 - 1000 - M1X2 : 1 - 1000 - M2X1 : 0 - M2X2:0 Les deux bits de poids faible de M1X1 et M1X2 sont mis à zéro car ils ne correspondent à aucun groupe de coefficients. Le noeud relais devait envoyer la combinaison prédéterminé suivante : Mrésul tant_ prédéterminé = a12 ((a5 .a1 + a5 .a3 + a11.a7 + a11.a8 )X1 + (a5 .a2 + a5 .a4 + a11.a9 + a11 .a10 )X2 ) Il enverra : Mresultant = "12(("5."1 + a11.a7 + "11.0(8)X1 + (a5 a2 + a11.a9 + "11'0(10)X2) et la notification associée : MrésultantX1 : 1 - 1011 MrésultantX2 : 1 - 1011 Il est à noter que pour que les informations de Info_Coeff soit valables pour tous les noeuds, il faut que l'ordre des groupes de coefficients (de la forme globale explicitée) soit connu par tous les noeuds du réseau. 20 25 La figure 8 illustre schématiquement, selon un mode de réalisation particulier de l'invention, un algorithme de récupération des coefficients du paquet (étape 620 de la figure 6). Cet algorithme met à jour la valeur des coefficients à partir des différentes notifications reçues, permettant d'obtenir ainsi des coefficients modifiés. L'algorithme commence par la mise à zéro d'une variable locale Indice_ paquet_ Source dans une étape 800. Dans une étape 805 suivante, cette variable Indice_ paquet_ Source est ensuite comparée à la valeur du nombre de source dans le réseau. Ce test permet de savoir si tous les champs de notification associés au paquet source, pour un paquet résultant donné, ont été analysés. Si le test de l'étape 805 est négatif, cela signifie que l'analyse du paquet résultant est terminée. Le système passe alors à une étape 835 notifiant la fin de l'algorithme. Si le test de l'étape 805 est positif, le système analyse dans une étape 810 le champ 415 Indicateur (figure 4) de la notification associé au paquet source Indice_ paquet_ Source . En fonction de la valeur présente dans le champ 415 Indicateur , deux cas se présentent : - soit il n'y a aucune modification de coefficients associés à la combinaison globale explicitée (c'est-à-dire que le champ est à 0) ; - soit au moins un des coefficients associés à la combinaison globale explicitée a été modifié (c'est-à-dire que le champ est à 1). Dans le premier cas, le système incrémente dans une étape 830 la variable Indice_ paquet_ Source puis retourne au test de l'étape 805. Dans le second cas, le système analyse le champ 420 Info_Coeff (figure 4) de la notification associée au paquet source Indice_ paquet_ Source ayant été modifié, c'est-à-dire que le système met à zéro, dans une étape 820, les coefficients de la combinaison globale explicitée non présents (marqué avec un 0 dans le champ Info_Coeff ). Par exemple, le champ Info_Coeff prend la valeur 1011 et la combinaison globale explicitée prédéterminée est : g5 = a5.a, + a5.a2 + a5.a3 + a5.a4. Otherwise, the local notification is set to 1 in a step 615 and the system updates in a step 620 the coefficients of the bundle packet_Imp_ packet received notified. This step 620 is more fully described later in connection with FIG. 8. If the test of step 605 of the comparison between Combine Pack_Index and the number of packets to be combined is negative, it means that all packets to be combined have been tested. The system therefore proceeds to the calculation of the resulting packet to be transmitted. The first calculation step begins in a step 630 of checking the value of the local notification Notif. If the test of step 630 is negative, the system builds in a step 645 the predetermined packet from the predetermined linear combination. Otherwise, in a step 635, the system builds the packet based on the new coefficients determined in step 620 (and more fully described later in connection with FIG. 8) and constructs the associated notification (output notification) in a next step 640. The construction of the notification in step 640 depends on the mode chosen for it at the initialization of the system. In both modes, the Indicator field associated with a source packet is set when the coefficient of the latter is changed in comparison with the coefficient of the linear reference combination. In this case, for the direct mode, the value of the new coefficient is put in the Info_Coeff field while for the indirect mode, the Info_Coeff field is filled by putting the value 1 to the groups of coefficients (of the global combination explained) used and the value 0 to the groups of coefficients (of the explicit global combination) not used for the calculation of the coefficient associated with the source package. In practice, the relay node reuses notifications of received packets. If the Indicator field for the source packet j of the packet i is 1, the relay node copies the information in the Info_Coeff field for the number of groups of coefficients associated with the source packet j otherwise the relay node fills the Info_Coeff field with 1 for the number of groups of coefficients. For example, a relay node receives two packets: M1 and M2. In the example, the notification has a size of 5 bits, defined at initialization as the maximum number of groups of coefficients contained in the linear combination of the resulting packet of each relay node, p, which in our case corresponds to the node relay creating the Mrésultant package. For messages whose coefficient group number is less than p, the least significant bits not assigned to a group of coefficients are set to zero. The global combinations explained are: - Mt = (a5.a1 + a5.a3) Xl + (a5.a2 + a5.a4) X2 - M2 = (a11.a7 + "11'0 (8) X1 + (" 11.0 (9 + a11 alo) X2 With X1 and X2 the two source packets And the notifications are respectively: - MlX1: 1 - 1000 - M1X2: 1 - 1000 - M2X1: 0 - M2X2: 0 The two least significant bits of M1X1 and M1X2 are set to zero because they do not correspond to any group of coefficients The relay node would send the following predetermined combination: Mrsul as predetermined = a12 ((a5 .a1 + a5 .a3 + a11.a7 + a11.a8) X1 + (a5 .a2 + a5 .a4 + a11.a9 + a11 .a10) X2) It will send: Mresultant = "12 ((" 5. "1 + a11.a7 +" 11.0 (8) X1 + (a5 a2 + a11.a9 + "11'0 (10) X2) and the associated notification: MresultantX1: 1 - 1011 MrsultantX2: 1 - 1011 Note that for Info_Coeff information to be valid for all nodes, it is necessary that the order of the groups of coefficients (of the explicit global form) is known by all the nodes of Figure 8 schematically illustrates, according to a particular embodiment of the invention, an algorithm for recovering the coefficients of the packet (step 620 of FIG. This algorithm updates the value of the coefficients from the different received notifications, thus obtaining modified coefficients. The algorithm begins by resetting a local Source Packet_Index variable in a step 800. In a next step 805, this Source Pack_Cluster variable is then compared to the value of the source number in the network. This test makes it possible to know if all the notification fields associated with the source package, for a given given packet, have been analyzed. If the test of step 805 is negative, it means that the analysis of the resulting packet is complete. The system then proceeds to a step 835 notifying the end of the algorithm. If the test of step 805 is positive, the system analyzes in a step 810 the field 415 Indicator (FIG. 4) of the notification associated with the source packet Source_package_Index. Depending on the value present in the indicator field 415, two cases arise: - either there is no modification of coefficients associated with the global combination explained (that is to say that the field is at 0); or at least one of the coefficients associated with the explicit global combination has been modified (i.e. the field is 1). In the first case, the system increments in a step 830 the variable Source Pack_Index and then returns to the test of step 805. In the second case, the system analyzes the field 420 Info_Coeff (FIG. 4) of the notification associated with the source package Source Pack_Index having been modified, that is to say that the system sets, in a step 820, the coefficients of the explicit global combination not present (marked with a 0 in the Info_Coeff field). For example, the Info_Coeff field takes the value 1011 and the predetermined explicit global combination is: g5 = a5.a, + a5.a2 + a5.a3 + a5.a4.

Le noeud recevant le paquet en déduit que le coefficient global prédéterminé g5 = a5.a1 +a5.a2 + a5.a3 + a5.a4 devient g5 = a5.a1 +a5.a3 + a5.a4. Ensuite, le système calcule le nouveau coefficient et stocke sa valeur dans la matrice relais(ou la matrice destination si l'on se place dans un noeud destination) temporaire (étape 825). Puis dans une étape 830, le système incrémente la variable Indice_ paquet_ Source puis retourne au test de l'étape 805. La figure 8 décrit l'algorithme de récupération des coefficients plus particulièrement pour le mode de notification indirect. Pour le mode de notification direct, les étapes 820 et 825 sont remplacées par une étape unique de lecture de la valeur du nouveau coefficient contenu dans le champ Info_Coeff de la notification et par une étape de stockage de cette valeur dans la matrice (de relais ou de destination) temporaire. 6.4 Noeud destination La figure 7 décrit, selon un mode de réalisation particulier de l'invention, un algorithme de réception d'un paquet source par un noeud destination. Cet algorithme est identique à celui du noeud relais de la figure 5 excepté pour les étapes 725 et 730. L'étape 725 vérifie que le paquet est le dernier à recevoir pour la supertrame courante et l'étape 730 est l'étape de décodage plus amplement décrite en relation avec la figure 9. The node receiving the packet deduces that the predetermined overall coefficient g5 = a5.a1 + a5.a2 + a5.a3 + a5.a4 becomes g5 = a5.a1 + a5.a3 + a5.a4. Then, the system calculates the new coefficient and stores its value in the relay matrix (or the destination matrix if it is placed in a destination node) temporary (step 825). Then, in a step 830, the system increments the variable Source Pack_Index and then returns to the test of step 805. FIG. 8 describes the coefficient recovery algorithm more particularly for the indirect notification mode. For the direct notification mode, the steps 820 and 825 are replaced by a single step of reading the value of the new coefficient contained in the Info_Coeff field of the notification and by a step of storing this value in the matrix (relay or destination). 6.4 Destination node Figure 7 describes, according to a particular embodiment of the invention, an algorithm for receiving a source packet by a destination node. This algorithm is identical to that of the relay node of FIG. 5 except for steps 725 and 730. Step 725 verifies that the packet is the last to receive for the current superframe and step 730 is the decoding step plus amply described in connection with FIG. 9.

Il est à noter que la matrice de destination courante est réinitialisée avec la matrice de destination de référence après chaque décodage. La figure 9 illustre schématiquement, selon un mode de réalisation particulier de l'invention, un algorithme de décodage d'un paquet reçu par un noeud destination (étape 730 de la figure 7). Cet algorithme se décompose en quatre parties successives : - une première partie correspondant à l'analyse des notifications ; - une seconde partie correspondant aux modifications de la matrice de destination courante en cas de notification de modification ; - une troisième partie correspondant à la recherche d'une sous matrice inversible de rang maximal ; et - une quatrième partie correspondant au décodage des paquets sources. L'analyse des notifications commence dans une étape 900 par la remise à zéro, par le noeud destination, de son indice de paquet courant Indice_paquet et de sa notification locale Notif . It should be noted that the current destination matrix is reset with the reference destination matrix after each decoding. FIG. 9 diagrammatically illustrates, according to a particular embodiment of the invention, an algorithm for decoding a packet received by a destination node (step 730 of FIG. 7). This algorithm is broken down into four successive parts: - a first part corresponding to the analysis of the notifications; a second part corresponding to the modifications of the current destination matrix in the event of notification of modification; a third part corresponding to the search for an invertible sub-matrix of maximum rank; and a fourth part corresponding to the decoding of the source packets. The analysis of the notifications begins in a step 900 by resetting, by the destination node, its current packet index Pack_Index and its local Notif notification.

Ensuite, dans une étape 905, le noeud destination teste si l'indice du paquet courant est inférieur au nombre de paquets utiles au décodage. Si le test de l'étape 905 est positif, le système vérifie les différents champs Indicateur (420,...,430) de la notification de chaque paquet Indice_paquet . Si aucune notification n'est présente (tous les champs sont à 0), le système incrémente, dans une étape 925, d'une unité la variable Indice_paquet . Sinon, la notification locale est mise à 1 dans une étape 915 et le système met à jour les coefficients du paquet Indice_paquet reçu notifié dans une étape 920 (plus amplement décrite par la suite en relation avec la figure 8). Si le test de l'étape 905 de la comparaison entre Indice_paquet et le nombre de paquets maximal servant pour le décodage est négatif, cela signifie que tous les paquets utiles au décodage ont été testés. Le système vérifie ensuite dans une étape 930 si la matrice de destination courante a subi des modifications par rapport à la matrice de destination de référence. Dans le cas où aucun paquet courant n'a subi de modification, le système utilise l'inverse de la matrice prédéterminée pour le décodage afin de décoder tous les paquets sources dans une étape 970. Puis, dans une étape 985, le système indique que tous les paquets sources sont disponibles. Le système termine ensuite l'algorithme de décodage dans une étape 990. Then, in a step 905, the destination node tests whether the index of the current packet is smaller than the number of packets useful for decoding. If the test of step 905 is positive, the system checks the different fields Indicator (420, ..., 430) of the notification of each packet Pack_Index. If no notification is present (all the fields are at 0), the system increments, in a step 925, by one unit the variable Pack_label. Otherwise, the local notification is set to 1 in a step 915 and the system updates the coefficients of the pack_pack_pack received packet notified in a step 920 (more fully described later in connection with FIG. 8). If the test of step 905 of the comparison between Pack_Index and the maximum number of packets used for the decoding is negative, it means that all the packets useful for the decoding have been tested. The system then checks in a step 930 whether the current destination matrix has undergone changes with respect to the reference destination matrix. In the case where no current packet has been modified, the system uses the inverse of the predetermined matrix for decoding in order to decode all the source packets in a step 970. Then, in a step 985, the system indicates that all source packages are available. The system then completes the decoding algorithm in a step 990.

Si le test de l'étape 930 est positif, c'est-à-dire que des paquets courants ont été modifiés, le système effectue, dans une étape 935, le calcul du rang de la matrice de destination courante par la méthode du pivot de Gauss. Ensuite, dans une étape 940, le rang de la matrice est comparé au nombre total de sources à décoder. If the test of step 930 is positive, i.e. current packets have been modified, the system performs, in a step 935, the calculation of the rank of the current destination matrix by the pivot method of Gauss. Then, in a step 940, the rank of the matrix is compared to the total number of sources to be decoded.

Si le nombre de sources à décoder est égal au rang de la matrice, cela signifie que la matrice permet de décoder tous les paquets sources. Pour décoder les paquets sources, le système calcule l'inverse de la nouvelle matrice dans une étape 975, par exemple par la méthode de Gauss-Jordan. Le système l'utilise ensuite, ainsi que les paquets reçus, pour décoder tous les paquets sources dans une étape 980. Puis l'étape 985 est exécutée afin que le système indique que tous les paquets sources sont disponibles. L'algorithme se termine ensuite par l'étape 990. Par contre, si le rang de la matrice est différent du nombre de paquets sources à décoder (test négatif lors de l'étape 940), cela signifie que la matrice ne permet pas de décoder tous les paquets sources. Le système doit donc trouver, si possible, une sous-matrice permettant de décoder un nombre inférieur de paquets sources. Cette recherche de sous-matrice est réalisée dans une étape 945 (plus amplement décrite par la suite en relation avec la figure 10). If the number of sources to be decoded is equal to the rank of the matrix, it means that the matrix makes it possible to decode all the source packets. To decode the source packets, the system calculates the inverse of the new matrix in a step 975, for example by the Gauss-Jordan method. The system then uses it, as well as the received packets, to decode all source packets in a step 980. Then step 985 is executed so that the system indicates that all source packets are available. The algorithm then ends with step 990. On the other hand, if the rank of the matrix is different from the number of source packets to be decoded (negative test in step 940), this means that the matrix does not make it possible to decode all source packages. The system should therefore find, if possible, a sub-matrix to decode a lower number of source packages. This sub-matrix search is performed in a step 945 (more fully described later in connection with FIG. 10).

Puis une étape 950 permet de tester combien de paquets sources pourront être décodés par le système. S'il n'existe pas de paquets sources décodables (c'est-à-dire si le rang de la matrice est égal à zéro), cela signifie qu'aucun paquet source ne pourra être décodé.C'est alors l'échec du décodage dans une étape 965. Puis l'étape 985 est exécutée afin que le système notifie cet échec à l'organe effectuant le lien avec l'application, par exemple le CPU. L'algorithme se termine ensuite de nouveau par l'étape 990. Si le test de l'étape 950 est négatif, alors le système calcule l'inverse de la sous-matrice dans une étape 955. Dans une étape 960, le système l'utilise ensuite avec les paquets reçus associés à cette sous-matrice afin de décoder les paquets sources contenus dans les paquets reçus. Ensuite, le système marque les paquets sources décodés comme étant disponible lors de l'étape 985, puis termine l'algorithme par l'étape 990. Then a step 950 makes it possible to test how many source packets can be decoded by the system. If there are no decodable source packets (that is, if the rank of the matrix is zero), it means that no source packet can be decoded. decoding in a step 965. Then step 985 is executed so that the system notifies this failure to the organ performing the link with the application, for example the CPU. The algorithm then ends again with step 990. If the test in step 950 is negative, then the system calculates the inverse of the sub-matrix in step 955. In a step 960, the system then uses with the received packets associated with this sub-matrix to decode the source packets contained in the received packets. Next, the system marks the decoded source packets as being available in step 985, and then terminates the algorithm by step 990.

La figure 10 illustre schématiquement, selon un mode de réalisation particulier de l'invention, un algorithme de sélection de la sous-matrice de destination permettant de décoder le plus de paquets sources possibles (étape 945 de la figure 9). Les paramètres de sortie sont donc la sous-matrice de destination (si elle existe) et, le nombre de paquets sources décodables (rang de la sous-matrice). Le système rentre dans l'algorithme si la matrice courante ne permet pas de décoder tous les paquets sources ; l'algorithme teste les combinaisons en commençant par supprimer un certain nombre de sources jusqu'à l'obtention d'une sous-matrice décodable ou jusqu'à ce que toutes les combinaisons aient été testées sans succès. FIG. 10 diagrammatically illustrates, according to a particular embodiment of the invention, an algorithm for selecting the destination sub-matrix for decoding the most possible source packets (step 945 of FIG. 9). The output parameters are therefore the destination sub-matrix (if it exists) and the number of decodable source packets (rank of the sub-matrix). The system enters the algorithm if the current matrix does not allow to decode all the source packets; the algorithm tests combinations by first removing a number of sources until a decodable submatrix is obtained or until all combinations have been tested without success.

Une première étape 1000 initialise à la valeur 1 le nombre de paquets sources Nb Source . Puis une étape 1005 permet de tester si ce nombre est bien strictement inférieur au nombre total de source. Si le nombre de paquet source à supprimer est égal au nombre de paquet source total, cela signifie qu'aucune sous-matrice permettant le décodage de paquet source n'existe. Le système initialise la variable Rang à zéro dans une étape 1065 et termine l'algorithme dans une étape 1070. Si le test de l'étape 1005 est positif, le système passe à l'initialisation de deux variables locales Nb test et Iter dans une étape 1010. La variable Iter est initialisé à la valeur 1, c'est un compteur qui teste à chaque itération un nouvel ensemble Nb Source et paquets sources associés à supprimer. La valeur Nb test correspond au nombre d'ensemble de paquets sources à supprimer et est égale à la combinaison au sens mathématiques : Nb test = C(NbSource, Nb Source àsupprimer) = NbSource!/( Nb Source à supprimer)!( NbSource - Nb Source à supprimer)! Il est à noter que ! correspond à l'opération mathématique factorielle. Après les initialisations, dans une étape 1015, le système choisi un ensemble de sources à supprimer parmi les sources, cet ensemble étant différent pour chaque nouvelle itération de Iter . A first step 1000 sets the number of source packets Nb Source to 1. Then a step 1005 makes it possible to test whether this number is strictly lower than the total number of sources. If the number of source packets to be deleted is equal to the total source packet number, it means that no sub-matrix for source packet decoding exists. The system initializes the Rank variable to zero in a step 1065 and ends the algorithm in a step 1070. If the test of step 1005 is positive, the system proceeds to initialize two local variables Nb test and Iter in a step 1010. The variable Iter is initialized to the value 1, it is a counter which tests at each iteration a new set Nb Source and associated source packets to be deleted. The value Nb test corresponds to the number of sets of source packets to be deleted and is equal to the combination in the mathematical sense: Nb test = C (NbSource, Nb Source to be removed) = NbSource! / (Nb Source to be deleted)! (NbSource - No Source to delete)! It is to highlight that ! corresponds to the factorial mathematical operation. After the initializations, in a step 1015, the system chooses a set of sources to be suppressed among the sources, this set being different for each new iteration of Iter.

Ensuite, dans une étape 1020, le système détermine une sous-matrice excluant les paquets reçus contenant une des sources de l'ensemble à supprimer. Dans une étape 1025, le système vérifie ensuite si la matrice a encore des lignes, c'est-à-dire qu'il reste des paquets reçus ne contenant pas de sources de l'ensemble à supprimer. S'il ne reste pas de paquets reçus, le système passe à l'étape 1040. Sinon, le système cherche le rang de la sous-matrice par la méthode du pivot de Gauss dans une étape 1030. Ensuite, le rang de la sous-matrice est comparé au nombre de paquet source restant à décoder dans une étape 1035. Si le test est positif, cela signifie que tous les paquets sources présents dans la sous-matrice sont décodables. La sous-matrice est alors stockée dans une étape 1055 puis l'algorithme se termine dans l'étape 1060. Si le test 1035 est négatif, le système teste dans une étape 1040 si la valeur du compteur Iter est égale au nombre de tests Nb test à effectuer, c'est-à-dire que toutes les combinaisons ont été effectuées pour un nombre donné de paquets sources à supprimer. Si le test de l'étape 1040 est négatif, le compteur Iter est incrémenté d'une unité et un nouvel ensemble de sources à supprimer parmi les sources est déterminé dans une étape 1045. Puis l'étape 1020 de construction de la sous-matrice est de nouveau exécutée. Si le test 1040 est positif, alors le système augmente le nombre de source à supprimer dans une étape 1050 puis le test de l'étape 1005 est de nouveau effectué. On notera que l'invention ne se limite pas à une implantation purement matérielle mais qu'elle peut aussi être mise en oeuvre sous la forme d'une séquence d'instructions d'un programme informatique ou toute forme mixant une partie matérielle et une partie logicielle. Dans le cas où l'invention est implantée partiellement ou totalement sous forme logicielle, la séquence d'instructions correspondante pourra être stockée dans un moyen de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce moyen de stockage étant lisible partiellement ou totalement par un ordinateur ou un microprocesseur.5 Then, in a step 1020, the system determines a sub-matrix excluding the received packets containing one of the sources of the set to be deleted. In a step 1025, the system then checks whether the matrix still has lines, that is to say that there remain received packets that do not contain sources of the set to be deleted. If there are no received packets, the system proceeds to step 1040. Otherwise, the system searches for the rank of the sub-matrix by the Gaussian pivot method in a step 1030. Then, the rank of the sub-matrix -matrix is compared to the number of source package remaining to be decoded in a step 1035. If the test is positive, it means that all the source packets present in the sub-matrix are decodable. The sub-matrix is then stored in a step 1055 and then the algorithm ends in the step 1060. If the test 1035 is negative, the system tests in a step 1040 if the value of the counter Iter is equal to the number of tests Nb test to perform, that is to say that all combinations have been made for a given number of source packages to delete. If the test of step 1040 is negative, the counter Iter is incremented by one unit and a new set of sources to be suppressed among the sources is determined in a step 1045. Then the step 1020 of construction of the sub-matrix is executed again. If the test 1040 is positive, then the system increases the number of sources to be deleted in a step 1050 and then the test of step 1005 is performed again. It will be noted that the invention is not limited to a purely material implantation but that it can also be implemented in the form of a sequence of instructions of a computer program or any form mixing a material part and a part software. In the case where the invention is partially or totally implemented in software form, the corresponding instruction sequence can be stored in a removable storage means (such as for example a floppy disk, a CD-ROM or a DVD-ROM) or no, this storage means being readable partially or totally by a computer or a microprocessor.

Claims (18)

REVENDICATIONS1. Procédé de codage réseau dans un réseau maillé comprenant au moins un noeud relais qui, selon un schéma de codage réseau prédéterminé, s'attend à recevoir en entrée une pluralité de paquets de données utiles et doit générer en sortie un paquet résultant prédéterminé obtenu selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données utiles étant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources, ledit procédé étant mis en oeuvre par au moins un noeud relais donné et étant caractérisé en ce qu'il comprend des étapes consistant à : - détecter (610, 615, 630) si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ; - dans le cas d'une détection positive, construire (635) un paquet résultant modifié à partir des paquets utiles reçus ; - construire (640) une notification de sortie identifiant les différences entre la combinaison linéaire de paquets sources représentative du paquet résultant prédéterminé et la combinaison linéaire de paquets sources représentative du paquet résultant modifié ; et - transmettre (650) le paquet résultant modifié et la notification de sortie. REVENDICATIONS1. A network encoding method in a mesh network comprising at least one relay node which, in accordance with a predetermined network coding scheme, expects to receive a plurality of payload data packets and to output a predetermined resultant packet obtained in accordance with a a predetermined linear combination of said plurality of payload packets, each of the payload packets being formed, according to said predetermined network coding scheme, by a linear combination of one or more source packets, the source packets being transmitted by source nodes , said method being implemented by at least one relay node and being characterized in that it comprises the steps of: - detecting (610, 615, 630) if at least one input notification indicates that a packet useful is missing or has been received modified so that the linear combination of the source packet (s) forming said useful packet modified does not conform to the predetermined network coding scheme; in the case of a positive detection, constructing (635) a resulting packet modified from the received useful packets; constructing (640) an output notification identifying the differences between the linear combination of source packets representative of the predetermined resulting packet and the linear combination of source packets representative of the modified resulting packet; and - transmitting (650) the resulting modified packet and the output notification. 2. Procédé selon la revendication 1, caractérisé en ce que la notification d'entrée représente : - un événement interne au noeud relais (510) lorsqu'elle indique qu'un paquet utile est manquant ; ou - une information reçue avec un paquet utile lorsqu'elle indique que ledit paquet utile a été reçu modifié. 20 25 30 2. Method according to claim 1, characterized in that the input notification represents: an event internal to the relay node (510) when it indicates that a useful packet is missing; or - information received with a useful packet when it indicates that said useful packet has been received modified. 20 25 30 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que chaque notification d'entrée ou de sortie comprend M champs, avec M le nombre de noeuds sources, chacun des M champs étant associé à l'un des M paquets sources générés par les M noeuds sources, chacun des M champs comprenant : - un premier sous-champ (415, 425) indiquant si un coefficient, associé au paquet source associé audit champ, a été modifié ou non, dans ladite combinaison linéaire de paquets sources représentative dudit paquet résultant modifié, par rapport à ladite combinaison linéaire de paquets sources représentative dudit paquet résultant prédéterminé ; - un deuxième sous-champ (420, 430) donnant une information relative à une valeur du coefficient modifié sur lequel porte le premier sous-champ, si le premier sous-champ (415, 425) indique une modification. 3. Method according to any one of claims 1 and 2, characterized in that each entry or exit notification comprises M fields, with M the number of source nodes, each of the M fields being associated with one of the M source packets generated by the M source nodes, each of the M fields comprising: a first subfield (415, 425) indicating whether a coefficient, associated with the source packet associated with said field, has been modified or not, in said linear combination of source packets representative of said modified resulting packet, with respect to said linear combination of source packets representative of said predetermined resulting packet; a second sub-field (420, 430) giving information relating to a value of the modified coefficient to which the first subfield relates, if the first subfield (415, 425) indicates a modification. 4. Procédé selon la revendication 3, caractérisé en ce que le deuxième sous-champ (420, 430) est présent seulement si le premier sous-champ (415, 425) indique une modification. 4. Method according to claim 3, characterized in that the second subfield (420, 430) is present only if the first subfield (415, 425) indicates a modification. 5. Procédé selon l'une quelconque des revendications 3 et 4, caractérisé en ce que l'information comprise dans le deuxième sous-champ (420, 430) comprend explicitement la valeur du coefficient modifié. 5. Method according to any one of claims 3 and 4, characterized in that the information included in the second subfield (420, 430) explicitly includes the value of the modified coefficient. 6. Procédé selon l'une quelconque des revendications 3 et 4, caractérisé en ce que l'information comprise dans le deuxième sous-champ (420, 430) comprend au moins une indication permettant à un noeud traitant ladite notification d'entrée ou de sortie de retrouver la valeur du coefficient modifié. 6. Method according to any one of claims 3 and 4, characterized in that the information included in the second subfield (420, 430) comprises at least one indication allowing a node processing said notification of entry or of exit to find the value of the modified coefficient. 7. Procédé de codage réseau dans un réseau maillé comprenant au moins un noeud destination qui, selon un schéma de codage réseau prédéterminé, s'attend à recevoir en entrée une pluralité de paquets de données utiles et doit générer en sortie une pluralité de paquets sources décodés obtenus chacun selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données utileétant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources, ledit procédé étant mis en oeuvre par au moins un noeud destination donné et étant caractérisé en ce qu'il comprend des étapes consistant à : - détecter (910, 915, 930) si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ; - dans le cas d'une détection positive, obtenir (935, 940, 945, 950, 955, 975) un schéma de codage réseau modifié, en fonction des combinaisons linéaires de paquets sources formant les paquets utiles reçus ; et - décoder les paquets de données utiles reçus (960, 980), en fonction dudit schéma de codage réseau modifié, pour obtenir au moins un paquet source décodé. 15 A method of network coding in a mesh network comprising at least one destination node which, according to a predetermined network coding scheme, expects to input a plurality of payload packets and is to output a plurality of source packets. decoded ones each obtained in a predetermined linear combination of said plurality of payload packets, each of the useful data packets being formed, according to said predetermined network coding scheme, by a linear combination of one or more source packets, the source packets being transmitted by source nodes, said method being implemented by at least one destination node and being characterized in that it comprises steps of: - detecting (910, 915, 930) if at least one input notification indicates that a useful packet is missing or has been received modified so that the linear combination of the source packet (s) forming said modified useful packet does not conform to the predetermined network coding scheme; in the case of a positive detection, obtaining (935, 940, 945, 950, 955, 975) a modified network coding scheme, as a function of the linear combinations of source packets forming the received useful packets; and decoding the received payload packets (960, 980) based on said modified network coding scheme to obtain at least one decoded source packet. 15 8. Procédé selon la revendication 7, caractérisé en ce que l'étape consistant à obtenir un schéma de codage réseau modifié comprend des étapes consistant à : - modifier (810, 815, 820 ; 920) une matrice de destination de référence pour obtenir une matrice de destination modifiée, en fonction de ladite au moins notification d'entrée détectée ; - détecter (935, 940) si le rang de ladite matrice de destination modifiée est égal au nombre total de paquets sources à décoder ; et - si le rang de ladite matrice de destination modifiée est égal au nombre total de paquets sources à décoder, utiliser (975, 980) ladite matrice de destination modifiée pour générer tous les paquets sources décodés, dans ladite étape consistant à décoder. The method according to claim 7, characterized in that the step of obtaining a modified network coding scheme comprises the steps of: modifying (810, 815, 820, 920) a reference destination matrix to obtain a modified destination matrix, based on said at least one detected input notification; detecting (935, 940) whether the rank of said modified destination matrix is equal to the total number of source packets to be decoded; and - if the rank of said modified destination matrix is equal to the total number of source packets to be decoded, using (975, 980) said modified destination matrix to generate all decoded source packets in said step of decoding. 9. Procédé selon la revendication 8, caractérisé en ce que, si le rang de ladite matrice de destination modifiée n'est pas égal au nombre total de paquets sources à décoder, l'étape consistant à obtenir un schéma de codage réseau modifié comprend des 30 étapes consistant à : 10 20 25- déterminer (945, 950) une sous-matrice de ladite matrice de destination modifiée, dont le rang est différent de zéro ; - utiliser (955, 960) ladite sous-matrice pour générer au moins un paquet source décodé, dans ladite étape consistant à décoder. The method of claim 8, characterized in that, if the rank of said modified destination matrix is not equal to the total number of source packets to be decoded, the step of obtaining a modified network encoding scheme includes 30 steps of: determining (945, 950) a sub-matrix of said modified destination matrix, whose rank is different from zero; using (955, 960) said sub-matrix to generate at least one decoded source packet, in said step of decoding. 10. Procédé selon l'une quelconque des revendications 7 à 9, caractérisé en ce que la notification d'entrée représente : - un événement interne au noeud relais lorsqu'elle indique qu'un paquet utile est manquant ; ou - une information reçue avec un paquet utile lorsqu'elle indique que ledit paquet utile a été reçu modifié. The method according to any one of claims 7 to 9, characterized in that the input notification represents: an event internal to the relay node when it indicates that a useful packet is missing; or - information received with a useful packet when it indicates that said useful packet has been received modified. 11. Procédé selon l'une quelconque des revendications 7 à 10, caractérisé en ce que chaque notification d'entrée comprend M champs, avec M le nombre de noeuds sources, chacun des M champs étant associé à l'un des M paquets sources générés par les M noeuds sources, chacun des M champs comprenant : - un premier sous-champ (415, 425) indiquant si un coefficient du paquet source associé audit champ a été modifié ou non, dans ladite combinaison linéaire de paquets sources représentative d'un paquet utile attendu ; - un deuxième sous-champ (420, 430) donnant une information relative à une valeur du coefficient modifié sur lequel porte le premier sous-champ, si le premier sous-champ (415, 425) indique une modification. 11. Method according to any one of claims 7 to 10, characterized in that each input notification comprises M fields, with M the number of source nodes, each of the M fields being associated with one of the M source packets generated. by the M source nodes, each of the M fields comprising: a first subfield (415, 425) indicating whether a coefficient of the source packet associated with said field has been modified or not, in said linear combination of source packets representative of a expected useful package; a second sub-field (420, 430) giving information relating to a value of the modified coefficient to which the first subfield relates, if the first subfield (415, 425) indicates a modification. 12. Procédé selon la revendication 11, caractérisé en ce que le deuxième sous-champ (420, 430) est présent seulement si le premier sous-champ (415, 425) indique une modification. The method of claim 11, characterized in that the second subfield (420, 430) is present only if the first subfield (415, 425) indicates a change. 13. Procédé selon l'une quelconque des revendications 11 et 12, caractérisé en ce que l'information comprise dans le deuxième sous-champ (420, 430) comprend 30 explicitement la valeur du coefficient modifié. 13. Method according to any one of claims 11 and 12, characterized in that the information included in the second subfield (420, 430) explicitly includes the value of the modified coefficient. 14. Procédé selon l'une quelconque des revendications 11 et 12, caractérisé en ce que l'information comprise dans le deuxième sous-champ (420, 430) comprend au moins une indication permettant à un noeud recevant ladite notification d'entrée de retrouver la valeur du coefficient modifié. 14. Method according to any one of claims 11 and 12, characterized in that the information included in the second subfield (420, 430) comprises at least one indication allowing a node receiving said entry notification to find the value of the modified coefficient. 15. 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 à 6 et/ou le procédé selon au moins une des revendications 7 à 14, lorsque ledit programme est exécuté sur un ordinateur. 15. Computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, characterized in that it comprises program code instructions for the implementation of the Method according to at least one of Claims 1 to 6 and / or the method according to at least one of Claims 7 to 14, when said program is executed on a computer. 16. Moyen de stockage lisible par ordinateur, éventuellement totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 6 et/ou le procédé selon au moins une des revendications 7 à 14. Computer-readable storage medium, possibly totally or partially removable, storing a computer program comprising a set of instructions executable by a computer for carrying out the method according to at least one of claims 1 to 6 and / or the process according to at least one of claims 7 to 14. 17. Noeud relais compris dans un réseau maillé et participant à un procédé de codage réseau dans ledit réseau maillé, ledit noeud relais, selon un schéma de codage réseau prédéterminé, s'attendant à recevoir en entrée une pluralité de paquets de données utiles et devant générer en sortie un paquet résultant prédéterminé obtenu selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données utiles étant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources, ledit noeud relais étant caractérisé en ce qu'il comprend : des moyens de détection, permettant de détecter si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ;- des premiers moyens de construction, activés dans le cas d'une détection positive, permettant de construire un paquet résultant modifié à partir des paquets utiles reçus ; - des seconds moyens de construction, permettant de construire une notification de sortie identifiant les différences entre la combinaison linéaire de paquets sources représentative du paquet résultant prédéterminé et la combinaison linéaire de paquets sources représentative du paquet résultant modifié ; - des moyens de transmission, permettant de transmettre le paquet résultant modifié et la notification de sortie. 17. A relay node included in a mesh network and participating in a network coding method in said mesh network, said relay node, according to a predetermined network coding scheme, expecting to receive as input a plurality of payload data packets and in front of outputting a predetermined resulting packet obtained according to a predetermined linear combination of said plurality of payload packets, each of the payload data packets being formed, according to said predetermined network coding scheme, by a linear combination of one or more source packets , the source packets being transmitted by source nodes, said relay node being characterized in that it comprises: detection means, making it possible to detect whether at least one input notification indicates that a useful packet is missing or that it was received modified so that the linear combination of the source packet (s) forming said useful packet is not in accordance with the predetermined network coding scheme; - first constructive means, activated in the case of positive detection, for constructing a modified result packet from the received useful packets; second construction means for constructing an output notification identifying the differences between the linear combination of source packets representative of the predetermined resulting packet and the linear combination of source packets representative of the modified resulting packet; transmission means for transmitting the modified resulting packet and the output notification. 18. Noeud destination compris dans un réseau maillé et participant à un procédé de codage réseau dans ledit réseau maillé, ledit noeud destination, selon un schéma de codage réseau prédéterminé, s'attendant à recevoir en entrée une pluralité de paquets de données utiles et devant générer en sortie une pluralité de paquets sources décodés obtenus chacun selon une combinaison linéaire prédéterminée de ladite pluralité de paquets de données utiles, chacun des paquets de données étant formé, selon ledit schéma de codage réseau prédéterminé, par une combinaison linéaire d'un ou plusieurs paquets sources, les paquets sources étant émis par des noeuds sources, ledit noeud destination étant caractérisé en ce qu'il comprend : - des moyens de détection, permettant de détecter si au moins une notification d'entrée indique qu'un paquet utile est manquant ou qu'il a été reçu modifié de sorte que la combinaison linéaire du ou des paquets sources formant ledit paquet utile modifié ne soit pas conforme au schéma de codage réseau prédéterminé ; - des moyens d'obtention, activés dans le cas d'une détection positive, permettant d'obtenir un schéma de codage réseau modifié, en fonction des combinaisons linéaires de paquets sources formant les paquets utiles reçus ; - des moyens de décodage, permettant de décoder les paquets de données utiles reçus en fonction dudit schéma de codage réseau modifié, pour obtenir au moins un paquet source décodé. 25 30 A destination node included in a mesh network and participating in a network coding method in said mesh network, said destination node, according to a predetermined network coding scheme, expecting to receive as input a plurality of payload data packets and outputting a plurality of decoded source packets each obtained in a predetermined linear combination of said plurality of payload packets, each of the data packets being formed, according to said predetermined network coding scheme, by a linear combination of one or more source packets, the source packets being transmitted by source nodes, said destination node being characterized in that it comprises: detection means, making it possible to detect whether at least one input notification indicates that a useful packet is missing or that it has been received modified so that the linear combination of the source packet or forms said modified useful packet does not conform to the predetermined network coding scheme; means of obtaining, activated in the case of a positive detection, making it possible to obtain a modified network coding scheme, as a function of the linear combinations of source packets forming the useful packets received; decoding means, for decoding the received useful data packets according to said modified network coding scheme, to obtain at least one decoded source packet. 25 30
FR0858365A 2008-12-08 2008-12-08 NETWORK CODING METHOD IN MESH NETWORK, COMPUTER SOFTWARE PRODUCT, STORAGE MEDIUM AND CORRESPONDING COMMUNICATION NODES. Expired - Fee Related FR2939584B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0858365A FR2939584B1 (en) 2008-12-08 2008-12-08 NETWORK CODING METHOD IN MESH NETWORK, COMPUTER SOFTWARE PRODUCT, STORAGE MEDIUM AND CORRESPONDING COMMUNICATION NODES.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0858365A FR2939584B1 (en) 2008-12-08 2008-12-08 NETWORK CODING METHOD IN MESH NETWORK, COMPUTER SOFTWARE PRODUCT, STORAGE MEDIUM AND CORRESPONDING COMMUNICATION NODES.

Publications (2)

Publication Number Publication Date
FR2939584A1 true FR2939584A1 (en) 2010-06-11
FR2939584B1 FR2939584B1 (en) 2011-02-18

Family

ID=40941511

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0858365A Expired - Fee Related FR2939584B1 (en) 2008-12-08 2008-12-08 NETWORK CODING METHOD IN MESH NETWORK, COMPUTER SOFTWARE PRODUCT, STORAGE MEDIUM AND CORRESPONDING COMMUNICATION NODES.

Country Status (1)

Country Link
FR (1) FR2939584B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113728572A (en) * 2019-04-30 2021-11-30 网络编码代码有限责任公司 Linear network coding for generating predetermined coefficients by parameter initialization and reuse

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040243902A1 (en) * 2001-09-26 2004-12-02 Dieter Bruckner Replacement messages for identifying and preventing errors during the transmission of real time-critical data
US20050010675A1 (en) * 2003-06-23 2005-01-13 Microsoft Corporation System and method for computing low complexity algebraic network codes for a multicast network
US20080117904A1 (en) * 2006-10-04 2008-05-22 Board Of Trustees Of Michigan State University Framework for network coding and cross-layer information exchange in presence of errors in the packets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040243902A1 (en) * 2001-09-26 2004-12-02 Dieter Bruckner Replacement messages for identifying and preventing errors during the transmission of real time-critical data
US20050010675A1 (en) * 2003-06-23 2005-01-13 Microsoft Corporation System and method for computing low complexity algebraic network codes for a multicast network
US20080117904A1 (en) * 2006-10-04 2008-05-22 Board Of Trustees Of Michigan State University Framework for network coding and cross-layer information exchange in presence of errors in the packets

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FASOLO E: "Network coding techniques", INTERNET CITATION, 7 March 2004 (2004-03-07), pages 1 - 14, XP002484416, Retrieved from the Internet <URL:www.cs.virginia.edu/~yw5s/Network%20coding.ppt> *
RALF KOETTER AND MURIEL MÉDARD: "An Algebraic Approach to Network Coding", IEEE / ACM TRANSACTIONS ON NETWORKING, IEEE / ACM, NEW YORK, NY, US, vol. 11, no. 5, 1 October 2003 (2003-10-01), pages 782 - 795, XP007908088, ISSN: 1063-6692 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113728572A (en) * 2019-04-30 2021-11-30 网络编码代码有限责任公司 Linear network coding for generating predetermined coefficients by parameter initialization and reuse

Also Published As

Publication number Publication date
FR2939584B1 (en) 2011-02-18

Similar Documents

Publication Publication Date Title
EP2232765B1 (en) Method and entity for probabilistic symmetrical encryption
EP2274852B1 (en) Method of decoding a signal implementing a progressive construction of a decoding tree, corresponding computer program product and decoding device
EP3443678B1 (en) Method of decoding a polar code with inversion of low reliability bits
EP2119095B1 (en) Ciphering method using error correcting codes
EP2606583B1 (en) Method and system of selective relaying in a communication network comprising a plurality of sources, a relay and a reception device with detection by the relay of errors on the received estimated messages and transmission, from the relay to the reception device, of a signal representative of only the messages for which no errors were detected.
FR2929063A1 (en) METHOD AND DEVICE FOR ALLOCATING DATA TRANSMISSION PATHS IN A SYNCHRONOUS COMMUNICATION NETWORK, COMPUTER PROGRAM PRODUCT AND CORRESPONDING STORAGE MEDIUM
FR2849514A1 (en) CODE OF ALGEBRA GEOMETRY ADAPTED TO RAFALE ERRORS
EP1959572B1 (en) Decoding method with message passing and forced convergence
EP3161986A1 (en) Method for dynamic and selective fd-dsdf transmission of a digital signal for a mamrc system with several full-duplex relays, and corresponding program product and relay device
FR2952252A1 (en) METHOD AND DEVICE FOR DECODING, COMPUTER PROGRAM PRODUCT, CORRESPONDING MEANS OF STORAGE AND CORRESPONDING DESTINATION NODE
EP3639427A1 (en) Omamrc transmission method and system with slow-link adaptation
EP3476071B1 (en) Dynamic and selective transmission of a digital signal for a system with full-duplex relay and a limited return path
EP2186252A2 (en) Method for distributing cryptographic keys in a communication network
FR2960725A1 (en) METHOD AND DEVICE FOR CONFIGURING A GLOBAL ENCODING / DECODING SCHEME IN A COMMUNICATION NETWORK, COMPUTER PROGRAM PRODUCT AND CORRESPONDING STORAGE MEDIUM
FR2939584A1 (en) Network coding method for wireless mesh communication network, involves constructing output notification identifying differences between combinations of source packets, and transmitting modified result packet and output notification
FR2948246A1 (en) METHOD AND DEVICE FOR ALLOCATING BANDWIDTH RELEASED IN A COMMUNICATION NETWORK, COMPUTER PROGRAM PRODUCT AND CORRESPONDING STORAGE MEDIUM
FR2935493A1 (en) METHOD AND DEVICE FOR MONITORING ANTENNA
EP3326294B1 (en) Method for determining a route in a plc network
FR2939585A1 (en) Network coding method for wireless mesh communication network, involves constructing reconstituted result packet using all or part of redundant packets along modified network coding scheme, and transmitting reconstituted result packet
FR2939586A1 (en) Network coding method for wireless mesh communication network, involves constructing part of result packet with combination of expected input packets using momentarily used packets, before end of reception of expected input data packets
WO2018095817A1 (en) Coder and decoder using a quasi-cyclic semi-regular ldpc code of short length for low consumption applications such as remote reading
EP3057238B1 (en) Method for iterative decoding of lfsr sequences with low probability of false alarm
FR2880218A1 (en) DECODING METHOD FOR ALGEBRATIC GEOMETRY CODES AND DEVICE THEREOF
FR3060148A1 (en) MESSAGE TRANSMITTING METHOD, RECEIVING METHOD, TRANSMITTING DEVICE, RECEIVING DEVICE, AND COMMUNICATION SYSTEM THEREOF
WO2009047439A2 (en) Method for the failure tolerant distributed routing of data in a network

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140829