Multicast Message Retransmission
First Claim
1. A method of distributing a multicast message in a Low power and Lossy Networks (LLN), the method comprising:
- receiving, at an intermediate node in a multicast network, a multicast message from a parent node of the intermediate node, wherein the multicast network is a directed acyclic graph and the parent node is located closer to a root node of the directed acyclic graph than the intermediate node;
transmitting the multicast message to child nodes of the intermediate node in the multicast network, wherein the child nodes are located further from the root node of the directed acyclic graph than the intermediate node;
storing the multicast message in a cache at the intermediate node;
receiving, at the intermediate node in the multicast network, an acknowledgement message from each acknowledging child node within an acknowledging subset of less than all of the child nodes of the intermediate node, wherein the acknowledgement message indicates that the acknowledging child node successfully received the multicast message;
accessing information indicating a population of the child nodes to which the multicast message transmission was directed;
comparing the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed;
identifying, based on results of the comparison between the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed, a non-acknowledging subset of less than all of the child nodes; and
retransmitting, from the cache at the intermediate node, the multicast message to the non-acknowledging subset of the child nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
In one implementation, a method of distributing a multicast message in a wireless mesh network includes receiving a multicast message from a parent node of an intermediate node. The method includes transmitting the multicast message to child nodes of the intermediate node. The method includes storing the multicast message in a cache at the intermediate node. The method includes intercepting an acknowledgement message from each acknowledging child node within an acknowledging subset of less than all of the child nodes. The method includes accessing information indicating a population of the child nodes to which the multicast message transmission was directed. The method includes comparing the acknowledging subset of the child nodes with the population of the child nodes. The method includes identifying a non-acknowledging subset of less than all of the child nodes. The method includes retransmitting the multicast message to the non-acknowledging subset of the child nodes.
-
Citations
29 Claims
-
1. A method of distributing a multicast message in a Low power and Lossy Networks (LLN), the method comprising:
-
receiving, at an intermediate node in a multicast network, a multicast message from a parent node of the intermediate node, wherein the multicast network is a directed acyclic graph and the parent node is located closer to a root node of the directed acyclic graph than the intermediate node; transmitting the multicast message to child nodes of the intermediate node in the multicast network, wherein the child nodes are located further from the root node of the directed acyclic graph than the intermediate node; storing the multicast message in a cache at the intermediate node; receiving, at the intermediate node in the multicast network, an acknowledgement message from each acknowledging child node within an acknowledging subset of less than all of the child nodes of the intermediate node, wherein the acknowledgement message indicates that the acknowledging child node successfully received the multicast message; accessing information indicating a population of the child nodes to which the multicast message transmission was directed; comparing the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed; identifying, based on results of the comparison between the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed, a non-acknowledging subset of less than all of the child nodes; and retransmitting, from the cache at the intermediate node, the multicast message to the non-acknowledging subset of the child nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 29)
-
-
13. A system configured to distribute a multicast message in a LLN, the system comprising a processor and instructions that when executed on a processor cause the processor to perform operations that include:
-
receiving, at an intermediate node in a multicast network, a multicast message from a parent node of the intermediate node, wherein the multicast network is a directed acyclic graph and the parent node is located closer to a root node of the directed acyclic graph than the intermediate node; transmitting the multicast message to child nodes of the intermediate node in the multicast network, wherein the child nodes are located further from the root node of the directed acyclic graph than the intermediate node; storing the multicast message in a cache at the intermediate node; receiving, at the intermediate node in the multicast network, an acknowledgement message from each acknowledging child node within an acknowledging subset of less than all of the child nodes of the intermediate node, wherein the acknowledgement message indicates that the acknowledging child node successfully received the multicast message; accessing information indicating a population of the child nodes to which the multicast message transmission was directed; comparing the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed; identifying, based on results of the comparison between the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed, a non-acknowledging subset of less than all of the child nodes; and retransmitting, from the cache at the intermediate node, the multicast message to the non-acknowledging subset of the child nodes. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer program on a computer readable medium to distribute a multicast message in a LLN, the computer program comprising instructions that when executed on a processor cause the processor to perform operations that include:
-
receiving, at an intermediate node in a multicast network, a multicast message from a parent node of the intermediate node, wherein the multicast network is a directed acyclic graph and the parent node is located closer to a root node of the directed acyclic graph than the intermediate node; transmitting the multicast message to child nodes of the intermediate node in the multicast network, wherein the child nodes are located further from the root node of the directed acyclic graph than the intermediate node; storing the multicast message in a cache at the intermediate node; receiving, at the intermediate node in the multicast network, an acknowledgement message from each acknowledging child node within an acknowledging subset of less than all of the child nodes of the intermediate node, wherein the acknowledgement message indicates that the acknowledging child node successfully received the multicast message; accessing information indicating a population of the child nodes to which the multicast message transmission was directed; comparing the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed; identifying, based on results of the comparison between the acknowledging subset of the child nodes revealed by the acknowledgement messages with the population of the child nodes to which the multicast message transmission was directed, a non-acknowledging subset of less than all of the child nodes; and retransmitting, from the cache at the intermediate node, the multicast message to the non-acknowledging subset of the child nodes.
-
-
26. A method of distributing a multicast message in a LLN, the method comprising:
-
analyzing the topology of a LLN based on a directed acyclic graph (DAG) for the LLN, the DAG identifying a number of children and a distance from children to a DAG root; identifying candidate nodes to becoming store and forward multicasting nodes based on at least the number of the children and the distance from the children to the DAG root; and filtering the candidate nodes based on a relative distance to other candidate nodes within the DAG and a relative distance between a specified candidate node and the DAG root.
-
-
27. A system with a processor that distributes a multicast message in a LLN, the system also comprising instructions on a computer readable medium that when executed on a processor cause the processor to perform instructions that include:
-
analyzing the topology of a LLN based on a directed acyclic graph (DAG) for the LLN, the DAG identifying a number of children and a distance from children to a DAG root; identifying candidate nodes to becoming store and forward multicasting nodes based on at least the number of the children and the distance from the children to the DAG root; and filtering the candidate nodes based on a relative distance from to other candidate nodes within the DAG and a relative distance between a specified candidate node and the DAG root.
-
-
28. A computer program stored on a computer readable medium comprising instructions that when executed on a processor cause the processor to perform operations that include:
-
analyzing the topology of a LLN based on a directed acyclic graph (DAG) for the LLN, the DAG identifying a number of children and a distance from children to a DAG root; identifying candidate nodes to becoming store and forward multicasting nodes based on at least the number of the children and the distance from the children to the DAG root; and filtering the candidate nodes based on a relative distance from to other candidate nodes within the DAG and a relative distance between a specified candidate node and the DAG root.
-
Specification