IP Library Granted Patent US 9,166,886
Granted Patent B1
US 9,166,886 · App. 13/921,871 · Granted Oct 20, 2015

Systems and methods for determining physical network topology

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,166,886
App. No.
13/921,871
Granted
Oct 20, 2015
Kind
B1
Abstract

A system determines a physical topology of a network including a plurality of nodes. Each node includes a multi-chip higher-tier switch, and each chip in the multi-chip higher-tier switch includes a plurality of ports. A network configuration module is configured to assign physical connections to respective ports of chips of the higher-tier switches through an iterative process. The iterative process includes selecting a first route of a plurality of routes, assigning for the source node of the selected route, a first port on a first chip having an odd number of free ports. For at least one intermediate node of the selected route, second and third ports on a second chip having an even number of free ports are assigned. For a destination port for the selected route, a fourth port on a third chip having an odd number of free ports is assigned.

Claims (41)

1. A computer-implemented system for determining a physical topology of a network, the system comprising:

a plurality of network nodes, each of the plurality of nodes including a multi-chip higher-tier switch, each of the multi-chip higher-tier switches including a plurality of switching chips, and each of the chips having a plurality of ports; and

a network configuration module configured to assign physical connections to respective ports of chips of the higher-tier switches of the nodes by iteratively:

selecting a first route of a plurality of routes, wherein the selected route includes a source node, at least one intermediate node, and a destination node;

for each of the source node, the intermediate node, and the destination node:

determining, for each chip of the respective node, whether the chip has an odd number of available ports or an even number of available ports, wherein a port is available if a physical connection has not yet been assigned to the port;

for the source node, assigning, for the selected route, a first port on a first chip, responsive to a determination that the first chip has an odd number of available ports;

for the at least one intermediate node, assigning, for the selected route, second and third ports on a second chip, responsive to a determination that the second chip has an even number of available ports; and

for the destination node, assigning, for the selected route, a fourth port on a third chip, responsive to a determination that the third chip has an odd number of available ports.

2. The system of claim 1 , wherein the network configuration module is further configured to output a switch assignment file indicating correspondences between physical links between the nodes and chips at the respective nodes.

3. The system of claim 1 , wherein selecting the first route comprises selecting a route having a bandwidth demand of at least a full bandwidth of a physical link between the nodes.

4. The system of claim 3 , wherein the network configuration module is further configured to select a second route of the plurality of routes having a bandwidth demand that is less than a full bandwidth of physical link between the nodes, and to assign the second route a port on a switch previously assigned to a third route having a bandwidth demand that is less than a full bandwidth of physical link.

5. The system of claim 1 , wherein the network configuration module is configured to assign the ports on a first-fit basis.

6. The system of claim 1 , wherein selecting the first route comprises selecting a longest route of the plurality of routes.

7. The system of claim 1 , wherein selecting the first route comprises selecting one of a plurality of equally long routes based on values of a priority parameter associated with each of the respective equally long routes.

8. The system of claim 1 , wherein the network comprises a data center network.

9. The system of claim 8 , wherein each of the nodes comprises a switch in a top-tier switching layer of a data center superblock.

10. A computer-implemented method for determining a physical topology of a network that includes a plurality of network nodes, each including a multi-chip higher-tier switch, each of the multi-chip higher-tier switches including a plurality of switching chips, and each of the chips having a plurality of ports, the method comprising:

assigning physical connections to respective ports of chips of the higher-tier switches of the nodes by iteratively:

selecting a first route of a plurality of routes, wherein the selected route includes a source node, at least one intermediate node, and a destination node;

for each of the source node, the intermediate node, and the destination node:

determining, for each chip of the respective node, whether the chip has an odd number of available ports or an even number of available ports, wherein a port is available if a physical connection has not yet been assigned to the port;

for the source node, assigning, for the selected route, a first port on a first chip, responsive to a determination that the first chip has an odd number of available ports;

for the at least one intermediate node, assigning, for the selected route, second and third ports on a second chip, responsive to a determination that the second chip has an even number of free available ports; and

for the destination node, assigning, for the selected route, a fourth port on a third chip, responsive to a determination that the third chip has an odd number of available ports.

11. The method of claim 10 , further comprising outputting a switch assignment file indicating correspondences between physical links between the nodes and chips at the respective nodes.

12. The method of claim 10 , wherein selecting the first route comprises selecting a longest route of the plurality of routes.

13. The method of claim 10 , wherein the network nodes are in a network comprising a data center network.

14. The method of claim 10 , wherein each of the nodes comprises a switch in a top-tier switching layer of a data center superblock.

15. The method of claim 10 , wherein selecting the first route comprises selecting one of a plurality of equally long routes based on values of a priority parameter associated with each of the respective equally long routes.

16. A non-transitory computer-readable storage medium having instructions stored thereon which, when executed by a processor, cause the processor to carry out a set of operations for determining a physical topology of a network that includes a plurality of network nodes, each including a multi-chip higher-tier switch, each of the multi-chip higher-tier switches including a plurality of switching chips, and each of the chips having a plurality of ports, the operations comprising:

assigning physical connections to respective ports of chips of the higher-tier switches of the nodes by iteratively:

selecting a route of a plurality of routes, wherein the selected route includes a source node, at least one intermediate node, and a destination node;

for each of the source node, the intermediate node, and the destination node:

determining, for each chip of the respective node, whether the chip has an odd number of available ports or an even number of available ports, wherein a port is available if a physical connection has not yet been assigned to the port; for the source node, assigning, for the selected route, a first port on a first chip, responsive to a determination that the first chip has an odd number of free available ports;

for the at least one intermediate node, assigning, for the selected route, second and third ports on a second chip, responsive to a determination that the second chip has an even number of free available ports; and

for the destination node, assigning, for the selected route, a fourth port on a third chip, responsive to a determination that the third chip has an odd number of free available ports.

17. The non-transitory computer-readable storage medium of claim 16 , comprising instructions for causing the processor to output a switch assignment file indicating correspondences between physical links between the nodes and chips at the respective nodes.

18. The non-transitory computer-readable storage medium of claim 16 , wherein selecting the first route comprises selecting a longest route of the plurality of routes.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the network nodes are in a network comprising a data center network.

20. The non-transitory computer-readable storage medium of claim 16 , wherein each of the nodes comprises a switch in a top-tier switching layer of a data center superblock.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 030646 FRAME 0655. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 27, 2017
From: KABBANI, ABDUL; VAHDAT, AMIN
To: GOOGLE INC.
Reel/Frame 044035/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2013
From: KABBANI, ABDUL; VAHDAT, AMIN
To: GOOGLE, INC.
Reel/Frame 030646/0665 →