Efficient message distribution for directed acyclic graphs
First Claim
1. A method, comprising:
- receiving a distributed message from one or more distributing nodes at a particular node in a primary directed acyclic graph (DAG) in a computer network;
deterministically selecting a distributing node from the one or more distributing nodes as a distributing parent for a secondary DAG from which distributed messages are to be received;
informing the deterministically selected distributing node that the particular node is using the deterministically selected distributing node as the distributing parent; and
in response to the distributing parent not being a primary DAG parent of the particular node, informing the primary DAG parent that the primary DAG parent need not send distributed messages for the particular node.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
28 Claims
-
1. A method, comprising:
-
receiving a distributed message from one or more distributing nodes at a particular node in a primary directed acyclic graph (DAG) in a computer network; deterministically selecting a distributing node from the one or more distributing nodes as a distributing parent for a secondary DAG from which distributed messages are to be received; informing the deterministically selected distributing node that the particular node is using the deterministically selected distributing node as the distributing parent; and in response to the distributing parent not being a primary DAG parent of the particular node, informing the primary DAG parent that the primary DAG parent need not send distributed messages for the particular node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
one or more network interfaces to communicate in a primary directed acyclic graph (DAG) in a computer network as a particular node; a processor coupled to the network interfaces and adapted to execute one or more processes; and a memory configured to store a process executable by the processor, the process when executed operable to; determine a set of one or more distributing nodes from which a distributed message is received; deterministically select a distributing node from the one or more distributing nodes as a distributing parent for a secondary DAG from which distributed messages are to be received; inform the deterministically selected distributing node that the particular node is using the deterministically selected distributing node as the distributing parent; and in response to the distributing parent not being a primary DAG parent of the particular node, inform the primary DAG parent that the primary DAG parent need not send distributed messages for the particular node. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A tangible, non-transitory, computer-readable media having software encoded thereon, the software when executed by a processor on a particular node in a primary directed acyclic graph (DAG) operable to:
-
determine a set of one or more distributing nodes from which a distributed message is received; deterministically select a distributing node from the one or more distributing nodes as a distributing parent for a secondary DAG from which distributed messages are to be received; inform the deterministically selected distributing node that the particular node is using the deterministically selected distributing node as the distributing parent; and in response to the distributing parent not being a primary DAG parent of the particular node, inform the primary DAG parent that the primary DAG parent need not send distributed messages for the particular node.
-
-
18. A method, comprising:
-
transmitting a distributed message from a distributing node in a primary directed acyclic graph (DAG) in a computer network; in response to receiving a notification that a particular node is using the distributing node as a distributing parent, repeating distributed messages from the distributing node in a secondary DAG; and in response to the distributing node being a primary DAG parent having received a notification from all child nodes of the primary DAG parent that the primary DAG parent need not send distributed messages for the respective child node, preventing repeating of distributed messages from the distributing node in the secondary DAG. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. An apparatus, comprising:
-
one or more network interfaces to communicate in a primary directed acyclic graph (DAG) in a computer network; a processor coupled to the network interfaces and adapted to execute one or more processes; and a memory configured to store a process executable by the processor, the process when executed operable to; transmit a distributed message into the computer network; and set an operating state of the apparatus as; i) a distributing parent state in response to receiving a notification that a particular node is using the apparatus as its distributing parent in a secondary DAG, the distributing parent operating state to repeat distributed messages on the secondary DAG; and ii) a non-distributing node state in response to the apparatus being a primary DAG parent having received a notification from all child nodes of the apparatus that the apparatus need not send distributed messages for the respective child node, the non-distributing node operating state to prevent repeating of distributed messages from the apparatus on the secondary DAG. - View Dependent Claims (25, 26, 27)
-
-
28. A tangible, non-transitory, computer-readable media having software encoded thereon, the software when executed by a processor on a device in a primary directed acyclic graph (DAG) operable to:
-
transmit a distributed message from the device; in response to receiving a notification that a particular node is using the device as a distributing parent in a secondary DAG, repeat distributed messages from the device on the secondary DAG; and in response to the device being a primary DAG parent having received a notification from all child nodes of the device that the device need not send distributed messages for the respective child node, prevent repeating of distributed messages from the device on the secondary DAG.
-
Specification