FR3066348A1 - Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille - Google Patents

Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille Download PDF

Info

Publication number
FR3066348A1
FR3066348A1 FR1754239A FR1754239A FR3066348A1 FR 3066348 A1 FR3066348 A1 FR 3066348A1 FR 1754239 A FR1754239 A FR 1754239A FR 1754239 A FR1754239 A FR 1754239A FR 3066348 A1 FR3066348 A1 FR 3066348A1
Authority
FR
France
Prior art keywords
node
nodes
rank
cell
cells
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
FR1754239A
Other languages
English (en)
Other versions
FR3066348B1 (fr
Inventor
Pierre Roux
Christophe Janneteau
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.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
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 Commissariat a lEnergie Atomique CEA, Commissariat a lEnergie Atomique et aux Energies Alternatives CEA filed Critical Commissariat a lEnergie Atomique CEA
Priority to FR1754239A priority Critical patent/FR3066348B1/fr
Priority to US16/611,197 priority patent/US20200162991A1/en
Priority to EP18724531.1A priority patent/EP3625992A1/fr
Priority to PCT/EP2018/062302 priority patent/WO2018210708A1/fr
Publication of FR3066348A1 publication Critical patent/FR3066348A1/fr
Application granted granted Critical
Publication of FR3066348B1 publication Critical patent/FR3066348B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

La présente invention concerne un procédé mis en œuvre par ordinateur pour transmettre des paquets de données dans un réseau maillé, qui est exempt de collision et qui permet de garantir des latences bornées pour les communications de bout en bout.

Description

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 nœuds dans lequel chaque nœud est susceptible de porter un (ou plusieurs) capteur ou actionneur, et de communiquer par radio avec d’autres nœuds 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 nœud central ou passerelle. Le nœud passerelle permet de relier le réseau de capteurs à un autre réseau englobant, typiquement l’Internet, et toute communication entre un nœud du réseau maillé et un nœud extérieur se fait nécessairement via le nœud 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 nœud 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 nœud peut aussi transmettre et/ou recevoir des paquets de données pour le compte d’un autre nœud à l’origine de la mesure ou à la destination de la commande. Afin de permettre les communications entre les nœuds et la passerelle, le réseau maillé offre une fonctionnalité de routage qui suppose une topologie en arbre entre les nœuds et la passerelle, comme illustré sur la figure 1. La topologie de routage permet d’attribuer un nœud parent à chaque nœud dans le réseau (100). Lorsqu’un nœud source, par exemple ‘X’ doit transmettre un paquet à la passerelle ‘C’ pour son propre compte ou pour le compte d’un autre nœud, il doit le transmettre à son nœud parent Ύ’. Le paquet arrive à la passerelle de proche en proche par bonds successifs selon un chemin de routage dans lequel chaque nœud intermédiaire Ύ, Z’ doit relayer le paquet vers son parent. Le nombre de bonds nécessaire pour rejoindre la passerelle est une caractéristique du nœud source qui est désignée comme étant le « rang » de ce nœud. Sur l’exemple illustré en figure 1, le nœud source ‘X’ est de rang 3.
Dans l’autre direction, lorsque des paquets doivent être acheminés de la passerelle vers un nœud particulier dans le réseau, la transmission se fait toujours bond par bond en transmettant le paquet vers un nœud enfant, en principe vers celui des nœuds enfants qui permet le meilleur acheminement, compte tenu du nœud destination. Dans cette direction, les nœuds peuvent être amenés à connaître la topologie du sous-réseau de leurs nœuds descendants, de façon à déterminer le nœud enfant vers lequel envoyer le paquet, compte tenu du nœud destination. Néanmoins dans des variantes d’implémentation, seul le nœud passerelle a connaissance de la topologie sous-réseau, et l’information exhaustive de la route à suivre pour atteindre le nœud cible est incorporée par le nœud 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 nœud peut émettre, et sur quel canal radio pour les cas où le réseau est déployé sur plusieurs canaux et non un seul. La possibilité d’émettre sur plusieurs 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 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 œuvre d’aucune base de temps, les nœuds étant autorisés à transmettre à tout moment. Cependant, cette souplesse se traduit par des phénomènes de collisions : deux nœuds 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 nœuds destinataires (voire éventuellement l’unique nœud 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 CSMA « Carrier Sense Multiple Access » ou ALOHA. Ils consistent à mettre en œuvre 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 nœud voisin destinataire, ou bien à ce qu’un nombre maximum de retransmissions soit atteint. Pour éviter des phénomènes de collisions à répétition, les nœuds doivent attendre un laps de temps aléatoire avant de procéder à la retransmission. II devient alors peu probable que deux nœuds impliqués dans une première collision choisissent le même temps d’attente, et les retransmissions se font alors typiquement sans collisions.
Cependant, les systèmes asynchrones présentent des inconvénients, dont deux majeurs : - Ils ne garantissent pas une latence déterministe : la transmission d’un paquet sur plusieurs bonds peut donner lieu « par malchance » à de très nombreuses collisions, chacune d’elles entraînant 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 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 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 nœud passerelle peut jouer le rôle de source de synchronisation. La synchronisation du nœud passerelle peut être 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 œuvre 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 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 nœud vers un autre nœud 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 transmis d’un nœud parent vers un nœud enfant, le nœud 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 nœud enfant vers un nœud parent, peuvent elles aussi contribuer à la 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 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 nœud est autorisé à transmettre un paquet à destination 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. II s’agit alors de déterminer sur quel timeslot et sur quels canaux radios, les transmissions d’un nœud 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 é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 nœud parent Ύ et l’un de ses nœuds enfants ‘X’ pour assurer des communications 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 particulière de « sauts de fréquence » (« frequency hoping » en anglais), selon une équation de type : canal_physique=(canal_logique + fh(timeslot))%16 étant entendu que les canaux physiques sont eux aussi repérés 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.
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 nœud est autorisé à é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 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é 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 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 nœuds ; - Les cellules partagées « basées sur le récepteur » : l’identification 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 nœud 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 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.
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 les collisions dans le réseau qui restent possibles du fait que deux nœuds enfants d’un même parent peuvent émettre simultanément un paquet vers la cellule basée sur le récepteur de ce nœud 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 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 exempt de collisions, dans lequel les latences pour les transmissions de paquet de bout en bout sont minimisées. II existe alors le besoin d’une solution qui pâlie aux inconvénients des approches connues. La présente invention répond à ce besoin. 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.
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 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 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/).
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 nœud central et une pluralité de nœuds, un chemin de routage permettant à un nœud d’envoyer/de recevoir des données vers le/du nœud central en un certain nombre de bonds définissant le rang du nœud, le chemin de routage entre un nœud de rang ‘n’ et le nœud central de rang ‘0’ étant constitué d’un ensemble de liens radio entre nœuds voisins. Le procédé pour du trafic uplink d’émission de données vers le nœud 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 nœuds, 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 nœuds de rang Ί’, une ou plusieurs cellules de la trame pour émettre des données d’un nœud vers le nœud 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 chacun des nœuds d’un même rang. L’étape d’allocation de cellules pour le compte de chacun des nœuds d’un même rang ‘n’ est faite nœud par nœud selon un ordre arbitraire, et elle consiste à : - allouer des cellules lien radio par lien radio sur le chemin entre un nœud courant N et le nœud central, en commençant par le lien rattaché au nœud central, l’allocation de cellules sur un lien entre deux nœuds Ni et Nj consistant en une allocation jointe sur les nœuds Ni et Nj pour le compte du nœud N, telle qu’à une cellule allouée en émission sur le nœud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le nœud 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 nœud Ni ; et - la même unité de temps est disponible dans le nœud 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 nœuds voisins du nœud 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 nœuds voisins du nœud Nj ayant un RSSI supérieur à un niveau minimum.
Si pour un lien donné il existe plusieurs unités de temps disponibles, la cellule qui est allouée pour le compte d’un nœud 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 nœud du réseau de données du nœud central, le procédé 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 nœuds, 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 nœuds de rang ‘1’, une ou plusieurs cellules de la trame pour recevoir des données du nœud 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 chacun des nœuds d’un même rang. L’étape d’allocation de cellules pour le compte de chacun des nœuds d’un même rang ‘n’ est faite nœud par nœud selon un ordre arbitraire, et elle consiste à : - allouer des cellules lien radio par lien radio sur le chemin entre le nœud central et un nœud courant N, en commençant par le lien rattaché au nœud courant N, l’allocation de cellules sur un lien entre deux nœuds
Ni et Nj consistant en une allocation jointe sur les noeuds Ni et Nj pour le compte du nœud N, telle qu’à une cellule allouée en émission sur le nœud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le nœud 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 nœud Ni ; et - la même unité de temps est disponible dans le nœud 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 nœuds voisins du nœud 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 nœuds voisins du nœud Nj ayant un RSSI supérieur à un niveau minimum.
Si pour un lien donné il existe plusieurs unités de temps disponibles, la cellule qui est allouée pour le compte d’un nœud courant N, est celle ayant l’unité de temps d’index le moins élevé dans la trame.
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 nœud voisin soit susceptible de générer une collision ; - comprend une étape supplémentaire pour communiquer les informations d’allocation de cellules, aux nœuds du réseau ; - comprend une étape initiale consistant à définir la topologie de l’arbre de routage pour le réseau maillé ; - la structure de la trame contient une ou plusieurs cellules partagées entre plusieurs nœuds ; - la trame contient un nombre de cellules supérieur ou égal au nombre de nœuds 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. L’invention couvre aussi un dispositif pour transmettre des paquets de données dans un réseau maillé comprenant des moyens pour mettre en œuvre les étapes du procédé revendiqué. L’invention peut être implémentée dans un réseau maillé comprenant un nœud central et une pluralité de nœuds 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. 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
Différents aspects et avantages de l’invention vont apparaître 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 ;
La figure 2 illustre sur une structure de trame, des cellules autorisant sur un canal radio, des communications bidirectionnelles entre un nœud parent et un nœud enfant;
La figure 3 montre un exemple de structure de trame permettant de mettre en œuvre le procédé de l’invention selon un mode de réalisation ;
La figure 4 montre un enchaînement d’étapes permettant de mettre en œuvre 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 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 nœud selon un mode de réalisation de l’invention.
Description détaillée de l’invention D’une manière générale, le procédé de l’invention consiste à mettre en œuvre 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 transmission. Le procédé est opéré au niveau d’une entité centrale qui connaît la topologie du réseau en termes de relations parents-enfants et aussi en termes de proximité « radio » entre les nœuds 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 sont autorisées pour les communications bidirectionnelles entre chaque nœud 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 nœuds. 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 nœud passerelle. Dans une variante de réalisation, l’entité centrale peut consister dans un module fonctionnel du nœud passerelle ‘C’. Référence est faite à la figure 3 qui montre un exemple d’une structure de trame permettant de mettre en œuvre 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 nœuds produisent 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 nœuds 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 nœuds, et 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, 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 de mesures des nœuds vers la passerelle. La structure de trame compte au moins un timeslot par nœud dans le réseau mesh. Avantageusement, le procédé peut permettre de fixer un nombre maximum de nœuds 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, par exemple si le réseau s’étend, car la mise en œuvre d’un nouveau nœud 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 adapter la taille de la trame utilisée en fonction du nombre de nœuds 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 nœuds. II est à noter que toute adaptation de la taille de la trame entraîne alors une reconfiguration de l’allocation des cellules pour l’ensemble du réseau.
Le procédé nouveau de l’invention consiste en l’allocation aux nœuds 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 générales permettant la mise en œuvre 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é centrale d’avoir accès à des données représentant chaque nœud existant du réseau, comme : - l’identifiant unique du nœud ; - la liste de tous les identifiants des nœuds voisins qui sont vus par le nœud en question, ou nœuds dits sous couverture opérationnelle ; - la liste des « RSSI » moyens attachés aux nœuds voisins. Le RSSI (Received Signal Strength Indication en anglais) donne une mesure de la puissance en réception d’un signal radio reçu.
Pour collecter ces informations, une phase préliminaire peut consister en des émissions aléatoires de paquets de service par tous les nœuds du réseau avec inclusion de l’identifiant unique du nœud dans les messages émis. Chaque nœud observe les signaux émis par ses voisins 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 nœud 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 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 nœuds dans le réseau, qui doit passer par la notion de nœud médiateur. II s’agit d’un nœud déjà enregistré dans le réseau et connu de l’entité centrale. Lorsqu’un nouveau nœud est mis en service (nœud candidat), il doit avoir en visibilité directe au moins un nœud déjà enregistré dans le réseau, qui est susceptible de lui servir de médiateur. II entre en communication directe avec ce nœud médiateur pour lui fournir toutes les informations dont l’entité centrale a besoin pour l’intégrer au réseau : l’identifiant du nœud (par exemple son adresse MAC) et l’identification de l’ensemble des nœuds du réseau qui sont en visibilité du nœud candidat, ainsi que l’indication des puissances reçues pour tous ces voisins. Ces informations sont alors communiquées par le nœud médiateur à l’unité centrale. L’entité centrale peut alors prendre en compte l’intégration d’un nouveau nœud dans le réseau, et communiquer au nœud 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 éventuelles cellules dédiées qu’il souhaite activer dans ce nœud. Par ailleurs l’entité centrale est aussi susceptible de communiquer une nouvelle configuration à un certain nombre d’autres noeuds, pour tenir compte de l’intégration d’un nouveau nœud 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 nœuds s’inscrivent progressivement au 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 nœuds de rang 1. Puis les nœuds de rang 1 servent de médiateurs pour inscrire les nœuds de rang 2, et cætera. Bien qu’un nœud qui joue le rôle de médiateur pour un nœud candidat puisse par la suite devenir le parent de ce nœud candidat, il ne s’agit pas du tout d’une obligation et l’entité centrale reste maître du choix des nœuds parents. Optionnellement, l’entité centrale peut maintenir à jour sa vue de l’état des nœuds dans le réseau, c'est-à-dire connaître pour chaque nœud, tout changement dans la liste de ses nœuds en visibilité (les voisins) et/ou dans les puissances 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 nœuds afin de collecter ces informations et anticiper toute reconfiguration éventuelle de l’arbre de routage. Ainsi, à titre d’exemple, toute dégradation de la connectivité d’un nœud avec son parent pourrait entraîner une reconfiguration de l’arbre de routage (et par conséquent de l’allocation des cellules pour certains nœuds du réseau) afin de préserver une bonne connectivité pour le nœud en lui associant un nouveau parent. Si un nœud perd soudainement toute connectivité avec son parent sans que l’entité centrale n’ait pu en être informée à l’avance, le nœud peut re-exécuter la procédure d’enregistrement dans le réseau (via un nœud médiateur) afin que l’entité centrale détecte le problème et réassigne à ce nœud un nouveau parent tout en reconfigurant l’allocation des cellules pour prendre en charge ce nœud, c’est-à-dire relâcher les cellules préalablement associées à ce nœud, et rétablir les nouvelles cellules. 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 relation parent-enfant ne sera établie entre 2 nœuds 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 nœuds de rang 1 qui sont sous couverture de la passerelle et qui satisfont le RSSI minimum ; ce sont les nœuds qui voient la passerelle avec une puissance supérieure ou égale au seuil d’opération ; - établir l’ensemble des nœuds de rang 2 qui sont sous couverture d’au moins un nœud de rang 1 et respectant le RSSI minimum ; - établir les ensembles des nœuds de rang N par récurrence à partir des nœuds de rang N-1 ; - arrêter le processus lorsque l’ensemble des nœuds de rang « RANG_MAX+1 » est vide. Le rang « RANG_MAX » est alors le rang maximum dans le réseau.
Si des nœuds n’ont pas été intégrés à un ensemble de rang N, ces nœuds sont considérés comme injoignables, compte-tenu de la contrainte de RSSI minimal. II est à noter que le nœud parent des nœuds de rang 1 est le nœud passerelle. Ainsi pour chaque nœud de rang N>1, le procédé attribue comme nœud parent, le nœud qui est de rang N-1, qui fait partie de la liste des voisins et satisfait le critère de RSSI minimum, et pour lequel le plus grand RSSI parmi les RSSI des nœuds 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 nœud : - le rang du nœud ; et - l’identifiant de son nœud parent (sauf pour le nœud passerelle qui n’a pas de parent).
En définissant des endroits fixes pour les cellules partagées, une communication avec les nœuds du réseau est toujours possible via les cellules partagées, et cela peut être exploité pour mettre en œuvre 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 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 nœuds du réseau pour connaître 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 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 sont des quadruplets de longueur « longueur table = nSIots » qui définissent : - le mode : « Partagé » ou « Dédié Récepteur » ou « Dédié Transmetteur » ; - l’identifiant du nœud appairé (sauf pour le mode partagé) ; - le canal logique ; et - l’identifiant du nœud 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 les nœuds 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. Celui-ci doit être au moins égal au nombre de nœuds 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 nœuds 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 toutes les cellules d’un rang courant est faite nœud par nœud (504). Si les allocations sont réalisées pour tous les nœuds 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 nœud par nœud, pour les nœuds de rang 2, et cætera, par récurrence jusqu’aux nœuds de rang maximum (rang_max). L’allocation des cellules pour les nœuds d’un rang donné (504) est faite nœud par nœud selon un ordre arbitraire (figure 5b). Le procédé permet de choisir un nœud N non encore traité, de rang égal au « rang_courant » (602), puis de procéder aux allocations de cellules pour le compte de ce nœud (604). Si les allocations sont réalisées avec succès (606, branche oui), le procédé vérifie s’il reste des nœuds du rang courant non encore traités (608) et si oui reboucle sur l’étape de sélection arbitraire d’un nœud non encore traité (602), ou alors le procédé d’allocation nœud par nœud stoppe (608, branche non). L’allocation des cellules pour le compte d’un nœud de rang donné (figure 5c) est faite lien radio par lien radio sur le chemin entre ce nœud et la passerelle, chaque lien radio étant défini entre deux nœuds 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 commençant par le lien rattaché à la passerelle. Pour du trafic « downlink » à destination d’un nœud de rang donné, le procédé débute l’allocation lien par lien, par le lien radio rattaché à ce nœud.
Dans l’exemple choisi, la passerelle joue le rôle de parent pour un nœud enfant de rang 1 rattaché par un lien radio à la passerelle (702). Pour un nœud courant N, le procédé permet de faire les allocations pour le compte de ce nœud N, d’abord sur la passerelle N1 et sur un nœud 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 nœud N2 de rang 1 sont réalisées avec succès, le procédé vérifie (708) si le nœud courant N qui est traité est un nœud 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 nœud de rang supérieur, qui est sur le chemin du nœud N à la passerelle (710), et poursuit ainsi les allocations parent-enfant jusqu’au rang du nœud courant. 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 suivantes : - le timeslot d’index courant ne doit pas être déjà utilisé, ni dans le nœud parent, ni dans le nœud 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é (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 : - aucun nœud sous la couverture du nœud parent n’utilise cette cellule, que ce soit en mode réception ou en mode émission ; et - aucun nœud sous la couverture du nœud enfant n’utilise 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 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 nœuds voisins du nœud parent qui ont un RSSI supérieur à un niveau minimum de RSSI pour qu’un nœud voisin soit susceptible de générer une collision « 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 nœuds voisins du nœud enfant qui ont un RSSI supérieur à « 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 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 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.
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 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 simulation. L’exemple est pour l’allocation des cellules pour un nœud 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 nœuds qui sont sous cette couverture peuvent être associes dans des liens opérationnels parent-enfant avec le nœud sélectionné. Aucun lien parent-enfant n’est établi entre deux nœuds 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 nœud au centre de ce cercle voit tous les nœuds sous couverture de ce disque et est donc susceptible de recevoir des interférences venant de ces nœuds. Cependant, certain nœuds 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 configurables, et prend en charge à la fois la construction de la topologie de routage et l’allocation des cellules. Sur l’exemple, le nœud sélectionné pour lui allouer des cellules est le nœud ‘79’ qui est de rang 3 et son aarent est le nœud ‘558’. II est indiqué que le nœud sélectionné a 15 lœuds sous couverture opérationnelle et 40 nœuds sous visibilité. La capture d’écran montre en zoom, une partie de la structure de 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) 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 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 nœud enfant ou parent que l’on écoute ou vers lequel on émet. Ainsi, pour les cellules 222 et 224, le nœud parent est le nœud ‘558’ et le nœud enfant est le nœud ‘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 nœud pour le compte de qui les cellules sont attribuées. Ainsi, les timeslots 221 et 222 sont utilisés pour le compte du nœud ‘336’, les timeslots 223 et 224 sont utilisés pour le compte du nœud ‘335’. Le nœud ‘79’ sélectionné sert donc de routeur pour le compte des nœuds 335 et 336. II sert de routeur aussi pour d’autres nœuds, mais le zoom représenté ne le montre pas, par contre la vision d’ensemble de la trame le montre bien. L’exemple montre une optimisation des aspects latence. En effet, un paquet au compte du nœud ‘336’ est reçu au timeslot 221 et réexpédié au timeslot 222. De même, un paquet pour le compte du nœud ‘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 nœud sélectionné qui sert de nœud 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 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 de bout en bout sont très bonnes. En particulier la délivrance d’une mesure produite par un nœud 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 modifier les caractéristiques du réseau, tel que : - la mise en service de nouveaux nœuds ; - l’arrêt de nœuds (par épuisement de la batterie, panne,...) ; - des modifications de l’environnement affectant les notions de proximité radio (telles que de nouvelles constructions urbaines, une évolution de la végétation, ...). L’entité centrale doit alors communiquer la nouvelle configuration du réseau aux nœuds 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 nœuds du réseau vers le nœud central, mais ceux-ci sont adaptables et applicables pour un mode de transmission downlink du nœud central vers les nœuds 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 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 magnétiques ou optiques (Compact Disk - Read Only Memory (CD-ROM), Compact Disk - Read/Write (CD-R/W) and DVD).

Claims (14)

  1. Revendications
    1. Un procédé mis en œuvre 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 nœud central et une pluralité de nœuds, un chemin de routage permettant à un nœud d’envoyer/de recevoir des données vers le/du nœud central en un certain nombre de bonds définissant le rang dudit nœud, le chemin de routage entre un nœud de rang ‘n’ et le nœud central de rang ‘0’ étant constitué d’un ensemble de liens radio entre nœuds 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 nœuds, 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 nœuds de rang ‘1’, une ou plusieurs cellules de la trame pour émettre des données d’un nœud vers le nœud 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 nœuds d’un même rang; l’étape d’allocation de cellules pour le compte de chacun des nœuds d’un même rang ‘n’ étant faite nœud par nœud selon un ordre arbitraire, et consistant à : - allouer des cellules lien radio par lien radio sur le chemin entre un nœud courant N et le nœud central, en commençant par le lien rattaché au nœud central, l’allocation de cellules sur un lien entre deux nœuds Ni et Nj consistant en une allocation jointe sur les nœuds Ni et Nj pour le compte du nœud N, telle qu’à une cellule allouée en émission sur le nœud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le nœud 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 nœud Ni ; et - la même unité de temps est disponible dans le nœud 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 nœuds voisins du nœud 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 nœuds voisins du nœud Nj ayant un RSSI supérieur à un niveau minimum.
  2. 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 nœud courant N, est celle ayant l’unité de temps d’index le plus élevé dans la trame.
  3. 3. Un procédé mis en œuvre 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 nœud central et une pluralité de nœuds, un chemin de routage permettant à un nœud d’envoyer/de recevoir des données vers le/du nœud central en un certain nombre de bonds définissant le rang dudit nœud, le chemin de routage entre un nœud de rang ‘n’ et le nœud central de rang ‘0’ étant constitué d’un ensemble de liens radio entre nœuds 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 nœuds, 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 nœuds de rang Ί’, une ou plusieurs cellules de la trame pour recevoir sur un nœud des données du nœud 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 nœuds d’un même rang; l’étape d’allocation de cellules pour le compte de chacun des nœuds d’un même rang ‘n’ étant faite nœud par nœud selon un ordre arbitraire, et consistant à : - allouer des cellules lien radio par lien radio sur le chemin entre le nœud central et un nœud courant N, en commençant par le lien rattaché au nœud courant N, l’allocation de cellules sur un lien entre deux nœuds Ni et Nj consistant en une allocation jointe sur les nœuds Ni et Nj pour le compte du nœud N, telle qu’à une cellule allouée en émission sur le nœud Ni sur une unité de temps et un canal radio, il correspond une cellule allouée en réception sur le nœud 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 nœud Ni ; et - la même unité de temps est disponible dans le nœud 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 nœuds voisins du nœud 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 nœuds voisins du nœud Nj ayant un RSSI supérieur à un niveau minimum.
  4. 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 nœud courant N, est celle ayant l’unité de temps d’index le moins élevé dans la trame.
  5. 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 nœud voisin soit susceptible de générer une collision.
  6. 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 nœuds du réseau.
  7. 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é.
  8. 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 nœuds.
  9. 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.
  10. 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. 11. 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é selon l’une quelconque des revendications 1 à 10.
  12. 12. Un réseau maillé comprenant un nœud central et une pluralité de nœuds aptes à envoyer et recevoir des données pendant des unités de temps allouées, le réseau comprenant un dispositif selon la revendication 11.
  13. 13. Un réseau maillé conforme à la norme IEEE 802.15 4e en mode TSCH MAC comprenant un dispositif selon la revendication 11.
  14. 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.
FR1754239A 2017-05-15 2017-05-15 Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille Active FR3066348B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1754239A FR3066348B1 (fr) 2017-05-15 2017-05-15 Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille
US16/611,197 US20200162991A1 (en) 2017-05-15 2018-05-14 Device and method for time and frequency sequencing for the transmission of data packets in a mesh network
EP18724531.1A EP3625992A1 (fr) 2017-05-15 2018-05-14 Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille
PCT/EP2018/062302 WO2018210708A1 (fr) 2017-05-15 2018-05-14 Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1754239A FR3066348B1 (fr) 2017-05-15 2017-05-15 Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille
FR1754239 2017-05-15

Publications (2)

Publication Number Publication Date
FR3066348A1 true FR3066348A1 (fr) 2018-11-16
FR3066348B1 FR3066348B1 (fr) 2019-05-03

Family

ID=59699806

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1754239A Active FR3066348B1 (fr) 2017-05-15 2017-05-15 Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille

Country Status (4)

Country Link
US (1) US20200162991A1 (fr)
EP (1) EP3625992A1 (fr)
FR (1) FR3066348B1 (fr)
WO (1) WO2018210708A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080232334A1 (en) * 2007-03-22 2008-09-25 Das Sujit R Wireless communication network and data aggregation method for the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080232334A1 (en) * 2007-03-22 2008-09-25 Das Sujit R Wireless communication network and data aggregation method for the same

Also Published As

Publication number Publication date
US20200162991A1 (en) 2020-05-21
FR3066348B1 (fr) 2019-05-03
EP3625992A1 (fr) 2020-03-25
WO2018210708A1 (fr) 2018-11-22

Similar Documents

Publication Publication Date Title
EP3432487B1 (fr) Méthode d'ordonnancement pour voies montante et descendante d'un système de transmission optique
EP0776583B1 (fr) Procede d'acces paquet dans un systeme de radiocommunication numerique cellulaire
FR2834597A1 (fr) Procede et dispositif pour etablir des liaisons de communication entre des systemes de communication mobiles.
FR2969432A1 (fr) Procede d'allocation de ressources, dans un reseau de communications mobile et maille, avec limitation des interferences inter-clusters, systeme et reseau mettant en oeuvre le procede
FR2929063A1 (fr) Procede et dispositif d'allocation de chemins de transmission de donnees dans un reseau de communication synchrone, produit programme d'ordinateur et moyen de stockage correspondants
FR2893471A1 (fr) Systeme et procede de routage statique de flux de paquets de donnees dans un reseau d'interconnexion
EP3718258A1 (fr) Procédé de configuration destiné à être mis en oeuvre dans un réseau utilisant un protocole de routage dynamique
EP1982480B1 (fr) Procédé d'allocation dynamique de ressources dans un réseau de groupe de stations
EP3329702B1 (fr) Procede de decouverte d'un noeud d'un reseau ad hoc
EP0715437A1 (fr) Procédé d'acheminement de cellules dans un réseau ATM
WO2013120975A1 (fr) Allocation de ressources
FR3066348A1 (fr) Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille
EP2206331B1 (fr) Reconfiguration de dispositifs de terminaison de reseau
WO2017215970A1 (fr) Procede de dissemination de donnees dans un reseau maille
EP2854467B1 (fr) Système et procédé de partage de capacité distribué dans un réseau ad-hoc
EP3675435A1 (fr) Procédé de routage dynamique dans un réseau d'objets connectés
WO2009007630A1 (fr) Procede de gestion dynamique des ressources radio d'un reseau maille
FR2951340A1 (fr) Procede de gestion d'acces a un reseau de communication resistant aux masquages, produit programme d'ordinateur et dispositifs correspondants.
FR2744310A1 (fr) Procede, moyen et systeme de communication sur un support de transmission partage
EP2953270B1 (fr) Procédé de sélection de dispositif noeud parent dans un réseau de communication sous forme d'arbre
FR3093833A1 (fr) Procédé d’optimisation d’échanges de données dans une infrastructure d’objets connectés
FR3075520A1 (fr) Procede de communication hybride
FR3095914A1 (fr) Procédé de routage dynamique dans un réseau d’objets connectés
EP2198661A1 (fr) Procede de communication de donnees dans un reseau cellulaire cooperatif, dispositif, et produit programme d'ordinateur correspondants
FR2942685A1 (fr) Procede de gestion d'acces a un reseau de communication pendant un intervalle de temps partage, produit programme d'ordinateur, moyen de stockage et noeud decisionnaire correspondants.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20181116

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7