IP Library › Granted Patent US 11,671,329
Granted Patent B2
US 11,671,329 · App. 16/752,245 · Granted Jun 6, 2023

Computation of network flooding topologies

Inventors: Yunxia Chen (San Jose, CA); Anthony Joseph Li (Los Altos, CA)
Assignee: Arista Networks, Inc.
H04L41/12H04L12/44H04L41/082H04L41/22H04L43/16
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 11,671,329
App. No.
16/752,245
Granted
Jun 6, 2023
Kind
B2
Abstract

Techniques described herein relate to a method for computation of network flooding topologies. A flooding topology may refer to a subset of a network which can be utilized by a network device to limit the flooding of link state updates. The flooding topology may be determined by an area leader (i.e., a designated network device) of the network. Computation of the flooding topology may entail the iterative incorporation (or absorption) of nodes and edges of a first connected graph, representing network devices and interconnections of a network topology of the network, into a second connected graph representing the flooding topology.

Claims (42)

1. A method for computing a flooding topology of a network, comprising:

obtaining, by a network device of the network, a first connected graph representing a topology of the network, the first connected graph comprising a set of nodes interconnected by a first set of edges;

selecting, from the set of nodes, a root node to initialize determining a second connected graph that establishes the flooding topology, wherein the second connected graph comprises a second set of edges, the second set of edges being a subset of the first set of edges; and

iteratively traversing the first connected graph using an initial graph cycle and a set of subsequent graph paths to form the second connected graph, the second connected graph comprising the set of nodes and the second set of edges,

wherein iteratively traversing the first connected graph to form the second connected graph comprises:

identifying the initial graph cycle, wherein the initial graph cycle starts from the root node and returns to the root node, and the initial graph cycle traverses a cyclic path of non-repetitive edges of the first set of edges through nodes of the first connected graph, the cyclic path comprising an outward traversal stage to a threshold depth followed by an inward traversal stage back to the root node;

adding the initial graph cycle to the second connected graph; and

identifying the set of subsequent graph paths, wherein each of the subsequent graph paths comprises at least one node of the second connected graph;

adding the set of subsequent graph paths to the second connected graph.

2. The method of claim 1 , wherein the selection of the root node from the set of nodes is based on a node degree of a given node, wherein a node degree of the root node is the largest across the set of nodes of the first connected graph.

3. The method of claim 1 , wherein the initial graph cycle comprises the root node and a non-repetitive subset of the set of nodes linked by a non-repetitive subset of the first set of edges, wherein the second connected graph excludes the non-repetitive subset of the set of nodes prior to being updated using the initial graph cycle.

4. The method of claim 1 , wherein the outward traversal stage uses a depth first search (DFS) algorithm until the threshold depth is met.

5. The method of claim 1 , wherein the inward traversal stage uses a breadth first search (BFS) algorithm.

6. The method of claim 1 , wherein identifying the set of subsequent graph paths by iteratively traversing the first connected graph to form the second connected graph, further comprises:

identifying a first pair of nodes adjacent to one another on the first connected graph, wherein the second connected graph comprises a first node of the first pair of nodes and excludes a second node of the first pair of nodes, wherein a first node degree for the first node and a second node degree for the second node are below a node degree threshold;

traversing the first connected graph starting from the first node and ending on a third node of a second pair of nodes adjacent to one another on the first connected graph, the traversing the first connected graph identifying a subsequent graph path of the set of subsequent graph paths, wherein the second connected graph comprises the third node and excludes a fourth node of the second pair of nodes, wherein a third node degree for the third node and a fourth node degree for the fourth node are below the node degree threshold; and

updating the second connected graph using the subsequent graph path.

7. The method of claim 6 , wherein the subsequent graph path comprises the first node, the third node, and a non-repetitive subset of the set of nodes linked by a non-repetitive subset of the first set of edges, wherein the second connected graph excludes the non-repetitive subset of the set of nodes prior to being updated using the subsequent graph path.

8. The method of claim 1 , wherein the second connected graph is bi-connected.

9. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to perform a method, the method comprising:

obtaining, by a network device of the network, a first connected graph representing a topology of the network, the first connected graph comprising a set of nodes interconnected by a first set of edges;

selecting, from the set of nodes, a root node to initialize determining a second connected graph that establishes a flooding topology, wherein the second connected graph comprises a second set of edges, the second set of edges being a subset of the first set of edges; and

iteratively traversing the first connected graph using an initial graph cycle and a set of subsequent graph paths to form the second connected graph, the second connected graph comprising the set of nodes and the second set of edges,

wherein iteratively traversing the first connected graph to form the second connected graph comprises:

identifying the initial graph cycle, wherein the initial graph cycle starts from the root node and returns to the root node, and the initial graph traverses a cyclic path of non-repetitive edges of the first set of edges through nodes of the first connected graph, the cyclic path comprising an outward traversal stage to a threshold depth followed by an inward traversal stage back to the root node;

adding the initial graph cycle to the second connected graph;

identifying the set of subsequent graph paths, wherein each of the subsequent graph paths comprises at least one node of the second connected graph; and

adding the set of subsequent graph paths to the second connected graph.

10. The non-transitory CRM of claim 9 , wherein the selection of the root node from the set of nodes is based on a node degree of a given node, wherein a node degree of the root node is the largest across the set of nodes of the first connected graph.

11. The non-transitory CRM of claim 9 , wherein the initial graph cycle comprises the root node and a non-repetitive subset of the set of nodes linked by a non-repetitive subset of the first set of edges, wherein the second connected graph excludes the non-repetitive subset of the set of nodes prior to being updated using the initial graph cycle.

12. The non-transitory CRM of claim 9 , wherein the outward traversal stage uses a depth first search (DFS) algorithm until the threshold depth is met.

13. The non-transitory CRM of claim 9 , wherein the inward traversal stage uses a breadth first search (BFS) algorithm.

14. A network device comprising:

a processor programmed to:

obtain a first connected graph representing a topology of a network, the first connected graph comprising a set of nodes interconnected by a first set of edges;

select, from the set of nodes, a root node to initialize determining a second connected graph that establishes a flooding topology, wherein the second connected graph comprises a second set of edges, the second set of edges being a subset of the first set of edges; and

iteratively traverse the first connected graph using an initial graph cycle and a set of subsequent graph paths to form the second connected graph, the second connected graph comprising the set of nodes and the second set of edges,

wherein iteratively traversing the first connected graph to form the second connected graph comprises:

identifying the initial graph cycle, wherein the initial graph cycle starts from the root node and returns to the root node, and the initial graph cycle traverses a cyclic path of non-repetitive edges of the first set of edges through nodes of the first connected graph, the cyclic path comprising an outward traversal stage to a threshold depth followed by an inward traversal stage back to the root node;

adding the initial graph cycle to the second connected graph;

identifying the set of subsequent graph paths, wherein each of the subsequent graph paths comprises at least one node of the second connected graph; and

adding the set of subsequent graph paths to the second connected graph.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: CHEN, YUNXIA; LI, ANTHONY JOSEPH
To: ARISTA NETWORKS, INC.
Reel/Frame 051658/0561 →
Continuity (2)
Continuation In Part 15945038 · Apr 4, 2018
Related Publication 20200162335A1 · May 21, 2020
Cited By (1)
US 12,199,808