EP3625992A1 - 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

Info

Publication number
EP3625992A1
EP3625992A1 EP18724531.1A EP18724531A EP3625992A1 EP 3625992 A1 EP3625992 A1 EP 3625992A1 EP 18724531 A EP18724531 A EP 18724531A EP 3625992 A1 EP3625992 A1 EP 3625992A1
Authority
EP
European Patent Office
Prior art keywords
node
nodes
rank
time
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.)
Withdrawn
Application number
EP18724531.1A
Other languages
German (de)
English (en)
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
Publication of EP3625992A1 publication Critical patent/EP3625992A1/fr
Withdrawn legal-status Critical Current

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

Definitions

  • the invention relates to the field of telecommunications and in particular relates to a device and a method of time and frequency sequencing for the transmission of data packets in a mesh network.
  • Mesh networks or “mesh” networks organized around sensors and actuators consist of a set of nodes in which each node is likely to carry one (or more) sensor or actuator, and to communicate by radio with others. nodes that are under radio range, so as to allow a rise in measurements (and respectively a routing of commands) to (and respectively from) a central node or gateway.
  • the gateway node connects the sensor network to another network encompassing, typically the Internet, and any communication between a node of the mesh network and an outside node is necessarily via the gateway node.
  • Measurements and commands, as well as a number of service messages are formatted as data packets.
  • a node may thus be required to transmit data packets on its own behalf if it wishes to transmit a measurement from a local sensor, or to receive data packets if it receives a command concerning it.
  • a node may also transmit and / or receive data packets on behalf of another node to the origin of the measurement or the destination of the order.
  • the mesh network provides routing functionality that assumes a tree topology between the nodes and the gateway, as shown in Figure 1. The routing topology makes it possible to assign a parent node to each node in the network (100).
  • a source node for example 'X' must transmit a packet to the gateway 'C for its own account or on behalf of another node, it must forward it to its parent node ⁇ '.
  • the packet arrives at the gateway step by step in successive bursts according to a routing path in which each intermediate node ⁇ , Z 'must relay the packet to its parent.
  • the number of hops needed to join the gateway is a feature of the source node that is referred to as the "rank" of that node.
  • the source node 'X' is of rank 3.
  • the transmission is always bound by by forwarding the packet to a child node, in principle to the child node that allows the best routing, given the destination node.
  • the nodes can be made aware of the topology of the subnet of their downstream nodes, so as to determine the child node to which to send the packet, given the destination node.
  • only the gateway node is aware of the subnet topology, and the exhaustive information of the route to be followed to reach the target node is incorporated by the gateway node into the downstream data packets.
  • the packet transmission rules are established to determine when a node can transmit, and on which radio channel for cases where the network is deployed on multiple channels and not one.
  • the possibility of transmitting on several radio channels makes it possible to benefit from an improvement in performance, by exploiting the diversity of fading phenomena on said channels.
  • these issues are addressed by the MAC layer (Medium Access Layer).
  • Two classes of solutions can be considered, that for synchronous networks and those for asynchronous networks.
  • asynchronous systems have disadvantages, two major ones:
  • Synchronous networks can resolve the limits of asynchronous networks, but at the cost of increased complexity.
  • the gateway node can act as a synchronization source. Synchronization of the gateway node can be transmitted from hop to hop across the network, adopting a tree topology similar to that of Figure 1.
  • the time base implemented in these networks typically consists of a frame structure that repeats indefinitely.
  • a frame consists of a set of successive time units or "timeslots" in which it is possible to transmit a data packet.
  • the timeslot allows both the transmission of a data packet from one node to another neighboring node, followed by the receipt of an acknowledgment message in the opposite direction. This is for example the case of the system defined in the IEEE 802.15.4 e standard.
  • the time sequencing mechanism must be defined to establish when a node is allowed to transmit a packet to its parent or one of its children, and on which channel, if the network has multiple independent radio channels. It is then necessary to determine on which timeslot and on which radio channels, the transmissions of a node towards its parent or one of its children are authorized, the combination of a unit of time (the "timeslot") with a radio channel is commonly referred to by the term cell ("cell" in English).
  • FIG. 2 illustrates on a frame structure containing a plurality of time units, which cells allow on which radio channel bidirectional communications between a parent node ⁇ and one of its child nodes X 'to provide collision-free communications, while minimizing end-to-end latency.
  • cell may refer to a "logical” rather than “physical” radio channel.
  • logical rather than “physical” radio channel.
  • physical_channel (logical channel + fh (timeslot))% 16 being understood that the physical channels are also marked by indexes ranging from 0 at 15. This frequency hopping function is assumed to be pseudo random.
  • the "slotted ALOHA" mode which consists of using the ALOHA retransmissions previously mentioned in the context of asynchronous networks, and applying them to the frame structures of the synchronous networks.
  • a node is allowed to broadcast at any time. If a collision (or any other transmission problem) is detected by an absence of acknowledgment, a retransmission is provided in an upcoming cell.
  • the identification of the cell is based on the characteristics of the receiver, for example its MAC address.
  • Each node is listening on its own cell (or cells) based on the receiver;
  • Transmitter-based shared cells The identification of the cell (the timeslot and the logical radio channel) is based on the characteristics of the transmitter, for example its MAC address. This type of cell can be used for the emission of local broadcast frames; and
  • An object of the present invention is to provide a solution for transmitting data packets in a mesh network, which is collision free and which ensures bounded latencies for end-to-end communications.
  • the invention allows communications to benefit from optimized latencies, given the constraint of absence of collisions.
  • the invention will find an advantageous application in the industrial fields designing communication solutions for wireless mesh networks, in industrial contexts where performance guarantee aspects are important, in particular for exploiting radio technologies based on a MAC layer.
  • synchronous implementing cells such as 802.15.4 e technology (TSCH mode).
  • TSCH mode synchronous implementing cells
  • applications for mesh networks of smart grid type, smart city, or industrial alliances such as the alliance WI-SUN (https://www.wi-sun.org/), or the smart home applications, or industrial alliances such as the Thread alliance (http://threadgroup.org/).
  • WI-SUN https://www.wi-sun.org/
  • the smart home applications or industrial alliances such as the Thread alliance (http://threadgroup.org/).
  • a method and a device are proposed.
  • the mesh network has a tree routing functionality defining routing paths between a central node and a plurality of nodes, a routing path allowing a node to send / receive data to the central node / node in a number of hops defining the rank of the node, the routing path between a node of rank 'n' and the central node of rank ⁇ 'consisting of a set of radio links between neighboring nodes.
  • the method for uplink data transmission traffic to the central node includes the steps of:
  • a frame structure comprising a predefined number of sequentially indexed time units, a unit of time allowing the transmission of data between two nodes, and comprising at least one transmission radio channel, the association of a unit of time with a radio channel defining a cell of the frame;
  • the step of allocating cells on behalf of each of the nodes of the same rank 'n' is made node by node according to an arbitrary order, and it consists of:
  • radio link cells by radio link on the path between a current node N and the central node, starting with the link attached to the central node, the allocation of cells on a link between two nodes Ni and Nj consisting of an allocation joined on the nodes Ni and Nj on behalf of the node N, such as to a cell allocated in transmission on the node Ni on a unit of time and a radio channel, it corresponds to a cell allocated in reception on the node Nj on the same unit of time and on the same radio channel, an attached allocation being made if:
  • node N1 a unit of time is available in node N1;
  • the same unit of time is available in the node Nj; and a cell corresponding to the time unit is neither allocated in transmission nor in reception on any radio channel to any of the neighboring nodes of the node Ni having a power level in reception of a received radio signal (RSSI) higher than a minimum level; and
  • RSSI received radio signal
  • the same cell is neither allocated in transmission nor in reception on any radio channel to any of the neighboring nodes of the node Nj having an RSSI higher than a minimum level.
  • the cell that is allocated on behalf of a current node N is the one with the highest index time unit in the frame.
  • the method For downlink traffic, in reception by a node of the data network of the central node, the method comprises the steps of:
  • a frame structure comprising a predefined number of sequentially indexed time units, a unit of time allowing the transmission of data between two nodes, and comprising at least one transmission radio channel, the association of a unit of time with a radio channel defining a cell of the frame;
  • the step of allocating cells on behalf of each of the nodes of the same rank 'n' is made node by node according to an arbitrary order, and it consists of:
  • radio link cells by radio link on the path between the central node and a current node N, starting with the link attached to the current node N, the allocation of cells on a link between two nodes Ni and Nj consisting of an attached allocation on the nodes Ni and Nj on behalf of the node N, such that to a cell allocated in transmission on the node Ni on a unit of time and a radio channel, it corresponds to a cell allocated in reception on the node Nj on the same unit of time and on the same radio channel, an attached allocation being made if:
  • node N1 a unit of time is available in node N1;
  • a cell corresponding to the time unit is neither allocated in transmission nor in reception on any radio channel to any of the neighboring nodes of the node Ni having a power level in reception of a received radio signal (RSSI) higher than a minimum level;
  • the same cell is neither allocated in transmission nor in reception on any radio channel to any of the neighboring nodes of the node Nj having an RSSI higher than a minimum level.
  • the cell that is allocated on behalf of a current node N is the one with the lowest index time unit in the frame. According to embodiments of the method in uplink or downlink traffic:
  • the minimum level of RSSI is predefined as being the level for a neighboring node to be able to generate a collision; includes an additional step for communicating the cell allocation information to the nodes of the network;
  • the structure of the frame contains one or more cells shared between several nodes;
  • the frame contains a number of cells greater than or equal to the number of nodes of the network.
  • the invention also covers a device for transmitting data packets in a mesh network comprising means for implementing the steps of the claimed method.
  • the invention can be implemented in a mesh network comprising a central node and a plurality of nodes able to send and receive data during allocated time units.
  • the mesh network can comply with the IEEE 802.15 4e standard in TSCH MAC mode.
  • the invention may operate in the form of a computer program product that includes code instructions for performing the claimed process steps when the program is run on a computer.
  • Figure 1 illustrates a mesh network environment for operating the method of the invention
  • Figure 2 illustrates on a frame structure, cells allowing on a radio channel bidirectional communications between a parent node and a child node;
  • Figure 3 shows an example of a frame structure for implementing the method of the invention according to one embodiment
  • Figure 4 shows a sequence of steps for implementing a data transmission according to one embodiment of the invention
  • FIGS. 5a to 5f show the different cell allocation steps according to one embodiment of the invention.
  • Figure 6 is a screenshot that graphically shows the allocation of cells for a node according to one embodiment of the invention.
  • the method of the invention consists in implementing in a mesh network (100) such as that of FIG. 1, a mechanism for temporal and frequency sequencing of data packet transmissions, which guarantees the transmission of data packets. absence of collisions during packet transmissions, while minimizing transmission latency.
  • the method is operated at a central entity that knows the topology of the network in terms of parent-child relationships and also in terms of "radio" proximity between the nodes likely to generate collision conditions.
  • the entity determines, according to the operating mode of the invention, which cells are allowed for bidirectional communications between each node and its parent, so as to avoid any collision in the network, and to minimize the end-to-end packet transmission latency, and then transmits the information to all nodes.
  • the central entity can typically be a machine in the Internet network (102) that can communicate with all the nodes of the mesh network via the gateway node.
  • the central entity may consist of a functional module of the gateway node 'C.
  • Figure 3 shows an example of a frame structure for implementing the method of the invention in a mesh network such as that of Figure 1.
  • the nodes produce a measurement at each frame, and the method is operated to assign a dedicated cell to trace this measurement.
  • the number of nodes in the network is not likely to exceed 1080, and that a certain number of cells are shared by all the nodes, and managed in the network. "slotted ALOHA" mode, to allow communication in the network necessary for the establishment of other types of cells.
  • the frame structure consists of 1200 timeslots (0 to 1199).
  • 120 timeslots are used for shared cells (gray cells) and the remaining 1080 timeslots are then available to become dedicated cells (white cells), and 1 6 logical radio channels (0 to 15) are available.
  • the example described covers the "uplink" aspect, ie the measurement feedback from the nodes to the gateway.
  • the frame structure has at least one timeslot per node in the mesh network.
  • the method can make it possible to set a maximum number of nodes that the network is not supposed to exceed so that the central entity is not forced to reconfigure the network with a new frame structure, for example, if the network expands, because the implementation of a new node would require the adoption of a longer frame structure.
  • the central entity in charge of executing the cell allocation method may adapt the size of the frame used according to the number of nodes present in the network so as to ensure that the number of cells is always greater than or equal to the number of nodes. It should be noted that any adaptation of the size of the frame then leads to a reconfiguration of the allocation of cells for the entire network.
  • the new method of the invention consists of allocating dedicated mesh cells to the nodes of a mesh network to enable collisionless data transmission by minimizing end-to-end latency.
  • the cell allocation steps presuppose the pre-existence of a routing topology.
  • Figure 4 shows the general steps for implementing the cell allocation method.
  • a preliminary step (410) is to collect information on the network to build a database available to the central entity. This step which can be performed according to different variants is not described in detail, but it allows the central entity to have access to data representing each existing node of the network, such as:
  • a preliminary phase may consist of random transmissions of service packets by all the nodes of the network with inclusion of the unique identifier of the node in the messages sent. Each node observes the signals emitted by its visible neighbors and establishes the list of neighbors associated with the average RSSI attached to this neighbor. Then the collected information is communicated to the control entity of the network and to the gateway node.
  • the communication protocol may for example be a protocol for dissemination.
  • the next step (412) is to establish the routing tree.
  • the central entity for operating the cell allocation method will have prior knowledge of the routing topology.
  • the central entity can support both the determination of the routing topology and the allocation of the cells. This option requires a procedure for registering nodes in the network, which must go through the notion of mediator node. This is a node already registered in the network and known to the central entity. When a new node is put into service (candidate node), it must have in line of sight at least one node already registered in the network, which is likely to mediate.
  • this mediator node It enters into direct communication with this mediator node to provide all the information that the central entity needs to integrate it into the network: the identifier of the node (for example its MAC address) and the identification of all nodes of the network which are in visibility of the candidate node, as well as the indication of the powers received for all these neighbors.
  • This information is then communicated by the mediator node to the central unit.
  • the central entity can then take into account the integration of a new node in the network, and communicate to the candidate node the information that allows it to integrate the network, namely the identifier of its parent, possibly the the identifiers of his children, and any dedicated cells he wishes to activate in this node.
  • the central entity is also likely to communicate a new configuration to a number of other nodes, to account for the integration of a new node into the network.
  • the gateway serves as a mediator for registering rank 1 nodes. Then the rank 1 nodes mediate to register the rank 2 nodes, and will cohere.
  • a node that acts as a mediator for a candidate node can eventually become the parent of this candidate node, it is not at all an obligation and the central entity remains master of the choice of nodes. parents.
  • the central entity can maintain its view of the state of the nodes in the network, that is to say, to know for each node, any change in the list of nodes in visibility (the neighbors) and / or in the powers received from neighbors that could introduce a reconfiguration of the routing tree by the central entity.
  • the central entity may, for example, maintain regular signaling with each of the nodes in order to collect this information and anticipate any possible reconfiguration of the routing tree.
  • any degradation of the connectivity of a node with its parent could result in a reconfiguration of the routing tree (and therefore the allocation of cells for some nodes of the network) to preserve a good connectivity for the node by associating a new parent.
  • the node can re-execute the registration procedure in the network (via a mediator node) so that the central entity detects the problem and reassigns to this node a new parent while reconfiguring the allocation of the cells to support this node, that is to say release the cells previously associated with this node, and restore the new ones cells.
  • the routing calculation step can be performed according to different variants but allows:
  • RSSI of A received by B is lower than the minimum RSSI or if the RSSI of B received by A is below this minimum;
  • nodes have not been integrated into a set of rank N, these nodes are considered unreachable, given the minimal RSSI constraint.
  • the parent node of rank 1 nodes is the gateway node.
  • the process assigns as node parent, the node which is of rank N-1, which is part of the list of neighbors and satisfies the minimum RSSI criterion, and for which the largest RSSI among the RSSI nodes of all ancestors on the way to the gateway is minimum.
  • a dynamic routing protocol eg RPL protocol
  • RPL protocol eg RPL protocol
  • the central entity that is in charge of operating the cell allocation method can then discover the routing tree by interrogating all the nodes of the network to know their respective parent, or by interrogating only the gateway in the cases where it has a global view of the tree (for example with the RPL protocol in "non-storing" mode).
  • the cell allocation method can be operated (414).
  • the cell allocation steps are described with reference to FIGS. 5a to 5f, and make it possible to complete the database with cell usage tables.
  • the complete network configuration can be disseminated (41 6) in the network.
  • the nodes receive the configuration of the network, they extract the configuration concerning them.
  • the allocation of cells consists in setting the frame structure and in particular the number of timeslots in the frame. This must be at least equal to the number of reachable nodes.
  • the uplink mode cell allocation for the measurement feedback from the nodes to the gateway is done rank by rank, starting with rank 1 (502) up to highest rank.
  • the allocation of cells for all cells of a current rank is made node by node (504). If the allocations are made for all rank 1 (506) nodes, the method checks whether the maximum rank of the network is reached (508), and if not, proceeds to the next rank (510) to process the node-by-node allocations. for the nodes of rank 2, and c ridera, by recurrence up to the nodes of maximum rank (rang_max).
  • the allocation of the cells for the nodes of a given rank (504) is made node by node according to an arbitrary order (figure 5b).
  • the method selects a node N not yet processed, of rank equal to "current_range" (602), then proceed to cell allocations on behalf of this node (604). If the allocations are carried out successfully (606, yes branch), the method checks whether nodes of the current rank are still not processed (608) and if so loops back to the arbitrary selection step of a node that has not yet been processed. (602), or the node-by-node allocation method stops (608, non-branch). The allocation of cells on behalf of a node of a given rank
  • FIG. 5c is made radio link by radio link on the path between this node and the gateway, each radio link being defined between two nodes one of which plays the role of child and the other plays the role of parent.
  • the method starts link-by-link allocation starting with the link attached to the gateway.
  • the method starts allocation link by link, by the radio link attached to this node.
  • the gateway acts as a parent for a rank 1 child node attached by a radio link to the gateway (702).
  • the method makes it possible to make the allocations on behalf of this node N, first on the gateway N1 and on a node N2 of rank 1 (704), then to check whether the allocations are yes or no successfully completed (706).
  • the method checks (708) if the current node N which is treated is a node of rank 1 and if so stops, or the method makes it possible to pass to allocating cells on behalf of a higher rank node, which is on the N-node path to the gateway (710), and thereby continues the parent-child allocations to the rank of the current node.
  • the parent-child cell allocation for a given link is to identify in the frame an available timeslot ( Figure 5d).
  • the search for a timeslot is done index by index starting from the maximum index in traffic uplink or starting from the minimum index in downlink traffic, respecting the following constraints :
  • the current index timeslot should not be used either in the parent node or in the child node (804). If the timeslot is already in use (branch yes), the process goes to the next index timeslot (808, 810). If the current index timeslot is not already used (no branch),
  • the method determines whether for this available timelot the index is eligible (806) and whether it is possible to find a cell of the frame for which: - no node under the cover of the parent node uses this cell, either in receive mode or in transmit mode; and
  • the verification of the eligibility of the index of the available timeslot consists in checking (904) the eligibility of the index and of a logical channel, starting with the first logical channel (902) until maximum index logical channel (906, 908).
  • the verification of the eligibility of the index and of a logical channel consists in determining (1002) among the neighboring nodes of the parent node which have an RSSI greater than a minimum level of RSSI for a neighboring node is likely to generate a collision "RSSI_Min_Collision", if there is one that already uses this logical channel and this index. If this logical channel and this index are not used (not 1002) under these conditions, the method makes it possible to determine (1004) among the neighboring nodes of the child node which have an RSSI greater than "RSSI_Min_Collision" if there is one which already uses this logical channel and this index. If this logical channel and this index are not used (not 1004) under these conditions, the method allows to make the expected allocations (812).
  • the method selects the maximum index timeslot in uplink traffic, and the minimum index times in downlink traffic.
  • the method of the invention makes it possible to avoid several types of collisions. Indeed, the communications on the radio links are typically acknowledged, and it is possible to observe collisions on the acknowledgments even though the transmission of the message is without collision. The constraints to identify and select timeslot included in the process allow to integrate these two types of collisions.
  • Figure 6 is a screenshot that illustrates an example of cell allocation by applying the method of the invention in simulation.
  • the example is for cell allocation for a node that is represented in the mesh network at the center of two concentric disks, an operational disk, and a visibility disk.
  • the operational disk radius represents the operational coverage of the network, i.e., nodes under this coverage may be associated in parent-child operational links with the selected node. No parent-child link is established between two nodes if the distance between them is greater than the radius of that disk.
  • the radius of the visibility disk represents the visibility, that is to say that the node in the center of this circle sees all the nodes under cover of this disk and is therefore likely to receive interference from these nodes. However, some visible nodes, those in the visibility disk but not in the operational disk, remain ineligible for establishing parent-child links.
  • the simulator makes it possible to define configurable radii, and supports both the construction of the routing topology and the allocation of the cells.
  • the node selected to allocate cells to it is node 79 'which is rank 3 and its parent is node' 558 '. It is indicated that the selected node has 15 nodes under operational coverage and 40 nodes under visibility.
  • the screenshot shows in zoom, part of the structure of
  • FIRE I LLE RECTI FIED (RULE 91) ISA / EP frame ranging from timeslots 220 to 239.
  • the frame as a whole is shown below in the form of a matrix in which each line represents a portion of 100 timeslots in the frame.
  • the area on which the zoom is made (timeslots ranging from 220 to 239) is represented on the matrix by a dark rectangle.
  • timeslots 220 to 239 it is shown that timeslots 220 and 230 are shared, and that 4 dedicated cells have been allocated in zone 220 to 230, namely the cells at timeslots 221, 222, 223 and 224.
  • cells at timeslots 221 and 223 are cells in receive mode, the cells at timeslots 222 and 224 are transmit mode cells.
  • the first line of the zoom indicates the values of timeslots (220 to 239).
  • the second line indicates the identifier of the child or parent node that is being listened to or sent to. Thus, for cells 222 and 224, the parent node is node '558' and the child node is node '810'.
  • the third line of the zoom indicates the logical radio channel.
  • the logical radio channel is the channel
  • the logical radio channel is the channel ⁇ '.
  • the fourth line of the zoom indicates the identifier of the node on whose behalf the cells are assigned.
  • timeslots 221 and 222 are used on behalf of node '336'
  • timeslots 223 and 224 are used on behalf of node '335'.
  • the selected node 79 'thus serves as a router on behalf of the nodes 335 and 336. It also serves as a router for other nodes, but the zoom represented does not show it, on the other hand the overall view of the frame shows it. good.
  • the example shows an optimization of latency aspects.
  • a packet at the '336' node count is received at timeslot 221 and forwarded at timeslot 222.
  • a packet on behalf of node '335' is received at timeslot 223 and forwarded to timeslot 224.
  • the relayed packet does not remain more than one time slot in the selected node that serves as a relay node, which corresponds to the optimal performance.
  • a simulation performed with the cell allocations, calculated for the network as shown on the screenshot, has established that no collision is observed in the network, even when the maximum capacity is reached, that is to say that the use of the gateway is very close to 100% of time, and has established that end-to-end latency performance is very good. In particular the delivery of a measurement produced by a node never exceeds the duration of a frame when the radio conditions are satisfactory.
  • the cell allocation method must be carried out again after any event likely to modify the characteristics of the network, such as:
  • the central entity must then communicate the new network configuration to the impacted nodes.
  • the person skilled in the art agrees that the invention can be implemented from hardware and / or software elements. It may be available as a computer program product on a computer readable medium.
  • the support can be electronic, magnetic, optical, electromagnetic or infrared type. Such media are, for example, Random Access Memory RAMs, Read-Only Memory ROMs, tapes, floppies or disks. Magnetic or optical (Compact Disk - Read Only Memory (CD-ROM), Compact Disk - Read / Write (CD-R / W) and DVD).

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 oeuvre 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 (Médium 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 œuvre 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 Sensé 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. Il 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. Il 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.
Il 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 œuvre 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 œuvre 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 Ό' é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 Ί ', 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 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 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 nœuds 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 à 1 199). 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 1 6 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. 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. 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. Il 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. Il 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 nœuds, 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 « RANGJVIAX+1 » est vide. Le rang « RANGJV1AX » 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. Il 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 = nSlots » 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 (41 6) 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 associés 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 parent est le nœud '558'. Il est indiqué que le nœud sélectionné a 15 nœuds sous couverture opérationnelle et 40 nœuds sous visibilité. La capture d'écran montre en zoom, une partie de la structure de
FEU I LLE RECTI FI ÉE (RÈG LE 91) ISA/ EP 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 , et pour les cellules 223 et 224, le canal radio logique est le canal Ό'. 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. Il 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

Revendications
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 Ό' é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 é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.
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.
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 Ό' é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. 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. 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. 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. 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. 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. 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 nœuds du réseau.
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.
1 1 . 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é selon l'une quelconque des revendications 1 à 10.
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 1 1 .
13. Un réseau maillé conforme à la norme IEEE 802.15 4e en mode TSCH MAC comprenant un dispositif selon la revendication 1 1 .
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.
EP18724531.1A 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 Withdrawn EP3625992A1 (fr)

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
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

Publications (1)

Publication Number Publication Date
EP3625992A1 true EP3625992A1 (fr) 2020-03-25

Family

ID=59699806

Family Applications (1)

Application Number Title Priority Date Filing Date
EP18724531.1A Withdrawn 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

Country Status (4)

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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7830834B2 (en) * 2007-03-22 2010-11-09 Eaton Corporation Wireless communication network including network coordinator assigning time slots and channels to nodes to provide collision-free schedules and data aggregation method for the same

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2466981B1 (fr) Procédé d'allocation de ressources dans un réseau de communication mobile et maillé avec limitation des interférences inter-cluster et système mettant en oeuvre le procédé.
EP2002613A1 (fr) Procede pour organiser un reseau d'objets communicants et objet communicant pour la mise en oeuvre du 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
FR2929781A1 (fr) Station relais a double radio.
EP3787344B1 (fr) Procédé de configuration d'un système d'extension de couverture de communication sans-fil et un système d'extension de couverture de communication sans-fil mettant en oeuvre ledit procédé
EP3718258B1 (fr) Procédé de configuration destiné à être mis en oeuvre dans un réseau utilisant un protocole de routage dynamique
EP2512201B1 (fr) Station émettrice/réceptrice pour former un noeud d'un réseau de télécommunications et procédé de télécommunications associé
FR2947124A1 (fr) Procede de communication par multiplexage temporel
EP2815624B1 (fr) Allocation de ressources
FR2897229A1 (fr) Procede distribue d'allocation dynamique de ressources temps frequence
FR3039740B1 (fr) Procede de decouverte d'un noeud d'un reseau ad hoc, procede d'echange de donnees, systeme associe
EP2213010B1 (fr) Creation d'un canal pilote dans un systeme de radiocommunication opportuniste
EP3625992A1 (fr) Dispositif et procede de sequencement temporel et frequentiel pour la transmission de paquets de donnees dans un reseau maille
EP2460383A1 (fr) Methode d'acces multiple aux ressources radio dans un resau ad hoc mobile et systeme mettant en oeuvre la methode
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
EP2188960B1 (fr) Selection de canaux et routage dans un reseau ad hoc en fonction de l'alternance des canaux
FR2739510A1 (fr) Convertisseur de communication, appareils de communication, procede d'identification, procede de transmission de trames et systemes de communication les mettant en oeuvre
CA3131239A1 (fr) Procede de basculement d'une station mobile entre deux points d'acces sans fil d'un reseau de communication et dispositif gestionnaire de connexions associe
EP3205175B1 (fr) Procédé d'autorisation de demandes de transmission
FR3075520A1 (fr) Procede de communication hybride
EP2710820A1 (fr) Système de communication, et procédé, programme d'ordinateur et moyens de stockage 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.
FR2949929A1 (fr) Procede de gestion de requetes d'acces a un reseau de communication sans fil, produit programme d'ordinateur, moyen de stockage et dispositif correspondant.
FR2939271A1 (fr) Procede de gestion de communications dans un reseau de communication sans-fil, produit programme d'ordinateur, moyen de stockage et dispositif correspondants

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20191104

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20200714