Abstract:
In one embodiment, a node may determine a topology of a plurality of reporting nodes within a directed acyclic graph (DAG) in a computer network. The reporting nodes may then be assigned to one of a plurality of reporting groups, where reporting nodes are allowed to report only during designated time windows corresponding to their assigned reporting group. The reporting nodes may then be informed of at least their own assignment to a particular reporting group. In another embodiment, a particular reporting node may join the DAG, and may also receive an assignment to one of a plurality of reporting groups. Accordingly, the particular reporting node may also determine designated time windows corresponding to the assigned reporting group, where the particular reporting node is allowed to report only during the designated time windows.
Abstract:
In one embodiment, a particular node in a computer network receives an indication of a number of child nodes of one or more potential parent nodes to the particular node in a primary directed acyclic graph (DAG). From this, the particular node selects a particular potential parent node with the highest number of child nodes as a secondary DAG parent for the particular node, and joins the secondary DAG at the selected secondary DAG parent (e.g., for multicast and/or broadcast message distribution). This may recursively continue, such that nodes gravitate toward parents with more children, potentially allowing parents with fewer children to relinquish their parental responsibilities.
Abstract:
In one embodiment, a repeater node in a shared media network may intercept a shared media transmission from a first node to a second node. Once a shared media transmission is intercepted, the repeater node may determine whether the second node returns an acknowledgement (ACK) to the first node. If the second node does not return an ACK to the first node, the repeater node repeats the shared media transmission to the second node. Also, according to one or more additional embodiments of the disclosure, when receiving an ACK at the repeater node from the second node in response to the repeated shared media transmission, the repeater node may also forward the ACK from the second node to the first node.
Abstract:
In one embodiment, a particular node joins a directed acyclic graph (DAG) in a computer network at a parent node, and determines its grade based on a topology of the DAG, the grade lower than the parent node and higher than any child nodes of the particular node. In response to detecting a trigger for a routing change in the DAG, the particular node delays the routing change based on the grade such that the delay is longer than a first associated delay of any of the child nodes and shorter than a second associated delay of the parent node. Upon expiration of the delay, the particular node may determine if the trigger for the routing change is still valid, and if valid, performs the routing change.
Abstract:
In one embodiment, one or more routing update parameters may be set for and propagated to nodes of a directed acyclic graph (DAG) in a computer network, the routing update parameters indicative of when to perform a corresponding routing update operation. A decision node (e.g., a root node of the DAG, application in a head-end, etc.) may gather network statistics of the DAG during operation based on the routing update parameters, and may accordingly determine at least one adjusted routing update parameter based on the gathered network statistics. This adjusted routing update parameter may then be propagated to the nodes of the DAG, such that the nodes operate according to the (adaptively) adjusted routing update parameter.
Abstract:
In one embodiment, a particular node in a primary DAG receives a distributed message from distributing nodes, and from this, deterministically selects a distributing node as a distributing parent in a secondary DAG from which distributed messages are to be received. The particular node may then inform the deterministically selected distributing parent that it is being used by the particular node as its distributing parent, and if the selected distributing parent is not the particular node's primary DAG parent, then the primary DAG parent is informed that it need not send distributed messages for the particular node. In another embodiment, a distributing node continues to repeat distributed messages in response to receiving notification that it is being used as a distributing parent, and if a primary DAG parent, prevents the repeating in response to receiving a notification from all of its child nodes that it need not send distributed messages.
Abstract:
In one embodiment, a particular node in a primary DAG receives a distributed message from distributing nodes, and from this, deterministically selects a distributing node as a distributing parent in a secondary DAG from which distributed messages are to be received. The particular node may then inform the deterministically selected distributing parent that it is being used by the particular node as its distributing parent, and if the selected distributing parent is not the particular node's primary DAG parent, then the primary DAG parent is informed that it need not send distributed messages for the particular node. In another embodiment, a distributing node continues to repeat distributed messages in response to receiving notification that it is being used as a distributing parent, and if a primary DAG parent, prevents the repeating in response to receiving a notification from all of its child nodes that it need not send distributed messages.
Abstract:
In one embodiment, one or more routing update parameters may be set for and propagated to nodes of a directed acyclic graph (DAG) in a computer network, the routing update parameters indicative of when to perform a corresponding routing update operation. A decision node (e.g., a root node of the DAG, application in a head-end, etc.) may gather network statistics of the DAG during operation based on the routing update parameters, and may accordingly determine at least one adjusted routing update parameter based on the gathered network statistics. This adjusted routing update parameter may then be propagated to the nodes of the DAG, such that the nodes operate according to the (adaptively) adjusted routing update parameter.
Abstract:
In one embodiment, a particular node (e.g., root node) in a directed acyclic graph (DAG) in a computer network may identify a low-contact (e.g., wireless) node in the DAG that is at risk of having an invalid path when attempts are made to reach the low-contact node. In response, the particular node may identify neighbors of the low-contact node, and may establish a multicast tree from the particular node to the low-contact node through a plurality of the neighbors to reach the low-contact node. When sending traffic to the low-contact node, the particular node sends the traffic on the multicast tree, wherein each of the plurality of neighbors attempts to forward the traffic to the low-contact node. In another embodiment, the low-contact node itself indicates its status to the particular/root node, along with its list of neighbors in order to receive the multicast traffic.
Abstract:
In one embodiment, a particular node joins a directed acyclic graph (DAG) in a computer network at a parent node, and determines its grade based on a topology of the DAG, the grade lower than the parent node and higher than any child nodes of the particular node. In response to detecting a trigger for a routing change in the DAG, the particular node delays the routing change based on the grade such that the delay is longer than a first associated delay of any of the child nodes and shorter than a second associated delay of the parent node. Upon expiration of the delay, the particular node may determine if the trigger for the routing change is still valid, and if valid, performs the routing change.