# US 8,787,392 B2 · Dynamic routing metric adjustment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,787,392 B2
- Document ID: US8787392B2
- Status: Granted
- Kind: B2
- Application number: 12/971,094
- Filed: 2010-12-17
- Published: 2012-06-21
- Granted: 2014-07-22
- Earliest claimed: 2010-12-17
- Assignees: Cisco Technology, Inc.
- Applicants: Jean-Philippe Vasseur; Shmuel Shaffer; Sandeep Jay Shetty
- Inventors: Jean-Philippe Vasseur; Shmuel Shaffer; Sandeep Jay Shetty
- Web page: https://patentgrep.com/patent/US8787392B2

## CPC

- H04L 12/56: {Packet switching systems}
- H04L 45/028: Dynamic adaptation of the update intervals, e.g. event-triggered updates
- H04W 40/248: {Connectivity information update}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

In one embodiment, one or more routing update parameters may be set for and propagated to nodes of a directed acyclic graph (DAG) in a computer network, the routing update parameters indicative of when to perform a corresponding routing update operation. A decision node (e.g., a root node of the DAG, application in a head-end, etc.) may gather network statistics of the DAG during operation based on the routing update parameters, and may accordingly determine at least one adjusted routing update parameter based on the gathered network statistics. This adjusted routing update parameter may then be propagated to the nodes of the DAG, such that the nodes operate according to the (adaptively) adjusted routing update parameter.

## Claims

### Claim 1

A method, comprising:
setting one or more routing update parameters for a directed acyclic graph (DAG) in a computer network, the routing update parameters indicative of when to perform a corresponding routing update operation;
propagating the routing update parameters to nodes in the DAG;
gathering one or more network statistics of the DAG during operation based on the routing update parameters;
in response to gathering the one or more network statistics, determining at least one adjusted routing update parameter based on the gathered network statistics;
propagating the adjusted routing update parameter to the nodes in the DAG;
adjusting the routing update parameters to a less-aggressive route update policy when specific nodes are running low on power; and
adjusting the route update parameters to a more-aggressive route update policy when the specific nodes have sufficient power.

### Claim 2 (depends on 1)

The method as in claim 1, wherein a particular routing update parameter is a minimum link metric change required before advertising a particular metric change.

### Claim 3 (depends on 1)

The method as in claim 1, wherein a particular routing update parameter is a minimum path cost gain required before a particular node in the DAG selects a new parent node.

### Claim 4 (depends on 1)

The method as in claim 1, wherein the network statistics are selected from a group consisting of: an amount of routing traffic; an amount of power remaining in battery operating nodes; a number of routing path changes; a number of new parent selections; a level of sub-optimality provided by DAG paths; a number of dropped packets; and a number of collisions.

### Claim 5 (depends on 1)

The method as in claim 1, wherein gathering comprises:
receiving the network statistics from the nodes in the DAG.

### Claim 6 (depends on 1)

The method as in claim 1, wherein setting, propagating, gathering, and determining are performed by a root node of the DAG.

### Claim 7 (depends on 1)

The method as in claim 1, wherein there is a plurality of routing update parameters, the propagating of the adjusted routing parameter comprising:
propagating the plurality of routing update parameters including the adjusted routing parameter.

### Claim 8 (depends on 1)

The method as in claim 1, wherein there is a plurality of routing update parameters, wherein the determining of the at least one adjusted routing parameter comprises adjusting each of the plurality of routing update parameters.

### Claim 9 (depends on 1)

The method as in claim 1, further comprising:
initializing a timer in response to propagating the adjusted routing parameter;
gathering updated network statistics during the timer; and
determining the at least one adjusted routing update parameter based on the gathered network statistics in response to expiration of the timer.

### Claim 10 (depends on 1)

The method as in claim 1, wherein determining comprises:
incrementally adjusting a particular routing update parameter based on the gathered network statistics.

### Claim 11 (depends on 1)

The method as in claim 1, wherein whether the specific nodes have sufficient power is based on observations of batteries of the specific nodes.

### Claim 12

An apparatus, comprising:
one or more network interfaces;
a processor coupled to the network interfaces and configured to execute one or more processes; and
a memory configured to store a process executable by the processor, the process when executed operable to:
set one or more routing update parameters for a directed acyclic graph (DAG) in a computer network, the routing update parameters indicative of when to perform a corresponding routing update operation;
propagate the routing update parameters to nodes in the DAG;
gather one or more network statistics of the DAG during operation based on the routing update parameters;
determine at least one adjusted routing update parameter based on the gathered network statistics in response to gathering the one or more network statistics;
propagate the adjusted routing update parameter to the nodes in the DAG,
adjust the routing update parameters to a less-aggressive route update policy when specific nodes are running low on power; and
adjust the route update parameters to a more-aggressive route update policy when the specific nodes have sufficient power.

### Claim 13 (depends on 12)

The apparatus as in claim 12, wherein a particular routing update parameter is a minimum link metric change required before advertising a particular metric change.

### Claim 14 (depends on 12)

The apparatus as in claim 12, wherein a particular routing update parameter is a minimum path cost gain required before a particular node in the DAG selects a new parent node.

### Claim 15 (depends on 12)

The apparatus as in claim 12, wherein the network statistics are selected from a group consisting of: an amount of routing traffic; an amount of power remaining in battery operating nodes; a number of routing path changes; a number of new parent selections; a level of sub-optimality provided by DAG paths; a number of dropped packets; and a number of collisions.

### Claim 16 (depends on 12)

The apparatus as in claim 12, wherein the network interfaces are configured to receive the network statistics from the nodes in the DAG.

### Claim 17 (depends on 12)

The apparatus as in claim 12, wherein the apparatus is a root node of the DAG.

### Claim 18 (depends on 12)

The apparatus as in claim 12, wherein there is a plurality of routing update parameters, the process when executed to propagate the adjusted routing parameter further operable to propagate the plurality of routing update parameters including the adjusted routing parameter.

### Claim 19 (depends on 12)

The apparatus as in claim 12, wherein the process when executed is further operable to:
initialize a timer in response to propagating the adjusted routing parameter;
gather updated network statistics during the timer; and
determine the at least one adjusted routing update parameter based on the gathered network statistics in response to expiration of the timer.

### Claim 20 (depends on 12)

The apparatus as in claim 12, wherein the process when executed to determine is further operable to:
incrementally adjust a particular routing update parameter based on the gathered network statistics.

### Claim 21 (depends on 12)

The apparatus as in claim 12, wherein whether the specific nodes have sufficient power is based on observations of batteries of the specific nodes.

### Claim 22

A tangible, non-transitory, computer-readable media having software encoded thereon, the software when executed by a processor on a device operable to:
set one or more routing update parameters for a directed acyclic graph (DAG) in a computer network, the routing update parameters indicative of when to perform a corresponding routing update operation;
propagate the routing update parameters to nodes in the DAG;
gather one or more network statistics of the DAG during operation based on the routing update parameters;
determine at least one adjusted routing update parameter based on the gathered network statistics in response to gathering the one or more network statistics;
propagate the adjusted routing update parameter to the nodes in the DAG;
adjust the routing update parameters to a less-aggressive route update policy when specific nodes are running low on power; and
adjust the routing update parameters to a more-aggressive route update policy when specific nodes have sufficient power.

### Claim 23

A method, comprising:
receiving one or more adjusted routing update parameters for a directed acyclic graph (DAG) at a node in a computer network, the routing update parameters indicative of when to perform a corresponding routing update operation;
configuring operation of the node according to the one or more routing update parameters;
collecting one or more network statistics during operation of the node based on the routing update parameters;
in response to collecting the one or more network statistics, transmitting the collected network statistics toward a decision device for the DAG to be used to adjust the routing update parameter;
receiving an updated adjusted routing update parameter from the decision device;
adjust the routing update parameters to a less-aggressive route update policy when specific nodes are running low on power; and
adjust the routing update parameters to a more-aggressive route update policy when specific nodes have sufficient power.
