Localized multicast in a low power and lossy network based on rank-based distance

In one embodiment, a method comprises: identifying, by a low power and lossy network (LLN) device in a low power and lossy network, a minimum distance value and a distance limit value for limiting multicast propagation, initiated at the LLN device, of a multicast data message in the LLN; and multicast transmitting, by the LLN device, the multicast data message with a current distance field specifying the minimum distance value and a distance limit field specifying the distance limit value, the multicast transmitting causing a receiving LLN device having a corresponding rank in the LLN to respond to the multicast data message by: (1) determining an updated distance based on adding to the current distance field a rank difference between the receiving LLN device and the LLN device, and (2) selectively retransmitting the multicast data message if the updated distance is less than the distance limit value.

TECHNICAL FIELD

The present disclosure generally relates to localized multicast in a low power and lossy network based on rank-based distance.

BACKGROUND

This section describes approaches that could be employed, but are not necessarily approaches that have been previously conceived or employed. Hence, unless explicitly specified otherwise, any approaches described in this section are not prior art to the claims in this application, and any approaches described in this section are not admitted to be prior art by inclusion in this section.

A Low-power and Lossy Network (LLN) is a network that can include dozens or thousands of low-power router devices configured for routing data packets according to a routing protocol designed for such low power and lossy networks (RPL): such low-power router devices can be referred to as LLN devices or “RPL nodes”. Each RPL node in the LLN typically is constrained by processing power, memory, and energy (e.g., battery power); interconnecting wireless links between the RPL nodes typically are constrained by high loss rates, low data rates, and instability with relatively low packet delivery rates. A network topology (a “RPL instance”) can be established based on creating routes in the form of a directed acyclic graph (DAG) toward a single “root” network device, also referred to as a “DAG root” or a “DAG destination”. Hence, the DAG also is referred to as a Destination Oriented DAG (DODAG). Network traffic moves either “up” towards the DODAG root or “down” towards the DODAG leaf nodes.

The constraints in processing power, memory, and energy in the RPL nodes described above also prevent a given RPL node from maintaining a multicast routing topology, especially since the inherently dynamic properties in the wireless links prevent the RPL nodes from maintaining any multicast routing topology in response to dynamic changes in the wireless links.

Hence, a substantial problem is that multicast transmission of a multicast data message within an LLN utilizing a DODAG-based topology and comprising thousands of LLN devices can cause substantial interference for LLN devices that have no need for the multicast data message, for example where the multicast data message is intended only for LLN devices located within a relatively small subDAG within the LLN.

DESCRIPTION OF EXAMPLE EMBODIMENTS OVERVIEW

In one embodiment, a method comprises: identifying, by a low power and lossy network (LLN) device in a low power and lossy network, a minimum distance value and a distance limit value for limiting multicast propagation, initiated at the LLN device, of a multicast data message in the LLN; and multicast transmitting, by the LLN device, the multicast data message with a current distance field specifying the minimum distance value and a distance limit field specifying the distance limit value, the multicast transmitting causing a receiving LLN device having a corresponding rank in the LLN to respond to the multicast data message by: (1) determining an updated distance based on adding to the current distance field a rank difference between the receiving LLN device and the LLN device, and (2) selectively retransmitting the multicast data message if the updated distance is less than the distance limit value.

In another embodiment, one or more non-transitory tangible media encoded with logic for execution by a machine and when executed by the machine operable for: identifying, by the machine implemented as a low power and lossy network (LLN) device in a low power and lossy network, a minimum distance value and a distance limit value for limiting multicast propagation, initiated at the LLN device, of a multicast data message in the LLN; and multicast transmitting, by the LLN device, the multicast data message with a current distance field specifying the minimum distance value and a distance limit field specifying the distance limit value, the multicast transmitting causing a receiving LLN device having a corresponding rank in the LLN to respond to the multicast data message by: (1) determining an updated distance based on adding to the current distance field a rank difference between the receiving LLN device and the LLN device, and (2) selectively retransmitting the multicast data message if the updated distance is less than the distance limit value.

In another embodiment, a method comprises: receiving, by a receiving low power and lossy network (LLN) device in a low power and lossy network, one or more multicast data messages from respective one or more neighboring transmitting LLN devices in the LLN; detecting, by the receiving LLN device among the one or more multicast data messages, a lowest distance value in a current distance field and a distance limit value in a distance limit field, the lowest distance value indicating a multicast transmission distance of the corresponding one neighboring transmitting LLN device relative to a multicast origin of the one or more multicast data messages; determining, by the receiving LLN device, an updated distance to the multicast origin based on adding to the lowest distance value a rank difference between the corresponding neighboring transmitting LLN device and the receiving LLN device; and selectively multicast transmitting, by the receiving LLN device, the multicast data message based on determining the updated distance is less than the distance limit value that limits multicast propagation, the selectively multicast transmitting including updating the current distance field with the updated distance value prior to transmission.

In another embodiment, one or more non-transitory tangible media encoded with logic for execution by a machine and when executed by the machine operable for: receiving, by a machine implemented as a receiving low power and lossy network (LLN) device in a low power and lossy network, one or more multicast data messages from respective one or more neighboring transmitting LLN devices in the LLN; detecting, by the receiving LLN device among the one or more multicast data messages, a lowest distance value in a current distance field and a distance limit value in a distance limit field, the lowest distance value indicating a multicast transmission distance of the corresponding one neighboring transmitting LLN device relative to a multicast origin of the one or more multicast data messages; determining, by the receiving LLN device, an updated distance to the multicast origin based on adding to the lowest distance value a rank difference between the corresponding neighboring transmitting LLN device and the receiving LLN device; and selectively multicast transmitting, by the receiving LLN device, the multicast data message based on determining the updated distance is less than the distance limit value that limits multicast propagation, the selectively multicast transmitting including updating the current distance field with the updated distance value prior to transmission.

In another embodiment, one or more non-transitory tangible media encoded with logic for execution by a machine and when executed by the machine operable for: limiting multicast propagation of a multicast data message in a low power and lossy network (LLN) based on setting, by the machine implemented as a root network device in the LLN, a distance limit value for limiting the multicast propagation; and unicast transmitting, by the root network device, a unicast message containing the multicast data message and the distance limit value to an LLN device via the LLN, the unicast message causing the LLN device to multicast transmit the multicast data message with a current distance field specifying a minimum distance value of the LLN device and a distance limit field specifying the distance limit value; wherein the limiting multicast propagation in the LLN is based on the multicast data message causing a receiving LLN device having a corresponding rank in the LLN to: (1) determine an updated distance based on adding to the current distance field a rank difference between the receiving LLN device and the LLN device, and (2) selectively retransmit the multicast data message if the updated distance is less than the distance limit value, wherein the receiving LLN device suppresses any transmission of the multicast data message if the updated distance is not less than the distance limit value.

DETAILED DESCRIPTION

Particular embodiments enable scalable and localized propagation of multicast data messages in a low power and lossy network (LLN) utilizing a DODAG-based topology, for example according to the Internet Engineering Task Force (IETF) Request for Comments (RFC) 6550 and/or RFC 7731, where rank-based distance limit values can be used for limiting (i.e., localizing) multicast propagation to within an identifiable area in the DODAG topology. The example embodiments enable the multicast propagation range in the LLN to be defined based on an identifiable objective function (OF), enabling the multicast propagation range (limited by a distance limit value relative to a multicast origin device) to be established according to the DODAG topology and/or a multicast routing topology having its own corresponding objective function.

Hence, the example embodiments enable localized multicast based on a rank-based distance limit value, enabling multicast to be confined within a prescribed portion of the DODAG topology.

The example embodiments can be particularly effective in limiting multicast propagation to within an identifiable physical location, for example limiting multicast propagation of a multicast message to an identifiable room (e.g., a meter “vault”) containing multiple CG-mesh based metering devices for respective apartment dwelling units in a large apartment building, where the CG-mesh based metering devices in the meter “vault” are part of a large-scale CG-mesh network infrastructure comprising hundreds or thousands of meter “vaults” across a large city in an electrical grid. In this example, a network management device in the CG-mesh based infrastructure (providing electrical grid metering for the large city) can implement projected localized multicast based on unicast transmission of a unicast message (comprising the multicast message and associated distance limit value) to a destination multicast origin within the meter “vault”: the multicast origin can respond to the unicast message by multicast transmitting the multicast data message with the distance limit value, enabling multicast propagation of the multicast data message to be confined within the meter “vault” based on the associated rank values of the CG-mesh metering devices within the vault relative to the multicast origin and the distance limit value.

FIGS. 1 and 2are diagrams illustrating an example low power and lossy network (LLN) 10 having a root network device12and LLN devices (e.g., “A” through “W”)14, also referred to as RPL devices or RPL network devices14, according to an example embodiment. The LLN10can be implemented as an Internet Protocol version 6 (IPv6) wireless radio frequency (RF) mesh network, deployed for example using wireless link layer protocols such as IEEE 802.15.4e and/or IEEE 802.15.4g (referred to herein as “IEEE 802.15.4e/g”). In particular, the LLN10can be implemented as a smart grid Advanced Metering Infrastructure (AMI) network that can utilize a connected grid mesh (CG-Mesh) that comprises a field area router (FAR) implemented as a root network device12and thousands of LLN devices14, where each LLN device14can possibly reach, within its transmission range of its corresponding wireless data link16, hundreds of neighboring LLN devices14. The root network device12can be implemented, for example, based on a commercially-available Cisco® Connected Grid Router (CGR) such as the CGR 1000 Series, commercially available from Cisco Systems, San Jose, Calif., modified as described herein.

A Low-Power and Lossy Network (LLN)10typically operates with strict resource constraints in communication, computation, memory, and energy. Such resource constraints may preclude the use of existing IPv6 multicast routing and forwarding mechanisms. Traditional IP multicast delivery typically relies on topology maintenance mechanisms to discover and maintain routes to all subscribers of a multicast group. However, maintaining such topologies in LLNs is costly and may not be feasible given the available resources.

Memory constraints may limit LLN devices14to maintaining links and/or routes to one or a few neighbors, hence RPL according to RFC 6550 specifies both storing and non-storing modes: non-storing mode enables a RPL network device14to maintain only one or a few default routes towards an LLN Border Router (LBR) (i.e., root network device)12and use source routing to forward messages away from the LBR. The memory constraints also prevent an LLN device14from maintaining a multicast routing topology.

A network topology (e.g., a “RPL instance” according to RFC 6550)20can be established based on creating routes toward a single “root” network device (e.g., a backbone router)12in the form of a directed acyclic graph (DAG) toward the DAG root12, where all routes in the LLN10terminate at the DAG root12(also referred to as a “DAG destination”). Hence, the DAG also is referred to as a Destination Oriented DAG (DODAG)20. Network traffic can move either “up” towards the DODAG root12or “down” away from the DODAG root12and towards the DODAG leaf nodes (e.g., leaf nodes “J”, “K”, “O”, “T”, etc.). The root network device12can output RPL-based DODAG Information Object (DIO) messages according to RFC 6550 and specifying an identified objective function (OF) and associated topology network metrics (including a DODAG rank of the advertising root network device12), for formation of a DODAG-based network topology20that supports multicast operations.

A “child” network device detecting the DIO can select the DAG root12as a parent in the identified DODAG20based on comparing network topology metrics (advertised in the DIO) to an identifiable objective function of the RPL instance (e.g., specified in the DIO). The “child” network device, upon attaching to its parent, can output its own DIO with updated network topology metrics (including an updated DODAG rank) that enable other RPL network devices14to discover the DODAG20, learn the updated network topology metrics, and select a DODAG parent.

As described in RFC 6550, each RPL network device14, in response to the root network device12and/or a parent RPL network device14in the tree-based DODAG topology20, can execute an objective function (OF) specified in the DIO message that enables the RPL network device14to determine its own “rank” within the DODAG topology20, where the root network device12can be allocated a relatively low-valued rank (e.g., “1”), and a next-hop LLN device (e.g., “A” or “B”) can calculate a relatively-higher rank (e.g., “20”) based on the corresponding rank of the parent root network device12(specified in the received DIO Message) and topology-based metrics associated with execution of the OF. Hence, a LLN device14, in response to attaching to the root network device12, can output an updated DIO message specifying the corresponding “rank” of the RPL network device14relative to the root network device12, enabling other network devices to join the tree-based DODAG topology20resulting in the tree-based DODAG topology. Hence, a child (e.g., “C”)14can use the identified objective function and calculate for itself a higher rank (e.g., “50”) relative to the corresponding rank (e.g., “20”) advertised by its parent (e.g., “B”), and output an updated DIO specifying the corresponding rank (e.g., “50”), enabling the next child device (e.g., “F”)14to calculate its own corresponding rank (e.g., “100”), etc.

Hence, a LLN device14can calculate its own rank within the DODAG20based on executing the objective function identified in the received DIO message, and based on the advertised rank and advertised metrics from the received DIO message, detected attributes (e.g., Received Signal Strength Indicator (RSSI)) associated with reception of the DIO message, prescribed constraints or policies set in the LLN device14(e.g., minimum/maximum permitted rank values, etc.). Hence the “rank” used by a LLN device14can identify a relative positional priority of the LLN device14within the LLN device14, but is distinct from a hop count value: in other words, a “hop count” is not and cannot be used as a “rank” as described herein because a “rank” monotonically increases away from the root network device12for formation of the DODAG20, and the “rank” is determined based on execution of an identified objective function (and therefore can have a nonlinear increase in rank values). Additional details regarding calculating a rank value can be found, for example, in Section 8.2 of RFC 6550.

Downward routes (i.e., away from the DAG root12) can be created based on Destination Advertisement Object (DAO) messages that are created by a RPL node14and propagated toward the DAG root12. The root network device12generating the RPL instance20can implement downward routes in the DAG20of the LLN10in either a storing mode only (fully stateful), or a non-storing mode only (fully source routed by the DAG root). In storing mode, a RPL node14unicasts its DAO message to its parent node, such that RPL nodes14store downward routing table entries for their “sub-DAG” (the “child” nodes connected to the RPL node). In non-storing mode the RPL nodes14do not store downward routing tables, hence a RPL node14unicasts its DAO message to the DAG root12, such that all data packets are sent to the DAG root12and routed downward with source routes inserted by the DAG root12.

Although only the RPL network devices “A”, “B”, “C”, “D”, and “R” are labeled with the reference numeral “14” to avoid cluttering in the Figures, it should be apparent that all the RPL network devices “A” through “W” are allocated the reference numeral “14” for purposes of the description herein. Further, it should be apparent that all the network devices “A” through “W”14are configured for establishing wireless data links16and DODAG parent-child connections18(collectively “wireless DODAG parent-child connections”), even though only the wireless DODAG parent-child connections18between the root network device12and the RPL network devices “A” and “D”14are labeled with the reference numeral “18” (and only the wireless data links16of the root network device12and the RPL network devices “A” and “D” are labeled) to avoid cluttering in the Figures.

Conventional deployments of the RPL protocol (e.g., according to RFC 6550) can suffer from many inefficiencies in a DAG network topology20in LLNs10that contain thousands of network devices14that are densely deployed in the data network10. In one example, unrestricted propagation of multicast messages downward in the DODAG20of the LLN10can enable the root network device12to propagate critical management messages to all LLN devices14, however such unrestricted propagation can create substantial traffic loads in the LLN10; hence, unrestricted multicasting from the root network device12is not scalable in the LLN10due to the substantial traffic loads that would be encountered.

Moreover, non-root initiated multicasting (i.e., initiated by an LLN device14) can result in unwanted propagation of multicast messages throughout the LLN10, including multicasting to LLN devices14that have no need for the multicast messages; such unwanted propagation of multicast messages also can create security issues by enabling rogue network devices to detect multicast messages from any location in the LLN10. As illustrated inFIGS. 1 and 2, the network devices “L” through “W” are illustrated as positioned within a limited region22of the LLN10, for example within an underground room of an apartment building, where the limited region22can be used for deployment of a meter “vault” comprising multiple CG-mesh based metering devices “L” through “W”12for respective above-ground apartment dwelling units in a large apartment building, where the network device “L” serves as the gateway between the “vault”22and the CGI network10. Hence, unrestricted propagation of a multicast message24that is relevant only to the CG-mesh metering devices “L” through “W”14in the limited region22could cause undesirable traffic congestion outside the limited region22(e.g., if the multicast data message24was multicast transmitted by the CG-mesh metering device “L”14to its “gateway” device “F” outside the limited region22), and could result in additional security risks by exposing the network devices “L” through “W” to potential rogue network devices outside the limited region22.

Hence, the example embodiments described herein enable localized multicast based on a rank-based distance limit value, enabling propagation of multicast messages24to be confined within a limited region22of the DODAG topology20. As described below, the rank-based distance limit value can cause the LLN device “L” (and/or “F”)14to suppress any multicast transmission of the multicast data message24outside the limited region22based on its rank in the limited region22relative to the rank-based distance limit value relative to the multicast origin “R”.

Hence, the example embodiments described herein enable localized multicast within a limited region22of the DODAG20, enabling maximal use of localized multicasting while maintaining network security and preventing transmissions outside the limited region22. As described below, the multicast propagation may be initiated by a multicast origin device “R”14generating the multicast data message24as illustrated inFIG. 1.

As illustrated inFIG. 2and as described in further detail below, the multicast propagation also can be initiated based on the root network device12“tunneling” to the multicast origin device “R”14a unicast data packet26that comprises at least the payload of the multicast message, and that also can include the rank-based distance limit value that can limit propagation of the multicast data message24to within the limited region22. Hence, the root network device12can initiate a projected localized multicast of a multicast data message24within a specific limited region22, enabling distribution of location-specific metering instructions (e.g., control data for a specific apartment building, software updates on a per-building basis, etc.) in a scalable manner.

FIG. 3illustrates an example implementation of any of the network devices12,14ofFIG. 1 or 2, according to an example embodiment. Each apparatus12,14is a physical machine (i.e., a hardware device) configured for implementing network communications with other physical machines via the LLN10. The term “configured for” or “configured to” as used herein with respect to a specified operation refers to a device and/or machine that is physically constructed and arranged to perform the specified operation.

Each apparatus12,14can include a device interface circuit30, a processor circuit32, and a memory circuit34. The device interface circuit30can include one or more distinct physical layer transceivers for communication with any one of the other devices12,14; the device interface circuit30also can include an IEEE based Ethernet transceiver for communications with the devices ofFIG. 1via any type of data link (e.g., a wired or wireless link, an optical link, etc.). The processor circuit32can be configured for executing any of the operations described herein, and the memory circuit34can be configured for storing any data or data packets as described herein.

Any of the disclosed circuits of the devices12,14(including the device interface circuit30, the processor circuit32, the memory circuit34, and their associated components) can be implemented in multiple forms. Example implementations of the disclosed circuits include hardware logic that is implemented in a logic array such as a programmable logic array (PLA), a field programmable gate array (FPGA), or by mask programming of integrated circuits such as an application-specific integrated circuit (ASIC). Any of these circuits also can be implemented using a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown) and implemented using one or more integrated circuits, where execution of executable code stored in an internal memory circuit (e.g., within the memory circuit34) causes the integrated circuit(s) implementing the processor circuit to store application state variables in processor memory, creating an executable application resource (e.g., an application instance) that performs the operations of the circuit as described herein. Hence, use of the term “circuit” in this specification refers to both a hardware-based circuit implemented using one or more integrated circuits and that includes logic for performing the described operations, or a software-based circuit that includes a processor circuit (implemented using one or more integrated circuits), the processor circuit including a reserved portion of processor memory for storage of application state data and application variables that are modified by execution of the executable code by a processor circuit. The memory circuit34can be implemented, for example, using a non-volatile memory such as a programmable read only memory (PROM) or an EPROM, and/or a volatile memory such as a DRAM, etc.

Further, any reference to “outputting a message” or “outputting a packet” (or the like) can be implemented based on creating the message/packet in the form of a data structure and storing that data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a transmit buffer). Any reference to “outputting a message” or “outputting a packet” (or the like) also can include electrically transmitting (e.g., via wired electric current or wireless electric field, as appropriate) the message/packet stored in the non-transitory tangible memory medium to another network node via a communications medium (e.g., a wired or wireless link, as appropriate) (optical transmission also can be used, as appropriate). Similarly, any reference to “receiving a message” or “receiving a packet” (or the like) can be implemented based on the disclosed apparatus detecting the electrical (or optical) transmission of the message/packet on the communications medium, and storing the detected transmission as a data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a receive buffer). Also note that the memory circuit34can be implemented dynamically by the processor circuit32, for example based on memory address assignment and partitioning executed by the processor circuit32.

FIGS. 4A-4Cillustrate an example method of limiting propagation of a multicast data message in the LLN, according to an example embodiment. The operations described with respect to any of the Figures can be implemented as executable code stored on a computer or machine readable non-transitory tangible storage medium (i.e., one or more physical storage media such as a floppy disk, hard disk, ROM, EEPROM, nonvolatile RAM, CD-ROM, etc.) that are completed based on execution of the code by a processor circuit implemented using one or more integrated circuits; the operations described herein also can be implemented as executable logic that is encoded in one or more non-transitory tangible media for execution (e.g., programmable logic arrays or devices, field programmable gate arrays, programmable array logic, application specific integrated circuits, etc.). Hence, one or more non-transitory tangible media can be encoded with logic for execution by a machine, and when executed by the machine operable for the operations described herein.

In addition, the operations described with respect to any of the Figures can be performed in any suitable order, or at least some of the operations can be performed in parallel. Execution of the operations as described herein is by way of illustration only; as such, the operations do not necessarily need to be executed by the machine-based hardware components as described herein; to the contrary, other machine-based hardware components can be used to execute the disclosed operations in any appropriate order, or execute at least some of the operations in parallel.

Referring toFIG. 4A, the processor circuit32of the root network device12in operation40can establish the DODAG20, for example in storing mode or nonstoring mode, based on outputting a DIO control message specifying the prescribed objective function (OF), for example as described in RFC 6550, and specifying that multicasting is enabled (e.g., “Mode of Operation” (MOP) “3” in RFC 6550).

The processor circuit32of the root network device12in operation40also can establish the LLN10, for example in a CG-Mesh network, based on a network joining process that can include: (1) PAN selection, where a joining node14either listens for a discover beacon or sends out a discover beacon request to select a Personal Area Network (PAN); (2) Authentication, where a joining node14can perform 802.1x mutual authentication and obtain security keys from the Root and/or a parent network device, or other authentication device; (3) PAN configuration where a joining node14either listens for a configuration beacon or sends out configuration beacon request to obtain PAN-wide information, such as broadcast schedule, PAN version; and (4) Routing formation, where a joining node14obtains an IPv6 address and advertises it to the FAR Root device12to configure a downward route from the FAR root device to the joining node12.

Assuming a RPL-based DODAG20is formed in operation40, the processor circuit32of the root network device12in operation40can learn a path to a network device “R”14in a limited region22(e.g., within an identified meter “vault” in an identifiable building) that can operate as a multicast origin for multicast transmission of one or more multicast data messages24within the limited region22of the DODAG20, for example based on DAO messages from each of the LLN devices14. In one example, the root network device12can implement the DODAG20in nonstoring mode, ensuring the root network device12can obtain a DAO message from each LLN device14for learning of topology parameters associated with each limited region22in the DODAG20; alternately, the root network device12can implement the DODAG20in storing mode, where each “gateway” device (e.g., “L” and/or “F”) for a corresponding limited region22can send selected topology parameters associated with the limited region22to the root network device12.

Following establishment of the DODAG20, the root network device12in operation42can obtain a data message (e.g., from a network manager or headend device, etc., not shown in the Figures) for localized multicast in the limited region22: the data message can be supplied with an identifier for the multicast origin (e.g., the LLN device “R”), or the root network device12can select the multicast origin “R”14, for example in operation44.

The processor circuit32of the root network device12in operation44can determine the topology parameters and topology metrics for the limited region22in the DODAG20, including for example the ranges of rank values between the “gateway” devices “F” and/or “L” and the ranges of rank values of each of the member LLN devices “L” through “W” that belong to the limited region22. The processor circuit32of the root network device12in operation44can identify the LLN device “R”14as the multicast origin for a multicast data message24, and can set a minimum multicast (“m-cast”) distance value (e.g., “D=1”46ofFIG. 5) that identifies the LLN device “R”14as a multicast origin; the processor circuit32of the root network device12in operation44also can set a distance limit value (e.g., “DL=249”48ofFIG. 5), for example based on determining (e.g., from prior messages received from the LLN devices14) that the DODAG rank value for the gateway device “F” into the limited region22(as calculated by “F” during OF execution while joining the DODAG20) is “Rank_F=100”, the DODAG rank value for the LLN device “L” device in the limited region22(as calculated by “L” during OF execution while joining the DODAG20) is “Rank_L=500”, and the DODAG rank value for the multicast origin LLN device “R” (as calculated by “R” during OF execution while joining the DODAG20) is “Rank_R=750”.

As described below, the distance limit value48set by the processor circuit32of the root network device12in operation44can cause each of the LLN devices “L” through “W” to limit multicast propagation of the multicast data message24to within the limited region22, based on causing an LLN device14receiving the multicast data message24to suppress further multicast transmission of the received multicast data message24if the updated rank-based distance of the receiving LLN device14from the multicast origin “R”14in the limited region22is not less than the distance limit value48.

As illustrated inFIG. 2the processor circuit32of the root network device12in operation46ofFIG. 4Acan cause the device interface circuit30to unicast tunnel, to the LLN device “R”14, the multicast data message24within a unicast data message26. The unicast data message26can specify the distance limit value48(e.g., “DL=249”48ofFIG. 5) that causes the multicast origin “R”14to limit the multicast propagation to within the limited region22. As illustrated inFIG. 4A, in one example operation46athe processor circuit32of the root network device12can generate (in operation46a) the multicast data message24that includes a distance limit field (50ofFIG. 5) specifying the distance limit value48, and that further includes a current distance field (52ofFIG. 5) specifying the minimum distance value46to be used by the multicast origin “R”14.

The processor circuit32of the root network device12in operation46balso can set the distance limit field50and the current distance field52as separate data fields in the unicast data message26that encapsulates the multicast data message24without the distance limit field50or the current distance field52(enabling the multicast origin “R”14to dynamically insert the distance limit field50specifying the distance limit value48and the current distance field52specifying the minimum distance value46into the multicast data message24prior to initiating multicast transmission in the limited region22, as appropriate).

The processor circuit32of the root network device12in operation46calso can specify within the unicast data message26a multicast flow identifier associated with the multicast data message24, enabling the multicast origin “R”14to store the minimum distance value46and the distance limit value48and associated flow identifier in its memory circuit34, enabling the multicast origin “R”14to identify the same minimum distance value46and distance limit value48for each multicast data message24associated with the multicast flow identifier.

The device interface circuit30of the multicast origin “R”14can receive in operation48the unicast data message26tunneled from the root network device12.

Referring toFIG. 4B, the processor circuit32of the multicast origin “R”14in operation50can parse the unicast data message26and detect the multicast data message24encapsulated in the unicast data message26. The processor circuit32of the multicast origin “R”14in operation50also can identify the minimum distance value46and the distance limit value48to be used in the multicast data message24prior to initiating multicast transmission in the limited region22. As described previously, in one example the processor circuit32of the multicast origin “R”14in operation50can identify the distance limit value48from the distance limit field50of the unicast data message26and/or the encapsulated multicast data message24, and the minimum distance value46specified in the current distance field52of the unicast data message26and/or the multicast data message24; in another example the processor circuit32of the multicast origin “R”14in operation50can identify the distance limit value48from a stored table entry (in its memory circuit34) that stores multicast parameters (e.g., the minimum distance value46and the distance limit value48) associated with a prescribed multicast flow identifier.

The processor circuit32of the multicast origin “R”14in operation52also can generate its own multicast data message24, for example a local reset message within the “vault”22in response to a local administrator input, etc., and in response obtain a locally-stored minimum distance value46and a locally-stored distance limit value48.

The processor circuit32of the multicast origin “R”14in operation54can insert (if needed) into a multicast data message24its minimum distance value (e.g., “D=1”)46into a current distance field52, and the distance limit value (e.g., “DL=249”)48into the distance limit field50of the multicast data message24.

The processor circuit32of the multicast origin “R”14in operation56also can optionally add a wireless transceiver tuning value (e.g., a transmit (“Tx”) power value) that is used by the device interface circuit30for wireless transmission of the multicast data message24, and a multicast objective function identifier56that enables a receiving network device to calculate a multicast-based rank based on executing a multicast-based OF associated with the multicast objective function identifier56and based on the link layer metrics including the transmit power value54, and a receive power value (e.g., RSSI) determined by the receiving LLN device14.

The processor circuit32of the multicast origin “R”14in operation56also can optionally add a current rank field58specifying the current DODAG-based rank (e.g., “TxRank=750)60, and a rank limit field62specifying one or more of a minimum rank limit “R_MIN”68and/or a maximum rank limit “R_MAX”64. As described below, the minimum rank limit “R_MIN”68can limit upward flooding (toward the root network device12), and the maximum rank limit “R_MAX”64can limit downward flooding (toward the leaves of the DODAG20inside the limited region22).

The processor circuit32of the multicast origin “R”14in operation66can cause the device interface circuit30to initiate multicast propagation of the multicast data message24by multicast transmitting the multicast data message24. As illustrated inFIG. 5, the multicast data message24aoutput by the multicast origin “R”14comprises the current distance field52specifying the minimum distance value46that identifies the LLN device “R” as the multicast origin, and the distance limit field50specifying the distance limit “DL=249”48. The multicast data message24aalso can comprise the transmit power value54, the multicast objective function identifier56, the current rank field58specifying the DODAG-based rank60, and the rank limit field62specifying the minimum rank limit “R_MIN” and/or the maximum rank limit “R_MAX=825”64.

Referring toFIG. 4C, the device interface circuit30of a receiving LLN device (e.g., “L”, “M”, “P”, “Q”, and/or “S”) in operation70can receive the multicast data message24from one or more transmitting LLN devices14, for example the multicast data message24afrom the multicast origin “R”14. As illustrated inFIGS. 1, 2, and 5, over time multiple LLN devices can multicast the multicast data message24, resulting in a receiving LLN device (e.g., “M” or “Q”)14receiving multiple copies of the multicast data message (e.g.,24a,24b) from different transmitting LLN devices (e.g., the multicast origin “R”14and the LLN device “P”14), for example based on executing the Trickle algorithm as described in RFC 7731. Hence the processor circuit32of a receiving LLN device14in operation70can wait for an identifiable time interval (e.g., based on the Trickle algorithm as described in RFC 6206) to determine whether to wait for an additional copy of the multicast data message24before proceeding with the operations described below.

Assuming reception of two or more multicast data messages24after an identifiable time interval (e.g., based on the Trickle algorithm), the processor circuit32of the receiving LLN device14in operation72can detect a lowest distance limit value (designated “M-CAST MIN”), representing the multicast data message24having been transmitted from nearest to the multicast origin “R”14, among the absolute values of the respective current distance fields52of the received multicast data messages24. If only one multicast data message24is received after the identifiable time interval (e.g., the LLN device “L” receives only the original multicast data message24from the multicast origin “R”14), the single minimum distance value46can be designated the lowest distance limit value “M-CAST MIN”).

The processor circuit32of the receiving LLN device14in operation72also can determine the distance limit value48from the distance limit field50from any one of the received multicast data messages24.

The processor circuit32of the receiving LLN device14in operation74can determine the DODAG rank “Rank_n” of the neighboring LLN device “n” that multicast the multicast data message24with the lowest distance limit value “M-CAST MIN”. In one example, the processor circuit32of the receiving LLN device14in operation74can determine whether the received multicast data message24specifies a current rank field58that identifies the DODAG rank “Rank_n”60; the processor circuit32of the receiving LLN device14in operation74also can determine the rank “Rank_n” of the neighboring LLN device “n”14from a neighbor table, stored in its memory circuit34, that identifies respective ranks of neighboring LLN devices14having previously advertised a DIO message during formation of the DODAG20.

The processor circuit32of the receiving LLN device14in operation76can determine its own rank “RxRank”: in one example, the processor circuit32of the receiving LLN device14in operation76acan use its DODAG rank value; in another example, the processor circuit32of the receiving LLN device14in operation76bcan calculate a multicast rank. In particular, the processor circuit32of the receiving LLN device14in operation76bcan determine one or more receiver metrics (e.g., Received Signal Strength Indicator (RSSI), signal-to-noise ratio, bit error rate (BER), etc.) associated with receiving the multicast data message24; the processor circuit32of the receiving LLN device14in operation76balso can identify the multicast objective function specified by the multicast objective function identifier56, and apply the receiver metrics and the transmit power value54specified in the received multicast data message24to determine the multicast rank to be applied as the receiver rank “RxRank”.

The processor circuit32of the receiving LLN device14in operation78can determine its updated distance “D” to the multicast origin “R”14based on adding to the lowest distance value “D=M-CAST MIN” (obtained from the current distance field52of the received multicast data message24in operation72) the rank difference between the corresponding neighboring transmitting LLN device “Rank_n” (determined in operation74) and the receiving LLN device14“RxRank”, i.e., “D=D+(‘RxRank’−‘Rank_n’)”.

As illustrated inFIG. 5, the processor circuit32of the receiving network device “P”14can determine that the current distance of the received multicast data message24ais “D=1” (based on the minimum distance value46in the current distance field52), and the rank of the transmitting multicast origin “R”14is “Rank_R=750” (specified as the DODAG-based rank60in the current rank field58or obtained from the neighbor table); hence the receiving network device “P”14can determine in operation78(from its rank of “RxRank=700”) that its updated distance is “D_P=1+(700−750)=−49” (a negative value indicating the receiver is higher in the DODAG20than the transmitter).

The receiving network device “Q”14(having the DODAG rank “RxRank=850”) can determine in operation78(based on the received multicast data message24a) that its updated distance is “D_Q=1+(850−750)=101” (a positive value indicating the receiver is lower in the DODAG20than the transmitter).

The receiving network device “S”14(having the DODAG rank “RxRank=600”) can determine in operation78(based on the received multicast data message24a) that its updated distance is “D_S=1+(600−750)=−149”.

The receiving network device “L”14(having the DODAG rank “RxRank=500”) can determine in operation78(based on the received multicast data message24from the multicast origin “R”14) that its updated distance is “D_L=1+(500−750)=−249”.

The processor circuit32of the receiving network device “L”14can determine in operation80that the absolute value of its updated distance “|D_L|=249” is not less than the distance limit value “DL=249”, i.e., “|D|=DL”. Hence, the processor circuit32of the receiving network device “L”14in operation82suppresses transmission of the multicast data message24in response to determining in operation80that the receiving network device “L” is at the distance limit relative to the multicast origin “R”14, i.e., that the updated distance of the receiving network device “L” to the multicast origin “R”14(expressed as the absolute value “|D_L|”) is not less than the distance limit value “DL=249”48specified in the multicast data message24. Hence, the suppression of transmission by the receiving network device “L”14prevents propagation of the multicast data message24beyond the limited region22.

Depending on implementation preference, the distance limit value48also can be set such that the receiving network device “L”14can multicast transmit the multicast data message24to the first-hop “gateway” device “F”14(e.g., if the distance value is set to “251”), but that the gateway device “F” that is outside the limited region22suppresses any transmission of the multicast data message24outside the limited region22.

Hence, multicast transmissions of the multicast data message24can be executed within the limited region22, while suppressing any transmission of the multicast data message24outside the limited region22.

The processor circuit32of the receiving network device “P”14can determine in operation80that the absolute value of its updated distance “|D_P|=49” is less than the distance limit value “DL=249”, i.e., “|D|<DL”. In an optional operation84, the processor circuit32of the receiving network device “P”14also can determine that its corresponding DODAG rank “RxRank” is within the minimum rank limit “R_MIN=550”68and the maximum rank limit “R_MAX=825”64, based on determining the DODAG-based rank60in the current rank field58of the received multicast data message24a, and adding the rank difference (“step of rank”) to the DODAG-based rank60of the transmitting multicast origin “R”14, i.e., “(RxRank−Rank_R)+TxRank”, or “(700−750)+750=700” which falls within the range of “550<700<825”.

Hence, the processor circuit32of the receiving network device “P”14in operation86can update the relevant fields of the multicast data message24a, including the current distance field52to specify a distance of “D=−49”, the current rank field58, and the transmit power value54, and multicast transmit in operation86the multicast data message24bcomprising the distance limit field50specifying the distance limit value “DL=249”48, and the updated fields including the current distance “−49” in the current distance field52. Similarly, the receiving network device “S” (having the DODAG rank “RxRank=600”) can determine in operation80that the absolute value of the updated distance is less than the distance limit value, and determine in operation84that the rank is within the limits64and68, and in response multicast the multicast data message24cafter updating the relevant fields as described above (including specifying the current distance field52with the current distance value “D=−149”).

In contrast, although the processor circuit32of the receiving network device “Q” can determine that it is within the distance limit value48in operation80, the processor circuit32of the receiving network device “Q” can determine in operation84that its rank “RxRank=850” exceeds the maximum rank limit “R_MAX”64, hence the processor circuit32of the receiving network device “Q” suppresses at least downward transmission of the multicast data message24in operation82. Similarly, since the network devices “M” and “U” each have a DODAG rank of “525”, the network devices “M” and “U” can be within the distance limit value48(“D=−224”) in operation80, but the processor circuit32of the network devices “M” and “U” can determine that their corresponding rank “RxRank=525” is less than the minimum rank value of “R_MIN=550”, causing the network devices “M” and “U” to suppress at least upward transmission of the multicast data message24in operation82.

Hence, the minimum rank limit “R_MIN”68can limit upward flooding (toward the root network device12), and the maximum rank limit “R_MAX”64can limit downward flooding (toward the leaves of the DODAG20inside the limited region22).

According to example embodiments, multicast transmissions can be localized based on a rank-based distance relative to a multicast origin. The rank-based distance can be based solely on a DODAG-based rank, or can be based on a multicast rank that is generated according to an objective function optimized for localized multicast transmissions.

An additional embodiment can include an apparatus comprising a processor circuit and a device interface circuit. The processor circuit is configured for identifying a minimum distance value to be used for multicast transmission as a low power and lossy network (LLN) device in a low power and lossy network (e.g., the minimum distance value identifying the apparatus as a multicast origin), the processor circuit further configured for identifying a distance limit value for limiting multicast propagation, initiated at the LLN device, of a multicast data message in the LLN. The device interface circuit is configured for multicast transmitting the multicast data message with a current distance field specifying the minimum distance value and a distance limit field specifying the distance limit value, the multicast transmitting causing a receiving LLN device having a corresponding rank in the LLN to respond to the multicast data message by: (1) determining an updated distance based on adding to the current distance field a rank difference between the receiving LLN device and the LLN device, and (2) selectively retransmitting the multicast data message if the updated distance is less than the distance limit value.

An additional embodiment can include an apparatus implemented as a receiving low power and lossy network (LLN) device in a low power and lossy network, the apparatus comprising a device interface circuit and a processor circuit. The device interface circuit is configured for receiving one or more multicast data messages from respective one or more neighboring transmitting LLN devices in the LLN. The processor circuit is configured for detecting, among the one or more multicast data messages, a lowest distance value in a current distance field and a distance limit value in a distance limit field, the lowest distance value indicating a multicast transmission distance of the corresponding one neighboring transmitting LLN device relative to a multicast origin of the one or more multicast data messages. The processor circuit is configured for determining an updated distance to the multicast origin based on adding to the lowest distance value a rank difference between the corresponding neighboring transmitting LLN device and the receiving LLN device. The processor circuit is configured for causing the device interface circuit to selectively multicast transmit the multicast data message based on the processor circuit determining the updated distance is less than the distance limit value that limits multicast propagation. The processor circuit further is configured for updating the current distance field with the updated distance value prior to transmission of the multicast data message.

An additional embodiment can include an apparatus implemented as a root network device in a low power and lossy network (LLN), the apparatus comprising a processor circuit and a device interface circuit. The processor circuit is configured for limiting multicast propagation of a multicast data message in the LLN based on setting a distance limit value for limiting the multicast propagation, and further based on generating a unicast message containing the multicast data message and the distance limit value. The processor circuit is configured for causing the device interface circuit to unicast transmit the unicast message containing the multicast data message and the distance limit value to an LLN device via the LLN. The unicast message causes the LLN device to multicast transmit the multicast data message with a current distance field specifying a minimum distance value of the LLN device and a distance limit field specifying the distance limit value. The processor circuit causes the limiting multicast propagation in the LLN based on causing a receiving LLN device having a corresponding rank in the LLN to respond to the multicast data message by: (1) determining an updated distance based on adding to the current distance field a rank difference between the receiving LLN device and the LLN device, and (2) selectively retransmitting the multicast data message if the updated distance is less than the distance limit value, wherein the receiving LLN device suppresses any transmission of the multicast data message if the updated distance is not less than the distance limit value.

While the example embodiments in the present disclosure have been described in connection with what is presently considered to be the best mode for carrying out the subject matter specified in the appended claims, it is to be understood that the example embodiments are only illustrative, and are not to restrict the subject matter specified in the appended claims.