SYSTEM AND METHOD FOR MANAGING ACKNOWLEDGEMENT MESSAGES IN A VERY LARGE COMPUTER NETWORK
First Claim
1. A method of distributing a multicast message in a Low power and Lossy Network (LLNs), the method comprising:
- receiving, at a first node in a multicast network, a multicast message from a parent node of the first node;
transmitting the multicast message to child nodes of the first node in the multicast network;
accessing a population of the child nodes to which the multicast message was transmitted;
receiving, at the first node in the multicast network, acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node;
comparing child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted;
identifying, based on results of the comparison of child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes by which the multicast message is expected to be received, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; and
transmitting an indication of the non-acknowledging nodes to the parent node of the first node.
1 Assignment
0 Petitions
Accused Products
Abstract
A multicast message may be distributed by receiving, at a first node in a multicast network, a multicast message from a parent node of the first node. The multicast message is transmitted to child nodes of the first node in the multicast network. A population of the child nodes to which the multicast message was transmitted is accessed and acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node are received. Child nodes revealed by the received acknowledgement messages are compared with child nodes determined to be among the population of child nodes to which the multicast message is expected to be received. Based on results of the comparison, a compressed non-acknowledging subset is identified and transmitted to the parent node.
79 Citations
29 Claims
-
1. A method of distributing a multicast message in a Low power and Lossy Network (LLNs), the method comprising:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node in the multicast network; accessing a population of the child nodes to which the multicast message was transmitted; receiving, at the first node in the multicast network, acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node; comparing child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identifying, based on results of the comparison of child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes by which the multicast message is expected to be received, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; and transmitting an indication of the non-acknowledging nodes to the parent node of the first node. - View Dependent Claims (2, 3, 4, 5, 11, 12, 13, 14, 15, 16, 17)
-
-
6. A method of distributing a multicast message in a LLN, the method comprising:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node in the multicast network; accessing a population of the child nodes by which the multicast message is expected to be received; receiving, at the first node in the multicast network, acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node; comparing child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes by which the multicast message was expected to be received; identifying, based on results of the comparison of child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; and determining, based on identifying the non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received, a number of acknowledgement messages received on the first node relative to a size of the list of child nodes; and transmitting the number of acknowledgement messages that have been received to the parent node. - View Dependent Claims (7, 8, 9, 10, 18)
-
-
19. A method of distributing a multicast message in a wireless mesh network, the method comprising:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node and to subsequent children in the multicast network; accessing a population of the child nodes to which the multicast message was transmitted; receiving, at the first node in the multicast network, non-acknowledgement messages which reveal child nodes that are among a non-acknowledging subset of less than all of the children nodes of the first node; comparing child nodes revealed by the received non-acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identifying, based on results of the comparison of child nodes revealed by the received non-acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; determining, based on identifying the non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received, whether to send a lack of acknowledgment (LACK) message; and constructing a LACK message to be sent by the first node to be sent using an uplink to the parent node.
-
-
20. 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:
-
receive, at a first node in a multicast network, a multicast message from a parent node of the first node; transmit the multicast message to child nodes of the first node in the multicast network; access a population of the child nodes to which the multicast message was transmitted; receive, at the first node in the multicast network, acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node; compare child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identify, based on results of the comparison of child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; and transmit an indication of the non-acknowledging nodes to the parent node of the first node.
-
-
21. 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:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node in the multicast network; accessing a population of the child nodes to which the multicast message was transmitted; receiving, at the first node in the multicast network, acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node; comparing child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identifying, based on results of the comparison of child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; and determining, based on identifying the non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received, a number of acknowledgement messages received on the first node relative to a size of the list of child nodes; and transmitting the number of acknowledgement messages that have been received to the parent node. - View Dependent Claims (22, 23, 24, 25)
-
-
26. 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:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node and to subsequent children in the multicast network; accessing a population of the child nodes to which the multicast message was transmitted; receiving, at the first node in the multicast network, non-acknowledgement messages which reveal child nodes that are among a non-acknowledging subset of less than all of the children nodes of the first node; comparing child nodes revealed by the received non-acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identifying, based on results of the comparison of child nodes revealed by the received non-acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; determining, based on identifying the non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received, whether to send a lack of acknowledgment (LACK) message; and constructing a LACK message to be sent by the first node to be sent using an uplink to the parent node.
-
-
27. A computer program stored on a computer readable medium, the computer program comprising instructions that when executed on a processor cause the processor to perform operations including:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node in the multicast network; accessing a population of the child nodes to which the multicast message was transmitted; receiving, at the first node in the multicast network, acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node; comparing child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identifying, based on results of the comparison of child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; and transmitting an indication of the non-acknowledging nodes to the parent node of the first node.
-
-
28. A computer program stored on a computer readable medium, the computer program comprising instructions that when executed on a processor cause the processor to perform operations including:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node in the multicast network; accessing a population of the child nodes to which the multicast message was transmitted; receiving, at the first node in the multicast network, acknowledgement messages which reveal child nodes that are among an acknowledging subset of less than all of the child nodes of the first node; comparing child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identifying, based on results of the comparison of child nodes revealed by the received acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; and determining, based on identifying the non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received, a number of acknowledgement messages received on the first node relative to a size of the list of child nodes; and transmitting the number of acknowledgement messages that have been received to the parent node.
-
-
29. A computer program stored on a computer readable medium, the computer program comprising instructions that when executed on a processor cause the processor to perform operations including:
-
receiving, at a first node in a multicast network, a multicast message from a parent node of the first node; transmitting the multicast message to child nodes of the first node and to subsequent children in the multicast network; accessing a population of the child nodes to which the multicast message was transmitted; receiving, at the first node in the multicast network, non-acknowledgement messages which reveal child nodes that are among a non-acknowledging subset of less than all of the children nodes of the first node; comparing child nodes revealed by the received non-acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted; identifying, based on results of the comparison of child nodes revealed by the received non-acknowledgement messages with child nodes determined to be among the population of child nodes to which the multicast message was transmitted, a non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received; determining, based on identifying the non-acknowledging subset of less than all of the child nodes from which the acknowledgement message has not yet been received, whether to send a lack of acknowledgment (LACK) message; and constructing a LACK message to be sent by the first node to be sent using an uplink to the parent node.
-
Specification