WO2017215970A1 - Procede de dissemination de donnees dans un reseau maille - Google Patents

Procede de dissemination de donnees dans un reseau maille Download PDF

Info

Publication number
WO2017215970A1
WO2017215970A1 PCT/EP2017/063602 EP2017063602W WO2017215970A1 WO 2017215970 A1 WO2017215970 A1 WO 2017215970A1 EP 2017063602 W EP2017063602 W EP 2017063602W WO 2017215970 A1 WO2017215970 A1 WO 2017215970A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
group
broadcast
message
nodes
Prior art date
Application number
PCT/EP2017/063602
Other languages
English (en)
Inventor
Pierre Roux
Mounir Kellil
Christophe Janneteau
Original Assignee
Commissariat A L'energie Atomique Et Aux Energies Alternatives
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 L'energie Atomique Et Aux Energies Alternatives filed Critical Commissariat A L'energie Atomique Et Aux Energies Alternatives
Publication of WO2017215970A1 publication Critical patent/WO2017215970A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • 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/023Limited or focused flooding to selected areas of a network

Definitions

  • the present invention relates to a method of disseminating data in a mesh network.
  • Mesh networks or mesh networks in English, comprise a set of nodes that communicate with each other via other nodes.
  • the communication links between two nodes of a mesh network may be radio links or wired links or more generally any type of communication link.
  • each node is not necessarily in direct contact with another node of the network. Thus, it is necessary to establish particular mechanisms for managing communications between a source node and a target node via one or more relay nodes.
  • the first class of protocol concerns routing algorithms that are based on the use of routing tables.
  • routing algorithms for establishing communications between two nodes and multicast routing algorithms for restoring communications between a source node and several destination nodes.
  • RPL protocol standardized by the IETF organization under the number RFC 6550 ("IPv6 routing protocol for low-power and lossy networks").
  • IPv6 routing protocol for low-power and lossy networks Such a protocol makes it possible to establish a path between two remote nodes so that the packets can be routed in a direction or in the reverse direction. The path can be updated if the network changes, but at a given time the path is unique.
  • the RPL protocol can also be used to establish a multicast group. In such a group, a source node broadcasts data within the multicast group to multiple target nodes. Updates to the multicast routing tree may be made in response to changes in the network (e.g., a new node entering or leaving the network). Multicast routing reduces the amount of data packets transmitted in the network compared to unicast routing.
  • Unicast routing and multicast routing imply for each router node the establishment and maintenance of a routing table which contains an indication of the neighbor node (s) to which to transmit a data packet to a node. target or multiple target nodes belonging to a multicast group.
  • An advantage of the mechanisms using routing tables is their efficiency because only the nodes belonging to the preset routing path are required to route the data packets to their destination. In other words, the number of nodes and communication links exploited for a transmission is optimized.
  • the advantage of this approach is efficient management of communication resources which is important for constrained rate radio communication links.
  • a disadvantage of these routing table-based mechanisms is a lack of reliability in case of degradation of the transmission conditions of one or more communication links between one or more nodes involved in a routing path. If a link is defective, it means that the data packets will not be transmitted correctly to their destination or may be lost during transmission.
  • one solution is to implement a packet retransmission mechanism that can detect a transmission break on the routing path and trigger retransmissions of that packet on the same path until a confirmation of the good reception of the packet is received via the reverse path.
  • the second class of protocols concerns data dissemination or dissemination algorithms. Most often, these algorithms aim at a generalized diffusion of the data towards all the nodes of the network.
  • a node of the network that receives a packet marked for broadcast is caused to retransmit this packet to its own neighbors one or more times, respecting random expectations to avoid packet collision phenomena in the network.
  • broadcast algorithms do not require a routing table at the nodes of the network.
  • An advantage of broadcast algorithms is their reliability, because if a communication link is degraded within the network this will have a limited impact on the routing of data to their destination.
  • a disadvantage of the broadcast algorithms is that they can cause over-use of the transmission resources of the network because all the links of the network are used for each data packet to be transmitted.
  • a problem to be solved is to develop a mechanism for routing data in a mesh network that is both more reliable than protocols based on the use of routing tables and more efficient than generalized broadcast mechanisms, in particular in terms of optimized network bandwidth consumption.
  • the state of the art comprises different algorithms dedicated to the routing of data within a mesh network.
  • the MPL (Multicast Protocol for Low-Power and Lossy Networks) broadcast algorithm defined by the IETF under the number RFC 7731 supports the notion of "scope” which allows Define smaller domains of diffusion compared to the general dissemination domain. So, it is possible, with this algorithm, to build a broadcast domain with only nodes that support a certain property. For example, if there is a mesh network with interoperable nodes from two different manufacturers A and B, it is possible to define an "A" broadcasting scope and a "B" broadcasting perimeter. This is useful in particular if one wants to make a software update which concerns only the nodes provided by the manufacturer "B".
  • each node must be preconfigured with the dissemination perimeters that concern it, then allowing it to know whether or not to participate in the broadcast of a packet associated with a particular perimeter.
  • the MPL protocol does not specify how to configure this information on the nodes of the network.
  • no method exists to define a "perimeter" of broadcast associated with a destination node (in the case of a unicast communication) or with a set of destination nodes (in the case of a multicast communication).
  • the SMRF algorithm introduces a condition on the transfer of multicast packets by a router node, namely: any multicast router in the RPL tree transmits a received multicast packet only if the latter has been sent by the preferred parent of said node. .
  • the SMRF algorithm thus makes it possible to limit the range of the MPL broadcast to the nodes having previously subscribed to the multicast group.
  • the SMRF algorithm does not define flexible broadcast domains that ensure robust multicast routing. Indeed, if a node loses connectivity with his parent, he will no longer be able to receive multicast packets.
  • the SMRF algorithm also does not make it possible to define a broadcast domain (which is more flexible) associated with a destination node (in the case of a unicast communication), and therefore does not make it possible to improve the robustness / reliability of the packet routing in the case of unicast communication.
  • the multi-path routing model summarized in [Kewei Sha et al. "Multipath Routing Techniques in Wireless Sensor Networks: A Survey,” Wireless Personal Communications, 2013, Volume 70, Issue 2, pp. 807-829] can be used to increase the reliability of unicast routing of data packets addressed to a recipient by allowing routing by multiple disjoint paths in parallel.
  • this approach remains limited in terms of robustness since it offers a lower degree of diversity: if each of the paths is impacted by a degraded link (or even a loss of connectivity) then the transmission of data packets can not be ensured in a meaningful way. reliable despite the presence of these different paths.
  • the multipath routing model does not improve the reliability of multicast communications.
  • a multi-path approach for multicast (multi-tree) communications has been defined in [Huayi Wu et al., "Bandwidth Guaranteed Multi-tree Multicast Routing in Wireless Ad Hoc Networks". APWeb Workshops 2006, pp. 157-1 66].
  • This method can improve the reliability of multicast communications by simultaneously using multiple possible paths and / or subtrees to broadcast a data packet to a broadcast group multicast.
  • a node involved in routing must have a routing table with multiple entries (multiple subtrees) per multicast multicast group.
  • the invention proposes a method of data dissemination that has improved performance in terms of operating efficiency of the transmission resources within a mesh network compared to a broadcasting-type broadcast method.
  • the invention also makes it possible to address unicast or multicast type communications by improving the reliability of transmissions with respect to routing table-based mechanisms.
  • the method according to the invention is configurable in that it uses a restricted broadcast group which can be more or less extended according to network quality of service information.
  • node is used herein to refer to an element of a mesh network that may take the form of any equipment or device comprising means for communicating with other identical devices within a network.
  • a device can take the form of a computer, a smart phone, a vehicle, a measuring device or any other device suitable or adapted to communicate and transmit data.
  • the invention provides a method of disseminating data in a mesh network comprising a plurality of interconnected nodes, said method comprising the following steps performed for each source node for communicating with at least one target node:
  • a restricted diffusion group comprising at least one minimal diffusion group comprising the source node (Ns) and a set of nodes (N P, N v i, N V 2, N V 3, N v4) for connecting the source node (N s) to said at least one target node (N c) , said broadcast group being increased at each iteration of an extension level having a given rank comprising all the nodes able to communicate directly with the nodes of the broadcast group built in the previous iteration,
  • the construction of the restricted diffusion group comprises:
  • the relay node When a broadcast group build message or a group extension message is received by a relay node, the relay node records broadcast group membership information.
  • the construction of the restricted diffusion group comprises:
  • the transmission of a broadcast group construction message is performed using routing tables.
  • a source node is intended to communicate with a target node according to a unicast communication and the broadcast group construction message comprises at least one identifier of the target node.
  • a source node is intended to communicate with several target nodes according to a multicast communication and the broadcast group construction message comprises at least one identifier of the multicast group.
  • the construction of the restricted broadcast group includes, for each target node, the allocation by the source node of an existing broadcast group to said target node.
  • the construction of the restricted diffusion group comprises:
  • the notification by the source node or the external equipment, to each node of the broadcast group constructed of its membership in said broadcast group.
  • the construction of a broadcast group is initiated by the source node or the external equipment, on receipt of a registration message in the network of a target node, said an enrollment message being relayed from the target node to the source node via a neighbor node of the target node.
  • the method according to the invention further comprises a step of updating the extension level of the broadcast group.
  • the update of the extension level of the broadcast group is performed according to information on the state of the communication links between nodes belonging to the broadcast group.
  • the method according to the invention further comprises a step of acknowledging the data broadcast in a restricted broadcast group comprising:
  • a target node When a target node receives data broadcast by a source node, the broadcast, by said target node, an acknowledgment message in its broadcast group.
  • the broadcast of data in a broadcast group includes a reset of the data broadcast by the source node as long as it does not receive an acknowledgment message.
  • a node when a node receives an acknowledgment message, it stops the broadcast of the acknowledged data.
  • the information on the state of the communication links between nodes belonging to the broadcast group is obtained from the analysis of the acknowledgment messages received by the source node.
  • the invention also relates to a computer program comprising instructions for executing the data dissemination method according to the invention, when the program is executed by a processor and a recording medium readable by a processor. on which is recorded a program containing instructions for the execution of the data dissemination method according to the invention, when the program is executed by a processor.
  • FIG. 1 an example of the construction of a diffusion group for a unicast communication in a mesh network
  • FIG. 2 an example of data transmission in an extended diffusion group
  • FIG. 3 an example of the construction of a diffusion group for a multicast communication in a mesh network
  • FIG. 4 a diagram illustrating the construction of a diffusion group according to a first embodiment of the invention implementing a distributed construction
  • FIG. 5 is a diagram illustrating the construction of a diffusion group according to a second embodiment of the invention implementing a centralized construction.
  • the invention relates to a method for disseminating data in a mesh network and introduces the notion of a broadcast group in which the data is transmitted using a broadcast mechanism.
  • a routing algorithm is based on a broadcast mechanism, if the elementary routing operations are based on a local "broadcast" mechanism implemented generally at the MAC (Medium Access Layer) protocol layer and not on a network mechanism. unicast local communication.
  • elementary routing operation is meant here a routing operation between two neighboring nodes of the network, ie a hop-by-hop operation as opposed to an operation of multi-hop routing which involves transmitting data between two remote nodes via other nodes of the network.
  • a routing algorithm that is not based on a broadcast mechanism relies, instead, on unicast local communication mechanisms, as well as on the use of routing tables.
  • these mechanisms are generally implemented at the level of the MAC protocol layer.
  • a node During a so-called local "broadcast" operation, a node transmits a packet without addressing it in particular to one of its neighbors.
  • a node when a node transmits a packet, it identifies the neighbor to which this packet is destined, for example by introducing in the MAC headers of the packet an address field which identifies this neighbor. In practice, this package is also received by other neighbors, but they are ignored because the unicast MAC address it contains does not match them.
  • FIG. 1 shows an example of a mesh network comprising 60 nodes, each node being identified by a number. Each represented node is able to communicate by radio with neighboring nodes located inside a circle, centered on the node and radius equal to the range of the radio link. We consider the case of a unicast communication between the node 0 and the node 46.
  • the invention consists, in particular, in defining a restricted broadcast group containing a set of nodes for connecting the node 0 and the node 46 and in which is implemented a data dissemination mechanism.
  • a broadcast group is associated with a pair of nodes (0 and 46 in the example of FIG. 1) wishing to establish a unicast communication with each other and present a variable extension level.
  • the number of nodes in the broadcast group can vary.
  • the first level of a broadcast group is the minimal group and contains the nodes to establish a path between the source node and the target node of the unicast link. This path can be determined, for example, using a conventional routing algorithm using routing tables.
  • the minimum broadcast group for the unicast link between nodes 0 and 46 contains the source node 0 and the relay nodes 2, 12, 24 and 47.
  • the target node 46 does not not part of the broadcast group because the target node 46 does not need to broadcast the received data packets to other nodes.
  • the choice of the nodes that make up the minimum diffusion group can be made according to metrics to differentiate the routes or paths between two nodes within the mesh network.
  • a metric can take into account the number of intermediate nodes to link a source node and a target node but also information on the characteristics of the transmission links between pairs of nodes such as the quality of the link or the level of reception of a signal .
  • a dissemination mechanism limited to this group is implemented. For example, for a transmission from node 0 to node 46, the data packets are broadcast from source node 0 across all the nodes of the broadcast group associated with the unicast link between source node 0 and target node 46. When a node receives a message broadcast by a neighboring node, it analyzes the message to check which broadcast group it is for.
  • the node If the node belongs to the broadcast group associated with the received message, it retransmits this message to its neighbors, otherwise it ignores the message.
  • the message may contain a broadcast group identifier or an identifier of the source node and the target node associated with the broadcast group.
  • a node When creating a mailing group, a node records its membership in one or more broadcast groups.
  • the nodes of the broadcast group are notified of their membership status of this group so that they support the broadcast of the packets to the node 46. More generally, each node in the network is "aware" of its belonging to the unicast broadcast group associated with each other node or pair of nodes in the network.
  • a node involved in the routing must have been configured with a routing table, which allows it to know which of its neighbors it must transmit a packet it has just received.
  • the nodes of the minimum diffusion group do not need this concept of routing table. All they need to know is that they participate in the broadcast on behalf of the target node. If this is the case, the packets received to the destination node will be retransmitted, according to time constraints that are specific to the broadcast algorithm used. To improve the reliability in terms of resistance to faulty links, the invention allows an expansion of the minimum diffusion group of one or more levels.
  • the diffusion group can be extended from a first level by integrating the nodes 1, 3, 4, 1 1, 13, 25, 45. It is about the whole of the nodes which are in direct cover of the one of the nodes of the minimum diffusion group.
  • direct coverage is meant a direct transmission between two neighboring nodes.
  • the coverage of a node is defined by the perimeter around that node in which it is likely to communicate with another node.
  • the first-level extended diffusion group for node 46 is therefore the set of nodes ⁇ 47, 24, 12, 2, 0, 1, 3, 4, 1 1, 13, 25, 45 ⁇ .
  • the extended first-level broadcast group is represented for the node 46. If it is imagined that the link between the nodes 12 and 24 is temporarily defective, we can see in FIG. implemented by the invention nevertheless makes it possible to route the data packets sent by the source node 0 to the target node 46. Indeed, the node 1 1 belonging to the extended broadcast group, the broadcast packets can pass through this node 1 1 to be then routed to the node 24.
  • the use of an extended broadcast group overcomes the drawbacks of the unreliability of routing table-based mechanisms while limiting the dissemination of data to a group restricted nodes in the network.
  • a second-level extended broadcast group can be constructed by adding to the first-level extended broadcast group all the nodes in direct coverage of a node of that group.
  • the extension at the second level leads to include in the diffusion group represented in FIG. 2, the nodes 5, 7, 8, 10, 14, 15, 6, 23, 26 and 50.
  • the extension principle of the broadcast group can be extended recursively.
  • the invention therefore makes it possible to construct a broadcasting group having a variable rank extension level that is parameterizable according to information on the state of the network.
  • the rank of the extension level is defined as the number of extensions of the broadcast group from the minimum broadcast group.
  • FIG. 3 represents, on the same meshed mesh example, an example of a multicast communication construct for a multicast communication between a source node 0 and several target nodes 18,34,61, 62 .
  • the minimum diffusion group contains the nodes 0,1, 4,7,15,1 6,17,19,20,28,30,31, 33.
  • the minimum broadcast group can be recursively extended by adding in this group the direct coverage nodes of all the nodes of the broadcast group.
  • the first-level extension broadcast group further contains the nodes 8.21, 38.37.2,3,5,6,35,99,29,27,57,32.
  • the second broadcast group extension level further contains the nodes 9,22,39,36,12,13,14,56,58,59,60.
  • the method according to the invention consists, for each unicast or multicast communication, in building a restricted broadcast group having a variable extension level and then implementing a data dissemination mechanism within this broadcast group.
  • a packet of data is received by a node, it checks whether it is part of the broadcast group associated with the destination node of the packet and, if so, retransmits this packet to its neighbors, otherwise it ignores the packet.
  • the setting of the extension level of a broadcast group can be done according to the knowledge of the state of the network. For example, if data packets are lost or are carried with too much transmission time, it may be desirable to extend the broadcast group. On the other hand, if the routing of data is reliable and fast, the size of the broadcast group can be reduced.
  • Update of the extension level of the broadcast group can be performed at any time, by the designer or according to information reported via mechanisms external to the invention or through a mechanism of data acknowledgment specific to the invention which is described below.
  • a first embodiment of the construction of a diffusion group according to the invention will now be described with reference to FIG.
  • the construction of a broadcast group is performed in a distributed manner within the network.
  • a unicast communication is considered between a target node N c and a source node N s .
  • the process of building a broadcast group is initiated by an initiating target node N c that wishes to benefit from a broadcast group for unicast communication with the source node N s .
  • the target node N c generates a DGR broadcast group construction message that includes at least one identifier of the target node N c and the source node N s .
  • the target node N c then transmits this message to a neighbor node N p .
  • the DGR message is relayed from node to node to the source node N s by traversing a predetermined path between the target node N c and the source node N s .
  • the path connecting these two nodes can be determined using a unicast routing algorithm, for example the RPL algorithm or an equivalent routing algorithm.
  • a relay node N p receives a DGR message, it records broadcast group membership information associated with unicast communication between the target node N c and the source node N s . When this step is complete, the minimum diffusion
  • the broadcast group construction message DGR further comprises an identifier DT of the extension level of the broadcast group.
  • This identifier is initialized to a predetermined value during the creation of the DGR message by the initiator node N c .
  • the identifier DT may, for example, take positive or null integer values. According to this example, a null value of the identifier DT corresponds to a minimum diffusion group, while a strictly positive value n of the identifier DT corresponds to an extended group at the level n.
  • a relay node N p of the minimum broadcast group When a relay node N p of the minimum broadcast group receives a DGR message, it analyzes the identifier DT contained in this message. If the identifier DT has a zero value, the DGR message is transmitted to the next relay node on the pre-established routing path constituting the minimum broadcast group. The transmission of the DGR message is performed based on a unicast routing algorithm as explained above.
  • the identifier DT has a value greater than zero, then all the relay nodes belonging to the minimum diffusion group generate a second spread group extension DGER message which also contains at least one identifier of the target node N c and the knot source N s , and a DT identifier of the extension level of the broadcast group.
  • the value of the identifier DT in the extension message DGER is decremented by one unit with respect to the value of the identifier DT read by the relay node in the message DGR. Then, each relay node broadcasts the DGER message, via a generalized diffusion broadcast type algorithm to all its neighboring nodes N v i, N V 2, in other words, all the nodes that are in direct range of the relay node.
  • a neighboring node N v i, N V 2 When a neighboring node N v i, N V 2 receives a DGER extension message, it records a membership information to the extended broadcast group and then decrements by one the value of the identifier DT in the message d DGER extension. If the value obtained is zero, the diffusion group extension process stops. If, on the other hand, the value obtained is strictly positive, the neighbor node N v i, N V 2 again broadcasts a DGER message containing the new identifier value DT to all its neighboring nodes N V 3, N v4 , in direct range. .
  • the method of extending the broadcast group described above can be modified by considering negative or zero values for the identifier DT and an incrementation of the values at each extension level instead of of a decrementation.
  • the DGER extension messages that are broadcast should include information to derive the extension levels above the current extension level of the broadcast group for a given node.
  • the node N c at the origin of the request to build a broadcast group DGR can at any time initiate a request to modify the extension level of the broadcast group.
  • the broadcast group can be modified by adding one or more extension levels.
  • the initiating node N c can use the group existing broadcast to broadcast a new DGR construct message including an extension-level DT identifier greater than that used for building the broadcast group.
  • the broadcast group can also be modified by deleting one or more extension levels.
  • a first solution to reduce the size of a broadcast group is to first delete the existing broadcast group and then build a new broadcast group with a lower DT extension level.
  • the initiator node N c may generate a group deletion message DGRR which will be broadcast within the existing broadcast group.
  • This DGRR message contains an identifier of the broadcast group to delete.
  • the nodes belonging to the broadcast group delete the membership information for this group.
  • a second solution for reducing the size of a broadcast group is to generate a DGRR message containing both the current DT extension level of the broadcast group and the desired DT extension level of the broadcast group and spread this message within the broadcast group.
  • This DGRR message is transmitted to the nodes of the minimum broadcast group via the unicast routing algorithm.
  • each node of the minimum broadcast group Upon receipt of this DGRR message, each node of the minimum broadcast group generates an extension DGRER message to its forward-range neighbors in which both the current extension level DT and the new extension level DT ' are decremented.
  • a node When a node receives a DGRER message containing a future extension level DT 'that has a null value, it deletes the broadcast group membership information and then retransmits a DGRER message to its neighbors with a current extension level DT decremented and a future extension level DT 'null. The process continues until the value of the current extension level DT is also zero.
  • An advantage of this variant is that it allows you to delete only the peripheral nodes that belong to the group of current broadcast but which one wishes to remove from the reduced diffusion group.
  • the construction of an associated broadcast group is initiated by all the nodes that wish to receive the multicast messages transmitted by the source node.
  • Each of these nodes implements the broadcast group build procedure defined for the case of a unicast communication.
  • a DGR message contains this time an identifier of the multicast group.
  • An additional constraint is that the DT extension level of the broadcast group must be initialized to an identical value for all target nodes of the multicast group that initiate a broadcast group build request.
  • the management of the harmonization of the values of the extension level identifier DT as well as the updating of the extension level can be centralized in the source node or root node of the multicast group.
  • FIG. 5 schematizes, in a diagram, the implementation steps of a second embodiment of the construction of a diffusion group, according to the invention.
  • the construction of a broadcast group is performed centrally by a particular node of the network which is called thereafter root node.
  • the construction of the broadcast group can also be performed by equipment outside the network but able to establish a direct communication link with the root node.
  • the equipment outside the network can be for example a machine located in the Internet network which is connected to the mesh network via the root node.
  • communications are considered between the root node and one or more incoming nodes in the network.
  • the mesh network can be built step by step from a root node N R.
  • the root node N R can be assisted by an intelligent entity E
  • the intelligent entity Ei may be co-located with the root node N R or may be distinct from the root node and located outside the mesh network.
  • this new node N c When a new node N c is commissioned and must be integrated within the mesh network, this new node N c must be authorized to communicate with one of its neighbors N v already integrated in the network.
  • Neighbor node N v has been previously integrated into the network and already has its own broadcast group.
  • the neighbor node N v communicates with the root node N R to present the characteristics of the new candidate node N c .
  • the characteristics include at least one identifier for the new node N c and the indication of the neighboring nodes already integrated in the network that this new node N c is in line of sight, in other words with which it can communicate directly.
  • a registration message of the new candidate node N c is relayed by the neighboring node N v to the root node N c and to the intelligent entity E
  • the intelligent entity E has a knowledge of the topology of the mesh network and knows in particular the neighborhood relations between all the nodes of the network. On this basis, the intelligent entity Ei determines a broadcast group that it associates with the new incoming node N c in the network. For the definition of the diffusion group, the intelligent entity E
  • a message MC creation of the broadcast group is communicated to all nodes N G broadcast group members for this new node N c , so that they know they are now part of this group. This message includes the identifier of the new node N c .
  • the broadcast group creation message MC is broadcast using the broadcast groups associated with the N G nodes members of the new broadcast group.
  • One possible solution for transmitting MC messages for creating a new broadcast group is to use the minimum broadcast groups of the message nodes MC. In this way, the amount of signaling messages MC within the network is limited.
  • Another solution is to use the full broadcast groups, i.e., the non-minimum broadcast groups.
  • a last confirmation message MCI from the new node N c is then sent by the root node N R so as to confirm the integration of this new node N c within the mesh network and the operational nature of its broadcast group.
  • the centralized solution makes no use of a conventional routing solution previously established. In other words, it does not require routing tables in each node of the network.
  • the second embodiment of the construction of a broadcast group works identically for the case of a multicast communication. In this case, it is assumed that a new node N c entering the network can join an existing multicast group.
  • a centrally-built broadcast group can be modified at any time by increasing or decreasing its extension level DT, which aspect is managed by the root node or the intelligent entity E
  • an advantageous aspect of the invention consists in the possibility of dynamically updating the extension level of a broadcast group. This feature is advantageous because it allows to resize the size of a group of diffusion according to the variable characteristics of the network.
  • the broadcast group may be useful to expand the broadcast group to improve the reliability of transmissions.
  • the quality and speed of packet broadcasts is high, it may be useful to restrict the size of the broadcast group to improve the efficiency of the operation of computing and communication resources in the network.
  • the modification of the extension level of a broadcast group can be performed based on information on the state of the broadcast group, in particular on the state of the transmission links between the nodes of the broadcast group.
  • This information may relate to a lost packet rate or an end-to-end transmission delay of a packet.
  • the information is provided by an entity external to the invention able to monitor the state of the broadcast group.
  • the external entity may be co-located in a root node for building and managing a broadcast group or by the source node of a multicast group.
  • the information on the state of the diffusion group can be derived from an end-to-end acknowledgment mechanism specific to the invention. This mechanism is however limited to the case of unicast communications.
  • a target node When a target node receives a data packet broadcast by a source node within a broadcast group, it acknowledges this packet by initiating a reverse broadcast of an acknowledgment message in the same broadcast group.
  • the source node When the source node receives the acknowledgment message, it can deduce information on the correct routing of the packet to its destination and on the routing time.
  • the source node corresponds to the root node.
  • the acknowledgment mechanism can be coupled to a mechanism for reinitiation of the data packet broadcasts.
  • the source node may reinitiate the broadcast of a data packet if it has not received confirmation of good reception of the packet by the target node, through the reverse broadcast of the acknowledgment.
  • the re-initiation of the broadcast may, for example, take place periodically, using a clock (or timer in English), the triggering event of the re-initiation being the expiration of the clock.
  • a node of the broadcast group receives an acknowledgment message associated with a packet received by the target node, it stops the retransmission of this packet to its neighbors.
  • the invention can be implemented as a computer program comprising instructions for executing it.
  • the computer program can be recorded on a processor-readable recording medium.
  • the invention is executed totally or partially in each node of a mesh network.
  • a node corresponds to a device comprising means for communicating with other neighboring nodes, for example by means of a radio communication link.
  • part of the invention can be implemented in a specific node of the network called a root node and / or in a device external to the network and directly connected to the root node. by a communication link.
  • the reference to a computer program that, when executed, performs any of the functions described above, is not limited to an application program running on a single host computer.
  • the terms computer program and software are used herein in a general sense to refer to any type of computer code (for example, application software, firmware, microcode, or any other form of computer code).
  • computer instruction that can be used to program one or more processors to implement aspects of the techniques described herein.
  • IT resources or resources In particular, they may be distributed (“Cloud Computing"), possibly using peer-to-peer technologies.
  • the software code may be executed on any suitable processor (for example, a microprocessor) or a processor core or set of processors, whether provided in a single computing device or distributed among a plurality of computing devices (eg example as possibly accessible in the environment of the device).
  • the executable code of each program enabling the programmable device to implement the processes according to the invention can be stored, for example, in the hard disk or in read-only memory.
  • the program or programs may be loaded into one of the storage means of the device before being executed.
  • the central unit can control and direct the execution of instructions or portions of software code of the program or programs according to the invention, instructions that are stored in the hard disk or in the ROM or in the other storage elements mentioned above.
  • the invention can also be implemented by means of a processor that can be a generic processor, a specific processor, an integrated circuit specific to an application (also known by the English name of ASIC for "Application-Specific Integrated Circuit ”) or a network of programmable gates in situ (also known as FPGA for" Field-Programmable Gate Array ").
  • a processor that can be a generic processor, a specific processor, an integrated circuit specific to an application (also known by the English name of ASIC for "Application-Specific Integrated Circuit ") or a network of programmable gates in situ (also known as FPGA for" Field-Programmable Gate Array ").
  • Each node of the mesh network as well as the external equipment associated with the root node can use, to implement the invention, one or more dedicated electronic circuits or a general purpose circuit.
  • the technique of the invention can be realized on a reprogrammable calculation machine (a processor or a microcontroller for example) executing a program comprising a sequence of instructions, or on a dedicated calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Procédé de dissémination de données dans un réseau maillé comprenant une pluralité de nœuds interconnectés, ledit procédé comprenant les étapes suivantes exécutées pour chaque nœud source destiné à communiquer avec au moins un nœud cible: - Construire itérativement un groupe de diffusion restreint comprenant au moins un groupe de diffusion minimal comprenant le nœud source et un ensemble de nœuds permettant de relier le nœud source audit au moins un nœud cible, ledit groupe de diffusion étant augmenté à chaque itération d'un niveau d'extension ayant un rang donné comprenant l'ensemble des nœuds aptes à communiquer directement avec les nœuds du groupe de diffusion construit à l'itération précédente, - Pour communiquer des données entre le nœud source et ledit au moins un nœud cible, diffuser les données au sein du groupe de diffusion restreint.

Description

PROCEDE DE DISSEMINATION DE DONNEES DANS UN RESEAU
MAILLE
La présente invention concerne un procédé de dissémination de données dans un réseau maillé.
Les réseaux maillés, ou réseaux « mesh » en anglais, comportent un ensemble de nœuds qui communiquent entre eux par l'intermédiaire d'autres nœuds. Les liens de communication entre deux nœuds d'un réseau maillé peuvent être des liens radios ou des liens filaires ou plus généralement tout type de lien de communication. Autrement dit, dans un réseau maillé, chaque nœud n'est pas obligatoirement en portée directe d'un autre nœud du réseau. Ainsi, il est nécessaire d'établir des mécanismes particuliers pour gérer les communications entre un nœud source et un nœud cible via un ou plusieurs nœuds relais.
Il existe principalement deux classes de protocoles pour l'acheminement de données au sein d'un réseau maillé.
La première classe de protocole concerne les algorithmes de routage qui sont basés sur l'emploi de tables de routage. Il existe notamment des algorithmes de routage unicast pour l'établissement de communications entre deux nœuds et des algorithmes de routage multicast pour rétablissement de communications entre un nœud source et plusieurs nœuds destinataires.
Un exemple de protocole de routage unicast est le protocole RPL standardisé par l'organisme IETF sous le numéro RFC 6550 (« IPv6 routing protocol for low-power and lossy networks »). Un tel protocole permet d'établir un chemin entre deux nœuds distants de telle sorte que les paquets peuvent être routés dans une direction ou dans la direction inverse. Le chemin peut être mis à jour en cas de modification du réseau mais, à un instant donné, le chemin est unique. Le protocole RPL peut également être utilisé pour établir un groupe multicast. Dans un tel groupe, un nœud source diffuse des données au sein du groupe multicast à destination de plusieurs nœuds cibles. Des mises à jour de l'arbre de routage multicast peuvent être opérées en réponse à des modifications du réseau (par exemple, un nouveau nœud entrant dans le réseau ou sortant du réseau). Le routage multicast permet de réduire la quantité de paquets de données transmis dans le réseau en comparaison au routage unicast.
Le routage unicast et le routage multicast impliquent pour chaque nœud routeur, l'établissement et le maintien d'une table de routage qui contient une indication du ou des nœuds voisins vers lequel (lesquels) transmettre un paquet de données à destination d'un nœud cible ou de plusieurs nœuds cibles appartenant à un groupe multicast.
Un avantage des mécanismes utilisant des tables de routage est leur efficacité car seuls les nœuds appartenant au chemin de routage préétabli sont sollicités pour acheminer les paquets de données vers leur destination. Autrement dit, le nombre de nœuds et de liens de communication exploités pour une transmission est optimisé. L'avantage de cette approche est une gestion efficace des ressources de communication ce qui est important pour des liens de communication radio à débit contraint.
A l'inverse, un inconvénient de ces mécanismes à base de tables de routage est un manque de fiabilité en cas de dégradation des conditions de transmission d'un ou plusieurs liens de communication entre un ou plusieurs nœuds impliqués dans un chemin de routage. Si un lien est défectueux, cela signifie que les paquets de données ne seront pas transmis correctement à leur destination ou peuvent être perdus lors de la transmission. Pour corriger ce problème, une solution consiste à implémenter un mécanisme de retransmission des paquets qui permet de détecter une rupture de transmission sur le chemin de routage et de déclencher des retransmissions de ce paquet sur le même chemin jusqu'à ce qu'une confirmation de la bonne réception du paquet soit reçue via le chemin inverse. La seconde classe de protocoles concerne les algorithmes de diffusion ou de dissémination de données. Le plus souvent, ces algorithmes visent à une diffusion généralisée des données vers tous les nœuds du réseau. Typiquement, un nœud du réseau qui reçoit un paquet marqué pour diffusion est amené à retransmettre ce paquet à destination de ses propres voisins une ou plusieurs fois, en respectant des attentes aléatoires pour éviter les phénomènes de collision de paquets dans le réseau. Il n'y a pas de notion d'arbre de diffusion préétabli. Les algorithmes de diffusion ne requièrent pas de table de routage au niveau des nœuds du réseau.
Un avantage des algorithmes de diffusion est leur fiabilité, car si un lien de communication est dégradé au sein du réseau cela aura une incidence limitée sur l'acheminement des données à leur destination.
A l'inverse, un inconvénient des algorithmes de diffusion est qu'ils peuvent engendrer une sur-utilisation des ressources de transmission du réseau car tous les liens du réseau sont utilisés pour chaque paquet de données à transmettre.
Un problème à résoudre consiste à mettre au point un mécanisme d'acheminement de données dans un réseau maillé qui soit à la fois plus fiable que les protocoles basés sur l'utilisation de tables de routage et plus efficace que les mécanismes de diffusion généralisée, notamment en termes de consommation optimisée de la bande passante réseau.
L'état de l'art comporte différents algorithmes dédiés à l'acheminement de données au sein d'un réseau maillé.
L'algorithme de diffusion MPL (« Multicast Protocol for Low-Power and Lossy Networks ») défini par l'organisme IETF sous le numéro RFC 7731 supporte la notion de « périmètre » (traduction de l'anglais « scope ») qui permet de définir des domaines de diffusion réduits par rapport au domaine de diffusion général. Ainsi, il est possible, avec cet algorithme, de construire un domaine de diffusion avec les seuls nœuds qui supportent une certaine propriété. Si l'on a par exemple un réseau maillé avec des nœuds interopérables issus de deux constructeurs différents A et B, il est possible de définir un périmètre de diffusion « A » et un périmètre de diffusion « B ». Cela est utile en particulier si l'on veut faire une mise à jour logicielle qui ne concerne que les nœuds fournis par le constructeur « B ». Dans ce cas, chaque nœud doit être préconfiguré avec les périmètres de diffusion qui le concernent, lui permettant alors de savoir s'il doit ou non participer à la diffusion d'un paquet associé à un périmètre particulier. Le protocole MPL ne précise pas comment configurer cette information sur les nœuds du réseau. En particulier aucun procédé n'existe pour définir un « périmètre » de diffusion associé à un nœud destinataire (cas d'une communication unicast) ou à un ensemble de nœuds destinataires (cas d'une communication multicast).
Une amélioration de l'algorithme de diffusion MPL, nommée SMRF (Stateless Multicast Forwarding with RPL in 6LowPAN Sensor Networks) a été décrite dans [George Oikonomou, lain Phillips, « Stateless Multicast Forwarding with RPL in 6LowPAN Sensor Networks », IEEE PerCom 2012, pp. 272-277] afin de permettre la diffusion MPL sur un arbre RPL préétabli. En particulier, l'algorithme SMRF réutilise le principe d'adhésion au groupe multicast tel que défini dans le protocole RPL (tout nœud désirant joindre un groupe multicast envoie une requête spécifique nommée DAO traversant tout le chemin ascendant jusqu'au nœud racine). Par contre l'algorithme SMRF introduit une condition sur le transfert des paquets multicast par un nœud routeur, à savoir : tout routeur multicast dans l'arbre RPL ne transmet un paquet multicast reçu que si ce denier a été envoyé par le parent préféré dudit nœud. L'algorithme SMRF permet ainsi de limiter la portée de la diffusion MPL aux nœuds ayant préalablement souscrit au groupe multicast. Cependant, l'algorithme SMRF ne définit pas des domaines de diffusion flexibles garantissant un routage multicast robuste. En effet, si un nœud perd la connectivité avec son parent, il ne pourra alors plus recevoir les paquets multicast. L'algorithme SMRF ne permet pas non plus de définir un domaine de diffusion (qui plus est flexible) associé à un nœud destinataire (dans le cas d'une communication unicast), et ne permet donc pas d'améliorer la robustesse / fiabilité du routage des paquets dans le cas d'une communication unicast.
Le modèle de routage multi-chemin (multi-path routing) résumé dans [Kewei Sha et al. «Multipath Routing Techniques in Wireless Sensor Networks: A Survey », Wireless Personal Communications, 2013, Volume 70, Issue 2, pp. 807-829] peut être utilisé pour accroître la fiabilité du routage unicast de paquets de données adressés à un destinataire en permettant le routage par plusieurs chemins disjoints en parallèle. Toutefois cette approche reste limitée en termes de robustesse puisqu'elle offre un degré de diversité moindre : si chacun des chemins est impacté par un lien dégradé (voire une perte de connectivité) alors la transmission de paquets de données ne pourra pas être assurée de manière fiable malgré la présence de ces différents chemins. Par ailleurs, le modèle de routage multi-chemin ne permet pas d'améliorer la fiabilité des communications multicast. Par ailleurs, le même argument évoqué ci-dessus dans le cas du multi-chemin unicast est applicable au cas multi-chemin multicast : si chaque chemin possible vers un nœud du groupe multicast est affecté, la transmission vers ce nœud est interrompue, alors qu'elle pourrait être maintenue dans une approche de diffusion.
Une approche multi-chemin pour les communications multicast (multi-arbre) a été définie dans [Huayi Wu et al., « Bandwidth Guaranteed Multi-tree Multicast Routing in Wireless Ad Hoc Networks ». APWeb Workshops 2006, pp. 157-1 66 ]. Cette méthode peut améliorer la fiabilité des communications multicast en utilisant simultanément plusieurs chemins et/ou sous-arbres possibles pour diffuser un paquet de données à un groupe de diffusion multicast. Ainsi, un nœud impliqué dans le routage doit avoir une table de routage avec plusieurs entrées (plusieurs sous-arbres) par groupe de diffusion multicast. L'invention propose une méthode de dissémination de données qui présente des performances améliorées en termes d'efficacité d'exploitation des ressources de transmission au sein d'un réseau maillé par rapport à une méthode de diffusion générale de type « broadcast ».
L'invention permet également d'adresser des communications de type unicast ou multicast en améliorant la fiabilité des transmissions par rapport à des mécanismes à base de tables de routage.
Le procédé selon l'invention est paramétrable en ce sens qu'il utilise un groupe de diffusion restreint qui peut être plus ou moins étendu en fonction d'informations de qualité de service relatives au réseau.
L'invention s'applique à tout type de réseau maillé dans lequel plusieurs nœuds, qui peuvent être mobiles ou fixes, sont interconnectés par le biais de liaisons de transmission qui peuvent être des liaisons radio ou des liaisons filaires. Le terme « nœud » est employé ici pour désigner un élément d'un réseau maillé qui peut prendre la forme de tout équipement ou dispositif comprenant des moyens pour communiquer avec d'autres dispositifs identiques au sein d'un réseau. Un tel dispositif peut prendre la forme d'un ordinateur, d'un téléphone intelligent, d'un véhicule, d'un appareil de mesure ou de tout autre dispositif apte ou adapté pour communiquer et transmettre des données.
L'invention a pour objet un procédé de dissémination de données dans un réseau maillé comprenant une pluralité de nœuds interconnectés, ledit procédé comprenant les étapes suivantes exécutées pour chaque nœud source destiné à communiquer avec au moins un nœud cible :
- Construire itérativement un groupe de diffusion restreint comprenant au moins un groupe de diffusion minimal comprenant le nœud source (Ns) et un ensemble de nœuds (NP, Nvi , NV2, NV3, Nv4) permettant de relier le nœud source (Ns) audit au moins un nœud cible (Nc), ledit groupe de diffusion étant augmenté à chaque itération d'un niveau d'extension ayant un rang donné comprenant l'ensemble des nœuds aptes à communiquer directement avec les nœuds du groupe de diffusion construit à l'itération précédente,
- Pour communiquer des données entre le nœud source et ledit au moins un nœud cible, diffuser les données au sein du groupe de diffusion restreint.
Selon un aspect particulier de l'invention, la construction du groupe de diffusion restreint comprend :
- la transmission, par ledit au moins un nœud cible, d'un message de construction de groupe de diffusion à destination du nœud source via au moins un nœud relais, ledit message comprenant un identifiant du niveau d'extension du groupe de diffusion,
- la diffusion, par un nœud relais à ses nœuds voisins aptes à communiquer directement avec le nœud relais, d'un message d'extension du groupe de diffusion, en fonction de la valeur de l'identifiant du niveau d'extension,
- lorsqu'un message de construction de groupe de diffusion ou un message d'extension de groupe est reçu par un nœud relais, l'enregistrement, par ce nœud relais, d'une information d'appartenance au groupe de diffusion.
Selon un aspect particulier de l'invention, la construction du groupe de diffusion restreint comprend :
- lorsqu'un message de construction de groupe de diffusion ou un message d'extension de groupe est reçu par un nœud relais et si l'identifiant du niveau d'extension du groupe de diffusion est non nul, - décrémenter la valeur de l'identifiant du niveau d'extension du groupe de diffusion, générer et transmettre un message d'extension de groupe, comprenant la valeur modifiée de l'identifiant du niveau d'extension, à tous les nœuds voisins aptes à communiquer directement avec le nœud relais.
Selon un aspect particulier de l'invention, la transmission d'un message de construction de groupe de diffusion est effectuée à l'aide de tables de routage.
Selon un aspect particulier de l'invention, un nœud source est destiné à communiquer avec un nœud cible selon une communication unicast et le message de construction de groupe de diffusion comprend au moins un identifiant du nœud cible.
Selon un aspect particulier de l'invention, un nœud source est destiné à communiquer avec plusieurs nœuds cibles selon une communication multicast et le message de construction de groupe de diffusion comprend au moins un identifiant du groupe multicast.
Selon un aspect particulier de l'invention, la construction du groupe de diffusion restreint comprend, pour chaque nœud cible, l'attribution, par le nœud source, d'un groupe de diffusion existant audit nœud cible.
Selon un aspect particulier de l'invention, la construction du groupe de diffusion restreint comprend :
- la construction, par le nœud source ou par un équipement externe au réseau et directement reliée au nœud source, d'un groupe de diffusion ayant un niveau d'extension donné, pour au moins un nœud cible,
- la notification, par le nœud source ou l'équipement externe, à chaque nœud du groupe de diffusion construit, de son appartenance audit groupe de diffusion.
Selon un aspect particulier de l'invention, la construction d'un groupe de diffusion est initiée par le nœud source ou l'équipement externe, à la réception d'un message d'inscription dans le réseau d'un nœud cible, ledit message d'inscription étant relayé du nœud cible vers le nœud source par l'intermédiaire d'un nœud voisin du nœud cible.
Dans un mode de réalisation particulier, le procédé selon l'invention comprend en outre une étape de mise à jour du niveau d'extension du groupe de diffusion.
Selon un aspect particulier de l'invention, la mise à jour du niveau d'extension du groupe de diffusion est effectuée en fonction d'une information sur l'état des liens de communication entre nœuds appartenant au groupe de diffusion.
Dans un mode de réalisation particulier, le procédé selon l'invention comprend en outre une étape d'acquittement des données diffusées dans un groupe de diffusion restreint comprenant :
- Lorsqu'un nœud cible reçoit des données diffusées par un nœud source, la diffusion, par ledit nœud cible, d'un message d'acquittement dans son groupe de diffusion.
Selon un aspect particulier de l'invention, la diffusion de données dans un groupe de diffusion comprend une réinitialisation de la diffusion des données par le nœud source tant qu'il ne reçoit pas un message d'acquittement.
Selon un aspect particulier de l'invention, lorsqu'un nœud reçoit un message d'acquittement, il arrête la diffusion des données acquittées.
Selon un aspect particulier de l'invention, l'information sur l'état des liens de communication entre nœuds appartenant au groupe de diffusion est obtenue à partir de l'analyse des messages d'acquittement reçus par le nœud source.
L'invention a également pour objet un programme d'ordinateur comportant des instructions pour l'exécution du procédé de dissémination de données selon l'invention, lorsque le programme est exécuté par un processeur ainsi qu'un support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution du procédé de dissémination de données selon l'invention, lorsque le programme est exécuté par un processeur.
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit en relation aux dessins annexés qui représentent :
- La figure 1 , un exemple de construction d'un groupe de diffusion pour une communication unicast dans un réseau maillé,
- La figure 2, un exemple de transmission de données dans un groupe de diffusion étendu,
- La figure 3, un exemple de construction d'un groupe de diffusion pour une communication multicast dans un réseau maillé,
- La figure 4, un diagramme illustrant la construction d'un groupe de diffusion selon un premier mode de réalisation de l'invention implémentant une construction distribuée,
- La figure 5, un diagramme illustrant la construction d'un groupe de diffusion selon un second mode de réalisation de l'invention implémentant une construction centralisée. L'invention concerne un procédé de dissémination de données dans un réseau maillé et introduit la notion de groupe de diffusion au sein duquel les données sont transmises à l'aide d'un mécanisme de diffusion.
On défini au préalable la notion de mécanisme de diffusion qui est utilisée par l'invention.
Un algorithme de routage est basé sur un mécanisme de diffusion, si les opérations de routage élémentaires sont basées sur un mécanisme dit de « broadcast » local implémenté généralement au niveau de la couche protocolaire MAC (Médium Access Layer) et non pas sur un mécanisme de communication locale unicast. Par opération de routage élémentaire, on entend ici, une opération de routage entre deux nœuds voisins du réseau, autrement dit une opération bond par bond par opposition à une opération de routage multi-bonds qui consiste à transmettre des données entre deux nœuds distants par l'intermédiaire d'autres nœuds du réseau.
Un algorithme de routage qui n'est pas basé sur un mécanisme de diffusion repose, au contraire, sur des mécanismes de communication locale unicast, ainsi que sur l'usage de tables de routage. Ici encore, ces mécanismes sont généralement implémentés au niveau de la couche protocolaire MAC.
Lors d'une opération dite de « broadcast » local, un nœud transmet un paquet sans l'adresser en particulier à l'un de ses voisins.
Au contraire, lors d'une communication locale unicast, lorsqu'un nœud transmet un paquet, il identifie le voisin auquel ce paquet est destiné, par exemple en introduisant dans les entêtes MAC du paquet un champ adresse qui identifie ce voisin. En pratique, ce paquet est aussi reçu par les autres voisins, mais ceux ci l'ignorent, car l'adresse MAC unicast qu'il contient ne leur correspond pas.
On décrit à présent le procédé objet de l'invention.
La figure 1 schématise un exemple de réseau maillé comprenant 60 nœuds, chaque nœud étant identifié par un numéro. Chaque nœud représenté est susceptible de communiquer par voie radio avec des nœuds voisins situés à l'intérieur d'un cercle, centré sur le nœud et de rayon égal à la portée de la liaison radio. On considère le cas d'une communication unicast entre le nœud 0 et le nœud 46.
L'invention consiste, notamment, à définir un groupe de diffusion restreint contenant un ensemble de nœuds permettant de relier le nœud 0 et le nœud 46 et dans lequel est mis en œuvre un mécanisme de diffusion de données.
Selon un premier mode de réalisation de l'invention, un groupe de diffusion est associé à une paire de nœuds (0 et 46 dans l'exemple de la figure 1 ) souhaitant établir une communication unicast entre eux et présente un niveau d'extension variable. Autrement dit, le nombre de nœuds que contient le groupe de diffusion peut varier.
Le premier niveau d'un groupe de diffusion correspond au groupe minimal et contient les nœuds permettant d'établir un chemin entre le nœud source et le nœud cible de la liaison unicast. Ce chemin peut être déterminé, par exemple, à l'aide d'un algorithme de routage classique exploitant des tables de routage. Dans l'exemple de la figure 2, le groupe de diffusion minimal pour la liaison unicast entre les nœuds 0 et 46 contient le nœud source 0 et les nœuds relais 2,12,24 et 47. A noter que le nœud cible 46 ne fait pas partie du groupe de diffusion car le nœud cible 46 n'a pas besoin de diffuser les paquets de données reçus à d'autres nœuds. Le choix des nœuds qui composent le groupe de diffusion minimal peut être fait en fonction de métriques permettant de différencier les routes ou chemins entre deux nœuds au sein du réseau maillé. Une métrique peut prendre en compte le nombre de nœuds intermédiaires pour relier un nœud source et un nœud cible mais aussi des informations sur les caractéristiques des liens de transmission entre paires de nœuds telles que la qualité du lien ou le niveau de réception d'un signal. Une fois le groupe de diffusion créé, un mécanisme de diffusion limité à ce groupe est mis en œuvre. Par exemple, pour une transmission du nœud 0 vers le nœud 46, les paquets de données sont diffusés à partir du nœud source 0 à travers tous les nœuds du groupe de diffusion associé à la liaison unicast entre le nœud source 0 et le nœud cible 46. Lorsqu'un nœud reçoit un message diffusé par un nœud voisin, il analyse le message pour vérifier à quel groupe de diffusion il est destiné. Si le nœud appartient au groupe de diffusion associé au message reçu, il retransmet ce message vers ses voisins, sinon il ignore le message. Le message peut contenir un identifiant du groupe de diffusion ou un identifiant du nœud source et du nœud cible associés au groupe de diffusion. Lors de la création d'un groupe de diffusion, un nœud enregistre son appartenance à un ou plusieurs groupes de diffusion.
Les nœuds du groupe de diffusion sont notifiés de leur statut de membre de ce groupe de façon à ce qu'ils prennent en charge la diffusion des paquets à destination du nœud 46. Plus généralement, chaque nœud dans le réseau est « conscient » de son appartenance au groupe de diffusion unicast associé à chaque autre nœud ou paire de nœuds dans le réseau.
Si l'on se contente d'utiliser le groupe de diffusion minimal, il n'y a pas d'amélioration particulière en matière de résilience vis-à-vis des liens temporairement défectueux au sein du groupe de diffusion. En effet, on peut s'attendre à des performances équivalentes à celle de l'algorithme de routage classique qui utiliserait une couche MAC avec retransmission. Le principe de dissémination intègre naturellement un concept de retransmission qui n'est pas intégré dans une solution de routage unicast classique, mais qui peut toujours être intégré au niveau de la couche MAC.
Si l'on compare donc la solution connue de routage unicast associée à une retransmission au niveau de la couche MAC, et la solution de routage unicast basée sur un principe de diffusion selon l'invention et utilisant le groupe de diffusion minimal, on peut s'attendre à des performances équivalentes en matière de résistance aux pertes de paquets. Mais ces deux solutions sont néanmoins différentes.
Dans le cas du routage unicast de l'art antérieur, un nœud impliqué dans le routage doit avoir été configuré avec une table de routage, qui lui permet de savoir auquel de ses voisins il doit transmettre un paquet qu'il vient de recevoir.
Dans le cas de l'invention, les nœuds du groupe de diffusion minimal n'ont pas besoin de cette notion de table de routage. Il leur suffit de savoir qu'ils participent à la diffusion pour le compte du nœud cible. Si c'est bien le cas, les paquets reçus à destination du nœud cible seront retransmis, selon des contraintes de délai qui sont propres à l'algorithme de diffusion utilisé. Pour améliorer la fiabilité en termes de résistance aux liens défectueux, l'invention permet une extension du groupe de diffusion minimal d'un ou plusieurs niveaux.
Si l'on fait encore référence aux communications unicast vers le nœud
46, le groupe de diffusion peut être étendu d'un premier niveau en intégrant les nœuds 1 , 3, 4, 1 1 , 13, 25, 45. Il s'agit de l'ensemble des nœuds qui sont en couverture directe de l'un des nœuds du groupe de diffusion minimal. Par couverture directe, on entend une transmission directe entre deux nœuds voisins. Dans le cas de communications par voie radio, la couverture d'un nœud est définie par le périmètre autour de ce nœud dans lequel il est susceptible de communiquer avec un autre nœud.
Le groupe de diffusion étendu au premier niveau pour le nœud 46 est donc l'ensemble des nœuds {47, 24, 12, 2, 0, 1 , 3, 4, 1 1 , 13, 25, 45}.
Sur la figure 2, on a représenté le groupe de diffusion étendu au premier niveau pour le nœud 46. Si l'on imagine que le lien entre les nœuds 12 et 24 est temporairement défectueux, on voit sur la figure 2 que le principe de diffusion mis en œuvre par l'invention permet néanmoins d'acheminer les paquets de données émis par le nœud source 0 vers le nœud cible 46. En effet, le nœud 1 1 appartenant au groupe de diffusion étendu, les paquets diffusés peuvent transiter par ce nœud 1 1 pour être ensuite acheminés vers le nœud 24. Ainsi, l'utilisation d'un groupe de diffusion étendu permet de pallier aux inconvénients du manque de fiabilité des mécanismes à base de tables de routage tout en limitant la diffusion des données à un groupe de nœuds restreints dans le réseau.
De façon similaire, un groupe de diffusion étendu au second niveau peut être construit en ajoutant au groupe de diffusion étendu au premier niveau, tous les nœuds en couverture directe d'un nœud de ce groupe. L'extension au second niveau conduit à inclure dans le groupe de diffusion représenté à la figure 2, les nœuds 5,7,8,10,14,15,1 6,23,26 et 50.
De façon générale, le principe d'extension du groupe de diffusion peut être étendu de façon récursive. Plus le groupe de diffusion est étendu, meilleure sera la fiabilité du mécanisme vis-à-vis des liens défectueux et des pertes de paquets mais moins bonne sera l'efficacité de l'utilisation des ressources de transmission du réseau, notamment des ressources de calcul et de bande passante.
L'invention permet donc de construire un groupe de diffusion présentant un niveau d'extension de rang variable qui est paramétrable en fonction d'informations sur l'état du réseau. Le rang du niveau d'extension étant défini comme le nombre d'extensions du groupe de diffusion à partir du groupe de diffusion minimal.
La construction du groupe de diffusion peut être réalisée de façon itérative, le groupe de diffusion étant augmenté à chaque itération d'un niveau d'extension ayant un rang donné comprenant l'ensemble des nœuds aptes à communiquer directement avec les nœuds du groupe de diffusion construit à l'itération précédente, La figure 3 représente, sur le même exemple de réseau maillé, un exemple de construction d'un groupe de diffusion pour une communication multicast entre un nœud source 0 et plusieurs nœuds cibles 18,34,61 ,62.
De la même façon que pour une communication unicast, un groupe de diffusion minimal peut être construit pour cette communication multicast. Le groupe de diffusion minimal contient les nœuds 0,1 ,4,7,15,1 6,17,19,20,28,30,31 ,33.
Le groupe de diffusion minimal peut être étendu, de façon récursive, en ajoutant dans ce groupe, les nœuds en couverture directe de tous les nœuds du groupe de diffusion. Ainsi, le groupe de diffusion de premier niveau d'extension contient en outre les nœuds 8,21 ,38,37,2,3,5,6,35,99,29,27,57,32. Le groupe de diffusion de second niveau d'extension contient en outre les nœuds 9,22,39,36,12,13,14,56,58,59,60.
En synthèse, le procédé selon l'invention consiste, pour chaque communication unicast ou multicast, à construire un groupe de diffusion restreint présentant un niveau d'extension variable puis à mettre en œuvre un mécanisme de diffusion de données au sein de ce groupe de diffusion. Lorsqu'un paquet de données est reçu par un nœud, celui-ci vérifie s'il fait partie du groupe de diffusion associé au nœud destinataire du paquet et, si c'est le cas, retransmet ce paquet à ses voisins, sinon il ignore le paquet.
Le paramétrage du niveau d'extension d'un groupe de diffusion peut être réalisé en fonction de la connaissance de l'état du réseau. Par exemple, si des paquets de données sont perdus ou sont acheminés avec un temps de transmission trop important, il peut être souhaitable d'étendre le groupe de diffusion. A l'inverse, si l'acheminement des données se fait de façon fiable et rapide, la taille du groupe de diffusion peut être réduite.
La mise à jour du niveau d'extension du groupe de diffusion peut être effectuée à tout moment, par le concepteur ou en fonction d'informations remontées par le biais de mécanismes externes à l'invention ou par le biais d'un mécanisme d'acquittement de données propre à l'invention qui est décrit plus loin.
On décrit à présent, à l'appui de la figure 4, un premier mode de réalisation de la construction d'un groupe de diffusion, selon l'invention. Dans ce premier mode, la construction d'un groupe de diffusion est réalisée de façon distribuée au sein du réseau.
Dans un premier temps, on considère une communication unicast entre un nœud cible Nc et un nœud source Ns.
Le processus de construction d'un groupe de diffusion est initié par un nœud cible initiateur Nc qui souhaite bénéficier d'un groupe de diffusion pour une communication unicast avec le nœud source Ns. Le nœud cible Nc génère un message de construction de groupe de diffusion DGR qui comprend au moins un identifiant du nœud cible Nc et du nœud source Ns. Le nœud cible Nc transmet ensuite ce message vers un nœud voisin Np. Le message DGR est relayé de nœud en nœud jusqu'au nœud source Ns en parcourant un chemin prédéterminé entre le nœud cible Nc et le nœud source Ns. Le chemin reliant ces deux nœuds peut être déterminé à l'aide d'un algorithme de routage unicast, par exemple l'algorithme RPL ou un algorithme de routage équivalent. Lorsqu'un nœud relais Np reçoit un message DGR, il enregistre une information d'appartenance au groupe de diffusion associé à une communication unicast entre le nœud cible Nc et le nœud source Ns. Lorsque cette étape est achevée, le groupe de diffusion minimal est construit.
Comme on l'a évoqué précédemment, le groupe de diffusion peut être étendu. Pour cela, le message de construction de groupe de diffusion DGR comprend en outre un identifiant DT du niveau d'extension du groupe de diffusion. Cet identifiant est initialisé à une valeur prédéterminée lors de la création du message DGR par le nœud initiateur Nc. L'identifiant DT peut, par exemple, prendre des valeurs entières positives ou nulles. Selon cet exemple, une valeur nulle de l'identifiant DT correspond à un groupe de diffusion minimal, tandis qu'une valeur n strictement positive de l'identifiant DT correspond à un groupe étendu au niveau n.
Lorsqu'un nœud relai Np du groupe de diffusion minimal reçoit un message DGR, il analyse l'identifiant DT contenu dans ce message. Si l'identifiant DT présente une valeur nulle, le message DGR est transmis au nœud relais suivant sur le chemin de routage préétabli constituant le groupe de diffusion minimal. La transmission du message DGR est effectuée en s'appuyant sur un algorithme de routage unicast comme expliqué plus haut.
Si au contraire, l'identifiant DT présente une valeur supérieure à zéro, alors tous les nœuds relais appartenant au groupe de diffusion minimal génèrent un second message DGER d'extension du groupe de diffusion qui contient également au moins un identifiant du nœud cible Nc et du nœud source Ns, et un identifiant DT du niveau d'extension du groupe de diffusion. La valeur de l'identifiant DT dans le message d'extension DGER est décrémentée d'une unité par rapport à la valeur de l'identifiant DT lue par le nœud relais dans le message DGR. Ensuite, chaque nœud relais diffuse le message DGER, via un algorithme de diffusion généralisée de type « broadcast » à tous ses nœuds voisins Nvi , NV2, autrement dit, tous les nœuds qui sont en portée directe du nœud relais. Lorsqu'un nœud voisin Nvi , NV2 reçoit un message d'extension DGER, il enregistre une information d'appartenance au groupe de diffusion étendu puis il décrémente d'une unité la valeur de l'identifiant DT dans le message d'extension DGER. Si la valeur obtenue est nulle, le processus d'extension du groupe de diffusion s'arrête. Si au contraire, la valeur obtenue est strictement positive, le nœud voisin Nvi , NV2 diffuse à nouveau un message DGER contenant la nouvelle valeur d'identifiant DT à tous ses nœuds voisins NV3, Nv4, en portée directe.
De cette façon, il est possible de construire un groupe de diffusion plus ou moins étendu en s'appuyant sur un routage unicast et une diffusion généralisée de type « broadcast ».
Sans sortir du cadre de l'invention, le procédé d'extension du groupe de diffusion décrit ci-dessus peut être modifié en considérant des valeurs négatives ou nulles pour l'identifiant DT et une incrémentation des valeurs à chaque niveau d'extension au lieu d'une décrémentation.
De façon générale, les messages d'extension DGER qui sont diffusés doivent comprendre une information permettant de déduire les niveaux d'extension supérieurs au niveau d'extension courant du groupe de diffusion pour un nœud donné.
Le nœud Nc à l'origine de la requête de construction d'un groupe de diffusion DGR peut à tout moment initier une demande de modification du niveau d'extension du groupe de diffusion.
Le groupe de diffusion peut être modifié en ajoutant un ou plusieurs niveaux d'extension. Pour cela, le nœud initiateur Nc peut utiliser le groupe de diffusion existant pour diffuser un nouveau message de construction DGR comprenant un identifiant DT de niveau d'extension supérieur à celui utilisé pour la construction du groupe de diffusion.
Le groupe de diffusion peut aussi être modifié en supprimant un ou plusieurs niveaux d'extension. Une première solution pour réduire la taille d'un groupe de diffusion consiste à d'abord supprimer le groupe de diffusion existant puis à construire un nouveau groupe de diffusion avec un niveau d'extension DT inférieur.
Pour supprimer un groupe de diffusion, le nœud initiateur Nc peut générer un message de suppression de groupe DGRR qui sera diffusé au sein du groupe de diffusion existant. Ce message DGRR contient un identifiant du groupe de diffusion à supprimer. A réception de ce message, les nœuds appartenant au groupe de diffusion suppriment l'information d'appartenance à ce groupe.
Une seconde solution pour réduire la taille d'un groupe de diffusion consiste à générer un message DGRR contenant à la fois le niveau d'extension DT actuel du groupe de diffusion et le niveau d'extension DT' futur souhaité du groupe de diffusion et à diffuser ce message au sein du groupe de diffusion. Ce message DGRR est transmis aux nœuds du groupe de diffusion minimal via l'algorithme de routage unicast. A réception de ce message DGRR, chaque nœud du groupe de diffusion minimal génère un message DGRER d'extension à destination de ses voisins en portée directe dans lequel à la fois le niveau d'extension courant DT et le nouveau niveau d'extension DT' sont décrémentés. Lorsqu'un nœud reçoit un message DGRER contenant un niveau d'extension futur DT' qui présente une valeur nulle, il supprime l'information d'appartenance au groupe de diffusion puis retransmet un message DGRER à ses voisins avec un niveau d'extension courant DT décrémenté et un niveau d'extension futur DT' nul. Le processus se poursuit jusqu'à ce que la valeur du niveau d'extension courant DT soit également nulle. Un avantage de cette variante est qu'elle permet de ne supprimer que les nœuds périphériques qui appartiennent au groupe de diffusion courant mais que l'on souhaite supprimer du groupe de diffusion réduit.
On décrit à présent le principe de construction d'un groupe de diffusion, toujours selon le premier mode de réalisation relatif à une mise en œuvre distribuée, mais cette fois pour une communication au sein d'un groupe multicast.
Pour une communication multicast d'un nœud source vers un groupe de nœuds destination, la construction d'un groupe de diffusion associé est initiée par tous les nœuds qui souhaitent recevoir les messages multicast émis par le nœud source. Chacun de ces nœuds met en œuvre la procédure de construction de groupe de diffusion définie pour le cas d'une communication unicast. Une différence est qu'un message DGR contient cette fois un identifiant du groupe multicast. Une contrainte supplémentaire est que le niveau d'extension DT du groupe de diffusion doit être initialisé à une valeur identique pour tous les nœuds cibles du groupe multicast qui initient une demande de construction de groupe de diffusion.
La gestion de l'harmonisation des valeurs de l'identifiant de niveau d'extension DT ainsi que la mise à jour du niveau d'extension peut être centralisée dans le nœud source ou nœud racine du groupe multicast.
La figure 5 schématise, sur un diagramme, les étapes de mise en œuvre d'un second mode de réalisation de la construction d'un groupe de diffusion, selon l'invention. Dans ce second mode, la construction d'un groupe de diffusion est réalisée de façon centralisée par un nœud particulier du réseau qu'on appelle par la suite nœud racine. Alternativement, la construction du groupe de diffusion peut aussi être réalisée par un équipement extérieur au réseau mais apte à établir un lien de communication direct avec le nœud racine. L'équipement extérieur au réseau peut être par exemple une machine située dans le réseau Internet qui est connecté au réseau maillé par l'intermédiaire du nœud racine. Avantageusement, on considère dans ce second mode de réalisation, des communications entre le nœud racine et un ou plusieurs nœuds entrants dans le réseau. Dans le cas d'une solution centralisée, le réseau maillé peut être construit étape par étape à partir d'un nœud racine NR. Le nœud racine NR peut être assisté par une entité intelligente E| qui dirige la construction du réseau, et qui détermine les groupes de diffusion associés à chacun des nœuds dans le réseau. L'entité intelligente Ei peut être co-localisée avec le nœud racine NR ou peut être distincte du nœud racine et située à l'extérieur du réseau maillé.
Lorsqu'un nouveau nœud Nc est mis en service et doit être intégré au sein du réseau maillé, ce nouveau nœud Nc doit être autorisé à communiquer avec l'un de ses voisins Nv déjà intégré au réseau. Le nœud voisin Nv a été précédemment intégré au réseau et dispose déjà de son propre groupe de diffusion. Le nœud voisin Nv communique avec le nœud racine NR pour lui présenter les caractéristiques du nouveau nœud candidat Nc. Les caractéristiques incluent au minimum un identifiant pour le nouveau nœud Nc et l'indication des nœuds voisins déjà intégrés au réseau que ce nouveau nœud Nc a en visibilité directe, autrement dit avec lesquels il peut communiquer directement. Ainsi, un message d'inscription du nouveau nœud candidat Nc est relayé par le nœud voisin Nv jusqu'au nœud racine Nc et à l'entité intelligente E| associée.
L'entité intelligente E| a une connaissance de la topologie du réseau maillé et connaît en particulier les relations de voisinage entre tous les nœuds du réseau. Sur cette base, l'entité intelligente Ei détermine un groupe de diffusion qu'elle associe au nouveau nœud entrant Nc dans le réseau. Pour la définition du groupe de diffusion, l'entité intelligente E| peut considérer une valeur de niveau d'extension DT cible. Lorsque le groupe de diffusion associé au nouveau nœud Nc est déterminé, un message MC de création du groupe de diffusion est communiqué à tous les nœuds NG membres du groupe de diffusion pour ce nouveau nœud Nc, pour qu'ils sachent qu'ils font désormais partie de ce groupe. Ce message inclut l'identifiant du nouveau nœud Nc. Le message MC de création du groupe de diffusion est diffusé en utilisant les groupes de diffusion associés aux nœuds NG membres du nouveau groupe de diffusion. Une solution possible, pour transmettre les messages MC de création d'un nouveau groupe de diffusion, est d'utiliser les groupes de diffusion minimaux des nœuds destinataires des messages MC. De cette façon, on limite la quantité de messages MC de signalisation au sein du réseau. Une autre solution consiste à utiliser les groupes de diffusion complets, c'est-à-dire les groupes de diffusion non minimaux.
Un dernier message de confirmation MCI auprès du nouveau nœud Nc est ensuite envoyé par le nœud racine NR de façon à confirmer l'intégration de ce nouveau nœud Nc au sein du réseau maillé ainsi que le caractère opérationnel de son groupe de diffusion.
A la différence de la solution distribuée utilisée pour le premier mode de réalisation de l'invention, la solution centralisée ne fait aucun usage d'une solution de routage classique préalablement établie. Autrement dit, elle ne nécessite pas de tables de routage dans chaque nœud du réseau.
Le second mode de réalisation de la construction d'un groupe de diffusion fonctionne à l'identique pour le cas d'une communication multicast. On suppose dans ce cas, qu'un nouveau nœud Nc entrant au sein du réseau peut adhérer à un groupe multicast existant.
Un groupe de diffusion construit de façon centralisée peut, à tout moment, être modifié en augmentant ou en diminuant son niveau d'extension DT, cet aspect étant géré par le nœud racine ou l'entité intelligente E|.
Comme évoqué précédemment, un aspect avantageux de l'invention consiste en la possibilité de mettre à jour de façon dynamique le niveau d'extension d'un groupe de diffusion. Cette fonctionnalité est avantageuse car elle permet notamment de redimensionner la taille d'un groupe de diffusion en fonction des caractéristiques variables du réseau.
En particulier, si certains chemins dans le groupe de diffusion sont affectés par des baisses de débits ou par des ruptures de transmission, il peut être utile d'étendre le groupe de diffusion afin d'améliorer la fiabilité des transmissions. A l'inverse, si la qualité et la rapidité des diffusions de paquets est élevée, il peut être utile de restreindre la taille du groupe de diffusion pour améliorer l'efficacité de l'exploitation des ressources de calcul et de communication dans le réseau.
Ainsi, la modification du niveau d'extension d'un groupe de diffusion peut être réalisée en fonction d'informations sur l'état du groupe de diffusion, en particulier sur l'état des liens de transmission entre les nœuds du groupe de diffusion. Ces informations peuvent concerner un taux de paquets perdus ou un délai de transmission de bout en bout d'un paquet. Selon un mode de réalisation de l'invention, les informations sont fournies par une entité externe à l'invention apte à surveiller l'état du groupe de diffusion. Par exemple, l'entité externe peut être co-localisée dans un nœud racine destiné à construire et gérer un groupe de diffusion ou par le nœud source d'un groupe multicast.
Selon un autre mode de réalisation de l'invention, les informations sur l'état du groupe de diffusion peuvent être dérivées à partir d'un mécanisme d'acquittement de bout en bout propre à l'invention. Ce mécanisme est cependant limité au cas des communications unicast.
Lorsqu'un nœud cible reçoit un paquet de données diffusé par un nœud source au sein d'un groupe de diffusion, il acquitte ce paquet en initiant une diffusion inverse d'un message d'acquittement dans le même groupe de diffusion. Lorsque le nœud source reçoit le message d'acquittement, il peut en déduire une information sur l'acheminement correct du paquet à sa destination ainsi que sur le délai d'acheminement.
Dans le cas où la construction des groupes de diffusion se fait de façon centralisée, le nœud source correspond au nœud racine. Le mécanisme d'acquittement peut être couplé à un mécanisme de réinitiation des diffusions des paquets de données. Le nœud source peut réinitier la diffusion d'un paquet de données si il n'a pas reçu la confirmation de la bonne réception du paquet par le nœud cible, via la diffusion inverse de l'acquittement. La ré-initiation de la diffusion peut, par exemple, avoir lieu périodiquement, en utilisant une horloge (ou timer en anglais), l'événement déclencheur de la ré-initiation étant l'expiration de l'horloge. Lorsqu'un nœud du groupe de diffusion reçoit un message d'acquittement associé à un paquet reçu par le nœud cible, il arrête la retransmission de ce paquet à ses voisins.
L'invention peut être mise en œuvre en tant que programme d'ordinateur comportant des instructions pour son exécution. Le programme d'ordinateur peut être enregistré sur un support d'enregistrement lisible par un processeur. L'invention est exécutée totalement ou partiellement dans chaque nœud d'un réseau maillé. Un nœud correspond à un dispositif comprenant des moyens pour communiquer avec d'autres nœuds voisins, par exemple par le biais d'une liaison de communication radio. Dans le cas d'une construction des groupes de diffusion de façon centralisée, une partie de l'invention peut être mise en œuvre dans un nœud spécifique du réseau appelé nœud racine et/ou dans un équipement externe au réseau et directement relié au nœud racine par une liaison de communication.
La référence à un programme d'ordinateur qui, lorsqu'il est exécuté, effectue l'une quelconque des fonctions décrites précédemment, ne se limite pas à un programme d'application s'exécutant sur un ordinateur hôte unique. Au contraire, les termes programme d'ordinateur et logiciel sont utilisés ici dans un sens général pour faire référence à tout type de code informatique (par exemple, un logiciel d'application, un micro logiciel, un microcode, ou toute autre forme d'instruction d'ordinateur) qui peut être utilisé pour programmer un ou plusieurs processeurs pour mettre en œuvre des aspects des techniques décrites ici. Les moyens ou ressources informatiques peuvent notamment être distribués {"Cloud Computing"), éventuellement selon des technologies de pair-à-pair. Le code logiciel peut être exécuté sur n'importe quel processeur approprié (par exemple, un microprocesseur) ou cœur de processeur ou un ensemble de processeurs, qu'ils soient prévus dans un dispositif de calcul unique ou répartis entre plusieurs dispositifs de calcul (par exemple tels qu'éventuellement accessibles dans l'environnement du dispositif). Le code exécutable de chaque programme permettant au dispositif programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur ou en mémoire morte. De manière générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif avant d'être exécutés. L'unité centrale peut commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur ou dans la mémoire morte ou bien dans les autres éléments de stockage précités.
Alternativement, l'invention peut aussi être mise en œuvre au moyen d'un processeur qui peut être un processeur générique, un processeur spécifique, un circuit intégré propre à une application (connu aussi sous le nom anglais d'ASIC pour « Application-Specific Integrated Circuit ») ou un réseau de portes programmables in situ (connu aussi sous le nom anglais de FPGA pour « Field-Programmable Gâte Array »). Chaque nœud du réseau maillé ainsi que l'équipement externe associé au nœud racine peut utiliser, pour mettre en œuvre l'invention, un ou plusieurs circuits électroniques dédiés ou un circuit à usage général. La technique de l'invention peut se réaliser sur une machine de calcul reprogrammable (un processeur ou un micro contrôleur par exemple) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). L'invention s'applique à tout réseau maillé comprenant une pluralité de nœuds qui sont des dispositifs communiquant mobiles ou fixes, qui peuvent être localisés, par exemple, dans des immeubles, des véhicules, des compteurs électriques intelligents, des téléphones intelligents.

Claims

REVENDICATIONS
Procédé de dissémination de données dans un réseau maillé comprenant une pluralité de nœuds interconnectés, ledit procédé comprenant les étapes suivantes exécutées pour chaque nœud source (Ns) destiné à communiquer avec au moins un nœud cible (Nc) :
- Construire itérativement un groupe de diffusion restreint comprenant au moins un groupe de diffusion minimal comprenant le nœud source (Ns) et un ensemble de nœuds (NP, Nvi , NV2, NV3, Nv4) permettant de relier le nœud source (Ns) audit au moins un nœud cible (Nc), ledit groupe de diffusion étant augmenté à chaque itération d'un niveau d'extension ayant un rang donné comprenant l'ensemble des nœuds aptes à communiquer directement avec les nœuds du groupe de diffusion construit à l'itération précédente,
- Pour communiquer des données entre le nœud source (Ns) et ledit au moins un nœud cible (Ne), diffuser les données au sein du groupe de diffusion restreint.
Procédé de dissémination de données selon la revendication 1 dans lequel la construction du groupe de diffusion restreint comprend :
- la transmission, par ledit au moins un nœud cible (Nc), d'un message de construction de groupe de diffusion (DGR) à destination du nœud source (Ns) via au moins un nœud relais (NP), ledit message (DGR) comprenant un identifiant (DT) du niveau d'extension du groupe de diffusion,
- la diffusion, par un nœud relais (NP) à ses nœuds voisins (Nv2, Nv4) aptes à communiquer directement avec le nœud relais (NP), d'un message (DGER) d'extension du groupe de diffusion, en fonction de la valeur de l'identifiant (DT) du niveau d'extension, - lorsqu'un message de construction de groupe de diffusion (DGR) ou un message d'extension de groupe (DGER) est reçu par un nœud relais, l'enregistrement, par ce nœud relais, d'une information d'appartenance au groupe de diffusion.
Procédé de dissémination de données selon la revendication 2 dans lequel la construction du groupe de diffusion restreint comprend :
- lorsqu'un message de construction de groupe de diffusion (DR) ou un message d'extension de groupe (DGER) est reçu par un nœud relais et si l'identifiant (DT) du niveau d'extension du groupe de diffusion est non nul,
- décrémenter la valeur de l'identifiant (DT) du niveau d'extension du groupe de diffusion, générer et transmettre un message d'extension de groupe (DGER), comprenant la valeur modifiée de l'identifiant (DT) du niveau d'extension, à tous les nœuds voisins aptes à communiquer directement avec le nœud relais.
Procédé de dissémination de données selon l'une des revendications 2 ou 3 dans lequel la transmission d'un message de construction de groupe de diffusion (DGR) est effectuée à l'aide de tables de routage.
Procédé de dissémination de données selon l'une des revendications 2 à 4 dans lequel un nœud source est destiné à communiquer avec un nœud cible selon une communication unicast et le message de construction de groupe de diffusion (DGR) comprend au moins un identifiant du nœud cible.
Procédé de dissémination de données selon l'une des revendications 2 à 4 dans lequel un nœud source est destiné à communiquer avec plusieurs nœuds cibles selon une communication multicast et le message de construction de groupe de diffusion (DGR) comprend au moins un identifiant du groupe multicast.
7. Procédé de dissémination de données selon la revendication 1 dans lequel la construction du groupe de diffusion restreint comprend, pour chaque nœud cible (Ne), l'attribution, par le nœud source (NR), d'un groupe de diffusion existant audit nœud cible (Ne).
8. Procédé de dissémination de données selon la revendication 7 dans lequel la construction du groupe de diffusion restreint comprend :
- la construction, par le nœud source (NR) ou par un équipement (Ei) externe au réseau et directement reliée au nœud source (NR), d'un groupe de diffusion ayant un niveau d'extension donné, pour au moins un nœud cible (Nc),
- la notification, par le nœud source (NR) ou l'équipement externe (Ei), à chaque nœud du groupe de diffusion construit, de son appartenance audit groupe de diffusion.
9. Procédé de dissémination de données selon la revendication 8 dans lequel la construction d'un groupe de diffusion est initiée par le nœud source (NR) ou l'équipement externe (E|), à la réception d'un message d'inscription dans le réseau d'un nœud cible (Nc), ledit message d'inscription étant relayé du nœud cible (Nc) vers le nœud source (NR) par l'intermédiaire d'un nœud voisin (Nv) du nœud cible (Nc).
10. Procédé de dissémination de données selon l'une des revendications précédentes comprenant en outre une étape de mise à jour du niveau d'extension du groupe de diffusion. 1 1 . Procédé de dissémination de données selon la revendication 10 dans lequel la mise à jour du niveau d'extension du groupe de diffusion est effectuée en fonction d'une information sur l'état des liens de communication entre nœuds appartenant au groupe de diffusion.
12. Procédé de dissémination de données selon l'une des revendications précédentes comprenant en outre une étape d'acquittement des données diffusées dans un groupe de diffusion restreint comprenant :
- Lorsqu'un nœud cible (Ne) reçoit des données diffusées par un nœud source (NS,NR), la diffusion, par ledit nœud cible (Nc), d'un message d'acquittement dans son groupe de diffusion.
13. Procédé de dissémination de données selon la revendication 12 dans lequel la diffusion de données dans un groupe de diffusion comprend une réinitialisation de la diffusion des données par le nœud source (NS,NR) tant qu'il ne reçoit pas un message d'acquittement.
14. Procédé de dissémination de données selon la revendication 13 dans lequel, lorsqu'un nœud reçoit un message d'acquittement, il arrête la diffusion des données acquittées. 15. Procédé de dissémination de données selon l'une des revendications 12 à 14 en combinaison avec la revendication 1 1 dans lequel l'information sur l'état des liens de communication entre nœuds appartenant au groupe de diffusion est obtenue à partir de l'analyse des messages d'acquittement reçus par le nœud source (NS,NR).
16. Programme d'ordinateur comportant des instructions pour l'exécution du procédé de dissémination de données selon l'une quelconque des revendications 1 à 15, lorsque le programme est exécuté par un processeur.
17. Support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution du procédé de dissémination de données selon l'une quelconque des revendications 1 à 15, lorsque le programme est exécuté par un processeur.
PCT/EP2017/063602 2016-06-15 2017-06-05 Procede de dissemination de donnees dans un reseau maille WO2017215970A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1655544 2016-06-15
FR1655544A FR3052942B1 (fr) 2016-06-15 2016-06-15 Procede de dissemination de donnees dans un reseau maille

Publications (1)

Publication Number Publication Date
WO2017215970A1 true WO2017215970A1 (fr) 2017-12-21

Family

ID=57233556

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/063602 WO2017215970A1 (fr) 2016-06-15 2017-06-05 Procede de dissemination de donnees dans un reseau maille

Country Status (2)

Country Link
FR (1) FR3052942B1 (fr)
WO (1) WO2017215970A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114221871A (zh) * 2021-04-09 2022-03-22 无锡江南计算技术研究所 一种网格化流水的全收集方法
CN115022233A (zh) * 2022-06-16 2022-09-06 电子科技大学 一种可定制点到多点数据传输完成时间的传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034793A1 (en) * 2000-03-10 2001-10-25 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc networks
US20090161594A1 (en) * 2007-12-21 2009-06-25 Samsung Electronics Co., Ltd. Hybrid multicast routing protocol for wireless mesh networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034793A1 (en) * 2000-03-10 2001-10-25 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc networks
US20090161594A1 (en) * 2007-12-21 2009-06-25 Samsung Electronics Co., Ltd. Hybrid multicast routing protocol for wireless mesh networks

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GEORGE OIKONOMOU; LAIN PHILLIPS: "Stateless Multicast Forwarding with RPL in 6LowPAN Sensor Networks", 2012, IEEE, pages: 272 - 277
HUAYI WU ET AL.: "APWeb Workshops", 2006, article "Bandwidth Guaranteed Multi-tree Multicast Routing in Wireless Ad Hoc Networks", pages: 157 - 166
KEWEI SHA ET AL.: "Multipath Routing Techniques in Wireless Sensor Networks: A Survey", WIRELESS PERSONAL COMMUNICATIONS, vol. 70, no. 2, 2013, pages 807 - 829

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114221871A (zh) * 2021-04-09 2022-03-22 无锡江南计算技术研究所 一种网格化流水的全收集方法
CN115022233A (zh) * 2022-06-16 2022-09-06 电子科技大学 一种可定制点到多点数据传输完成时间的传输方法
CN115022233B (zh) * 2022-06-16 2023-04-07 电子科技大学 一种可定制点到多点数据传输完成时间的传输方法

Also Published As

Publication number Publication date
FR3052942B1 (fr) 2019-10-11
FR3052942A1 (fr) 2017-12-22

Similar Documents

Publication Publication Date Title
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é
WO2004104850A1 (fr) Systeme et procede d'acheminement de paquets dans un reseau filaire ou sans fil
WO2016005371A1 (fr) Passerelle résidentielle relais entre un dispositif terminal et un serveur
EP3549352B1 (fr) Compteur électrique comportant une interface par courants porteurs en ligne et au moins une interface radio fréquence
FR2930100A1 (fr) Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants
EP3804408A1 (fr) Procédé de sélection d'une route dans un réseau ad hoc
FR3052942B1 (fr) Procede de dissemination de donnees dans un reseau maille
EP1598997A1 (fr) Routage au sein d'un reseau de communication
EP3329702B1 (fr) Procede de decouverte d'un noeud d'un reseau ad hoc
WO2020260826A1 (fr) Procede de gestion d'au moins une communication d'un equipement terminal dans un reseau de communication, procedes de traitement d'une communication etablie avec un equipement terminal dans un reseau de communication, dispositifs, equipement terminal, equipement proxy et programmes d'ordinateur correspondants
EP3675562B1 (fr) Procédés de traitement de données, dans un réseau ad hoc de radiocommunication, stations mobiles de radiocommunication et programmes d'ordinateur associés
EP3934114B1 (fr) Procédé de régulation destine à résorber un engorgement d'un réseau maille de communication par courants porteurs en ligne
FR3079696A1 (fr) Procede de communication
EP3709185A1 (fr) Procédé d'optimisation d'échanges de données dans une infrastructure d'objets connectés
EP2564659B1 (fr) Procede de configuration d'un dispositif d'un reseau de communication, dispositif et reseau correspondants
WO2013107975A1 (fr) Reveil a distance d'un equipement connecte a un reseau a liens multiples
WO2011144845A1 (fr) Administration d'un reseau maille sans fil
EP3934107A1 (fr) Procede et dispositif de transmission d'un message
FR3126580A1 (fr) Procede de transmission et dispositif noeud implementant ledit procede
FR3126579A1 (fr) Procede de transmission et dispositif noeud implementant ledit procede
FR2999848A1 (fr) Procede de transfert de messages de geolocalisation et systeme de mise en oeuvre
FR3042669A1 (fr) Procede de communication avec calcul de chemin a partir de reseaux elementaires, programme d'ordinateur, noeud d'interconnexion et poste de radiocommunication associes
WO2014090412A1 (fr) Procede de remonte hierarchique de geolocalisation d'entites sur un theatre d'operation
WO2008035007A1 (fr) Procede de routage de paquets de donnees dans un reseau ad-hoc a large echelle comprenant une pluralite de cellules de couverture geographique

Legal Events

Date Code Title Description
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17731488

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17731488

Country of ref document: EP

Kind code of ref document: A1