Dynamic Reroute Scheduling in a Directed Acyclic Graph (DAG)
First Claim
1. A method, comprising:
- joining, by a particular node, a directed acyclic graph (DAG) in a computer network at a parent node;
determining a grade of the particular node based on a topology of the DAG, the grade being lower than the parent node and higher than child nodes of the particular node;
detecting a trigger for a routing change in the DAG;
in response, delaying the routing change by the particular node based on the grade such that the delay is longer than a first associated delay of at least some of the child nodes and shorter than a second associated delay of the parent node;
in response to expiration of the delay, determining if the trigger for the routing change is still valid; and
if valid, performing the routing change by the particular node.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
24 Claims
-
1. A method, comprising:
-
joining, by a particular node, a directed acyclic graph (DAG) in a computer network at a parent node; determining a grade of the particular node based on a topology of the DAG, the grade being lower than the parent node and higher than child nodes of the particular node; detecting a trigger for a routing change in the DAG; in response, delaying the routing change by the particular node based on the grade such that the delay is longer than a first associated delay of at least some of the child nodes and shorter than a second associated delay of the parent node; in response to expiration of the delay, determining if the trigger for the routing change is still valid; and if valid, performing the routing change by the particular node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 24)
-
-
12. An apparatus, comprising:
-
one or more network interfaces adapted to participate in a 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; joining the DAG at a parent node; determine a grade of the apparatus based on a topology of the DAG, the grade lower than the parent node and higher than child nodes of the apparatus; detect a trigger for a routing change in the DAG; in response, delay the routing change by the apparatus based on the grade such that the delay is longer than a first associated delay of at least some of the child nodes and shorter than a second associated delay of the parent node; in response to expiration of the delay, determine if the trigger for the routing change is still valid; and if valid, perform the routing change. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A tangible, non-transitory, computer-readable media having software encoded thereon, the software when executed by a processor on a device operable to:
-
joining a directed acyclic graph (DAG) in a computer network at a parent node; determine a grade of the device based on a topology of the DAG, the grade lower than the parent node and higher than child nodes of the device; detect a trigger for a routing change in the DAG; in response, delay the routing change by the device based on the grade such that the delay is longer than a first associated delay of at least some of the child nodes and shorter than a second associated delay of the parent node; in response to expiration of the delay, determine if the trigger for the routing change is still valid; and if valid, perform the routing change.
-
Specification