Brevet FR3066348A1 — publié le 20181116

DISPOSITIF ET PROCEDE DE SEQUENCEMENT TEMPOREL ET FREQUENTIEL POUR LA TRANSMISSION DE PAQUETS DE DONNEES DANS UN RESEAU MAILLE Domaine de l'invention L'invention concerne le domaine des télécommunications et en particulier porte sur un dispositif et un procédé de séquencement temporel et fréquentiel pour la transmission de paquets de données dans un réseau maillé. Etat de la Technique Les réseaux maillés ou réseaux « mesh » organisés autour de capteurs et d'actionneurs sont constitués d'un ensemble de noeuds dans lequel chaque noeud est susceptible de porter un (ou plusieurs) capteur ou actionneur, et de communiquer par radio avec d'autres noeuds qui sont sous portée radio, de façon à permettre une remontée de mesures (et respectivement un acheminement de commandes) à destination (et respectivement à partir) d'un noeud central ou passerelle. Le noeud passerelle permet de relier le réseau de capteurs à un autre réseau englobant, typiquement l'Internet, et toute communication entre un noeud du réseau maillé et un noeud extérieur se fait nécessairement via le noeud passerelle. Les mesures et les commandes, ainsi qu'un certain nombre de messages de service sont formatés sous la forme de paquets de données. Un noeud peut ainsi être amené à transmettre des paquets de données pour son propre compte s'il veut transmettre une mesure issue d'un capteur local, ou bien recevoir des paquets de données s'il reçoit une commande le concernant. Un noeud peut aussi transmettre et/ou recevoir des paquets de données pour le compte d'un autre noeud à 2 3066348 l'origine de la mesure ou à la destination de la commande. Afin de permettre les communications entre les noeuds et la passerelle, le réseau maillé offre une fonctionnalité de routage qui suppose une topologie en arbre entre les noeuds et la passerelle, comme illustré sur la figure 1. La 5 topologie de routage permet d'attribuer un noeud parent à chaque noeud dans le réseau (100). Lorsqu'un noeud source, par exemple 'X' doit transmettre un paquet à la passerelle 'C' pour son propre compte ou pour le compte d'un autre noeud, il doit le transmettre à son noeud parent 'Y'. Le paquet arrive à la passerelle de proche en proche par bonds 10 successifs selon un chemin de routage dans lequel chaque noeud intermédiaire 'Y, Z' doit relayer le paquet vers son parent. Le nombre de bonds nécessaire pour rejoindre la passerelle est une caractéristique du noeud source qui est désignée comme étant le « rang » de ce noeud. Sur l'exemple illustré en figure 1, le noeud source 'X' est de rang 3. 15 Dans l'autre direction, lorsque des paquets doivent être acheminés de la passerelle vers un noeud particulier dans le réseau, la transmission se fait toujours bond par bond en transmettant le paquet vers un noeud enfant, en principe vers celui des noeuds enfants qui permet le meilleur acheminement, compte tenu du noeud destination. Dans cette direction, 20 les noeuds peuvent être amenés à connaitre la topologie du sous-réseau de leurs noeuds descendants, de façon à déterminer le noeud enfant vers lequel envoyer le paquet, compte tenu du noeud destination. Néanmoins dans des variantes d'implémentation, seul le noeud passerelle a connaissance de la topologie sous-réseau, et l'information exhaustive de 25 la route à suivre pour atteindre le noeud cible est incorporée par le noeud passerelle aux paquets de données descendants. Une fois la topologie de routage établie, les règles de transmission des paquets sont établies afin de déterminer quand un noeud peut émettre, et sur quel canal radio pour les cas où le réseau est déployé sur 30 plusieurs canaux et non un seul. La possibilité d'émettre sur plusieurs 3 3066348 canaux radio permet de bénéficier d'une amélioration des performances, en exploitant la diversité des phénomènes d'évanouissements sur lesdits canaux. En général, ces questions (quand émettre, et sur quel canal) sont adressées par la couche MAC (Medium Access Layer). Deux classes de 5 solutions peuvent être considérées, celle pour les réseaux synchrones et celles pour les réseaux asynchrones. Les solutions connues mises en oeuvre dans le contexte des réseaux asynchrones n'exigent la mise en oeuvre d'aucune base de temps, les noeuds étant autorisés à transmettre à tout moment. 10 Cependant, cette souplesse se traduit par des phénomènes de collisions : deux noeuds proches peuvent être amenés à émettre un paquet au même moment ou bien à des moments si proches qu'il y a transmission simultanée pendant une partie au moins de la durée de transmission d'un paquet. La réception de ces paquets simultanés par leurs noeuds 15 destinataires (voire éventuellement l'unique noeud destinataire) peut être rendue impossible, car l'un des émetteurs peut se comporter comme une source d'interférence vis-à-vis de l'autre. Des mécanismes existent pour réduire l'influence des collisions dans les réseaux asynchrones, basés sur des algorithmes connus tels 20 CSMA « Carrier Sense Multiple Access » ou ALOHA. Ils consistent à mettre en oeuvre des communications inverses d'acquittements des paquets reçus, et à retransmettre les paquets en l'absence d'acquittement, jusqu'à ce que les paquets soient bien reçus par le noeud voisin destinataire, ou bien à ce qu'un nombre maximum de 25 retransmissions soit atteint. Pour éviter des phénomènes de collisions à répétition, les noeuds doivent attendre un laps de temps aléatoire avant de procéder à la retransmission. Il devient alors peu probable que deux noeuds impliqués dans une première collision choisissent le même temps d'attente, et les retransmissions se font alors typiquement sans collisions. 4 3066348 Cependant, les systèmes asynchrones présentent des inconvénients, dont deux majeurs : - Ils ne garantissent pas une latence déterministe : la transmission 5 d'un paquet sur plusieurs bonds peut donner lieu « par malchance » à de très nombreuses collisions, chacune d'elles entrainant des retards non négligeables. La latence de bout en bout n'est alors pas « bornée ». - Ils supposent un réseau peu chargé pour leur bon 10 fonctionnement. Les performances sont d'autant plus mauvaises que le réseau est chargé et varient selon une loi plutôt exponentielle que linéaire, les collisions créant d'autres collisions. Ainsi, un réseau asynchrone dans lequel les liens radios seraient utilisés à plus de 10% de leur capacité totale serait inutilisable en 15 pratique. Les réseaux synchrones peuvent résoudre les limites des réseaux asynchrones, cependant au prix d'une complexité accrue. Dans ces réseaux, le noeud passerelle peut jouer le rôle de source de synchronisation. La synchronisation du noeud passerelle peut être 20 transmise de bond en bond à l'ensemble du réseau, en adoptant une topologie en arbre similaire à celle de la figure 1. La base de temps mise en oeuvre dans ces réseaux consiste typiquement dans une structure de trame qui se répète indéfiniment. Une trame est constituée d'un ensemble d'unités de temps successives ou « timeslots » dans lesquels il est 25 possible de transmettre un paquet de données. Dans certain systèmes, le timeslot permet à la fois la transmission d'un paquet de données d'un noeud vers un autre noeud voisin, suivi de la réception d'un message d'acquittement en sens inverse. C'est par exemple le cas du système défini dans la norme IEEE 802.15.4e. Chaque fois qu'un paquet est 5 3066348 transmis d'un noeud parent vers un noeud enfant, le noeud enfant à la possibilité de synchroniser ou de resynchroniser sa base de temps locale avec celle de son parent. Les communications en sens inverse, d'un noeud enfant vers un noeud parent, peuvent elles aussi contribuer à la 5 resynchronisation, par le biais du message d'acquittement. Si jamais aucun message n'est transmis entre un parent et son enfant pendant une certaine période de temps, dans aucune des directions, les systèmes synchronisés forcent en général un paquet de service dont la seule finalité est d'éviter la dérive de synchronisation. On peut alors faire 10 l'hypothèse d'un système entièrement synchronisé dans lequel les erreurs de synchronisation ne dépassent pas certaines limites. La structure de timeslot permet de tolérer cette erreur maximale de synchronisation. Le mécanisme de séquencement temporel doit être défini pour établir quand un noeud est autorisé à transmettre un paquet à destination 15 de son parent ou de l'un de ses enfants, et sur quel canal, si le réseau dispose de plusieurs canaux radios indépendants. Il s'agit alors de déterminer sur quel timeslot et sur quels canaux radios, les transmissions d'un noeud vers son parent ou l'un de ses enfants sont autorisées, la combinaison d'une unité de temps (le « timeslot ») avec un canal radio 20 étant couramment désignée par le terme de cellule (« cell » en anglais). La figure 2 permet d'illustrer sur une structure de trame contenant une pluralité d'unités de temps, quelles cellules autorisent sur quel canal radio, des communications bidirectionnelles entre un noeud parent 'Y et l'un de ses noeuds enfants 'X' pour assurer des communications 25 exemptes de collisions, tout en minimisant la latence de bout en bout. L'homme du métier convient que la notion de cellule peut faire référence à un canal radio « logique » plutôt que « physique ». En supposant par exemple la disponibilité de 16 canaux radio, il est possible d'attribuer des canaux logiques allant de 0 à 15, et supposer que le choix du canal physique utilisé sera fonction du canal logique, et d'une fonction 6 3066348 particulière de « sauts de fréquence » (« frequency hoping » en anglais), selon une équation de type : canalphysique-(canal logique + fh(timeslot))%16 étant entendu que les canaux physiques sont eux aussi repérés 5 par des indexes allant de 0 à 15. Cette fonction de saut de fréquence est supposée pseudo aléatoire. Elle garantit par exemple qu'en cas de retransmissions, les retransmissions ne se font pas (sauf malchance) sur les mêmes canaux physiques, alors qu'elles peuvent se faire sur les mêmes canaux logiques. 10 Des solutions de mécanismes de séquencement sont connues. Par exemple, le mode « slotted ALOHA » qui consiste à utiliser les retransmissions ALOHA évoquées précédemment dans le contexte des réseaux asynchrones, et à les appliquer aux structures de trames des réseaux synchrones. Dans cette configuration, un noeud est autorisé à 15 émettre à tout moment. Si une collision (ou tout autre problème de transmission) est détectée par une absence d'acquittement, une retransmission est prévue dans une prochaine cellule. Le laps de temps aléatoire évoqué précédemment dans le contexte des réseaux asynchrones est alors un temps d'attente exprimé selon un nombre entier 20 et aléatoire de timeslots (dans la limite d'un nombre maximum). Cependant, les systèmes « slotted ALOHA » présentent peu d'avantages par rapport aux systèmes ALOHA pour réseaux asynchrones, et ils n'échappent pas aux deux inconvénients majeurs cités précédemment. D'autres approches existent comme le système Orchestra présenté 25 dans l'article de Duquennoy et al. « Orchestra : Robust Mesh Networks Through Autonomously Scheduled TSCH ». Cette solution s'intéresse aux réseaux conformes à la norme IEEE 802.15.4e qui définit une technologie standard pour réaliser des réseaux mesh synchrones. Elle s'appuie en particulier sur le mode TSCH « Time Slotted Channel Hopping » et 7 3066348 propose une méthode pour définir l'utilisation des cellules. Orchestra introduit typiquement 4 classes de cellules : - Les cellules partagées disponibles pour tous les noeuds ; - Les cellules partagées « basées sur le récepteur » : l'identification 5 de la cellule (le timeslot et le canal radio logique) est basée sur les caractéristiques du récepteur, par exemple son adresse MAC. Chaque noeud est en écoute sur sa (ou ses) propre(s) cellule(s) basée(s) sur le récepteur ; - Les cellules partagées « basées sur l'émetteur » : l'identification de 10 la cellule (le timeslot et le canal radio logique) est basée sur les caractéristiques de l'émetteur, par exemple son adresse MAC. Ce type de cellule peut être utilisé pour l'émission de trames « broadcast » locales ; et - Les cellules dédiées. 15 En pratique, l'approche Orchestra et son implémentation dans le système Open Source « Contiki-OS » n'exploite que les trois premières classes de cellules, et l'article établit que les performances de systèmes exploitant ces trois classes sont bien supérieures à celle des systèmes « slotted ALOHA ». Cependant, ces solutions ne visent pas à éradiquer 20 les collisions dans le réseau qui restent possibles du fait que deux noeuds enfants d'un même parent peuvent émettre simultanément un paquet vers la cellule basée sur le récepteur de ce noeud parent, de sorte que les latences de bout en bout restent non bornées. Ainsi bien qu'il existe la possibilité de principe de concevoir un 25 réseau mesh exempt de collisions, aucune méthode d'allocation de cellules n'est proposée pour minimiser la latence dans le contexte de tels réseaux. Les approches connues présentent un certain nombre d'inconvénients, en particulier aucune ne permet de proposer un système 8 3066348 exempt de collisions, dans lequel les latences pour les transmissions de paquet de bout en bout sont minimisées. Il existe alors le besoin d'une solution qui palie aux inconvénients des approches connues. La présente invention répond à ce besoin. 5 Résumé de l'invention Un objet de la présente invention est de proposer une solution de transmission de paquets de données dans un réseau mesh, qui soit exempte de collision et qui permet de garantir des latences bornées pour les communications de bout en bout. 10 Avantageusement, l'invention permet que les communications bénéficient de latences optimisées, compte-tenu de la contrainte d'absence de collisions. L'invention trouvera une application avantageuse dans les domaines industriels concevant des solutions de communications pour les 15 réseaux maillés sans fil, dans les contextes industriels où les aspects de garantie sur les performances sont importants, en particulier pour exploiter des technologies radio basées sur une couche MAC synchrone mettant en oeuvre des cellules, telle la technologie 802.15.4e (mode TSCH). Sont ainsi concernées par la présente invention, les applications 20 pour réseaux maillés de type smart grid, smart city, ou les alliances industrielles telle l'alliance WI-SUN (https://www.wi-sun.org/), ou encore les applications de type smart home, ou les alliances industrielles telle l'alliance Thread (http://threadgroup.org/). 25 Pour obtenir les résultats recherchés, un procédé et un dispositif sont proposés. En particulier, il est proposé un procédé mis en oeuvre par ordinateur pour transmettre des paquets de données dans un réseau maillé. Le réseau maillé a une fonctionnalité de routage en arbre définissant des chemins de routage entre un noeud central et une pluralité 9 3066348 de noeuds, un chemin de routage permettant à un noeud d'envoyer/de recevoir des données vers le/du noeud central en un certain nombre de bonds définissant le rang du noeud, le chemin de routage entre un noeud de rang 'n' et le noeud central de rang '0' étant constitué d'un ensemble 5 de liens radio entre noeuds voisins. Le procédé pour du trafic uplink d'émission de données vers le noeud central, comprend les étapes de : - générer une structure de trame comprenant un nombre prédéfini d'unités de temps indexées séquentiellement, une unité de temps permettant l'émission de données entre deux noeuds, et comprenant au 10 moins un canal radio de transmission, l'association d'une unité de temps avec un canal radio définissant une cellule de la trame ; - allouer pour le compte de chacun des noeuds de rang '1', une ou plusieurs cellules de la trame pour émettre des données d'un noeud vers le noeud central; et 15 - répéter rang par rang par récurrence jusqu'au rang maximum défini dans le réseau, l'étape d'allocation de cellules pour le compte de chacun des noeuds d'un même rang. L'étape d'allocation de cellules pour le compte de chacun des noeuds d'un même rang 'n' est faite noeud par noeud selon un ordre 20 arbitraire, et elle consiste à: - allouer des cellules lien radio par lien radio sur le chemin entre un noeud courant N et le noeud central, en commençant par le lien rattaché au noeud central, l'allocation de cellules sur un lien entre deux noeuds Ni et Nj consistant en une allocation jointe sur les noeuds Ni et Nj pour le 25 compte du noeud N, telle qu'à une cellule allouée en émission sur le noeud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le noeud Nj sur la même unité de temps et sur le même canal radio, une allocation jointe étant réalisée si : - une unité de temps est disponible dans le noeud Ni ; et 30 - la même unité de temps est disponible dans le noeud Nj ; et 10 3066348 - une cellule correspondante à l'unité de temps n'est allouée ni en émission ni en réception sur aucun canal radio à aucun des noeuds voisins du noeud Ni ayant un niveau de puissance en réception d'un signal radio reçu (RSSI) supérieur à un niveau minimum ; et 5 - la même cellule n'est allouée ni en émission ni en réception sur aucun canal radio à aucun des noeuds voisins du noeud Nj ayant un RSSI supérieur à un niveau minimum. Si pour un lien donné il existe plusieurs unités de temps 10 disponibles, la cellule qui est allouée pour le compte d'un noeud courant N, est celle ayant l'unité de temps d'index le plus élevé dans la trame. Pour du trafic downlink, en réception par un noeud du réseau de données du noeud central, le procédé comprend les étapes de : 15 - générer une structure de trame comprenant un nombre prédéfini d'unités de temps indexées séquentiellement, une unité de temps permettant l'émission de données entre deux noeuds, et comprenant au moins un canal radio de transmission, l'association d'une unité de temps avec un canal radio définissant une cellule de la trame ; 20 - allouer pour le compte de chacun des noeuds de rang '1', une ou plusieurs cellules de la trame pour recevoir des données du noeud central; et - répéter rang par rang par récurrence jusqu'au rang maximum défini dans le réseau, l'étape d'allocation de cellules pour le compte de 25 chacun des noeuds d'un même rang. L'étape d'allocation de cellules pour le compte de chacun des noeuds d'un même rang 'n' est faite noeud par noeud selon un ordre arbitraire, et elle consiste à: - allouer des cellules lien radio par lien radio sur le chemin entre le 30 noeud central et un noeud courant N, en commençant par le lien rattaché au noeud courant N, l'allocation de cellules sur un lien entre deux noeuds 11 3066348 Ni et Nj consistant en une allocation jointe sur les noeuds Ni et Nj pour le compte du noeud N, telle qu'à une cellule allouée en émission sur le noeud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le noeud Nj sur la même unité de temps et 5 sur le même canal radio, une allocation jointe étant réalisée si : - une unité de temps est disponible dans le noeud Ni ; et - la même unité de temps est disponible dans le noeud Nj ; et - une cellule correspondante à l'unité de temps n'est allouée ni en émission ni en réception sur aucun canal radio à aucun des noeuds 10 voisins du noeud Ni ayant un niveau de puissance en réception d'un signal radio reçu (RSSI) supérieur à un niveau minimum ; et - la même cellule n'est allouée ni en émission ni en réception sur aucun canal radio à aucun des noeuds voisins du noeud Nj ayant un RSSI supérieur à un niveau minimum. 15 Si pour un lien donné il existe plusieurs unités de temps disponibles, la cellule qui est allouée pour le compte d'un noeud courant N, est celle ayant l'unité de temps d'index le moins élevé dans la trame. 20 Selon des modes de réalisation du procédé en trafic uplink ou downlink : - le niveau minimum de RSSI est prédéfini comme étant le niveau pour qu'un noeud voisin soit susceptible de générer une collision ; 25 - comprend une étape supplémentaire pour communiquer les informations d'allocation de cellules, aux noeuds du réseau ; - comprend une étape initiale consistant à définir la topologie de l'arbre de routage pour le réseau maillé ; 30 12 3066348 - la structure de la trame contient une ou plusieurs cellules partagées entre plusieurs noeuds ; - la trame contient un nombre de cellules supérieur ou égal au 5 nombre de noeuds du réseau. - si pour un lien donné il n'existe pas d'unité de temps disponible, il n'y a pas de cellule allouée. 10 L'invention couvre aussi un dispositif pour transmettre des paquets de données dans un réseau maillé comprenant des moyens pour mettre en oeuvre les étapes du procédé revendiqué. L'invention peut être implémentée dans un réseau maillé 15 comprenant un noeud central et une pluralité de noeuds aptes à envoyer et recevoir des données pendant des unités de temps allouées. Le réseau maillé peut être conforme à la norme IEEE 802.15 4e en mode TSCH MAC. 20 L'invention peut opérer sous la forme d'un produit programme d'ordinateur qui comprend des instructions de code permettant d'effectuer les étapes du procédé revendiqué lorsque le programme est exécuté sur un ordinateur. Description des figures 25 Différents aspects et avantages de l'invention vont apparaitre en appui de la description d'un mode préféré d'implémentation de l'invention mais non limitatif, avec référence aux figures ci-dessous : La figure 1 illustre un environnement de réseau maillé permettant d'opérer le procédé de l'invention ; 13 3066348 La figure 2 illustre sur une structure de trame, des cellules autorisant sur un canal radio, des communications bidirectionnelles entre un noeud parent et un noeud enfant; La figure 3 montre un exemple de structure de trame permettant de 5 mettre en oeuvre le procédé de l'invention selon un mode de réalisation ; La figure 4 montre un enchainement d'étapes permettant de mettre en oeuvre une transmission de données selon un mode de réalisation de l'invention ; Les figures 5a à 5f montrent les différentes étapes d'allocation de cellules 10 selon un mode de réalisation de l'invention ; La figure 6 est une capture d'écran qui montre graphiquement l'allocation de cellules pour un noeud selon un mode de réalisation de l'invention. Description détaillée de l'invention 15 D'une manière générale, le procédé de l'invention consiste à mettre en oeuvre dans un réseau maillé (100) tel que celui de la figure 1, un mécanisme de séquencement temporel et fréquentiel des transmissions de paquets de données, qui garantit l'absence de collisions lors des transmissions de paquets, tout en minimisant la latence de 20 transmission. Le procédé est opéré au niveau d'une entité centrale qui connait la topologie du réseau en termes de relations parents-enfants et aussi en termes de proximité « radio » entre les noeuds susceptibles de générer des conditions de collisions. Sur la base de cette connaissance, l'entité détermine selon le mode opératoire de l'invention, les cellules qui 25 sont autorisées pour les communications bidirectionnelles entre chaque noeud et son parent, de façon à éviter toute collision dans le réseau, et à minimiser la latence de transmission de paquets de bout en bout, puis transmet les informations à l'ensemble des noeuds. 14 3066348 L'entité centrale peut être typiquement une machine dans le réseau Internet (102) qui peut communiquer avec l'ensemble des noeuds du réseau maillé via le noeud passerelle. Dans une variante de réalisation, l'entité centrale peut consister dans un module fonctionnel du noeud 5 passerelle 'C'. Référence est faite à la figure 3 qui montre un exemple d'une structure de trame permettant de mettre en oeuvre le procédé de l'invention dans un réseau maillé tel que celui de la figure 1. Pour des raisons de clarté de l'exposé, il est supposé que les noeuds produisent 10 une mesure à chaque trame, et le procédé est opéré pour attribuer une cellule dédiée pour remonter cette mesure. Pour des raisons de simplicité de l'exposé, il est aussi supposé que le nombre de noeuds dans le réseau n'est pas susceptible de dépasser 1080, et qu'un certain nombre des cellules sont partagées par tous les noeuds, et 15 gérées dans le mode « slotted ALOHA », afin de permettre une communication dans le réseau nécessaire à la mise en place d'autres types de cellules. Dans l'exemple montré sur la figure 3, la structure de trame est constituée de 1200 timeslots (0 à 1199). Par hypothèse non limitative, 20 120 timeslots sont utilisés pour des cellules partagées (cellules grisées) et les 1080 timeslots restants sont alors disponibles pour devenir des cellules dédiées (cellules blanches), et 16 canaux radio logiques (0 à 15) sont disponibles. L'exemple décrit couvre l'aspect « uplink », c'est à dire la remontée 25 de mesures des noeuds vers la passerelle. La structure de trame compte au moins un timeslot par noeud dans le réseau mesh. Avantageusement, le procédé peut permettre de fixer un nombre maximum de noeuds que le réseau n'est pas sensé dépasser afin que l'entité centrale ne soit pas contrainte de reconfigurer le réseau avec une nouvelle structure de trame, 15 3066348 par exemple si le réseau s'étend, car la mise en oeuvre d'un nouveau noeud nécessiterait l'adoption d'une structure de trame plus longue. Dans un mode de réalisation de la présente invention, l'entité centrale en charge d'exécuter le procédé d'allocation des cellules, peut 5 adapter la taille de la trame utilisée en fonction du nombre de noeuds présents dans le réseau de manière à s'assurer que le nombre de cellules est toujours supérieur ou égal au nombre de noeuds. Il est à noter que toute adaptation de la taille de la trame entraine alors une reconfiguration de l'allocation des cellules pour l'ensemble du réseau. 10 Le procédé nouveau de l'invention consiste en l'allocation aux noeuds d'un réseau maillé, de cellules dédiées pour permettre la transmission de données sans collision en minimisant la latence de bout en bout. Les étapes d'allocation des cellules présupposent la préexistence d'une topologie de routage. La figure 4 montre les étapes 15 générales permettant la mise en oeuvre du procédé d'allocation de cellules. Une étape préliminaire (410) consiste à collecter des informations sur le réseau afin de construire une base de données disponible pour l'entité centrale. Cette étape qui peut être réalisée selon différentes variantes n'est pas décrite en détail, mais elle permet à l'entité 20 centrale d'avoir accès à des données représentant chaque noeud existant du réseau, comme : - l'identifiant unique du noeud ; - la liste de tous les identifiants des noeuds voisins qui sont vus par le noeud en question, ou noeuds dits sous couverture 25 opérationnelle ; - la liste des « RSSI » moyens attachés aux noeuds voisins. Le RSSI (Received Signal Strength Indication en anglais) donne une mesure de la puissance en réception d'un signal radio reçu. 16 3066348 Pour collecter ces informations, une phase préliminaire peut consister en des émissions aléatoires de paquets de service par tous les noeuds du réseau avec inclusion de l'identifiant unique du noeud dans les messages émis. Chaque noeud observe les signaux émis par ses voisins 5 visibles et établit la liste des voisins associés avec le RSSI moyen attaché à ce voisin. Puis les informations recueillies sont communiquées vers l'entité de contrôle du réseau et vers le noeud passerelle. Le protocole de communication peut être par exemple un protocole par dissémination. L'étape suivante (412) consiste à établir l'arbre de routage. Dans 10 une implémentation, l'entité centrale pour opérer le procédé d'allocation de cellules aura préalablement connaissance de la topologie de routage. Dans une variante de réalisation, l'entité centrale peut prendre en charge à la fois la détermination de la topologie de routage et l'attribution des cellules. Cette option nécessite une procédure d'enregistrement des 15 noeuds dans le réseau, qui doit passer par la notion de noeud médiateur. Il s'agit d'un noeud déjà enregistré dans le réseau et connu de l'entité centrale. Lorsqu'un nouveau noeud est mis en service (noeud candidat), il doit avoir en visibilité directe au moins un noeud déjà enregistré dans le réseau, qui est susceptible de lui servir de médiateur. Il entre en 20 communication directe avec ce noeud médiateur pour lui fournir toutes les informations dont l'entité centrale a besoin pour l'intégrer au réseau : l'identifiant du noeud (par exemple son adresse MAC) et l'identification de l'ensemble des noeuds du réseau qui sont en visibilité du noeud candidat, ainsi que l'indication des puissances reçues pour tous ces voisins. Ces 25 informations sont alors communiquées par le noeud médiateur à l'unité centrale. L'entité centrale peut alors prendre en compte l'intégration d'un nouveau noeud dans le réseau, et communiquer au noeud candidat les informations qui lui permette de s'intégrer au réseau, à savoir l'identifiant de son parent, éventuellement le ou les identifiants de ses enfants, et les 30 éventuelles cellules dédiées qu'il souhaite activer dans ce noeud. Par ailleurs l'entité centrale est aussi susceptible de communiquer une 17 3066348 nouvelle configuration à un certain nombre d'autres noeuds, pour tenir compte de l'intégration d'un nouveau noeud dans le réseau. Dans l'hypothèse de la mise en place de tout un réseau, un processus itératif dans lequel les noeuds s'inscrivent progressivement au 5 réseau en partant de la passerelle et en se propageant à partir de celle-ci, doit être mis en place. La passerelle sert de médiateur pour inscrire les noeuds de rang 1. Puis les noeuds de rang 1 servent de médiateurs pour inscrire les noeuds de rang 2, et coetera. Bien qu'un noeud qui joue le rôle de médiateur pour un noeud candidat puisse par la suite devenir le parent 10 de ce noeud candidat, il ne s'agit pas du tout d'une obligation et l'entité centrale reste maître du choix des noeuds parents. Optionnellement, l'entité centrale peut maintenir à jour sa vue de l'état des noeuds dans le réseau, c'est-à-dire connaitre pour chaque noeud, tout changement dans la liste de ses noeuds en visibilité (les voisins) et/ou dans les puissances 15 reçues de voisins qui seraient susceptibles d'introduire une reconfiguration de l'arbre de routage par l'entité centrale. Pour ce faire, l'entité centrale peut par exemple maintenir une signalisation régulière avec chacun des noeuds afin de collecter ces informations et anticiper toute reconfiguration éventuelle de l'arbre de routage. Ainsi, à titre 20 d'exemple, toute dégradation de la connectivité d'un noeud avec son parent pourrait entrainer une reconfiguration de l'arbre de routage (et par conséquent de l'allocation des cellules pour certains noeuds du réseau) afin de préserver une bonne connectivité pour le noeud en lui associant un nouveau parent. Si un noeud perd soudainement toute connectivité 25 avec son parent sans que l'entité centrale n'ait pu en être informée à l'avance, le noeud peut re-exécuter la procédure d'enregistrement dans le réseau (via un noeud médiateur) afin que l'entité centrale détecte le problème et réassigne à ce noeud un nouveau parent tout en reconfigurant l'allocation des cellules pour prendre en charge ce noeud, 30 c'est-à-dire relâcher les cellules préalablement associées à ce noeud, et rétablir les nouvelles cellules. 18 3066348 L'étape de calcul de routage peut être réalisée selon différentes variantes mais permet de : choisir un seuil d'opération sur la puissance reçue RSSI minimum pour établir les communications parent-enfant, tel qu'aucune 5 relation parent-enfant ne sera établie entre 2 noeuds A et B si le RSSI de A reçu par B est inférieur au RSSI minimum ou bien si le RSSI de B reçu par A est inférieur à ce minimum ; établir l'ensemble des noeuds de rang 1 qui sont sous couverture de la passerelle et qui satisfont le RSSI minimum ; ce sont les 10 noeuds qui voient la passerelle avec une puissance supérieure ou égale au seuil d'opération ; établir l'ensemble des noeuds de rang 2 qui sont sous couverture d'au moins un noeud de rang 1 et respectant le RSSI minimum ; établir les ensembles des noeuds de rang N par récurrence à partir 15 des noeuds de rang N-1 ; arrêter le processus lorsque l'ensemble des noeuds de rang « RANG MAX+1 » est vide. Le rang « RANG_MAX » est alors le rang maximum dans le réseau. Si des noeuds n'ont pas été intégrés à un ensemble de rang N, ces 20 noeuds sont considérés comme injoignables, compte-tenu de la contrainte de RSSI minimal. Il est à noter que le noeud parent des noeuds de rang 1 est le noeud passerelle. Ainsi pour chaque noeud de rang N>1, le procédé attribue comme noeud parent, le noeud qui est de rang N-1, qui fait partie de la liste des voisins et satisfait le critère de RSSI minimum, et pour 25 lequel le plus grand RSSI parmi les RSSI des noeuds de tous les ancêtres sur le chemin vers la passerelle est minimum. La mise en place de l'arbre de routage permet d'ajouter dans la base de données des informations supplémentaires qui sont, pour chaque noeud : 19 3066348 le rang du noeud ; et l'identifiant de son noeud parent (sauf pour le noeud passerelle qui n'a pas de parent). En définissant des endroits fixes pour les cellules partagées, une 5 communication avec les noeuds du réseau est toujours possible via les cellules partagées, et cela peut être exploité pour mettre en oeuvre des cellules dédiées. Dans cette configuration où des cellules partagées sont disponibles, un protocole de routage dynamique (par exemple le protocole RPL) peut être utilisé sur ces cellules partagées pour construire 10 l'arbre de routage. L'entité centrale qui est en charge d'opérer le procédé d'allocation des cellules, peut alors découvrir l'arbre de routage en interrogeant tous les noeuds du réseau pour connaitre leur parent respectif, ou encore en interrogeant uniquement la passerelle dans les cas où celle-ci dispose d'une vision globale de l'arbre (par exemple avec 15 le protocole RPL en mode « non-storing »). Une fois la fonctionnalité de routage établie, le procédé d'allocation de cellules peut être opéré (414). Les étapes d'allocation de cellules sont décrites en référence aux figures 5a à 5f, et permettent de compléter la base de données avec des tables d'utilisation des cellules. Les tables 20 sont des quadruplets de longueur « longueur table = nSlots » qui définissent : - le mode : « Partagé » ou « Dédié Récepteur » ou « Dédié Transmetteur » ; - l'identifiant du noeud appairé (sauf pour le mode partagé) ; 25 - le canal logique ; et - l'identifiant du noeud propriétaire de la cellule (sauf pour le mode partagé). Une fois le procédé d'allocation de cellules achevé, la configuration complète du réseau peut être disséminée (416) dans le réseau. Lorsque 20 3066348 les noeuds reçoivent la configuration du réseau, ils extraient la configuration les concernant. D'une manière générale, l'allocation des cellules consiste à fixer la structure de trame et en particulier le nombre de timeslots dans la trame. 5 Celui-ci doit être au moins égal au nombre de noeuds joignables. Tel que montré sur le diagramme d'étapes de la figure 5a, l'allocation des cellules en mode uplink pour la remontée de mesures des noeuds vers la passerelle est faite rang par rang, en commençant par le rang 1 (502) jusqu'au rang le plus élevé. L'allocation des cellules pour 10 toutes les cellules d'un rang courant est faite noeud par noeud (504). Si les allocations sont réalisées pour tous les noeuds du rang 1 (506), le procédé vérifie si le rang maximum du réseau est atteint (508), et si non, passe au rang supérieur (510) pour traiter les allocations noeud par noeud, pour les noeuds de rang 2, et coetera, par récurrence jusqu'aux 15 noeuds de rang maximum (rang_max). L'allocation des cellules pour les noeuds d'un rang donné (504) est faite noeud par noeud selon un ordre arbitraire (figure 5b). Le procédé permet de choisir un noeud N non encore traité, de rang égal au « rang_courant » (602), puis de procéder aux allocations de cellules pour 20 le compte de ce noeud (604). Si les allocations sont réalisées avec succès (606, branche oui), le procédé vérifie s'il reste des noeuds du rang courant non encore traités (608) et si oui reboucle sur l'étape de sélection arbitraire d'un noeud non encore traité (602), ou alors le procédé d'allocation noeud par noeud stoppe (608, branche non). 25 L'allocation des cellules pour le compte d'un noeud de rang donné (figure 5c) est faite lien radio par lien radio sur le chemin entre ce noeud et la passerelle, chaque lien radio étant défini entre deux noeuds dont l'un joue le rôle d'enfant et l'autre joue le rôle de parent. Pour du trafic uplink à destination de la passerelle, le procédé débute l'allocation lien par lien en 30 commençant par le lien rattaché à la passerelle. Pour du trafic 21 3066348 « downlink » à destination d'un noeud de rang donné, le procédé débute l'allocation lien par lien, par le lien radio rattaché à ce noeud. Dans l'exemple choisi, la passerelle joue le rôle de parent pour un noeud enfant de rang 1 rattaché par un lien radio à la passerelle (702). 5 Pour un noeud courant N, le procédé permet de faire les allocations pour le compte de ce noeud N, d'abord sur la passerelle Ni et sur un noeud N2 de rang 1 (704), puis de vérifier si les allocations sont oui ou non réalisées avec succès (706). Quand les allocations pour le noeud N2 de rang 1 sont réalisées avec succès, le procédé vérifie (708) si le noeud 10 courant N qui est traité est un noeud de rang 1 et si oui s'arrête, ou bien le procédé permet de passer à l'allocation de cellules pour le compte d'un noeud de rang supérieur, qui est sur le chemin du noeud N à la passerelle (710), et poursuit ainsi les allocations parent-enfant jusqu'au rang du noeud courant. 15 L'allocation de cellules parent-enfant pour un lien donné consiste à identifier dans la trame un timeslot disponible (figure 5d). Les timeslot de la trame étant indexés (802), la recherche d'un timeslot se fait index par index en partant de l'index maximum en trafic uplink ou bien en partant de l'index minimum en trafic downlink, en respectant les contraintes 20 suivantes : - le timeslot d'index courant ne doit pas être déjà utilisé, ni dans le noeud parent, ni dans le noeud enfant (804). Si le timeslot est déjà utilisé (branche oui), le procédé passe au timeslot d'index suivant (808, 810). Si le timeslot d'index courant n'est pas déjà utilisé 25 (branche non), - le procédé détermine si pour ce timeslot disponible, l'index est éligible (806) et s'il est possible de trouver une cellule de la trame pour laquelle : 22 3066348 - aucun noeud sous la couverture du noeud parent n'utilise cette cellule, que ce soit en mode réception ou en mode émission ; et - aucun noeud sous la couverture du noeud enfant n'utilise 5 cette cellule, que ce soit en mode réception ou en mode émission. La vérification de l'éligibilité de l'index du timeslot disponible (figure 5e) consiste à vérifier (904) l'éligibilité de l'index et d'un canal logique, en démarrant par le premier canal logique (902) jusqu'au canal logique 10 d'index maximum (906, 908). La vérification de l'éligibilité de l'index et d'un canal logique (figure 5f) consiste à déterminer (1002) parmi les noeuds voisins du noeud parent qui ont un RSSI supérieur à un niveau minimum de RSSI pour qu'un noeud voisin soit susceptible de générer une collision 15 « RSSI_Min_Collision », s'il en existe un qui utilise déjà ce canal logique et cet index. Si ce canal logique et cet index ne sont pas utilisés (non de 1002) dans ces conditions, le procédé permet de déterminer (1004) parmi les noeuds voisins du noeud enfant qui ont un RSSI supérieur à « RSSI_Min_Collision » s'il en existe un qui utilise déjà ce canal logique 20 et cet index. Si ce canal logique et cet index ne sont pas utilisés (non de 1004) dans ces conditions, le procédé permet de faire les allocations prévues (812). Si plusieurs timeslots sont éligibles car répondant aux contraintes, le procédé sélectionne le timeslot d'index maximum en trafic uplink, et le 25 timeslot d'index minimum en trafic downlink. Si aucun timeslot disponible n'est trouvé ou si aucune cellule répondant aux critères ci-dessus n'est trouvée, la procédure complète d'allocation des cellules dans le réseau se termine sur un échec. 3066348 23 Avantageusement, le procédé de l'invention permet d'éviter plusieurs types de collisions. En effet, les communications sur les liens radios sont typiquement acquittées, et il est possible d'observer des collisions sur les acquittements alors même que la transmission du 5 message se fait sans collision. Les contraintes pour identifier et sélectionner des timeslot incluses dans le procédé permettent d'intégrer ces deux types de collisions. La figure 6 est une capture d'écran qui illustre un exemple d'allocation de cellules par application du procédé de l'invention en 10 simulation. L'exemple est pour l'allocation des cellules pour un noeud qui est représenté dans le réseau maillé au centre de deux disques concentriques, un disque opérationnel et un disque de visibilité. Le rayon du disque opérationnel représente la couverture opérationnelle du réseau, c'est-à-dire que des noeuds qui sont sous cette couverture peuvent être 15 associés dans des liens opérationnels parent-enfant avec le noeud sélectionné. Aucun lien parent-enfant n'est établi entre deux noeuds si la distance qui les sépare est supérieure au rayon de ce disque. Le rayon du disque de visibilité représente la visibilité, c'est-à-dire que le noeud au centre de ce cercle voit tous les noeuds sous couverture de ce disque et 20 est donc susceptible de recevoir des interférences venant de ces noeuds. Cependant, certain noeuds visibles, ceux qui sont dans le disque de visibilité mais pas dans le disque opérationnel, restent inéligibles pour établir des liens parent-enfant. Avantageusement, le simulateur permet de définir des rayons 25 configurables, et prend en charge à la fois la construction de la topologie de routage et l'allocation des cellules. Sur l'exemple, le noeud sélectionné pour lui allouer des cellules est le noeud '79' qui est de rang 3 et son parent est le noeud '558'. Il est indiqué que le noeud sélectionné a 15 noeuds sous couverture opérationnelle et 40 noeuds sous visibilité. La 30 capture d'écran montre en zoom, une partie de la structure de 24 3066348 trame allant des timeslots 220 à 239. La trame dans son ensemble est représentée en-dessous sous la forme d'une matrice dans laquelle chaque ligne représente une portion de 100 timeslots dans la trame. La zone sur laquelle le zoom est réalisé (les timeslots allant de 220 à 239) 5 est représentée sur la matrice par un rectangle foncé. Sur les timeslots 220 à 239, il est montré que les timeslots 220 et 230 sont partagés, et que 4 cellules dédiées ont été attribuées dans la zone 220 à 230, à savoir les cellules situées aux timeslots 221, 222, 223 et 224. Les cellules aux timeslots 221 et 223 sont des cellules en mode 10 réception, les cellules aux timeslots 222 et 224 sont des cellules en mode émission. La première ligne du zoom indique les valeurs de timeslots (220 à 239). La seconde ligne indique l'identifiant du noeud enfant ou parent que l'on écoute ou vers lequel on émet. Ainsi, pour les cellules 222 et 224, le noeud parent est le noeud '558' et le noeud enfant est le noeud 15 '810'. La troisième ligne du zoom indique le canal radio logique. Ainsi pour les cellules 221 et 222 le canal radio logique est le canal '1', et pour les cellules 223 et 224, le canal radio logique est le canal '0'. La quatrième ligne du zoom indique l'identifiant du noeud pour le compte de qui les cellules sont attribuées. Ainsi, les timeslots 221 et 222 sont 20 utilisés pour le compte du noeud '336', les timeslots 223 et 224 sont utilisés pour le compte du noeud '335'. Le noeud '79' sélectionné sert donc de routeur pour le compte des noeuds 335 et 336. Il sert de routeur aussi pour d'autres noeuds, mais le zoom représenté ne le montre pas, par contre la vision d'ensemble de la trame le montre bien. L'exemple montre 25 une optimisation des aspects latence. En effet, un paquet au compte du noeud '336' est reçu au timeslot 221 et réexpédié au timeslot 222. De même, un paquet pour le compte du noeud '335' est reçu au timeslot 223 et réexpédié au timeslot 224. Dans les deux cas, le paquet relayé ne demeure pas plus d'un time slot dans le noeud sélectionné qui sert de 30 noeud relais, ce qui correspond à la performance optimale. Une simulation réalisée avec les attributions de cellules, calculées pour le réseau tel que 25 3066348 représenté sur la capture d'écran, a établi qu'aucune collision n'est observée dans le réseau, même lorsque la capacité maximale est atteinte, c'est-à-dire que l'utilisation de la passerelle est très proche de 100% du temps, et a établi que les performances en matière de latence 5 de bout en bout sont très bonnes. En particulier la délivrance d'une mesure produite par un noeud n'excède jamais la durée d'une trame quand les conditions radios sont satisfaisantes. Comme expliqué précédemment, le procédé d'allocation de cellules doit être réalisé de nouveau après tout évènement susceptible de 10 modifier les caractéristiques du réseau, tel que : - la mise en service de nouveaux noeuds ; - l'arrêt de noeuds (par épuisement de la batterie, panne,...) ; - des modifications de l'environnement affectant les notions de proximité radio (telles que de nouvelles constructions urbaines, 15 une évolution de la végétation, ...). L'entité centrale doit alors communiquer la nouvelle configuration du réseau aux noeuds impactés. Une description détaillée a été faite pour présenter les principes de l'invention sur un mode de transmission uplink des noeuds du réseau vers 20 le noeud central, mais ceux-ci sont adaptables et applicables pour un mode de transmission downlink du noeud central vers les noeuds du réseau. L'homme du métier convient que l'invention peut s'implémenter à partir d'éléments matériel et/ou logiciel. Elle peut être disponible en tant 25 que produit programme d'ordinateur sur un support lisible par ordinateur. Le support peut être électronique, magnétique, optique, électromagnétique ou être de type infrarouge. De tels supports sont par exemple, des mémoires à semi-conducteur (Random Access Memory RAM, Read-Only Memory ROM), des bandes, des disquettes ou disques 26 3066348 magnétiques ou optiques (Compact Disk - Read Only Memory (CD-ROM), Compact Disk - Read/VVrite (CD-R/VV) and DVD). 27 REVENDICATIONS1. Un procédé mis en oeuvre par ordinateur pour transmettre des paquets de données dans un réseau maillé, le réseau maillé ayant une fonctionnalité de routage en arbre définissant des chemins de routage entre un noeud central et une pluralité de noeuds, un chemin de routage permettant à un noeud d'envoyer/de recevoir des données vers le/du noeud central en un certain nombre de bonds définissant le rang dudit noeud, le chemin de routage entre un noeud de rang 'n' et le noeud central de rang '0' étant constitué d'un ensemble de liens radio entre noeuds voisins, le procédé comprenant les étapes de : - générer une structure de trame comprenant un nombre prédéfini d'unités de temps indexées séquentiellement, une unité de temps permettant l'émission de données entre deux noeuds, et comprenant au moins un canal radio de transmission, l'association d'une unité de temps avec un canal radio définissant une cellule de la trame ; - allouer pour le compte de chacun des noeuds de rang '1', une ou plusieurs cellules de la trame pour émettre des données d'un noeud vers le noeud central; - répéter rang par rang par récurrence jusqu'au rang maximum défini dans le réseau, l'étape d'allocation de cellules pour le compte de chacun des noeuds d'un même rang; l'étape d'allocation de cellules pour le compte de chacun des noeuds d'un même rang 'n' étant faite noeud par noeud selon un ordre arbitraire, et consistant à: - allouer des cellules lien radio par lien radio sur le chemin entre un noeud courant N et le noeud central, en commençant par le lien rattaché au noeud central, l'allocation de cellules sur un lien entre deux noeuds Ni et Nj consistant en une allocation jointe 28 3066348 sur les noeuds Ni et Nj pour le compte du noeud N, telle qu'à une cellule allouée en émission sur le noeud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le noeud Nj sur la même unité de temps et sur le 5 même canal radio, une allocation jointe étant réalisée si : - une unité de temps est disponible dans le noeud Ni ; et - la même unité de temps est disponible dans le noeud Nj ; et - une cellule correspondante à l'unité de temps n'est allouée ni en émission ni en réception sur aucun canal radio à 10 aucun des noeuds voisins du noeud Ni ayant un niveau de puissance en réception d'un signal radio reçu (RSSI) supérieur à un niveau minimum ; et - la même cellule n'est allouée ni en émission ni en réception sur aucun canal radio à aucun des noeuds voisins du noeud 15 Nj ayant un RSSI supérieur à un niveau minimum. 2. Le procédé selon la revendication 1 dans lequel, si pour un lien donné il existe plusieurs unités de temps disponibles, la cellule qui est allouée pour le compte d'un noeud courant N, est celle ayant l'unité de 20 temps d'index le plus élevé dans la trame. 3. Un procédé mis en oeuvre par ordinateur pour transmettre des paquets de données dans un réseau maillé, le réseau maillé ayant une fonctionnalité de routage en arbre définissant des chemins de 25 routage entre un noeud central et une pluralité de noeuds, un chemin de routage permettant à un noeud d'envoyer/de recevoir des données vers le/du noeud central en un certain nombre de bonds définissant le rang dudit noeud, le chemin de routage entre un noeud de rang 'n' et le noeud central de rang '0' étant constitué d'un ensemble de liens radio 30 entre noeuds voisins, le procédé comprenant les étapes de : 29 3066348 - générer une structure de trame comprenant un nombre prédéfini d'unités de temps indexées séquentiellement, une unité de temps permettant l'émission de données entre deux noeuds, et comprenant au moins un canal radio de transmission, l'association 5 d'une unité de temps avec un canal radio définissant une cellule de la trame ; - allouer pour le compte de chacun des noeuds de rang '1', une ou plusieurs cellules de la trame pour recevoir sur un noeud des données du noeud central; 10 - répéter rang par rang par récurrence jusqu'au rang maximum défini dans le réseau, l'étape d'allocation de cellules pour le compte de chacun des noeuds d'un même rang; l'étape d'allocation de cellules pour le compte de chacun des noeuds d'un même rang 'n' étant faite noeud par noeud selon un ordre 15 arbitraire, et consistant à: - allouer des cellules lien radio par lien radio sur le chemin entre le noeud central et un noeud courant N, en commençant par le lien rattaché au noeud courant N, l'allocation de cellules sur un lien entre deux noeuds Ni et Nj consistant en une allocation 20 jointe sur les noeuds Ni et Nj pour le compte du noeud N, telle qu'à une cellule allouée en émission sur le noeud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le noeud Nj sur la même unité de temps et sur le même canal radio, une allocation jointe étant 25 réalisée si : - une unité de temps est disponible dans le noeud Ni ; et - la même unité de temps est disponible dans le noeud Nj ; et - une cellule correspondante à l'unité de temps n'est allouée ni en émission ni en réception sur aucun canal radio à 30 aucun des noeuds voisins du noeud Ni ayant un niveau de 30 3066348 puissance en réception d'un signal radio reçu (RSSI) supérieur à un niveau minimum ; et - la même cellule n'est allouée ni en émission ni en réception sur aucun canal radio à aucun des noeuds voisins du noeud 5 Nj ayant un RSSI supérieur à un niveau minimum. 4. Le procédé selon la revendication 3 dans lequel, si pour un lien donné il existe plusieurs unités de temps disponibles, la cellule qui est allouée pour le compte d'un noeud courant N, est celle ayant l'unité de 10 temps d'index le moins élevé dans la trame. 5. Le procédé selon l'une quelconque des revendications 1 à 4 dans lequel le niveau minimum de RSSI est prédéfini comme étant le niveau pour qu'un noeud voisin soit susceptible de générer une 15 collision. 6. Le procédé selon l'une quelconque des revendications 1 à 5 comprenant de plus une étape de communiquer les informations d'allocation de cellules, aux noeuds du réseau. 20 7. Le procédé selon l'une quelconque des revendications 1 à 6 comprenant une étape initiale consistant à définir la topologie de l'arbre de routage pour le réseau maillé. 25 8. Le procédé selon l'une quelconque des revendications 1 à 7 dans lequel la structure de la trame contient une ou plusieurs cellules partagées entre plusieurs noeuds. 31 3066348 9. Le procédé selon l'une quelconque des revendications 1 à 8 dans lequel la trame contient un nombre de cellules supérieur ou égal au nombre de noeuds du réseau. 5 10. Le procédé selon l'une quelconque des revendications 1 à 9 dans lequel il n'y a pas de cellule allouée, si pour un lien donné il n'existe pas d'unité de temps disponible. 11. Un dispositif pour transmettre des paquets de données dans un 10 réseau maillé comprenant des moyens pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 10. 12. Un réseau maillé comprenant un noeud central et une pluralité de noeuds aptes à envoyer et recevoir des données pendant des unités 15 de temps allouées, le réseau comprenant un dispositif selon la revendication 11. 13. Un réseau maillé conforme à la norme IEEE 802.154e en mode TSCH MAC comprenant un dispositif selon la revendication 11. 14. Un produit programme d'ordinateur, ledit programme d'ordinateur comprenant des instructions de code permettant d'effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 10, lorsque ledit programme est exécuté sur un ordinateur. 20 25