US 12,294,470 B2
Fabric control protocol for large-scale multi-stage data center networks
Yixing Ruan, San Jose, CA (US); Deepak Goel, San Jose, CA (US); Narendra Jayawant Gathoo, San Jose, CA (US); Philip A. Thomas, San Jose, CA (US); Srihari Raju Vegesna, San Jose, CA (US); Pradeep Sindhu, Los Altos Hills, CA (US); Wael Noureddine, Santa Clara, CA (US); Robert William Bowdidge, San Jose, CA (US); Ayaskant Pani, Fremont, CA (US); and Gopesh Goyal, Cupertino, CA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 24, 2021, as Appl. No. 17/304,654.
Application 17/304,654 is a continuation in part of application No. 16/147,070, filed on Sep. 28, 2018, granted, now 11,178,262.
Claims priority of provisional application 63/058,224, filed on Jul. 29, 2020.
Claims priority of provisional application 62/638,788, filed on Mar. 5, 2018.
Claims priority of provisional application 62/566,060, filed on Sep. 29, 2017.
Prior Publication US 2021/0320820 A1, Oct. 14, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 12/46 (2006.01); H04L 41/12 (2022.01); H04L 45/24 (2022.01); H04L 45/50 (2022.01); H04L 45/745 (2022.01); H04L 49/60 (2022.01); H04L 67/75 (2022.01)
CPC H04L 12/4633 (2013.01) [H04L 41/12 (2013.01); H04L 45/24 (2013.01); H04L 45/507 (2013.01); H04L 45/745 (2013.01); H04L 49/602 (2013.01); H04L 67/75 (2022.05)] 23 Claims
OG exemplary drawing
 
1. A data center network comprising:
a plurality of servers;
a multi-stage data center switch fabric comprising a plurality of switches arranged in at least three tiers;
a plurality of data processing units (DPUs), each of the DPUs connecting a subset of one or more of the servers to the data center switch fabric, wherein the DPUs include a source DPU connected to a source server of the plurality of servers and a destination DPU coupled to a destination server of the plurality of servers, wherein the source DPU and the destination DPU are each configured to execute a fabric control protocol (FCP) to establish an FCP tunnel associated with a plurality of parallel paths across the data center switch fabric between the source DPU and the destination DPU;
wherein, for each packet of a packet flow of packets from the source server to the destination server, the source DPU is configured to:
(i) select, based on FCP path information, a respective one of the plurality of parallel paths for each of the packets, wherein the FCP path information identifies each of the plurality of parallel paths for the FCP tunnel between the source DPU and the destination DPU,
(ii) construct FCP packets to encapsulate each of the packets within payloads of the FCP packets, and
(iii) spray the FCP packets over the plurality of parallel paths of the FCP tunnel by forwarding each the FCP packets through the switch fabric across the respective one of the plurality of parallel paths selected for the packet.