Apparatus and method for a mesh communication network with broadcast messaging

By introducing the improved drip algorithm of remaining hop count fields into the mesh communication network, the problems of channel overload and message loss in broadcast message delivery are solved, and efficient message delivery in multi-level networks are realized.

CN116137581BActive Publication Date: 2025-08-08STMICROELECTRONICS SRL
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211428906.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-11-16
Filing Date
2022-11-15
Publication Date
2025-08-08
Estimated Expiration
2042-11-15

AI Technical Summary

Technical Problem

In existing mesh communication networks, the transmission of broadcast messages has problems of channel overload and message loss, especially in multi-level networks, especially in densely populated urban areas, where network availability is affected.

Method used

Using an improved drip algorithm, by introducing residual hop count fields into the broadcast message, the relative position of the broadcast message is determined, repeated transmission is avoided, redundancy is controlled, and messages are successfully transmitted in a multi-level network.

Benefits of technology

It effectively reduces the overload of network channels, improves the success rate of message delivery, and reduces the temporary unavailability of the network, especially in high attenuation environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116137581B_ABST
    Figure CN116137581B_ABST
Patent Text Reader

Abstract

The present disclosure relates to devices and methods for a mesh communication network with broadcast messages. One embodiment is a method comprising: receiving, by a first device, a first broadcast message on a first communication channel via a mesh communication network, the first broadcast message having a first hop count; receiving, by the first device, a second broadcast message on the first communication channel via the mesh communication network; and determining, by the first device, whether the second broadcast message is a consistent broadcast message for the first broadcast message, the determining comprising: determining, by the first device, whether the first broadcast message has the same originator address as the second broadcast message; and determining, by the first device, whether the second hop count is greater than the first hop count.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to communication networks and, more particularly, to broadcast communications. Background Art

[0002] Power line communication (PLC) comprises a system for transmitting data over the same medium (i.e., wires or conductors) that is also used to deliver electricity to homes, buildings, and other premises. Once deployed, PLC systems can enable a wide variety of applications, including, for example, automatic meter reading and load control (i.e., utility applications), automotive applications (e.g., charging electric vehicles), home automation (e.g., controlling appliances, lights, etc.), and / or computer networking (e.g., Internet access), to name a few.

[0003] Various PLC standardization efforts are currently underway worldwide, each with its own unique characteristics. For example, communications on PLC systems can use orthogonal frequency division multiplexing (OFDM) signals compliant with PRIME (Powerline-Related Intelligent Metering Evolution), G3, IEEE P1901.2, or other power line communication (PLC) standards. Depending on the transmission method, communication signals can be frequency shift keying (FSK) or phase shift keying (PSK).

[0004] G3-PLC is a protocol that uses power line communication technology to facilitate communication (e.g., on the power grid). The G3-PLC protocol is managed by the standardization department of the International Telecommunication Union (ITU, see itu.int) and is supported by the international association G3-PLC Alliance (see g3-plc.com). Summary of the Invention

[0005] The purpose of the present disclosure is to provide a method to at least partially solve the above-mentioned problems existing in the prior art.

[0006] One aspect of the present disclosure provides a method, including: receiving, by a first device, a first broadcast message on a first communication channel via a mesh communication network, the first broadcast message having a first hop count; receiving, by the first device, a second broadcast message on the first communication channel via the mesh communication network; and determining, by the first device, whether the second broadcast message is a broadcast message consistent with that for the first broadcast message, the determination including: determining, by the first device, whether the first broadcast message has the same initiator address as that of the second broadcast message; and determining, by the first device, whether the second hop count is greater than the first hop count.

[0007] Another aspect of the present disclosure provides a device for managing broadcast messages at a first node of a mesh communication network, the device comprising: a transceiver for sending and receiving broadcast messages at the first node; a timer for counting a first predetermined time period; a counter for determining the number of consistent broadcast messages received at the first node during the first predetermined time period, wherein the number of consistent broadcast messages is determined based on the originator address of the broadcast message, the sequence number of the broadcast message, and the hop count of the broadcast message; and a controller configured to: retransmit the broadcast message from the first node if the first predetermined time period has been reached and the consistent broadcast messages during the first predetermined time period have been counted as less than a predetermined threshold. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:

[0009] Figure 1 An illustrative computing device according to some embodiments is shown;

[0010] Figure 2 shows a system architecture 200 according to some embodiments;

[0011] Figure 3 is a block diagram illustrating a network architecture according to some embodiments;

[0012] Figure 4 shows an example of a header stack for 6LoWPAN data sent over the G3-PLC MAC layer according to some embodiments;

[0013] Figure 5 An example of a mesh header for forwarding a multi-hop data packet within a G3-PLC network according to some embodiments is shown;

[0014] Figure 6 Another example of a header stack including a broadcast header for 6LoWPAN data sent over a G3-PLC MAC layer is shown in accordance with some embodiments;

[0015] Figure 7 shows a trickle mechanism according to some embodiments;

[0016] Figure 8 shows an example of a multi-stage network according to some embodiments; and

[0017] Figure 9 Experimental results are shown for testing a modified trickle algorithm according to some embodiments.

[0018] Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated.The drawings are drawn to clearly illustrate the relevant aspects of the preferred embodiments and are not necessarily drawn to scale. DETAILED DESCRIPTION

[0019] The making and using of the disclosed embodiments are discussed in detail below. However, it should be understood that the present invention provides many applicable inventive concepts that can be implemented in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention and do not limit the scope of the invention.

[0020] The following description shows various specific details to provide an in-depth understanding of several example embodiments according to the description. The embodiments can be obtained without one or more of the specific details or with other methods, components, materials, etc. In other cases, known structures, materials, or operations are not shown or described in detail to avoid confusing different aspects of the embodiments. References to "embodiments" in this specification indicate that the specific configuration, structure, or feature described with respect to the embodiment is included in at least one embodiment. Therefore, phrases such as "in one embodiment" that may appear at different points in this specification do not necessarily refer to the same embodiment. In addition, specific configurations, structures, or features may be combined in any appropriate manner in one or more embodiments.

[0021] Embodiments of the present invention will be described in a specific context, namely a broadcast message mechanism for a mesh network. Some embodiments may use a power line communication (PLC) network such as a G3-PLC network. Some embodiments may be used with other types of mesh networks.

[0022] In one embodiment, a mesh network may utilize a modified trickle algorithm to send broadcast messages (sometimes referred to as multicast messages). The modified trickle algorithm improves the operation of the mesh network by modifying the conventional trickle algorithm. For example, the modified trickle algorithm ensures that broadcast messages can be successfully delivered to all stages of the multi-stage network at all feasible attenuation levels between network stages, while also not overloading the transmission channel. The modified trickle algorithm includes a mechanism for knowing the relative position of the node that generated the received broadcast message within the chain of relay network nodes. For example, the modified trickle algorithm takes into account the hop count that the received broadcast message had before being received by the current node. In a specific example, this modified trickle algorithm changes the definition of a consistent broadcast frame (discussed further below) to include a remaining hop count field from the mesh header in addition to the broadcast sequence number and originator address. In some embodiments of the modified trickle algorithm, a broadcast frame is considered consistent if it has the same broadcast sequence number, the same originator address, and a remaining hop count value that is less than the broadcast message that initiated the current trickle algorithm instance. In some embodiments of the modified trickle algorithm, other mesh header fields, including the remaining hop count field, are considered to determine consistent frames. This allows nodes at a first network level to repeat broadcast messages received from a previous network level without incrementing a counter (e.g., ignoring duplicate messages). Furthermore, this allows nodes at a first network level to only increment a counter for duplicate broadcast messages it receives from the first or subsequent network levels. Thus, rather than just repeating broadcast messages from a single node at a first network level to subsequent network levels, the modified trickle algorithm will have multiple nodes repeating broadcast messages.

[0023] Although the disclosed architecture is applicable to virtually any mesh network, the disclosed embodiments utilize a PLC network based on the G3-PLC protocol for illustrative purposes.

[0024] Figure 1 An illustrative computing device 100 is shown in accordance with some embodiments. For example, computing device 100 is or is incorporated into an electronic system such as a computer, an electronic control box or display, a communication device (including a transmitter), or any other type of electronic system arranged to generate and / or receive signals.

[0025] In some embodiments, the computing device 100 includes an implementation of control logic such as a central processing unit 110 (CPU), a memory 112 (e.g., random access memory (RAM)), and a power supply 118. The CPU 110 can be, for example, a CISC-type (complex instruction set computer) CPU, a RISC-type CPU (reduced instruction set computer), an MCU-type (microcontroller unit), or a digital signal processor (DSP). The memory 112 (which can be a memory such as an on-processor cache, an off-processor cache, RAM, flash memory, data registers, flip-flops, disk storage, etc.) stores one or more software applications 114 (e.g., embedded applications) that, when executed by the CPU 110, perform any suitable functions associated with the computing device 100.

[0026] CPU 110 includes memory and logic to store information frequently accessed (e.g., written to and / or read from) memory 112. In some embodiments, computing device 100 is controlled by a user using a UI (user interface) that provides output to the user and receives input from the user during execution of software applications 114. Output may be provided using a display, indicator lights, speakers, vibration, or the like, or a combination thereof. Input may be received using audio and / or video input (e.g., using voice or image recognition) and electrical and / or mechanical devices such as keypads, switches, proximity detectors, gyroscopes, accelerometers, or the like, or a combination thereof. CPU 110 is coupled to I / O (input / output) ports 116, which provide an interface configured to receive input from (and / or provide output to) networking device 130. Networking device 130 may include any device capable of peer-to-peer and / or networked communication with computing device 100 (including a control module electronically paired with computing device 100). Computing device 100 is optionally coupled to peripheral devices and / or computing devices, including tangible, non-transitory media (such as flash memory) and / or wired or wireless media. These and other input and output devices are selectively coupled to computing device 100 via external devices using wireless or wired connections. Memory 112 may be accessed, for example, by networking device 130.

[0027] The CPU 110 is coupled to an I / O (input-output) port 116, which provides an interface configured to receive input from (and / or provide output to) peripheral devices and / or devices 130, including tangible (e.g., "non-transitory") media (e.g., flash memory) and / or wired or wireless media. These and other input and output devices are selectively coupled to the computing device 100 via external devices using wireless or wired connections. The CPU 110, memory 112, and power supply 118 can be coupled to an external power source (not shown) or to a local power source (such as a battery, solar cell, alternator, induction field, fuel cell, capacitor, etc.).

[0028] In some embodiments, the computing system 100 includes a smart meter 120 that is arranged to receive and send packet-based communications based on an OSI (Open Systems Interconnection) model (e.g., a layered protocol stack). The smart meter 120 is configured to provide power line communications (PLC) over which packet-based communications are sent and received.

[0029] Figure 2 2 shows a system architecture 200 according to some embodiments. Figure 2 In the example, a residence 202 has a meter 204 connected to a power line 206. The power line 206 typically transmits electricity from a substation to the residence 202 and is connected to the residence via the meter 204. Although referred to as a residence 202, the residence 202 may include any type of building, facility, or location that receives and / or consumes electricity. Each residence 202 includes a circuit breaker panel (not shown) that provides an interface between the meter 204 and the electrical wiring (not shown) within the residence 202. The electrical wiring delivers electricity to various components within the residence 202, such as outlets, switches, and other electrical devices.

[0030] Figure 2 The illustrated system architecture 200 can be used to deliver high-speed communications to residences 202. In some implementations, a power line communication (PLC) modem or gateway (not shown) can be coupled to power lines 206 at meter 204. The PLC modem / gateway can be used to send and receive data signals over power lines 206. Such data signals can be used to support metering and power delivery applications (e.g., smart grid applications), communication systems, high-speed Internet, telephony, video conferencing, video delivery, the like, or a combination thereof. By sending telecommunications and / or data signals over the power delivery network, new cabling does not need to be installed to each residence 202. Thus, significant cost savings are possible by using the existing power distribution system to transmit data signals.

[0031] An illustrative method for transmitting data over a power line may use a carrier signal having a frequency different from that of the power signal. The carrier signal may be modulated by the data, for example, using an orthogonal frequency division multiplexing (OFDM) scheme.

[0032] A PLC modem or gateway at residence 202 uses the electrical grid to transmit data signals to and from a PLC data concentrator or router 210 without requiring additional wiring. Data concentrator 210 can be coupled to meter 204 via a PLC connection over power line 206 or via a radio frequency (RF) connection. The PLC modem or gateway at residence 202 can support applications such as high-speed broadband Internet links, narrowband control applications, and low-bandwidth data collection applications. For example, in a home environment, the modem or gateway can further enable home and building automation for heating and air conditioning, lighting, and security. Furthermore, the PLC modem or gateway can enable AC or DC charging of electric vehicles and other devices. Outside the home, the power line communication network can provide street lighting control and remote electricity meter data collection.

[0033] One or more PLC data concentrators or routers 210 can be coupled to a control center 230 (e.g., a utility company) via a network 220. The network 220 can include, for example, an IP-based network, the Internet, a cellular network, a WiFi network, etc. As such, the control center 230 can be configured to collect power consumption and other types of related information from the residences 202 via the one or more concentrators 210. Additionally, the control center 230 can be configured to implement smart grid policies and other regulatory or business rules by transmitting these rules to each of the residences 202 via the concentrators 210 and the meters 204.

[0034] Figure 3 is a block diagram illustrating a network architecture according to some embodiments. While the disclosed architecture can be applied to virtually any mesh network, for illustrative purposes, a PLC network based on the G3-PLC protocol is used. Generally speaking, the G3-PLC standard is specific to power line communications.

[0035] Network stack 300 is organized according to the G3-PLC protocol stack. Network stack 300 is shown as having five layers: a physical layer, a data link layer, a network layer, a transmission layer, and an application layer. The G3-PLC protocol generally covers the physical layer and the data link layer. The physical layer includes a physical layer (PHY) 310 coupled to a communication medium via a coupler (CPL) 302. The data link layer includes a MAC (Media Access Control) sublayer 320 and a 6LoWPAN (IPv6 over Low Power Wireless Personal Area Networks) adaptation sublayer 322. The network layer includes a compressed IPv6 (Internet Protocol version 6) layer 330. The transmission layer includes a UDP (User Datagram Protocol) layer 340. The application layer includes an encapsulator 350, a COSEM (Companion Specification for Energy Metering) application layer 360, a COSEM interface model 370, TFTP (Trivial File Transfer Protocol) 352, SNMP (Simple Network Time Protocol) 354, and a file 372. The initialization manager (INIT_MNGT) 356 is operable to initialize the logical states of various layers and sub-layers.

[0036] The G3-PLC adaptation sublayer is part of the data link layer and is based on 6LoWPAN (IETF RFC 4944). The G3-PLC adaptation sublayer provides an IPv6 layer for use over IEEE 802.15.4. The G3-PLC adaptation sublayer is responsible for various functions, including:

[0037] Fragmentation of IPv6 packets: This needs to adapt to the constraints of MAC and IPv6 on the maximum transmission unit (MTU) value (IPv6 MTU is 1280 bytes, G3-PLC MAC MTU is 400 bytes).

[0038] Compression of IPv6 and UDP headers: Uncompressed IPv6 and UDP headers are 48 bytes long. The Adaptation Layer removes implicit and redundant information to reduce this to 2 bytes.

[0039] G3-PLC Packet Routing: This feature allows frames to be relayed from device to device, allowing communication between devices that are not neighbors. Routing discovery is performed thanks to the LOADng protocol defined in Annex D of ITU-TG.9903.

[0040] Propagation of multicast frames.

[0041] Bootstrapping: This covers the discovery and authentication of devices willing to join the G3-PLC network. Authentication is performed using the EAP-PSK protocol (defined in IETF RFC4764), relying on a PSK (pre-shared key) unique to each device that allows authentication of the joining device and the creation of a protected channel, where the group key (used for encryption at the MAC sublayer) is provided to the device.

[0042] Figure 4 An example of a header stack for 6LoWPAN data sent on the G3-PLCMAC layer according to some embodiments is shown. According to the OSI model principles, the 6LoWPAN data is prefixed with an encapsulation header. Figure 4 In the example shown, the 6LoWPAN layer has a mesh header and a scheduling header, although more or fewer headers are possible.

[0043] Figure 5 An example of a mesh header for forwarding multi-hop data packets within a G3-PLC network, according to some embodiments, is shown. In some embodiments, the mesh header includes three fields: Remaining Hop Count, Originator Address, and Final Address. The Remaining Hop Count field is used to limit the number of hops required to forward a data packet, thereby preventing the data packet from propagating in endless loops. The Remaining Hop Count field is initialized to a value of X and decrements at each hop. Once the count reaches zero, the data packet is not propagated further. The Originator Address and Final Address fields represent the IP endpoints of the data packet. Both the Originator Address and Final Address fields are IEEE 802.15.4 short addresses.

[0044] In a mesh communication network, more specifically a G3-PLC network, broadcast transmission is used for route establishment and data distribution based on the 6LoWPAN broadcast mechanism.

[0045] Figure 6 Another example of a header stack including a broadcast header for 6LoWPAN data sent over the G3-PLC MAC layer is shown in accordance with some embodiments. The example includes a mesh header and a broadcast header, and Figure 6 The information in each of the mesh header and the broadcast header is shown. In conventional G3-PLC networks, broadcast transmission is based on a flooding mechanism. Using the information in the mesh and broadcast headers (e.g., the originator address and sequence number), it is possible to uniquely identify frames belonging to the same flooding event.

[0046] The broadcast log table stores information about all previously received broadcast frames, combined Figure 6 The initiator address and sequence number are carried in the header shown in , which ensures that each node in the network will trigger a retransmission exactly once for a given flooding event.

[0047] Conventional flooding mechanisms provide a high level of redundancy because all nodes in the network contribute to data propagation during a flooding event. While this high level of redundancy is theoretically beneficial, in practice, it leads to problems caused by the limited availability of transmission channels. These problems are particularly problematic in dense networks (densely populated urban areas with hundreds of nodes connected to the same network) and can potentially lead to temporary unavailability of the network.

[0048] In order to avoid overloading the shared transmission channel, the redundancy provided by the broadcast mechanism should be controlled, for example, redundancy should be provided only to the extent required to propagate the information throughout the network. To achieve this goal, the concept of the "Trickle algorithm" defined in IETF RFC 6206 has been considered to replace the conventional broadcast diffusion mechanism.

[0049] like Figure 7 As shown and discussed below, the basic concept of trickle streaming is that if the redundancy in the network is insufficient, then retransmission of data frames is considered. For the trickle streaming algorithm, the measure of redundancy is based on the count of received frames for the same overflow event (i.e., consistent frames) over a period of time. A given node will suppress its own retransmissions if a sufficient number of retransmissions of overflow events have been received from other nodes at the same network level. Each node on the network can have a separate instance of the trickle streaming algorithm running for each unique broadcast frame (same broadcast sequence number and initiator address) received by the node. In some embodiments, a node can have many instances of the trickle streaming algorithm running concurrently.

[0050] Figure 7 The parameters and representation of the trickle algorithm are shown. Below is a description of the trickle algorithm used for broadcast propagation when a broadcast frame is received:

[0051] If the received broadcast frame is identical to the broadcast frame that generated the current trickle instance (for example, the same broadcast sequence number and initiator address)

[0052] Increment counter c by 1.

[0053] The broadcast frame is discarded.

[0054] otherwise

[0055] Create an entry in the broadcast log table with (source address, broadcast sequence number).

[0056] Set the counter c to 0.

[0057] Select I min and I max The interval between I. Parameter I min Determines the minimum interval length. Parameter I maxDetermine the maximum interval length, and it can be obtained by multiplying I min by a predetermined factor. For the first half of the interval I (I / 2), the node is in the listening (or receiving) mode.

[0058] Select a duration t that is less than I and between I / 2 and I.

[0059] Wait for the end of the duration t.

[0060] IF (c < Ki) - Ki is a redundancy constant or redundancy threshold.

[0061] Trigger the transmission of a broadcast frame.

[0062] Otherwise

[0063] Discard the said broadcast frame.

[0064] Figure 8 Shows an example of a multi-level network in which G3-PLC can be used, such as a cluster 802 of network nodes representing each network level (L0 - L4), and each cluster (network level (L0 - L4)) is separated by some attenuation 804. As an example, each network level (L0 - L4) (sometimes called cluster L0 - L4) can represent a neighborhood of a residence, and each network node 802 can be a smart meter at one of the residences. This multi-level network includes a message originator 806, which can be, for example, a PAN coordinator, a data concentrator, etc. In these types of networks where network nodes are distributed as clusters, the performance of the trickle algorithm degrades as the inter-cluster attenuation increases. The degraded performance results in an increase in the number of broadcast messages that are not delivered to the entire network, where clusters far from the originator suffer the highest message loss.

[0065] As an example, the attenuation 804 is a value that only allows a message to traverse a single attenuation 804 but not more than one. Thus, a message can propagate from the originator 806 to cluster L0, but not from the originator 806 to cluster L1. In this example, the nodes 802 in cluster L1 do not directly receive broadcast messages from the originator 806. Therefore, the nodes 802 in cluster L1 will trigger their trickle algorithm when the first message received from cluster L0 appears. These same nodes will also increment their counter c for K - 1 repeated messages initiated in cluster L0, assuming they receive them during the receiving half-period of the trickle interval in L1.

[0066] This means that when the trickle transmission window of the nodes 802 in L1 starts (t > 1 / 2), these nodes 802 have incremented their counter c to equal K - 1 based on the messages received from cluster L0. Thus, if K has the same value throughout the network levels L0 - L4, only one of the L1 nodes will repeat the message, which reduces the probability that the nodes in L2 will receive the message well.

[0067] The inventors recognized these problems with the conventional trickle algorithm and have developed an implementation that improves network operation by not overloading the transmit channel while also ensuring that broadcast messages can be successfully delivered to all stages of a multi-stage network, regardless of the level of attenuation between the network stages. The inventors' implementation includes a mechanism for knowing the relative position within the chain of duplicate nodes 802 of the node 802 that generated a received broadcast message. This modified trickle algorithm changes the definition of a consistent broadcast frame (see discussion above) to include the remaining hop count field from the mesh header in addition to the broadcast sequence number and originator address. In some embodiments of the modified trickle algorithm, a broadcast frame is considered consistent if it has the same broadcast sequence number, the same originator address, and a smaller remaining hop count value (i.e., the frame has more hops) than the broadcast message that initiated the current trickle algorithm instance. This allows node 802 at cluster L1 to not increment a counter c for duplicates of broadcast messages received from cluster L0 (e.g., to ignore the duplicate message). Furthermore, this allows the node 802 at cluster L1 to increment only the counter c of the K duplicate broadcast messages it receives from cluster L1 or a later cluster. Thus, instead of only a single node 802 from cluster L1 relaying broadcast messages to L2, the modified trickle algorithm will have K nodes 802 relaying broadcast messages to nodes 802 in cluster L1 and subsequent clusters.

[0068] In some other embodiments of the modified trickle algorithm, node 802 tracks the minimum remaining hop count value received for a given trickle instance. When a new broadcast frame is received and the remaining hop count value is less than the value stored in memory, counter c is reset. Therefore, only the broadcast frame with the minimum remaining hop count value is considered a consistent broadcast frame. Similar to the previous embodiment, this modified trickle algorithm will have K nodes 802 that relay broadcast messages to nodes in subsequent network levels / clusters. A common aspect between these different techniques is the use of "mesh header" fields (e.g., remaining hop count) to improve subtle performance.

[0069] As described above, the Remaining Hop Count field is initialized by the initiator to a specific value, X, which is the maximum number of times a message can be repeated within the network before it expires (if it has not reached its final destination). Each repeating node will generate a message with a Remaining Hop Count value that is decremented by one relative to the received Remaining Hop Count value, and should not further propagate a message with a Remaining Hop Count value equal to zero.

[0070] By using the hops left in determining consistent broadcast frames, it is possible to locate the relative position of the sender within the repetition chain directly from the received message. Figure 8In the example discussed, if the originator 806 sends a message with a remaining hop count value equal to X, the nodes in L0 will propagate the message with a value of X-1, and the nodes in L1, when receiving the message from the nodes in L0, will propagate the message with a remaining hop count value equal to X-2, and so on.

[0071] In some embodiments, in order to be able to take into account the remaining hop count field in the mesh header, the definition of the consistency information in the G3-PLC specification may be changed as shown below.

[0072] Considering the same instance of the trickle algorithm, consistent transmission occurs in copies of the same broadcast frame (i.e., a broadcast frame with the same broadcast sequence number and initiator address) where the remaining hop count field in the mesh header is less than the remaining hop count field of the generating trickle instance.

[0073] Figure 9 The results of an experiment testing a modified trickle algorithm are shown. The experiments were performed using a modified G3-PLC protocol implementation on an ST8500PLC modem. This implementation was tested in the lab using an evaluation kit simulating a smart meter and a data concentrator. Figure 9 The received power of a node at four different attenuations (0, 10, 20 and 30 dB) between network clusters is shown. Figure 9 In FIG, for each attenuation level, the reception success rate is shown in the following order from left to right: overflow, trickle, and modified trickle.

[0074] The flooding method is included in this comparison as a reference point and has a rate of received packets that is always above 95%, but there is a risk of network congestion. The conventional trickle algorithm works well at low attenuation between a few clusters, but fails at higher attenuation.

[0075] The improved trickle algorithm works perfectly without message loss at all attenuations while keeping the congestion level in the network under control by reducing the total number of retransmissions for each message.

[0076] Embodiments can achieve advantages. The present disclosure includes an improved trickle algorithm for sending broadcast messages. The modified trickle algorithm ensures that broadcast messages can be successfully delivered to all levels of a multi-level network at all feasible attenuation levels between network levels, while also not overloading the transmission channel. The modified trickle algorithm includes a mechanism for knowing the relative position of the node that generated the received broadcast message within the chain of relay network nodes. For example, when determining whether a received broadcast message is a consistent broadcast message, the modified trickle algorithm considers the hop count that the received broadcast message had before being received by the current node. In a specific example, the modified trickle algorithm changes the definition of a consistent broadcast frame to include a remaining hop count field from the mesh header in addition to the broadcast sequence number and originator address. In the modified trickle algorithm, a broadcast frame is considered consistent if it has the same broadcast sequence number, the same originator address, and a remaining hop count value that is less than the broadcast message that initiated the current trickle algorithm instance. This allows nodes at a first network level to repeat broadcast messages received from a previous network level without incrementing a counter (e.g., ignoring duplicate messages). Furthermore, this allows a node at the first network level to only increment a counter for duplicate broadcast messages it receives from the first or subsequent network levels. Thus, rather than just a single node at the first network level repeatedly broadcasting messages to subsequent network levels, the modified trickle algorithm will have multiple nodes repeatedly broadcasting messages.

[0077] Example embodiments of the present invention are summarized herein. Other embodiments may be understood from the overall description and claims filed herein.

[0078] Embodiment 1. A method includes receiving, by a first device, a first broadcast message on a first communication channel via a mesh communication network, the first broadcast message having a first hop count; receiving, by the first device, a second broadcast message on the first communication channel via the mesh communication network; and determining, by the first device, whether the second broadcast message is a consistent broadcast message for the first broadcast, the determining comprising: determining, by the first device, whether the first broadcast message has the same originator address as the second broadcast message; and determining, by the first device, whether the second hop count is greater than the first hop count.

[0079] Embodiment 2. As described in Example 1, the first communication channel is a power line communication channel.

[0080] Embodiment 3. The method of any one of Examples 1 or 2, wherein determining by the first device whether the second broadcast message is a consistent broadcast message for the first broadcast message further comprises: determining by the first device whether the first broadcast message has the same broadcast sequence number as the second broadcast message.

[0081] Example 4. The method of any one of Examples 1 to 3 further includes: retransmitting the first broadcast message to a second device via a second communication channel.

[0082] Example 5. The method of any of Examples 1 to 4, wherein the first device is a power meter connected to a power line, and wherein the first communication channel is a G3-PLC (Power Line Communication) channel.

[0083] Embodiment 6. The method of any of Examples 1 to 5, wherein the mesh communication network comprises a plurality of network levels, the first device is at a first network level, and wherein the first broadcast message originates from a network level different from the first network level.

[0084] Example 7. A method for managing broadcast messages at a first node in a mesh communication network, comprising: receiving a first broadcast message at the first node; counting a first predetermined time period; determining a number of identical broadcast messages received at the first node during the first predetermined time period, wherein determining the number of identical broadcast messages is based on an originator address of the broadcast message, a sequence number of the broadcast message, and a hop count of the broadcast message; and in response to determining that the first predetermined time period has been reached and less than a predetermined threshold number of identical broadcast messages have been counted during the first predetermined time period, retransmitting the broadcast message from the first node.

[0085] Example 8. The method of Example 7, wherein the mesh communication network is a power line network.

[0086] Example 9. The method of any one of Examples 7 or 8, wherein the predetermined threshold is 3.

[0087] Embodiment 10. The method of any one of Examples 7 to 9, wherein determining the number of identical broadcast messages received at the first node during the first predetermined time period further comprises: receiving a second broadcast message at the first node; and determining that the second broadcast message is an identical broadcast message to the first broadcast message in response to the originator address and the sequence number being the same and in response to the hop count of the second broadcast message being greater than that of the first broadcast message.

[0088] Embodiment 11. The method of any one of Examples 7 to 10, wherein determining the number of consistent broadcast messages received at the first node during the first predetermined time period further comprises: receiving a second broadcast message at the first node; and determining that the second broadcast message is not a consistent broadcast message for the first broadcast message in response to the originator address and the sequence number being the same and in response to the hop count of the second broadcast message being the same as or less than the first broadcast message.

[0089] Embodiment 12. The method of any of Examples 7 to 11, wherein the first node is a power meter connected to a power line, and wherein the mesh communication network is a G3-PLC (Power Line Communication) network.

[0090] Embodiment 13. The method of any one of Examples 7 to 12, wherein information of an originator address, a sequence number, and a hop count of the broadcast message is included in a header of 6LoWPAN (IPv6 over Low Power Wireless Personal Area Network) data.

[0091] Embodiment 14. The method of any one of Examples 7 to 13, wherein the mesh communication network comprises a plurality of network levels, the first node is at a first network level, and wherein the first broadcast message originates from a network level different from the first network level.

[0092] Embodiment 15. An apparatus for managing broadcast messages at a first node of a mesh communication network, comprising: a transceiver for sending and receiving broadcast messages at the first node; a timer for counting a first predetermined period of time; a counter for determining a number of identical broadcast messages received at the first node during the first predetermined period of time, wherein determining the number of identical broadcast messages is based on an originator address of the broadcast message, a sequence number of the broadcast message, and a hop count of the broadcast message; and a controller configured to retransmit a broadcast message from the first node in response to determining that the first predetermined period of time has been reached and that less than a predetermined threshold number of identical broadcast messages has been counted during the first predetermined period of time.

[0093] Example 16. The apparatus of Example 15, wherein the mesh communication network is a power line network.

[0094] Embodiment 17. The apparatus of any of Examples 15 or 16, wherein the first node is a power meter connected to a power line, and wherein the mesh communication network is a G3-PLC (Power Line Communication) network.

[0095] Embodiment 18. The apparatus of any one of Examples 15 to 17, wherein information of an originator address, a sequence number, and a hop count for broadcasting a message is included in a header of 6LoWPAN (IPv6 over Low Power Wireless Personal Area Network) data.

[0096] Embodiment 19. The apparatus of any of Examples 15 to 18, wherein the mesh communication network comprises a plurality of network levels, the first node is at a first network level, and wherein the first broadcast message originates from a network level different from the first network level.

[0097] Embodiment 20. The apparatus of any one of Examples 15 to 19, wherein nodes at each of the plurality of network levels use the same value as the predetermined threshold.

[0098] Although the present invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the present invention, will be apparent to those skilled in the art upon reference to the specification. Accordingly, the appended claims are intended to cover any such modifications or embodiments.

Claims

1. A method comprising: receiving, by a first device, a first broadcast message on a first communication channel via a mesh communication network, the first broadcast message having a first hop count; receiving, by the first device over the first communication channel via the mesh communication network, a second broadcast message having a second hop count; as well as Determining, by the first device, whether the second broadcast message is a consistent broadcast message for the first broadcast message, the determining comprising: Determining, by the first device, whether the first broadcast message has the same broadcast sequence number as the second broadcast message determining, by the first device, whether the first broadcast message has the same originator address as the second broadcast message; as well as A determination is made by the first device whether the second hop count is greater than the first hop count.

2. The method according to claim 1, wherein The first communication channel is a power line communication channel.

3. The method according to claim 1, further comprising: The first broadcast message is retransmitted to the second device on a second communication channel. 4 . The method of claim 1 , wherein the first device is a power meter connected to a power line, and wherein the first communication channel is a G3-PLC power line communication channel.

5. The method of claim 1, wherein the mesh communication network comprises a plurality of network levels, the first device is at a first network level, and wherein the first broadcast message originates from a network level different from the first network level.

6. A method of managing broadcast messages at a first node in a mesh communication network, the method comprising: receiving, at the first node, a first broadcast message; Counting a first predetermined period of time; determining a number of identical broadcast messages received at the first node during the first predetermined period, wherein determining the number of identical broadcast messages is based on an originator address of a broadcast message, a sequence number of the broadcast message, and a hop count of the broadcast message; as well as retransmitting the broadcast message from the first node in response to determining that the first predetermined period has been reached and the number of consistent broadcast messages during the first predetermined period has been counted to be less than a predetermined threshold; Wherein determining the number of the consistent broadcast messages received at the first node during the first predetermined period further comprises: receiving, at the first node, a second broadcast message; as well as In response to the originator address and sequence number being the same and in response to the hop count of the second broadcast message being greater than the hop count of the first broadcast message, it is determined that the second broadcast message is a consistent broadcast message with respect to the first broadcast message. The method of claim 6 , wherein the mesh communication network is a power line network.

8. The method according to claim 6, wherein The predetermined threshold is 3.

9. The method of claim 6, wherein determining the number of the consistent broadcast messages received at the first node during the first predetermined period further comprises: receiving, at the first node, a second broadcast message; as well as Responsive to the originator address and sequence number being identical and to the hop count of the second broadcast message being identical to or less than the hop count of the first broadcast message, determining that the second broadcast message is not a consistent broadcast message for the first broadcast message.

10. The method of claim 6, wherein the first node is a power meter connected to a power line, and wherein the mesh communication network is a G3-PLC power line communication network. 11 . The method of claim 10 , wherein information of an originator address, a sequence number, and a hop count for the broadcast message is contained in a header of IPv6 data on a 6LoWPAN low-power wireless personal area network.

12. The method of claim 6, wherein the mesh communication network comprises a plurality of network levels, the first node is at a first network level, and wherein the first broadcast message originates from a network level different from the first network level.

13. An apparatus for managing broadcast messages at a first node in a mesh communication network, the apparatus comprising: a transceiver configured to send and receive a first broadcast message at the first node; a timer, configured to count a first predetermined period of time; a counter configured to determine a number of identical broadcast messages received at the first node during the first predetermined period, wherein determining the number of identical broadcast messages is based on an originator address of a broadcast message, a sequence number of the broadcast message, and a hop count of the broadcast message; and a controller configured to: retransmit a broadcast message from the first node if the first predetermined period has been reached and the consistent broadcast messages during the first predetermined period have been counted to be less than a predetermined threshold; Wherein determining the number of the consistent broadcast messages received at the first node during the first predetermined period further comprises: receiving, at the first node, a second broadcast message; and In response to the originator address and sequence number being the same and in response to the hop count of the second broadcast message being greater than the hop count of the first broadcast message, it is determined that the second broadcast message is a consistent broadcast message with respect to the first broadcast message. The apparatus of claim 13 , wherein the mesh communication network is a power line network. 15 . The apparatus of claim 13 , wherein the first node is a power meter connected to a power line, and wherein the mesh communication network is a G3-PLC power line communication network. 16 . The apparatus of claim 15 , wherein information of an originator address, a sequence number, and a hop count for the broadcast message is contained in a header of IPv6 data on a 6LoWPAN low-power wireless personal area network.

17. The apparatus of claim 13, wherein the mesh communication network comprises a plurality of network levels, the first node is at a first network level, and wherein the consistent broadcast message originates from a network level different from the first network level.

18. The apparatus of claim 17, wherein nodes at each of the plurality of network levels use the same value for the predetermined threshold.