IP Library Granted Patent US 9,130,870
Granted Patent B1
US 9,130,870 · App. 13/088,262 · Granted Sep 8, 2015

Methods for determining network topologies

Inventors: Edward R. Swierk (Mountain View, CA); Guido Appenzeller (Menlo Park, CA)
Assignee: Big Switch Networks, Inc.
H04L45/46H04L43/50H04L45/021H04L45/00
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,130,870
App. No.
13/088,262
Granted
Sep 8, 2015
Kind
B1
Abstract

A network may include switches that have controller clients that are controlled from one or more controller servers. Clusters of the switches that have the controller clients may be isolated from other clusters by switches without the controller clients. The controller server may use graph searches to identify the clusters. The controller server may use information on the cluster topology of switches containing controller clients along with information in per-switch forwarding databases to generate per-cluster forwarding databases. The controller server may use the per-cluster forwarding databases in generating flow tables for the network switches that direct the switches to forward packets along desired paths through the network.

Claims (35)

1. A method of identifying clusters of switches in a network, wherein the switches in the clusters have respective controller clients and are controlled by an associated controller server and wherein the clusters of switches are isolated from each other by at least one intervening switch that is not controlled by the controller server, the method comprising:

with the controller server, generating a network topology data structure for the network;

with the controller server, processing entries in the network topology data structure to identify the clusters, wherein the at least one intervening switch forwards network packets between the clusters of switches;

with the controller server, assigning cluster identifiers to each entry that correspond to the clusters;

with the controller server, generating per-cluster forwarding databases from the assigned cluster identifiers; and

with the controller server, providing forwarding tables for the switches based on the per-cluster forwarding databases.

2. The method defined in claim 1 wherein processing the entries comprises performing graph searches on entries in the network topology data structure.

3. The method defined in claim 2 wherein the entries in the network topology data structure include source switch and destination switch information for each of the switches in the clusters.

4. The method defined in claim 1 further comprising:

with the controller server, obtaining information on switch capabilities for the switches in the clusters from the controller clients.

5. The method defined in claim 4 wherein obtaining the information on the switch capabilities comprises obtaining a list of physical ports present in each switch in each cluster.

6. The method defined in claim 5 wherein each switch in each cluster has an associated switch identifier and wherein obtaining the information on the switch capabilities comprises obtaining from each switch in each cluster the switch identifier for that switch and the port list in a switch features reply message.

7. The method defined in claim 6 wherein the network topology data structure comprises at least one network topology table.

8. The method defined in claim 6 wherein performing the graph searches on the entries in the network topology data structure comprises performing depth first searches on the entries in the network topology data structure.

9. The method defined in claim 6 wherein performing the graph searches on the entries in the network topology data structure comprises performing breadth first searches on the entries in the network topology data structure.

10. The method defined in claim 6 wherein performing the graph searches on entries in the network topology data structure comprises:

performing a graph search on a first entry in the network topology data structure to identify a first cluster; and

performing a graph search on an entry that remains in the network topology data structure following the graph search on the first entry to identify a second cluster.

11. The method defined in claim 10 wherein performing the graph search on the first entry in the network topology data structure comprises:

with the controller server, creating a cluster identifier;

with the controller server, selecting a switch from the network topology data structure;

with the controller server, performing a graph search on the selected switch to identify directly and indirectly connected switches in the network that belong to a common one of the clusters; and

with the controller server, assigning the new cluster identifier to each of the identified switches.

12. A method of using a controller server in a network to generate per-cluster forwarding databases for corresponding clusters of switches in a network, wherein the switches in the clusters have respective controller clients and are controlled by the controller server and wherein the clusters of switches are isolated from each other by at least one intervening switch that is not controlled by the controller server, the method comprising:

with the controller server, generating a network topology data structure;

with the controller server, obtaining a per-switch forwarding table for each client switch; and

with the controller server, processing entries in the network topology data structure together with entries in the per-switch forwarding table to generate the per-cluster forwarding databases.

13. The method defined in claim 12 wherein processing the entries in the network topology data structure and the entries in the per-switch forwarding tables comprises:

for each entry in the per-switch forwarding tables, in response to a determination that a switch-port pair associated with that entry does not match any switch-port pair in the network topology data structure, adding the switch-port pair associated with that entry to one of the per-cluster forwarding databases.

14. The method defined in claim 13 wherein attempting to match the switch-port pair comprises:

attempting to match the switch-port pair with source and destination switch-port pairs in the network topology data structure.

15. The method defined in claim 14 wherein each entry in the network topology data structure includes an associated cluster identifier and wherein adding each switch-port pair that does not match any switch-port pair in the network topology data structure to the per-cluster forwarding database comprises:

using the network topology data structure to identify a given one of the cluster identifiers that is associated with that switch-port pair;

identifying an end host for that switch-port pair from the per-switch forwarding tables; and

adding an entry with that switch-port pair and the identified end host to the per-cluster forwarding database associated with the given cluster identifier.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2022
From: BIG SWITCH NETWORKS LLC
To: ARISTA NETWORKS, INC.
Reel/Frame 058793/0454 →
CHANGE OF NAME Recorded May 7, 2020
From: BIG SWITCH NETWORKS, INC.
To: BIG SWITCH NETWORKS LLC
Reel/Frame 052600/0719 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE DATA PREVIOUSLY RECORDED ON REEL 026138 FRAME 0466. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 5, 2020
From: SWIERK, EDWARD R.; APPENZELLER, GUIDO
To: BIG SWITCH NETWORKS, INC.
Reel/Frame 052581/0336 →
RELEASE OF SECURITY INTEREST Recorded Mar 24, 2020
From: SILVER LAKE WATERMAN FUND II, L.P.
To: BIG SWITCH NETWORKS, INC.; BIG SWITCH NETWORKS GC, INC.
Reel/Frame 052218/0557 →
SECURITY INTEREST Recorded Dec 20, 2018
From: BIG SWITCH NETWORKS, INC.; BIG SWITCH NETWORKS GC, INC.
To: SILVER LAKE WATERMAN FUND II, L.P., AS AGENT
Reel/Frame 049146/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2011
From: SWIERK, EDWARD R; APPENZELLER, GUIDO
To: BIG SWITCH CORPORATION
Reel/Frame 026138/0466 →