IP Library › Granted Patent US 9,210,045
Granted Patent B2
US 9,210,045 · App. 13/043,176 · Granted Dec 8, 2015

Gravitational parent selection in directed acyclic graphs

Inventors: Shmuel Shaffer (Palo Alto, CA); Jean-Philippe Vasseur (Saint Martin d'Uriage, FR); Sandeep Jay Shetty (San Jose, CA)
Assignee: Cisco Technology, Inc.
H04L41/12H04L45/48H04W40/248H04W84/18
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,210,045
App. No.
13/043,176
Granted
Dec 8, 2015
Kind
B2
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.

Claims (53)

1. A method, comprising:

receiving, at a particular node in a computer network, an indication of a number of child nodes of one or more potential parent nodes to the particular node in a multicast and broadcast (MaB) directed acyclic graph (DAG);

selecting a particular potential parent node with a highest number of child nodes from a plurality of nodes with children as a DAG parent for the particular node in the DAG;

joining the DAG by the particular node at the selected DAG parent;

determining a particular number of child nodes that have joined the DAG at the particular node as their parent; and

advertising the particular number of child nodes into the network for the particular node; and

adjusting the particular number of child nodes that is advertised with a phantom number of child nodes.

2. The method as in claim 1 , wherein two or more of the potential parent nodes have a same highest number of child nodes, wherein selecting comprises:

selecting one of the two or more potential parent nodes having the same highest number as the DAG parent.

3. The method as in claim 1 , further comprising:

determining that the particular node has only one available potential parent node and, in response, selecting the one available potential parent node as the DAG parent; and

notifying the DAG parent that it is the only available potential parent node of the particular node.

4. The method as in claim 1 , further comprising:

utilizing the DAG for at least one of either multicast message distribution or broadcast message distribution.

5. The method as in claim 1 , further comprising:

notifying a previous parent of the particular node in the DAG of the selected DAG parent.

6. The method as in claim 1 , further comprising:

receiving a notification from the particular potential parent node that the particular potential parent node must be a parent node and, in response, selecting the particular potential parent node as the DAG parent.

7. The method as in claim 6 , wherein two or more of the potential parent nodes must be a parent node, wherein selecting comprises:

selecting one of the two or more potential parent nodes that must be a parent node as the DAG parent.

8. The method as in claim 1 , further comprising: receiving a notification from a particular child node that the particular node must be a parent node to the particular child node and, in response, advertising that the particular node must be a parent node into the network.

9. The method as in claim 1 , further comprising:

repeating distributed messages only in response to the particular node having one or more child nodes in the DAG.

10. The method as in claim 1 , further comprising:

selecting a plurality of DAG parents; and

joining the DAG by the particular node at the plurality of selected DAG parents.

11. An apparatus, comprising:

one or more network interfaces to communicate in a multicast and broadcast (MaB) directed acyclic graph (DAG) in a computer network as a particular node;

a processor coupled to the one or more network interfaces and adapted to execute one or more processes; and

a memory configured to store a process of the one or more processes executable by the processor, the process when executed operable to:

receive an indication of a number of child nodes of one or more potential parent nodes to the particular node in the DAG;

select a particular potential parent node with a highest number of child nodes from a plurality of nodes with children as a DAG parent for the particular node in the DAG; and

join the DAG by the particular node at the selected DAG parent;

determine a particular number of child nodes that have joined the DAG at the particular node as their parent;

advertise the particular number of child nodes into the network for the particular node; and

adjust the particular number of child nodes that is advertised with a phantom number of child nodes.

12. The apparatus as in claim 11 , wherein two or more of the potential parent nodes have a same highest number of child nodes, wherein the process when executed is further operable to select one of the two or more potential parent nodes having the same highest number as the DAG parent.

13. The apparatus as in claim 11 , wherein the process when executed is further operable to:

receive a notification from the particular potential parent node that the particular potential parent node must be a parent node; and, in response, select the particular potential parent node as the DAG parent.

14. The apparatus as in claim 11 , wherein the process when executed is further operable to utilize the DAG for at least one of either multicast message distribution or broadcast message distribution.

15. The apparatus as in claim 11 , wherein the process when executed is further operable to notify a previous parent of the particular node in the DAG of the selected DAG parent.

16. A tangible, non-transitory, computer-readable media having software encoded thereon, the software when executed by a processor on a particular node in a multicast and broadcast (MaB) directed acyclic graph (DAG) operable to:

receive an indication of a number of child nodes of one or more potential parent nodes to the particular node in the MaB DAG;

select a particular potential parent node with a highest number of child nodes from a plurality of nodes with children as a multicast and broadcast (MaB)-DAG parent for the particular node;

join the DAG by the particular node at the selected DAG parent;

determine a particular number of child nodes that have joined the DAG at the particular node as their parent;

advertise the particular number of child nodes into the network for the particular node; and

adjust the particular number of child nodes that is advertised with a phantom number of child nodes.

17. The tangible, non-transitory, computer-readable media as in claim 16 , wherein two or more of the potential parent nodes have a same highest number of child nodes, wherein the process when executed is further operable to select one of the two or more potential parent nodes having the same highest number as the DAG parent.

18. The tangible, non-transitory, computer-readable media as in claim 16 , wherein the software when executed is further operable to:

receive a notification from the particular potential parent node that the particular potential parent node must be a parent node; and, in response, select the particular potential parent node as the DAG parent.

19. The tangible, non-transitory, computer-readable media as in claim 16 , wherein the software when executed is further operable to utilize the DAG for at least one of either multicast message distribution or broadcast message distribution.

20. The tangible, non-transitory, computer-readable media as in claim 16 , wherein the software when executed is further operable to notify a previous parent of the particular node in the DAG of the selected DAG parent.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2011
From: SHAFFER, SHMUEL; VASSEUR, JEAN-PHILIPPE; SHETTY, SANDEEP JAY
To: CISCO TECHNOLOGY, INC.
Reel/Frame 025932/0138 →
Continuity (1)
Related Publication 20120230222A1 · Sep 13, 2012