US 9,813,356 B1
Calculating bandwidth information in multi-stage networks
Minsung Kim, San Jose, CA (US); and Ashi Ramachandran Sudhakumari, Seattle, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Feb. 11, 2016, as Appl. No. 15/42,077.
Int. Cl. H04L 12/933 (2013.01); H04L 12/721 (2013.01)
CPC H04L 49/1515 (2013.01) [H04L 45/44 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, implemented by a controller device, for calculating bandwidth matrices for a Clos network comprising a plurality of tiers, the method comprising:
receiving, by the controller device, link status information indicating link bandwidth and link connectivity from network devices of the Clos network, wherein each tier, of the plurality of tiers, comprises a plurality of network devices, wherein each network device is a switch or a router, and wherein the Clos network is represented by an unfolded Clos network having a plurality of stages;
for each pair of adjacent stages of the plurality of stages:
determining, by the controller, a link state matrix between the pair of adjacent stages from the link status information, the link state matrix representing link bandwidth and link connectivity between the pair of adjacent stages;
calculating, by the controller using matrix multiplication operations, a set of bandwidth matrices for destination devices, wherein the set of bandwidth matrices comprise a separate bandwidth matrix for each of the plurality of stages representing how network traffic is distributed to the destination devices;
sending, by the controller device, ratios of values generated from the set of bandwidth matrices to the network devices of the Clos network; and
distributing network traffic for the destination devices using the network devices and according to the ratios of values.